【转】 快捷方式lnk文件格式详解(英文)(中文)

【转】 快捷方式lnk文件格式详解(英文)(中文)

2009-11-07 10:55

转自:http://www.stdlib.com/art6-Shortcut-File-Format-lnk.html You should consider using the IShellLink interface which is a safe way to handle windows shortcuts. If you have a strong reason not to use that interface then I have to remind you that this file format is not documented by Microsoft. I cannot say that the info gathered here is accurate nor that it will work in the future. .LNK File Format 1. Header 2. Shell Item Id List 3. File Location Info 4. Description 5. Relative Path 6. Working Directory 7. Command Line Arguments 8. Icon Filename 9. Additonal Info 1. Header Size Contents Description 4 bytes Always 4C 00 00 00 This is how windows knows it is a shortcut file 16 bytes GUID for shortcut files The current GUID for shortcuts. It may change in the future. 01 14 02 00 00 00 00 00 C0 00 00 00 00 00 46 1 dword Shortcut flags Shortcut flags are explained below 1 dword Target file flags Flags are explained below 1 qword Creation time 1 qword Last access time 1 qword Modification time 1 dword File length The length of the target file. 0 if the target is not a file. This value is used to find the target when the link is broken. 1 dword Icon number If the file has a custom icon (set by the flags bit 6), then this long integer indicates the index of the icon to use. Otherwise it is zero. 1 dword Show Window the ShowWnd value to pass to the target application when starting it. 1:Normal Window 2:Minimized 3:Maximized 1 dword Hot Key The hot key assigned for this shortcut 1 dword Reserved Always 0 1 dword Reserved Always 0 Shortcut flags Bit Meaning 0 Shell item id list is present 1 Target is a file or directory 2 Has a description 3 Has a relative path 4 Has a working directory 5 Has command line arguments 6 Has a custom icon. Target flags Bit Meaning 0 Target is read only. 1 Target is hidden. 2 Target is a system file. 3 Target is a volume label. (Not possible) 4 Target is a directory. 5 Target has been modified since last backup. (archive) 6 Target is encrypted (NTFS partitions) 7 Target is Normal 8 Target is temporary. 9 Target is a sparse file. 10 Target has reparse point data. 11 Target is compressed. 12 Target is offline. Last Access and Modified time offsets corrected thanks to JimmyW Shell Item Id List Note: This section exists only if the first bit for shortcut flags is set the header section. If that bit is not set then this section does not exists. The first word contains the size of the list in bytes. Each item (except the last) in the list contains its size in a word fallowed by the content. The size includes and the space used to store it. The last item has the size 0. These items are used to store various informations. For more info read the SHITEMID documentation. File Location Info This section is always present, but if bit 1 is not set in the flags value, then the length of this section will be zero. The header of this section is described below. Size Description 1 dword This length value includes all the assorted pathnames and other data structures. All offsets are relative to the start of this section. 1 dword The offset at which the basic file info structure ends. Should be 1C. 1 dword File available on local volume (0) or network share(1) 1 dword Offset to the local volume table. 1 dword Offset to the base path on the local volume. 1 dword Offset to the network volume table. 1 dword Offset to the final part of the pathname. Combine the base path string and the final path string to find the filename of the file on the local volume. To find the filename of the file on the network you need to combine the share name in the network volume table with the final path string. The local volume table Size Description 1 dword Length of this structure including the volume label string. 1 dword Type of volume (code below) 1 dword Volume serial number 1 dword Offset of the volume name (Always 0x10) ASCIZ Volume label Type of volumes Code Description 0 Unknown 1 No root directory 2 Removable (Floppy, Zip ...) 3 Fixed (Hard disk) 4 Remote (Network drive) 5 CD-ROM 6 Ram drive The network volume table Size Description 1 dword Length of this structure 1 dword Always 02 1 dword Offset of network share name (Always 0x14) 1 dword Reserved 0 1 dword Always 0x20000 ASCIZ Network share name Description This section is present if bit 2 is set in the flags value in the header. The first word value indicates the length of the string. Following the length value is a string of ASCII characters. It is a description of the item. Relative path string This section is present if bit 3 is set in the flags value in the header. The first word value indicates the length of the string. Following the length value is a string of ASCII characters. It is a relative path to the target. Working directory This section is present if bit 4 is set in the flags value in the header. The first word value indicates the length of the string. Following the length value is a string of ASCII characters. It is the working directory as specified in the shortcut properties. Command line arguments This section is present if bit 5 is set in the flags value in the header. The first word value indicates the length of the string. Following the length value is a string of ASCII characters. The command line string includes everything except the program name. Icon filename This section is present if bit 6 is set in the flags value in the header. The first word value indicates the length of the string. Following the length value is a string of ASCII characters. This the name of the file containing the icon. Additonal Info Usualy consists of a dword with the value 0. 大家知道通过IShellLink接口可以得到快捷方式的各种属性。具体怎么做,网上有很多文章,这里就不介绍了。现在主要是分析一下快捷方式文件的格 式,并且自己写一个解析程序。 为了方便大家理解,解说完每个段后附上一个快捷方式对应部分的事例数据并附内容解说。这里以Windows Media Player在桌面上的快捷方式为例。 一、文件的整体结构 .LNK 文件格式 1. 文件头 2. Shell Item Id List 段 3. 文件位置信息段 4. 描述字符段 5. 相对路径段 6. 工作目录段 7. 命令行段 8. 图标文件段 9. 附加信息段 二、文件头 文件头结构,参照下面表格: Offset Size/Type Description 0h 1 dword 值常为0000004CH,为字符"L" 4h 16 bytes GUID ①14h 1 dword Flags,用来标识快捷方式文件中有哪些可选属性,后面有表单独解释每一位的意义。 ②18h 1 dword 目标文件属性,后面解释。 1ch 1 qword 文件创建时间 24h 1 qword 文件修改时间 2ch 1 qword 文件最后一次访问时间 34h 1 dword 目标文件长度 38h 1 dword 自定义图标个数, 3ch 1 dword 目标文件执行时窗口显示方式: 1、 正常显示 2、 最小化 3、 最大化 40h 1 dword 热键 44h 2 dword 暂时还不清楚用途值常为0 ① 偏移14h开始的标志标示有哪些可选属性,见下表: Bit 所在位为1时表示 0 有shell item id list 1 指向文件或文件夹,如果此位为0表示指向其他。 2 存在描述字符串 3 存在相对路径 4 存在工作路径 5 存在命令行参数 6 存在自定义图标 ② 偏移18h开始的目标文件属性: Bit 所在位为1时表示 0 快捷方式所指目标文件有只读属性 1 快捷方式所指目标文件有隐藏属性 2 快捷方式所指目标文件是系统文件 3 快捷方式所指目标是卷标 4 快捷方式所指目标是文件夹 5 快捷方式所指目标文件上次存档后被改变过 6 快捷方式所指目标文件被加密 7 快捷方式所指目标文件属性为一般 8 快捷方式所指目标文件为临时 9 快捷方式所指目标文件为稀疏文件(sparse file) 10 快捷方式所指目标文件有重分析点数据(reparse point) 11 快捷方式所指目标文件被压缩 12 快捷方式所指目标文件脱机 例: 偏移 数据 解释 0000 4c 00 00 00 字符"L" 0004 01 14 02 00 快捷方式的GUID。值固定 00 00 00 00 C0 00 00 00 00 00 00 46 0014 8F 00 00 00 flags。对照表可知 有shell item id list 目标是文件 存在描述字符串 存在相对路径 0018 20 00 00 00 文件属性,具体内容可以查上面的属性说明表 001C 40 51 0A 0C 文件创建时间 AD CB C4 01 0024 C4 D8 A5 91 文件修改时间 AD CB C4 01 002C 00 33 16 74 文件最后一次访问时间 F6 C7 C3 01 0034 00 20 01 00 文件长度 0038 00 00 00 00 自定义图标个数 003C 01 00 00 00 打开时窗口为normal状态 0040 00 00 00 00 热键 0044 00 00 00 00 暂时还不清楚用途值常为0 00 00 00 00 三、Shell item ID list段 当文件头中○1的第0位置位时才有。第一个unsigned short integer表示item ID list段的总长度。后面紧跟着SHITEMID结构。SHITEMID的定义如下: typedef struct _SHITEMID { USHORT cb; BYTE abID[0]; } SHITEMID, * LPSHITEMID; cb保存SHITEMID结构的大小。abID是可变长度的对象标识。具体都是什么含义没看明白,可以参阅MSDN。因为item ID list段的开始为这个段的总长度,所以在读取的时候可以把此段跳过不做处理!!:) 例:(文件头段的flags标志显示存在shell item id list段) 偏移 数据 解释 004C 9c 00 item ID list总长度(下一段的起始地址为004E+009C=00EA) 004E 14 00 第一个item ID的长度 0050 1F 50 E0 4F 第一个item ID标示内容 D0 20 EA 3A 69 10 A2 D8 08 00 2B 30 30 9D 0062 19 00 第二个item ID的长度 0064 23 43 3A 5C 第二个item ID标示内容 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F1 93 007B 25 00 007D 31 00 00 00 00 00 70 31 47 3B 31 00 50 72 6F 67 72 61 6D 20 46 69 6C 65 73 00 50 52 4F 47 52 41 7E 31 00 00A0 2C 00 00A2 31 00 00 00 00 00 70 31 47 3B 10 00 57 69 6E 64 6F 77 73 20 4D 65 64 69 61 20 50 6C 61 79 65 72 00 57 49 4E 44 4F 57 7E 32 00 00CC 1C 00 00CE 32 00 00 20 01 00 95 2F A1 99 20 00 77 6D 70 6C 61 79 65 72 2E 65 78 65 00 00 00E8 00 00 item ID list段结束 四、文件位置信息段 开始的一个long integer表示此段的总长度,当文件头中○1的第1位没有置位时表示既不是文件也不是文件夹,所以这个信息没有意义,所以总长度为0。先让我们看一下 这个段的头: Offset Size/Type Description 0h 1 dword 此段的总长度 4h 1 dword 头结构长度,固定为1ch 8h 1 dword Flags指示文件在哪些卷有效,这里只用到低两位,第一位置位表示本地卷有效,反之无效。第二位置位表示网络 卷有效,反之无效。 ch 1 dword 本地卷信息表的偏移(固定1ch) 10h 1 dword 本地路径信息的偏移 14h 1 dword 网络卷信息表的偏移 18h 1 dword 附加信息的偏移 如果文件在本地卷,那么文件名为:本地路径信息+附加信息 如果文件在网络卷,那么文件名为:网络卷信息中的共享名+附加信息 紧 跟在段头后面的是本地卷信息表(段内偏移为1ch),结构如下: Offset Size/Type Description 0h 1 dword 本地卷信息表的长度 4h 1 dword 卷类型: 0 Unknown 1 No root directory 2 Removable (Floppy, Zip, etc..) 3 Fixed (Hard disk) 4 Remote (Network drive) 5 CD-ROM 6 Ram drive (Shortcuts to stuff on a ram drive, now that''s smart...) 8h 1 dword 卷序列号 ch 1 dword 固定长度部分的大小,固定为10h 10h 可变长度 卷标签 然后是本地路径信息串段内偏移决定于10h的值。 再往后就是网络卷信息表段内偏移决定于14h的 值。结构如下: Offset Size/Type Description 0h 1 dword 网络卷信息表的长度 4h 1 dword 固定为2h 8h 1 dword 固定长度部分的大小,固定为14h ch 1 dword 固定为0h 10h 1 dword 固定为20000h 14h 可变长度 网络共享名 最后是附加信息串段内偏移决定于18h的值 例: 偏移 数据 解释 段头 00EA 67 00 00 00 文件位置信息段总长度 00EE 1C 00 00 00 段头长度,固定为1ch 00F2 01 00 00 00 本地卷 00F6 1C 00 00 00 本地卷信息表的段内偏移 00FA 33 00 00 00 本地路径信息的偏移 00FE 00 00 00 00 网络卷信息表的偏移 0102 66 00 00 00 附加信息的偏移 本地卷信息表 0106 17 00 00 00 表长度 010A 03 00 00 00 Fixed (Hard disk) 010E AD C9 B2 F0 卷序列号 0112 10 00 00 00 固定为10h 0116 73 79 73 74 卷标"system" 65 6D 00 本地路径信息串 011D 43 3A 5C 50 C:/Program Files/Windows Media Player/wmplayer.exe 72 6F 67 72 61 6D 20 46 69 6C 65 73 5C 57 69 6E 64 6F 77 73 20 4D 65 64 69 61 20 50 6C 61 79 65 72 5C 77 6D 70 6C 61 79 65 72 2E 65 78 65 00 网络卷信息表 因为段头里flags指示仅为本地卷,并且网络卷信息表的偏移值为零。所以不存在网络卷信息表。 | 附加信 息串 0150 00 五、描述字符段 当文件头中○1的第2位置位时才有。开始的一个unsigned short int表示描述字符串的长度(描述字符为Unicode字符,所以字节数需乘以2,可以使用API函数WideCharToMultiByte将其转换成 ANSI字符)。后面为内容。例: 偏移 数据 解释 0151 20 00 描述字符长度 0153 AD 64 3E 65 70 65 57 5B 92 5A 53 4F 0C FF 05 53 EC 62 F3 97 50 4E 01 30 C6 89 91 98 01 30 43 00 44 00 20 00 8C 54 20 00 49 00 6E 00 74 00 65 00 72 00 6E 00 65 00 74 00 20 00 35 75 F0 53 02 30 转换成ANSI字符为"播放数字媒体,包括音乐、视频、CD 和 Internet 电台。 六、相对路径段 当文件头中○1的第3位置位时才有。同描述字符段一样开始的一个unsigned short int表示相对路径字符串的长度。后面为内容。 例: 偏移 数据 解释 0193 38 00 相对路径字符长度 0195 2E 00 2E 00 5C 00 2E 00 2E 00 5C 00 2E 00 2E 00 5C 00 50 00 72 00 6F 00 67 00 72 00 61 00 6D 00 20 00 46 00 69 00 6C 00 65 00 73 00 5C 00 57 00 69 00 6E 00 64 00 6F 00 77 00 73 00 20 00 4D 00 65 00 64 00 69 00 61 00 20 00 50 00 6C 00 61 00 79 00 65 00 72 00 5C 00 77 00 6D 00 70 00 6C 00 61 00 79 00 65 00 72 00 2E 00 65 00 78 00 65 00 转换成ANSI字符为"../../../Program Files/Windows Media Player/wmplayer.exe" 七、工作目录段 同上。 例:因为文件头中○1flags的第四位没有置位,所以此段不存在 八、 命令行段 同上。 例:因为文件头中○1flags的第五位没有置位,所以此段不存在 九、图标文件段 同上。 例: 因为文件头中○1flags的第六位没有置位,所以此段不存在 十、 附加信息段 具体信息不清楚!!!!! 以上很多资料来自网上,并不是微软文档,所以难免有理解错误的地方,请包含。所附代码只是为了 跟踪显示,没有输出,嘿嘿,自己改改看吧!!:)有兴趣可以自己写一个类,分析快捷方式的所有信息。

