Ntfs!ATTRIBUTE_RECORD_HEADER结构$INDEX_ROOT=0x90的一个例子
Ntfs!ATTRIBUTE_RECORD_HEADER结构$INDEX_ROOT=0x90的一个例子
1: kd> dx -id 0,0,899a2278 -r1 ((Ntfs!_FILE_RECORD_SEGMENT_HEADER *)0xc431a400)
((Ntfs!_FILE_RECORD_SEGMENT_HEADER *)0xc431a400) : 0xc431a400 [Type: _FILE_RECORD_SEGMENT_HEADER *]
[+0x000] MultiSectorHeader [Type: _MULTI_SECTOR_HEADER]
[+0x008] Lsn : {135166234} [Type: _LARGE_INTEGER]
[+0x010] SequenceNumber : 0x1 [Type: unsigned short]
[+0x012] ReferenceCount : 0x1 [Type: unsigned short]
[+0x014] FirstAttributeOffset : 0x38 [Type: unsigned short]
[+0x016] Flags : 0x3 [Type: unsigned short]
[+0x018] FirstFreeByte : 0x2b0 [Type: unsigned long]
[+0x01c] BytesAvailable : 0x400 [Type: unsigned long]
[+0x020] BaseFileRecordSegment [Type: _MFT_SEGMENT_REFERENCE]
[+0x028] NextAttributeInstance : 0x3 [Type: unsigned short]
[+0x02a] SegmentNumberHighPart : 0x0 [Type: unsigned short]
[+0x02c] SegmentNumberLowPart : 0x2769 [Type: unsigned long]
[+0x030] UpdateArrayForCreateOnly [Type: unsigned short [1]]
1: kd> dt Attribute_RECORD_HEADER 0xc431a400+38
Ntfs!ATTRIBUTE_RECORD_HEADER
+0x000 TypeCode : 0x10
+0x004 RecordLength : 0x60
+0x008 FormCode : 0 ''
+0x009 NameLength : 0 ''
+0x00a NameOffset : 0
+0x00c Flags : 0
+0x00e Instance : 0
+0x010 Form : __unnamed
1: kd> dt Attribute_RECORD_HEADER 0xc431a400+38+60
Ntfs!ATTRIBUTE_RECORD_HEADER
+0x000 TypeCode : 0x30
+0x004 RecordLength : 0x68
+0x008 FormCode : 0 ''
+0x009 NameLength : 0 ''
+0x00a NameOffset : 0
+0x00c Flags : 0
+0x00e Instance : 2
+0x010 Form : __unnamed
1: kd> dt Attribute_RECORD_HEADER 0xc431a400+38+60+68
Ntfs!ATTRIBUTE_RECORD_HEADER
+0x000 TypeCode : 0x90
+0x004 RecordLength : 0x1a8
+0x008 FormCode : 0 ''
+0x009 NameLength : 0x4 ''
+0x00a NameOffset : 0x18
+0x00c Flags : 0
+0x00e Instance : 1
+0x010 Form : __unnamed
1: kd> dd 0xc431a400+38+60+68
c431a500 00000090 000001a8 00180400 00010000
c431a510 00000188 00000020 00490024 00300033
c431a520 00000030 00000001 00001000 00000001
c431a530 00000010 00000178 00000178 00000000
c431a540 0000276a 00010000 005a0070 00000000
c431a550 00002769 00010000 8fa0d18e 01db06c8
c431a560 c148aca4 01dba6c6 a8e2bafe 01db06c8
c431a570 c148aca4 01dba6c6 00040000 00000000
1: kd> db 0xc431a400+38+60+68
c431a500 90 00 00 00 a8 01 00 00-00 04 18 00 00 00 01 00 ................
c431a510 88 01 00 00 20 00 00 00-24 00 49 00 33 00 30 00 .... ...$.I.3.0.
c431a520 30 00 00 00 01 00 00 00-00 10 00 00 01 00 00 00 0...............
c431a530 10 00 00 00 78 01 00 00-78 01 00 00 00 00 00 00 ....x...x.......
c431a540 6a 27 00 00 00 00 01 00-70 00 5a 00 00 00 00 00 j'......p.Z.....
c431a550 69 27 00 00 00 00 01 00-8e d1 a0 8f c8 06 db 01 i'..............
c431a560 a4 ac 48 c1 c6 a6 db 01-fe ba e2 a8 c8 06 db 01 ..H.............
c431a570 a4 ac 48 c1 c6 a6 db 01-00 00 04 00 00 00 00 00 ..H.............
1: kd> db 0xc431a400+38+60+68+80
c431a580 00 00 04 00 00 00 00 00-22 00 00 00 00 00 00 00 ........".......
c431a590 0c 03 55 00 73 00 72 00-43 00 6c 00 61 00 73 00 ..U.s.r.C.l.a.s.
c431a5a0 73 00 2e 00 64 00 61 00-74 00 00 00 00 00 00 00 s...d.a.t.......
c431a5b0 6b 27 00 00 00 00 01 00-78 00 62 00 00 00 00 00 k'......x.b.....
c431a5c0 69 27 00 00 00 00 01 00-e8 33 a3 8f c8 06 db 01 i'.......3......
c431a5d0 a4 ac 48 c1 c6 a6 db 01-a4 ac 48 c1 c6 a6 db 01 ..H.......H.....
c431a5e0 a4 ac 48 c1 c6 a6 db 01-00 10 00 00 00 00 00 00 ..H.............
c431a5f0 00 04 00 00 00 00 00 00-22 00 00 00 00 00 00 00 ........".......
1: kd> db 0xc431a400+38+60+68+80*2
c431a600 10 01 55 00 73 00 72 00-43 00 6c 00 61 00 73 00 ..U.s.r.C.l.a.s.
c431a610 73 00 2e 00 64 00 61 00-74 00 2e 00 4c 00 4f 00 s...d.a.t...L.O.
c431a620 47 00 00 00 00 00 00 00-6b 27 00 00 00 00 01 00 G.......k'......
c431a630 70 00 5a 00 00 00 00 00-69 27 00 00 00 00 01 00 p.Z.....i'......
c431a640 e8 33 a3 8f c8 06 db 01-a4 ac 48 c1 c6 a6 db 01 .3........H.....
c431a650 a4 ac 48 c1 c6 a6 db 01-a4 ac 48 c1 c6 a6 db 01 ..H.......H.....
c431a660 00 10 00 00 00 00 00 00-00 04 00 00 00 00 00 00 ................
c431a670 22 00 00 00 00 00 00 00-0c 02 55 00 53 00 52 00 ".........U.S.R.
1: kd> db 0xc431a400+38+60+68+80*3
c431a680 43 00 4c 00 41 00 7e 00-31 00 2e 00 4c 00 4f 00 C.L.A.~.1...L.O.
c431a690 47 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 G...............
c431a6a0 10 00 00 00 02 00 00 00-ff ff ff ff 82 79 47 11 .............yG.
c431a6b0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
c431a6c0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
c431a6d0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
c431a6e0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
c431a6f0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
1: kd> dt Attribute_RECORD_HEADER 0xc431a400+38+60+68
Ntfs!ATTRIBUTE_RECORD_HEADER
+0x000 TypeCode : 0x90
+0x004 RecordLength : 0x1a8
+0x008 FormCode : 0 ''
+0x009 NameLength : 0x4 ''
+0x00a NameOffset : 0x18
+0x00c Flags : 0
+0x00e Instance : 1
+0x010 Form : __unnamed
1: kd> dt Attribute_RECORD_HEADER 0xc431a400+38+60+68+1a8
Ntfs!ATTRIBUTE_RECORD_HEADER
+0x000 TypeCode : 0xffffffff
+0x004 RecordLength : 0x11477982
+0x008 FormCode : 0 ''
+0x009 NameLength : 0 ''
+0x00a NameOffset : 0
+0x00c Flags : 0
+0x00e Instance : 0
+0x010 Form : __unnamed
1: kd> dt _INDEX_ROOT 0xc431a400+38+60+68+20
Ntfs!_INDEX_ROOT
+0x000 IndexedAttributeType : 0x30
+0x004 CollationRule : 1
+0x008 BytesPerIndexBuffer : 0x1000
+0x00c BlocksPerIndexBuffer : 0x1 ''
+0x00d Reserved : [3] ""
+0x010 IndexHeader : _INDEX_HEADER
1: kd> dx -id 0,0,899a2278 -r1 (*((Ntfs!_INDEX_HEADER *)0xc431a530))
(*((Ntfs!_INDEX_HEADER *)0xc431a530)) [Type: _INDEX_HEADER]
[+0x000] FirstIndexEntry : 0x10 [Type: unsigned long]
[+0x004] FirstFreeByte : 0x178 [Type: unsigned long]
[+0x008] BytesAvailable : 0x178 [Type: unsigned long]
[+0x00c] Flags : 0x0 [Type: unsigned char]
[+0x00d] Reserved [Type: unsigned char [3]]
1: kd> dd 0xc431a400+38+60+68+20+20
c431a540 0000276a 00010000 005a0070 00000000
c431a550 00002769 00010000 8fa0d18e 01db06c8
c431a560 c148aca4 01dba6c6 a8e2bafe 01db06c8
c431a570 c148aca4 01dba6c6 00040000 00000000
c431a580 00040000 00000000 00000022 00000000
c431a590 0055030c 00720073 006c0043 00730061
c431a5a0 002e0073 00610064 00000074 00000000
c431a5b0 0000276b 00010000 00620078 00000000
1: kd> dd 0xc431a400+38+60+68+20+20+80
c431a5c0 00002769 00010000 8fa333e8 01db06c8
c431a5d0 c148aca4 01dba6c6 c148aca4 01dba6c6
c431a5e0 c148aca4 01dba6c6 00001000 00000000
c431a5f0 00000400 00000000 00000022 00000000
c431a600 00550110 00720073 006c0043 00730061
c431a610 002e0073 00610064 002e0074 004f004c
c431a620 00000047 00000000 0000276b 00010000
c431a630 005a0070 00000000 00002769 00010000
1: kd> dd 0xc431a400+38+60+68+20+20+80*2
c431a640 8fa333e8 01db06c8 c148aca4 01dba6c6
c431a650 c148aca4 01dba6c6 c148aca4 01dba6c6
c431a660 00001000 00000000 00000400 00000000
c431a670 00000022 00000000 0055020c 00520053
c431a680 004c0043 007e0041 002e0031 004f004c
c431a690 00000047 00000000 00000000 00000000
c431a6a0 00000010 00000002 ffffffff 11477982
c431a6b0 00000000 00000000 00000000 00000000
1: kd> dt _INDEX_ENTRY 0xc431a400+38+60+68+20+20
Ntfs!_INDEX_ENTRY
+0x000 FileReference : _MFT_SEGMENT_REFERENCE
+0x000 DataOffset : 0x276a
+0x002 DataLength : 0
+0x004 ReservedForZero : 0x10000
+0x008 Length : 0x70
+0x00a AttributeLength : 0x5a
+0x00c Flags : 0
+0x00e Reserved : 0
1: kd> dx -id 0,0,899a2278 -r1 (*((Ntfs!_MFT_SEGMENT_REFERENCE *)0xc431a540))
(*((Ntfs!_MFT_SEGMENT_REFERENCE *)0xc431a540)) [Type: _MFT_SEGMENT_REFERENCE]
[+0x000] SegmentNumberLowPart : 0x276a [Type: unsigned long]
[+0x004] SegmentNumberHighPart : 0x0 [Type: unsigned short]
[+0x006] SequenceNumber : 0x1 [Type: unsigned short]
1: kd> dt _INDEX_ENTRY 0xc431a400+38+60+68+20+20+70
Ntfs!_INDEX_ENTRY
+0x000 FileReference : _MFT_SEGMENT_REFERENCE
+0x000 DataOffset : 0x276b
+0x002 DataLength : 0
+0x004 ReservedForZero : 0x10000
+0x008 Length : 0x78
+0x00a AttributeLength : 0x62
+0x00c Flags : 0
+0x00e Reserved : 0
1: kd> dt _INDEX_ENTRY 0xc431a400+38+60+68+20+20+70+78
Ntfs!_INDEX_ENTRY
+0x000 FileReference : _MFT_SEGMENT_REFERENCE
+0x000 DataOffset : 0x276b
+0x002 DataLength : 0
+0x004 ReservedForZero : 0x10000
+0x008 Length : 0x70
+0x00a AttributeLength : 0x5a
+0x00c Flags : 0
+0x00e Reserved : 0
1: kd> dt _INDEX_ENTRY 0xc431a400+38+60+68+20+20+70+78+70
Ntfs!_INDEX_ENTRY
+0x000 FileReference : _MFT_SEGMENT_REFERENCE
+0x000 DataOffset : 0
+0x002 DataLength : 0
+0x004 ReservedForZero : 0
+0x008 Length : 0x10
+0x00a AttributeLength : 0
+0x00c Flags : 2
+0x00e Reserved : 0
1: kd> db 0xc431a400+38+60+68+20+20
c431a540 6a 27 00 00 00 00 01 00-70 00 5a 00 00 00 00 00 j'......p.Z.....
c431a550 69 27 00 00 00 00 01 00-8e d1 a0 8f c8 06 db 01 i'..............
c431a560 a4 ac 48 c1 c6 a6 db 01-fe ba e2 a8 c8 06 db 01 ..H.............
c431a570 a4 ac 48 c1 c6 a6 db 01-00 00 04 00 00 00 00 00 ..H.............
c431a580 00 00 04 00 00 00 00 00-22 00 00 00 00 00 00 00 ........".......
c431a590 0c 03 55 00 73 00 72 00-43 00 6c 00 61 00 73 00 ..U.s.r.C.l.a.s.
c431a5a0 73 00 2e 00 64 00 61 00-74 00 00 00 00 00 00 00 s...d.a.t.......
MFT参考号 8 6a 27 00 00 00 00 01 00
索引项大小 2 70 00
文件名偏移 2 5a 00
索引标志 2 00 00
保留 2 00 00
父目录MFT参考号 8 69 27 00 00 00 00 01 00
创建时间 8 8e d1 a0 8f c8 06 db 01
修改时间 8 a4 ac 48 c1 c6 a6 db 01
最后修改时间 8 fe ba e2 a8 c8 06 db 01
最后访问时间 8 a4 ac 48 c1 c6 a6 db 01
分配大小 8 00 00 04 00 00 00 00 00
实际大小 8 00 00 04 00 00 00 00 00
标志 4 22 00 00 00
ER 4 00 00 00 00
文件名长度 1 0c
文件命名空间类型 1 03
文件名
c431a590 0c 03 55 00 73 00 72 00-43 00 6c 00 61 00 73 00 ..U.s.r.C.l.a.s.
c431a5a0 73 00 2e 00 64 00 61 00-74 00 s...d.a.t.......
1: kd> dt _file_name 0xc431a400+38+60+68+20+20+10
Ntfs!_FILE_NAME
+0x000 ParentDirectory : _MFT_SEGMENT_REFERENCE
+0x008 Info : _DUPLICATED_INFORMATION
+0x040 FileNameLength : 0xc ''
+0x041 Flags : 0x3 ''
+0x042 FileName : [1] 0x55
1: kd> dx -id 0,0,899a2278 -r1 (*((Ntfs!unsigned short (*)[1])0xc431a592))
(*((Ntfs!unsigned short (*)[1])0xc431a592)) [Type: unsigned short [1]]
[0] : 0x55 [Type: unsigned short]
1: kd> db 0xc431a592
c431a592 55 00 73 00 72 00 43 00-6c 00 61 00 73 00 73 00 U.s.r.C.l.a.s.s.
c431a5a2 2e 00 64 00 61 00 74 00-00 00 00 00 00 00 6b 27 ..d.a.t.......k'
1: kd> db 0xc431a400+38+60+68+20+20+70
c431a5b0 6b 27 00 00 00 00 01 00-78 00 62 00 00 00 00 00 k'......x.b.....
c431a5c0 69 27 00 00 00 00 01 00-e8 33 a3 8f c8 06 db 01 i'.......3......
c431a5d0 a4 ac 48 c1 c6 a6 db 01-a4 ac 48 c1 c6 a6 db 01 ..H.......H.....
c431a5e0 a4 ac 48 c1 c6 a6 db 01-00 10 00 00 00 00 00 00 ..H.............
c431a5f0 00 04 00 00 00 00 00 00-22 00 00 00 00 00 00 00 ........".......
c431a600 10 01 55 00 73 00 72 00-43 00 6c 00 61 00 73 00 ..U.s.r.C.l.a.s.
c431a610 73 00 2e 00 64 00 61 00-74 00 2e 00 4c 00 4f 00 s...d.a.t...L.O.
c431a620 47 00 00 00 00 00 00 00-6b 27 00 00 00 00 01 00 G.......k'......
MFT参考号 8 6b 27 00 00 00 00 01 00
索引项大小 2 78 00
文件名偏移 2 62 00
索引标志 2 00 00
保留 2 00 00
父目录MFT参考号 8 69 27 00 00 00 00 01 00
创建时间 8 e8 33 a3 8f c8 06 db 01
修改时间 8 a4 ac 48 c1 c6 a6 db 01
最后修改时间 8 a4 ac 48 c1 c6 a6 db 01
最后访问时间 8 a4 ac 48 c1 c6 a6 db 01
分配大小 8 00 10 00 00 00 00 00 00
实际大小 8 00 04 00 00 00 00 00 00
标志 4 22 00 00 00
ER 4 00 00 00 00
文件名长度 1 10
文件命名空间类型 1 01
文件名
c431a600 10 01 55 00 73 00 72 00-43 00 6c 00 61 00 73 00 ..U.s.r.C.l.a.s.
c431a610 73 00 2e 00 64 00 61 00-74 00 2e 00 4c 00 4f 00 s...d.a.t...L.O.
c431a620 47 00 G.......k'......
1: kd> dt _file_name 0xc431a400+38+60+68+20+20+70+10
Ntfs!_FILE_NAME
+0x000 ParentDirectory : _MFT_SEGMENT_REFERENCE
+0x008 Info : _DUPLICATED_INFORMATION
+0x040 FileNameLength : 0x10 ''
+0x041 Flags : 0x1 ''
+0x042 FileName : [1] 0x55
1: kd> dx -id 0,0,899a2278 -r1 (*((Ntfs!unsigned short (*)[1])0xc431a602))
(*((Ntfs!unsigned short (*)[1])0xc431a602)) [Type: unsigned short [1]]
[0] : 0x55 [Type: unsigned short]
1: kd> db 0xc431a602
c431a602 55 00 73 00 72 00 43 00-6c 00 61 00 73 00 73 00 U.s.r.C.l.a.s.s.
c431a612 2e 00 64 00 61 00 74 00-2e 00 4c 00 4f 00 47 00 ..d.a.t...L.O.G.
c431a622 00 00 00 00 00 00 6b 27-00 00 00 00 01 00 70 00 ......k'......p.
#define $UNUSED (0X0)
#define $STANDARD_INFORMATION (0x10)
#define $ATTRIBUTE_LIST (0x20)
#define $FILE_NAME (0x30)
#define $OBJECT_ID (0x40)
#define $SECURITY_DESCRIPTOR (0x50)
#define $VOLUME_NAME (0x60)
#define $VOLUME_INFORMATION (0x70)
#define $DATA (0x80)
#define $INDEX_ROOT (0x90)
#define $INDEX_ALLOCATION (0xA0)
#define $BITMAP (0xB0)
#define $REPARSE_POINT (0xC0)
#define $EA_INFORMATION (0xD0)
#define $EA (0xE0)
// #define $LOGGED_UTILITY_STREAM (0x100) // defined in ntfsexp.h
#define $FIRST_USER_DEFINED_ATTRIBUTE (0x1000)
#define $END (0xFFFFFFFF)
第二部分:
BOOLEAN
FindNextIndexEntry (
IN PIRP_CONTEXT IrpContext,
IN PSCB Scb,
IN PVOID Value,
IN BOOLEAN ValueContainsWildcards,
IN BOOLEAN IgnoreCase,
IN OUT PINDEX_CONTEXT IndexContext,
IN BOOLEAN NextFlag,
OUT PBOOLEAN MustRestart OPTIONAL
)
{
Sp->IndexEntry =
IndexEntry = NtfsNextIndexEntry( IndexEntry );
#define NtfsNextIndexEntry(IE) ( \
(PINDEX_ENTRY)((PCHAR)(IE) + (ULONG)(IE)->Length) \
)
#define NtfsFirstIndexEntry(IH) ( \
(PINDEX_ENTRY)((PCHAR)(IH) + (IH)->FirstIndexEntry) \
)
相关文章:
Ntfs!ATTRIBUTE_RECORD_HEADER结构$INDEX_ROOT=0x90的一个例子
Ntfs!ATTRIBUTE_RECORD_HEADER结构$INDEX_ROOT0x90的一个例子 1: kd> dx -id 0,0,899a2278 -r1 ((Ntfs!_FILE_RECORD_SEGMENT_HEADER *)0xc431a400) ((Ntfs!_FILE_RECORD_SEGMENT_HEADER *)0xc431a400) : 0xc431a400 [Type: _FILE_RECORD_SEGMENT_HEADER …...
AGI大模型(30):LangChain链的基本使用
为开发更复杂的应用程序,需要使用Chain来链接LangChain中的各个组件和功能,包括模型之间的链接以及模型与其他组件之间的链接。 链在内部把一系列的功能进行封装,而链的外部则又可以组合串联。 链其实可以被视为LangChain中的一种基本功能单元。 API地址:https://python.…...
代码随想录算法训练营第六十六天| 图论11—卡码网97. 小明逛公园,127. 骑士的攻击
继续补,又是两个新算法,继续进行勉强理解,也是训练营最后一天了,六十多天的刷题告一段落了! 97. 小明逛公园 97. 小明逛公园 感觉还是有点难理解原理 Floyd 算法对边的权值正负没有要求,都可以处理。核心…...
[创业之路-364]:企业战略管理案例分析-5-战略制定-宇树科技的使命、愿景、价值观的演变过程
目录 一、宇树科技的使命、愿景、价值观的演变过程 初创阶段(2016 年成立前后):以技术梦想奠基,明确核心使命愿景 发展阶段(2017 - 2023 年):技术突破与市场拓展,价值观逐步成型 …...
React--函数组件和类组件
React 中的函数组件和类组件是两种定义组件的方式,它们有以下主要区别: 1. 语法与定义方式 函数组件: 是 JavaScript 函数,接收 props 作为参数,返回 JSX。 const MyComponent (props) > {return <div>Hell…...
Flask 路由装饰器:从 URL 到视图函数的优雅映射
前置知识,关于Python装饰器的语法,链接:Python 装饰器:从“语法糖”到“代码神器”的深度解析 1、路由装饰器的功能:给 URL 贴 “功能标签” 在 Flask 开发中,你一定见过这样的代码: from fla…...
DDoS防护实战——从基础配置到高防IP部署
一、基础防护:服务器与网络层加固 Linux内核优化: 调整TCP协议栈参数,缓解SYN Flood攻击: # 启用SYN Cookie并减少超时时间 echo 1 > /proc/sys/net/ipv4/tcp_syncookies echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout…...

aws平台s3存储桶夸域问题处理
当我们收到开发反馈s3存在跨域问题 解决步骤: 配置 S3 存储桶的 CORS 设置: 登录到 AWS 管理控制台。转到 S3 服务。选择你存储文件的 存储桶。点击 权限 标签页。在 跨域资源共享(CORS)配置 部分,点击 编辑。 登陆…...
HOT100(二叉树)
二叉树 二叉树的中序遍历 class Solution { public:void traversal(TreeNode* root, vector<int> & vec){if(root nullptr) return;traversal(root->left, vec);vec.push_back(root->val);traversal(root->right, vec);}vector<int> inorderTraver…...

【vue-text-highlight】在vue2的使用教程
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、下载二、使用步骤1.引入库2.用法 效果速通 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发…...

pycharm无法正常调试问题
pycharm无法正常调试问题 1.错误代码 已连接到 pydev 调试器(内部版本号 231.8109.197)Traceback (most recent call last):File "E:\Python\pycharm\PyCharm 2023.1\plugins\python\helpers\pydev\_pydevd_bundle\pydevd_comm.py", line 304, in _on_runr r.deco…...
springboot3.4.5-springsecurity+session
创建springboot项目,添加以下依赖: LombokSpring WebSpring SecuritySpring Data JDBCMyBatis FrameworkMySQL Driver 添加fastjson2进行序列化和反序列化 <dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>f…...
网络安全利器:蜜罐技术详解
蜜罐是网络安全领域中一种主动防御和情报收集的重要工具。本文将深入探讨蜜罐技术的原理、类型、应用场景以及部署注意事项。 1. 什么是蜜罐? 蜜罐(Honeypot)是一种安全资源,其价值在于被探测、攻击或未经授权使用。简单来说,蜜罐就是一个诱饵系统,用来吸引黑客的注意力…...
Leetcode百题斩-哈希
看来面试前还是要老老实实刷leetcode为好,今天看到一个题库,leetcode百题斩,刚好最近面试的这两题全在里面。瞄了一眼,也有不少题之前居然也刷过。那么,冲冲冲,看多久能把这百题刷完。 第一天,先…...
MySQL替换瀚高数据库报错: TO_DAYS()不存在(APP)
文章目录 环境症状问题原因解决方案报错编码 环境 系统平台:中标麒麟(海光)7,中标麒麟(飞腾)7 版本:4.5 症状 MySQL替换为瀚高数据库进行应用系统适配报错:TO_DAYS()不…...

EXIST与JOIN连表比较
结论 1:EXIST可以用于链表,且可以利用到索引2:当join无法合理利用到索引,可以尝试EXIST链表3:EXIST在某些情况下可以更好地利用到索引4:大数据量时,要考虑EXIST的使用 EXIST SQL: EXPLAN JOIN…...

【Linux】利用多路转接epoll机制、ET模式,基于Reactor设计模式实现
📚 博主的专栏 🐧 Linux | 🖥️ C | 📊 数据结构 | 💡C 算法 | 🅒 C 语言 | 🌐 计算机网络 上篇文章:多路转接epoll,实现echoserver 至此,Linux与…...
【jvm第7集】jvm调优工具(命令行工具)
文章目录 JVM 调优工具(命令行工具)jps(Java Virtual Machine Process Status Tool)jstat(JVM Statistics Monitoring Tool)jmap(Memory Map Tool)jstack(Thread Stack T…...

react中运行 npm run dev 报错,提示vite.config.js出现错误 @esbuild/win32-x64
在React项目中运行npm run dev时,如果遇到vite.config.js报错,提示esbuild/win32-x64在另一个平台中被使用,通常是由于依赖冲突或缓存问题导致的。解决方法是删除node_modules文件夹,并重新安装依赖。 如下图: 解决办…...

鸿蒙UI开发——Builder与LocalBuilder对比
1、概 述 在ArkUI中,有的朋友应该接触过Builder和LocalBuilder。其中有了LocalBuilder的存在,是为了解决组件的父子关系和状态管理的父子关系保持一致的问题。 这里面最直观的表现则是this的指向问题与组件刷新问题,本文对Builder与LocalBu…...

关于光谱相机的灵敏度
一、灵敏度的核心定义 光谱灵敏度(单色灵敏度) 描述光谱相机对单色辐射光的响应能力,即探测器对特定波长入射光的输出信号强度与入射光功率的比值。 例如,若在680nm波长下的光谱灵敏度较高,则表示该相机对此…...

Model 速通系列(一)nanoGPT
这个是新开的一个系列用来手把手复现一些模型工程,之所以开这个系列是因为有人留言说看到一个工程不知道从哪里读起,出于对自身能力的提升与兴趣,故新开了这个系列。由于主要动机是顺一遍代码并提供注释。 该系列第一篇博客是 nanoGPT &…...
微信小程序中,一个页面的数据改变了,怎么通知另一个页面也改变?
在微信小程序中,当一个页面的数据改变后通知另一个页面更新,可以通过以下步骤实现: 方法一:使用全局事件总线(推荐) 步骤说明: 在 app.js 中创建事件系统 在全局 App 实例中实现事件监听和触发…...

MySQL--day4--排序与分页
(以下内容全部来自上述课程) 1. 排序数据 1.1 排序基本使用 #1.排序 #如果没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序显示的 SELECT * FROM employees;# 练习:按照salary从高到低的顺序显示员工信息 # 使用 ORDER …...
自动化测试脚本点击运行后,打开Chrome很久??
亲爱的小伙伴们大家好。 小编最近刚换了电脑,这几天做自动化测试发现打开Chrome浏览器需要等待好长时间,起初还以为代码有问题,或者Chromedriver与Chrome不匹配造成的,但排查后发现并不是!! 在driver.py中…...
iOS热更新技术要点与风险分析
iOS的热更新技术允许开发者在无需重新提交App Store审核的情况下,动态修复Bug或更新功能,但需注意苹果的审核政策限制。以下是iOS热更新的主要技术方案及要点: 一、主流热更新技术方案 JavaScript动态化框架 React Native & Weex 通过Jav…...
系统架构设计(十二):统一过程模型(RUP)
简介 RUP 是由 IBM Rational 公司提出的一种 面向对象的软件工程过程模型,以 UML 为建模语言,是一种 以用例为驱动、以架构为中心、迭代式、增量开发的过程模型。 三大特征 特征说明以用例为驱动(Use Case Driven)需求分析和测…...

系分论文《论软件系统安全分析和应用》
系统分析师论文范文系列 【摘要】 2023年3月,我司承接了某知名电商企业“智能化供应链管理系统”的开发任务,我作为系统分析师负责全面的安全分析与设计工作。该系统以提升电商供应链效率为核心,整合仓储、物流、支付等模块,并需应…...

Mac安装redis
1、 去往网址 http://编download.编redis.io/releases/ 找到任意 结尾为* .tar.gz的文件下载下来 2、使用终端进入下载下来的redis文件 3、直接执行redis-server 如果出现redis标志性的图代表成功 如果显示command not found :redis-server 则在终端再进入src文件夹下&…...

srs-7.0 支持obs推webrtc流
demo演示 官方教程: https://ossrs.net/lts/zh-cn/blog/Experience-Ultra-Low-Latency-Live-Streaming-with-OBS-WHIP 实现原理就是通过WHIP协议来传输 SDP信息 1、运行 ./objs/srs -c conf/rtc.conf 2、obs推流 3、web端播放webrtc流 打开web:ht...