Ntfs!ATTRIBUTE_RECORD_HEADER结构$INDEX_ROOT=0x90的一个例子

news2025/5/22 21:32:09

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) \
    )

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2383395.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

aws平台s3存储桶夸域问题处理

当我们收到开发反馈s3存在跨域问题 解决步骤: 配置 S3 存储桶的 CORS 设置: 登录到 AWS 管理控制台。转到 S3 服务。选择你存储文件的 存储桶。点击 权限 标签页。在 跨域资源共享(CORS)配置 部分,点击 编辑。 登陆…

【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…

Leetcode百题斩-哈希

看来面试前还是要老老实实刷leetcode为好,今天看到一个题库,leetcode百题斩,刚好最近面试的这两题全在里面。瞄了一眼,也有不少题之前居然也刷过。那么,冲冲冲,看多久能把这百题刷完。 第一天,先…

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与…

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 &…

MySQL--day4--排序与分页

(以下内容全部来自上述课程) 1. 排序数据 1.1 排序基本使用 #1.排序 #如果没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序显示的 SELECT * FROM employees;# 练习:按照salary从高到低的顺序显示员工信息 # 使用 ORDER …

系分论文《论软件系统安全分析和应用》

系统分析师论文范文系列 【摘要】 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

Babylon.js学习之路《七、用户交互:鼠标点击、拖拽与射线检测》

文章目录 1. 引言:用户交互的核心作用1.1 材质与纹理的核心作用 2. 基础交互:鼠标与触摸事件2.1 绑定鼠标点击事件2.2 触摸事件适配 3. 射线检测(Ray Casting)3.1 射线检测的原理3.2 高级射线检测技巧 4. 拖拽物体的实现4.1 拖拽基…

星际争霸小程序:用Java实现策略模式的星际大战

在游戏开发的世界里,策略模式是一种非常实用的设计模式,它允许我们在运行时动态地选择算法或行为。今天,我将带你走进一场星际争霸的奇幻之旅,用Java实现一个简单的星际争霸小程序,通过策略模式来模拟不同种族单位的战…

Python数据可视化高级实战之一——绘制GE矩阵图

目录 一、课程概述 二、GE矩阵? 三、GE 矩阵图的适用范围 五、GE 矩阵的评估方法 (一)市场吸引力的评估要素 二、企业竞争实力的评估要素 三、评估方法与实践应用 1. 定量与定性结合法 2. 数据来源 六、GE矩阵的图形化实现 七、总结:GE 矩阵与 BCG 矩阵的对比分析 (一)GE…

StreamSaver实现大文件下载解决方案

StreamSaver实现大文件下载解决方案 web端 安装 StreamSaver.js npm install streamsaver # 或 yarn add streamsaver在 Vue 组件中导入 import streamSaver from "streamsaver"; // 确保导入名称正确完整代码修正 <!--* projectName: * desc: * author: dua…

CSS【详解】弹性布局 flex

适用场景 一维&#xff08;行或列&#xff09;布局 基本概念 包裹所有被布局元素的父元素为容器 所有被布局的元素为项目 项目的排列方向&#xff08;垂直/水平&#xff09;为主轴 与主轴垂直的方向交交叉轴 容器上启用 flex 布局 将容器的 display 样式设置为 flex 或 i…

自回归图像编辑 EditAR: Unified Conditional Generation with Autoregressive Models

Paperhttps://arxiv.org/pdf/2501.04699 Code (coming soon) 目录 方法 实验 EditAR是一个统一的自回归框架&#xff0c;用于各种条件图像生成任务——图像编辑、深度到图像、边缘到图像、分割到图像。 next-token预测的功效尚未被证明用于图像编辑。 EditAR主要构建在Ll…