.LNK File Format

1. Header

2. Shell Item Id List

3. File Location Info

4. Description

5. Relative Path

6. Working Directory

7. Command Line Arguments

8. Icon Filename

9. Additonal Info

Size

Contents

Description

4 bytes

Always 4C 00 00 00

This is how windows knows it is a shortcut file

16 bytes

GUID for shortcut files

The current GUID for shortcuts. It may change in the future. 01 14 02 00 00 00 00 00 C0 00 00 00 00 00 46

1 dword

Shortcut flags

Shortcut flags are explained below

1 dword

Target file flags

Flags are explained below

1 qword

Creation time

1 qword

Last access time

1 qword

Modification time

1 dword

File length

The length of the target file. 0 if the target is not a file. This value is used to find the target when the link is broken.

1 dword

Icon number

If the file has a custom icon (set by the flags bit 6), then this long integer indicates the index of the icon to use. Otherwise it is zero.

1 dword

Show Window

the ShowWnd value to pass to the target application when starting it. 1:Normal Window 2:Minimized 3:Maximized

1 dword

Hot Key

The hot key assigned for this shortcut

1 dword

Reserved

Always 0

1 dword

Reserved

Always 0

Bit

Meaning

0

Shell item id list is present

1

Target is a file or directory

2

Has a description

3

Has a relative path

4

Has a working directory

5

Has command line arguments

6

Has a custom icon.

Bit

Meaning

0

Target is read only.

1

Target is hidden.

2

Target is a system file.

3

Target is a volume label. (Not possible)

4

Target is a directory.

5

Target has been modified since last backup. (archive)

6

Target is encrypted (NTFS partitions)

7

Target is Normal

8

Target is temporary.

9

Target is a sparse file.

10

Target has reparse point data.

11

Target is compressed.

12

Target is offline.

Size

Description

1 dword

This length value includes all the assorted pathnames and other data structures. All offsets are relative to the start of this section.

1 dword

The offset at which the basic file info structure ends. Should be 1C.

1 dword

File available on local volume (0) or network share(1)

1 dword

Offset to the local volume table.

1 dword

Offset to the base path on the local volume.

1 dword

Offset to the network volume table.

1 dword

Offset to the final part of the pathname.

Size

Description

1 dword

Length of this structure including the volume label string.

1 dword

Type of volume (code below)

1 dword

Volume serial number

1 dword

Offset of the volume name (Always 0x10)

ASCIZ

Volume label

Code

Description

0

Unknown

1

No root directory

2

Removable (Floppy, Zip ...)

3

Fixed (Hard disk)

4

Remote (Network drive)

5

CD-ROM

6

Ram drive

Size

Description

1 dword

Length of this structure

1 dword

Always 02

1 dword

Offset of network share name (Always 0x14)

1 dword

Reserved 0

1 dword

Always 0x20000

ASCIZ

Network share name

.LNK 文件格式

1. 文件头

2. Shell Item Id List 段

3. 文件位置信息段

4. 描述字符段

5. 相对路径段

6. 工作目录段

7. 命令行段

8. 图标文件段

9. 附加信息段

Offset

Size/Type

Description

0h

1 dword

值常为0000004CH,为字符"L"

4h

16 bytes

GUID

①14h

1 dword

Flags,用来标识快捷方式文件中有哪些可选属性,后面有表单独解释每一位的意义。

②18h

1 dword

目标文件属性,后面解释。

1ch

1 qword

文件创建时间

24h

1 qword

文件修改时间

2ch

1 qword

文件最后一次访问时间

34h

1 dword

目标文件长度

38h

1 dword

自定义图标个数,

3ch

1 dword

目标文件执行时窗口显示方式: 1、 正常显示 2、 最小化 3、 最大化

40h

1 dword

热键

44h

2 dword

暂时还不清楚用途值常为0

Bit

所在位为1时表示

0

有shell item id list

1

指向文件或文件夹,如果此位为0表示指向其他。

2

存在描述字符串

3

存在相对路径

4

存在工作路径

5

存在命令行参数

6

存在自定义图标

Bit

所在位为1时表示

0

快捷方式所指目标文件有只读属性

1

快捷方式所指目标文件有隐藏属性

2

快捷方式所指目标文件是系统文件

3

快捷方式所指目标是卷标

4

快捷方式所指目标是文件夹

5

快捷方式所指目标文件上次存档后被改变过

6

快捷方式所指目标文件被加密

7

快捷方式所指目标文件属性为一般

8

快捷方式所指目标文件为临时

9

快捷方式所指目标文件为稀疏文件(sparse file)

10

快捷方式所指目标文件有重分析点数据(reparse point)

11

快捷方式所指目标文件被压缩

12

快捷方式所指目标文件脱机

Offset

Size/Type

Description

0h

1 dword

此段的总长度

4h

1 dword

头结构长度,固定为1ch

8h

1 dword

Flags指示文件在哪些卷有效,这里只用到低两位,第一位置位表示本地卷有效,反之无效。第二位置位表示网络 卷有效,反之无效。

ch

1 dword

本地卷信息表的偏移(固定1ch)

10h

1 dword

本地路径信息的偏移

14h

1 dword

网络卷信息表的偏移

18h

1 dword

附加信息的偏移

Offset

Size/Type

Description

0h

1 dword

本地卷信息表的长度

4h

1 dword

卷类型: 0 Unknown 1 No root directory 2 Removable (Floppy, Zip, etc..) 3 Fixed (Hard disk) 4 Remote (Network drive) 5 CD-ROM 6 Ram drive (Shortcuts to stuff on a ram drive, now that''s smart...)

8h

1 dword

卷序列号

ch

1 dword

固定长度部分的大小,固定为10h

10h

可变长度

卷标签

Offset

Size/Type

Description

0h

1 dword

网络卷信息表的长度

4h

1 dword

固定为2h

8h

1 dword

固定长度部分的大小,固定为14h

ch

1 dword

固定为0h

10h

1 dword

固定为20000h

14h

可变长度

网络共享名

.LNK File Format

1. Header

2. Shell Item Id List

3. File Location Info

4. Description

5. Relative Path

6. Working Directory

7. Command Line Arguments

8. Icon Filename

9. Additonal Info

Size

Contents

Description

4 bytes

Always 4C 00 00 00

This is how windows knows it is a shortcut file

16 bytes

GUID for shortcut files

The current GUID for shortcuts. It may change in the future. 01 14 02 00 00 00 00 00 C0 00 00 00 00 00 46

1 dword

Shortcut flags

Shortcut flags are explained below

1 dword

Target file flags

Flags are explained below

1 qword

Creation time

1 qword

Last access time

1 qword

Modification time

1 dword

File length

The length of the target file. 0 if the target is not a file. This value is used to find the target when the link is broken.

1 dword

Icon number

If the file has a custom icon (set by the flags bit 6), then this long integer indicates the index of the icon to use. Otherwise it is zero.

1 dword

Show Window

the ShowWnd value to pass to the target application when starting it. 1:Normal Window 2:Minimized 3:Maximized

1 dword

Hot Key

The hot key assigned for this shortcut

1 dword

Reserved

Always 0

1 dword

Reserved

Always 0

Bit

Meaning

0

Shell item id list is present

1

Target is a file or directory

2

Has a description

3

Has a relative path

4

Has a working directory

5

Has command line arguments

6

Has a custom icon.

Bit

Meaning

0

Target is read only.

1

Target is hidden.

2

Target is a system file.

3

Target is a volume label. (Not possible)

4

Target is a directory.

5

Target has been modified since last backup. (archive)

6

Target is encrypted (NTFS partitions)

7

Target is Normal

8

Target is temporary.

9

Target is a sparse file.

10

Target has reparse point data.

11

Target is compressed.

12

Target is offline.

Size

Description

1 dword

This length value includes all the assorted pathnames and other data structures. All offsets are relative to the start of this section.

1 dword

The offset at which the basic file info structure ends. Should be 1C.

1 dword

File available on local volume (0) or network share(1)

1 dword

Offset to the local volume table.

1 dword

Offset to the base path on the local volume.

1 dword

Offset to the network volume table.

1 dword

Offset to the final part of the pathname.

Size

Description

1 dword

Length of this structure including the volume label string.

1 dword

Type of volume (code below)

1 dword

Volume serial number

1 dword

Offset of the volume name (Always 0x10)

ASCIZ

Volume label

Code

Description

0

Unknown

1

No root directory

2

Removable (Floppy, Zip ...)

3

Fixed (Hard disk)

4

Remote (Network drive)

5

CD-ROM

6

Ram drive

Size

Description

1 dword

Length of this structure

1 dword

Always 02

1 dword

Offset of network share name (Always 0x14)

1 dword

Reserved 0

1 dword

Always 0x20000

ASCIZ

Network share name

.LNK 文件格式

1. 文件头

2. Shell Item Id List 段

3. 文件位置信息段

4. 描述字符段

5. 相对路径段

6. 工作目录段

7. 命令行段

8. 图标文件段

9. 附加信息段

Offset

Size/Type

Description

0h

1 dword

值常为0000004CH,为字符"L"

4h

16 bytes

GUID

①14h

1 dword

Flags,用来标识快捷方式文件中有哪些可选属性,后面有表单独解释每一位的意义。

②18h

1 dword

目标文件属性,后面解释。

1ch

1 qword

文件创建时间

24h

1 qword

文件修改时间

2ch

1 qword

文件最后一次访问时间

34h

1 dword

目标文件长度

38h

1 dword

自定义图标个数,

3ch

1 dword

目标文件执行时窗口显示方式: 1、 正常显示 2、 最小化 3、 最大化

40h

1 dword

热键

44h

2 dword

暂时还不清楚用途值常为0

Bit

所在位为1时表示

0

有shell item id list

1

指向文件或文件夹,如果此位为0表示指向其他。

2

存在描述字符串

3

存在相对路径

4

存在工作路径

5

存在命令行参数

6

存在自定义图标

Bit

所在位为1时表示

0

快捷方式所指目标文件有只读属性

1

快捷方式所指目标文件有隐藏属性

2

快捷方式所指目标文件是系统文件

3

快捷方式所指目标是卷标

4

快捷方式所指目标是文件夹

5

快捷方式所指目标文件上次存档后被改变过

6

快捷方式所指目标文件被加密

7

快捷方式所指目标文件属性为一般

8

快捷方式所指目标文件为临时

9

快捷方式所指目标文件为稀疏文件(sparse file)

10

快捷方式所指目标文件有重分析点数据(reparse point)

11

快捷方式所指目标文件被压缩

12

快捷方式所指目标文件脱机

Offset

Size/Type

Description

0h

1 dword

此段的总长度

4h

1 dword

头结构长度,固定为1ch

8h

1 dword

Flags指示文件在哪些卷有效,这里只用到低两位,第一位置位表示本地卷有效,反之无效。第二位置位表示网络 卷有效,反之无效。

ch

1 dword

本地卷信息表的偏移(固定1ch)

10h

1 dword

本地路径信息的偏移

14h

1 dword

网络卷信息表的偏移

18h

1 dword

附加信息的偏移

Offset

Size/Type

Description

0h

1 dword

本地卷信息表的长度

4h

1 dword

卷类型: 0 Unknown 1 No root directory 2 Removable (Floppy, Zip, etc..) 3 Fixed (Hard disk) 4 Remote (Network drive) 5 CD-ROM 6 Ram drive (Shortcuts to stuff on a ram drive, now that''s smart...)

8h

1 dword

卷序列号

ch

1 dword

固定长度部分的大小,固定为10h

10h

可变长度

卷标签

Offset

Size/Type

Description

0h

1 dword

网络卷信息表的长度

4h

1 dword

固定为2h

8h

1 dword

固定长度部分的大小,固定为14h

ch

1 dword

固定为0h

10h

1 dword

固定为20000h

14h

可变长度

网络共享名

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券