LNK
Last updated
Was this helpful?
Last updated
Was this helpful?
LNK νμΌμ Windows 95λΆν° λμ λ Windowsμμ νμΌ, ν΄λ, μμ© νλ‘κ·Έλ¨μ λν βλ°λ‘κ°κΈ°β λλ βλ§ν¬βλ₯Ό λ§νλ©°, νμ₯μλ .LNKμ΄λ€. 곡μ λͺ μΉμ Shell Linkλ‘, Shell Link Binary File Format κ·κ²©μ λ°λ₯΄λ©°, λ€λ₯Έ λ°μ΄ν° κ°μ²΄μ μ‘μΈμ€νλ λ° μ¬μ©ν μ μλ μ λ³΄κ° ν¬ν¨λ λ°μ΄ν° κ°μ²΄μ΄λ€. μ΄ νμΌμ μμ© νλ‘κ·Έλ¨ μμ, OLE(κ°μ²΄ μ°κ²° λ° ν¬ν¨) μλλ¦¬μ€ μ§μ, λμ νμΌ μ°Έμ‘° μ μ₯ λ±μ μ¬μ©λλ©°, ν€λ³΄λ λ¨μΆν€, μ€λͺ μ½λ©νΈ, μμ© νλ‘κ·Έλ¨ λμ μ μ΄ μ€μ λ± λ€μν μ 보λ₯Ό ν¬ν¨ν μ μλ€.
μλ³Έ νμΌκ³Ό λμΌν μμ΄μ½μ μ’μΈ‘ νλ¨μ νμ΄ν νμκ° μμ΄ λ§ν¬ νμΌμμ λνλΈλ€. LNK νμΌμ μμ±μ μ΄ν΄λ³΄λ©΄ μλ κ·Έλ¦Όμ²λΌ βλ°λ‘ κ°κΈ°β νμ λμμ μλ³Έ νμΌμ μ΄λ¦κ³Ό κ²½λ‘λ₯Ό μ μ₯νκ³ μκ³ , κ·Έ μμΉμ νμΌμ΄ μ‘΄μ¬ν κ²½μ°, βμΌλ°β νμμ μκ° λ μ§λ₯Ό νμΈν μ μλ€.
LNK νμΌμ ν¬λ μ κ΄μ
νμΌμ MAC Time, λ³Όλ₯¨ μ 보, λ€νΈμν¬ κ³΅μ μ 보, μλ³Έ μμΉ, μμ€ν μ΄λ¦, μλ³Έ νμΌ μΆμ κ°λ₯
LNK νμΌμ μ¬μ©μ νμμ λ°λΌ βλ°λ‘ κ°κΈ° λ§λ€κΈ°βλ₯Ό ν΅ν΄ μμ±ν μ μκ³ , μ¬μ©μκ° νμΌ, ν΄λ, νλ‘κ·Έλ¨μ μ κ·Όν λ μλμΌλ‘ μμ±λλ€. μλμ° 10 κΈ°μ€ LNK νμΌμ΄ μλ μμ±λλ κ²½λ‘λ μλμ κ°λ€. νΉν Recent κ²½λ‘μλ νμΌ, ν΄λ, νλ‘κ·Έλ¨μ΄ μ€νλ λ μλμΌλ‘ lnk νμΌμ΄ μμ±λκΈ° λλ¬Έμ μ¬μ©μμ μ΅κ·Ό μ€ν λͺ©λ‘κ³Ό κ·Έ μ 보λ₯Ό μ μ μλ€.
μμ λ©λ΄
\ProgramData\Microsoft\Windows\Start Menu\Programs*.lnk
\User<user name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs**.ln
WinX Group
Users<user name>\AppData\Local\Microsoft\Windows\WinX\Group#*.lnk
λΉ λ₯Έ μ€ν
\Users<user name>\AppData\Local\Microsoft\Internet Explorer\Quick Launch.lnk
Send To
\Users<user name>\AppData\Roaming\Microsoft\Windows\SendTo.lnk
μμ© νλ‘κ·Έλ¨ λ°λ‘ κ°κΈ°
\Users<user name>\AppData\Local\Microsoft\Windows\Application Shortcuts*.lnk
μ΅κ·Ό λ¬Έμ
\Users<user name>\AppData\Roaming\Microsoft\Windows\Recent*.lnk
LNK νμΌμ ν¬κ² ShellLinkHeader(default), LinkTargetIDList, LinkInfo, StringData, ExtraDataλ‘ κ΅¬μ±λμ΄ μκ³ , ABNF μ€μνλ μΌλ ¨μ κ΅¬μ‘°λ‘ μ΄λ£¨μ΄μ Έ μλ€. κ° κ΅¬μ‘°μ λν μ€λͺ μ μλ νμ κ°κ³ , ν¬λ μμ μΌλ‘ μ μλ―Έν μ 보λ₯Ό λ΄κ³ μλ ꡬ쑰λ ShellLinkHeaderμ LinkInfoμ΄λ€.
SHELL_LINK_HEADER
76 λ°μ΄νΈμ κΈ°λ³Έ ν€λ κ΅¬μ‘°λ‘ μλ³μ 보, νμμ€ν¬ν, λμ νμΌ ν¬κΈ°, νλκ·Έ λ±μ΄ ν¬ν¨λλ€.
LINKTARGET_IDLIST
λ§ν¬ λμμ μ§μ νλ ꡬ쑰μ΄λ€. SHELL_LINK_HEADERμ HasLinkTargerID λΉνΈκ° μ€μ λμ΄ μμ λλ§ μ‘΄μ¬νλ©°, λ°λ‘κ°κΈ°μμ νμμ μΈ νλͺ©μΌλ‘ μλ³Έμ λν μ 보λ₯Ό λ΄κ³ μλ€.
LINKINFO
λ§ν¬ λμμ ν΄κ²°νλ λ° νμν μ 보λ₯Ό μ§μ νλ ꡬ쑰μ΄λ€. SHELL_LINK_HEADERμ HasLinkInfo λΉνΈκ° μ€μ λμ΄ μμ λλ§ μ‘΄μ¬νλ©°, μλ³Έ μμΉλ₯Ό μ°Ύμ λ νμν μ 보λ₯Ό λ΄κ³ μλ€.
STRING_DATA
μ¬μ©μ μΈν°νμ΄μ€ λ° κ²½λ‘ μλ³ μ 보λ₯Ό μ λ¬νλλ° μ¬μ©νλ ꡬ쑰μ΄λ€. ShellLinkHeaderμ λΉνΈκ° μ€μ λμ΄ μμ λ μ‘΄μ¬νλ©°, λ§ν¬ λμμ λ¬Έμμ΄ μ 보(μ΄λ¦, μλκ²½λ‘, μμ λλ ν°λ¦¬ λ±)μ μ μ₯νκ³ μλ€.
EXTRA_DATA
λ§ν¬ λμμ νλ©΄ νμ μ 보, λ¬Έμμ΄ μ½λ νμ΄μ§, νκ²½ λ³μμ κ°μ μΆκ°μ μΈ μ 보 μ μ₯νκ³ μλ€.
ShellLinkHeaderλ 76 λ°μ΄νΈμ κΈ°λ³Έ ν€λ ꡬ쑰μ΄λ©°, ν΄λΉ ꡬ쑰μλ LinkTargerIDList, LinkInfo, StringData λ± κ΅¬μ‘°μ μ‘΄μ¬λ₯Ό μ§μ νλ μλ³μ 보, νμμ€ν¬ν λ° νλκ·Έκ° ν¬ν¨λμ΄ μλ ꡬ쑰μ΄λ€. ν΄λΉ ꡬ쑰μμ μλ³Έ νμΌμ μμ± μ 보μ μμ±, μ κ·Ό μμ μκ°μ νμΈν μ μλ€. ShellLinkHeaderμμ ν¬λ μμ μΌλ‘ μλ―Έμλ λΆλΆμ FileAttributes, CreationTime, AccessTime, WriteTime, FileSize λ±μ΄ μλ€.
SHELL_LINK_HEADERμ ꡬ쑰 λ³ μ€νμ κ³Ό μ€λͺ μ λ€μ νμ κ°λ€.
0~3
HeaderSize
4λ°μ΄νΈ
ν¬κΈ°λ₯Ό λνλ΄λ©°, κ°μ 0x0000004Cλ‘ κ³ μ
4~13
LinkCLSID
16λ°μ΄νΈ
ν΄λμ€ μλ³μ(CLSID)λ‘ κ°μ 00021401-0000-0000-C000-000000000046λ‘ κ³ μ
14~17
LinkFlags
4λ°μ΄νΈ
λ§ν¬μ λν μ 보μ ꡬ쑰μ μ‘΄μ¬ μ¬λΆλ₯Ό μ§μ
18~1B
FileAttributes
4λ°μ΄νΈ
λ§ν¬ λμμ λν μ 보λ₯Ό μ§μ
1C~23
CreationTime
8λ°μ΄νΈ
λ§ν¬ λμμ μμ± μκ°μ UTCλ‘ μ§μ (0μ΄λ©΄ λ§ν¬ λμμ μκ° μμ)
24~2B
AccessTime
8λ°μ΄νΈ
λ§ν¬ λμμ μ‘μΈμ€ μκ°μ UTCλ‘ μ§μ (0μ΄λ©΄ λ§ν¬ λμμ μκ° μμ)
2C~33
WriteTime
8λ°μ΄νΈ
λ§ν¬ λμμ μ°κΈ° μκ°μ UTCλ‘ μ§μ (0μ΄λ©΄ λ§ν¬ λμμ μκ° μμ)
34~37
FileSize
4λ°μ΄νΈ
λ§ν¬ λμμ ν¬κΈ°λ₯Ό μ§μ νλ λΆνΈ μλ μ μ (λ§ν¬ λμ νμΌμ΄ 0xFFFFFFFFλ³΄λ€ ν° κ²½μ° μ΄ κ°μ λ§ν¬ λμ νμΌ ν¬κΈ°μ μ΅νμ 32λΉνΈλ₯Ό μ§μ )
38~3B
IconIndex
4λ°μ΄νΈ
μ£Όμ΄μ§ μμ΄μ½ μμΉ λ΄μ μμ΄μ½ μΈλ±μ€λ₯Ό μ§μ νλ λΆνΈ μλ μ μ
3C~3F
ShowCommand
4λ°μ΄νΈ
λ§ν¬μ μν΄ μμλ μ ν리μΌμ΄μ μ λμ λͺ¨λλ₯Ό λνλ΄λ λΆνΈ μλ μ μ
SW_SHOWNORMAL(0x00000001) : μμ© νλ‘κ·Έλ¨μ΄ μ΄λ € μκ³ ν΄λΉ μ°½μ΄ μΌλ°μ μΈ λ°©μμΌλ‘ μ΄λ € μμ
SW_SHOWMAXIMIZED(0x00000003) : μμ© νλ‘κ·Έλ¨μ΄ μ΄λ € μκ³ ν€λ³΄λ ν¬μ»€μ€κ° μ£Όμ΄μ§κ³ ν΄λΉ μ°½μ νμλμ§ μμ
SW_SHOWMINNOACTIVE(0x00000007) : μμ© νλ‘κ·Έλ¨μ΄ μ΄λ € μκ³ ν€λ³΄λ ν¬μ»€μ€κ° μ£Όμ΄μ§μ§ μκ³ ν΄λΉ μ°½μ΄ νμλμ§ μμ
40~41
HotKey
2λ°μ΄νΈ
λ°λ‘ κ°κΈ° ν€κ° μ°Έμ‘°νλ μμ© νλ‘κ·Έλ¨μ μμνλ λ° μ¬μ©λλ ν€ μ λ ₯μ μ§μ μ ν리μΌμ΄μ μ΄ μμλ ν μ ν리μΌμ΄μ μ ν λΉλλ―λ‘ ν€λ₯Ό λλ₯΄λ©΄ ν΄λΉ μ ν리μΌμ΄μ μ΄ νμ±ν
42~4B
Reserved1,2,3
10λ°μ΄νΈ
μμ½ μμμΌλ‘ 0μΌλ‘ κ³ μ
βΆ ShellLinkHeader ꡬ쑰 μμ
μμλ₯Ό ν΅ν΄ ShellLinkHeaderλ₯Ό μ΄ν΄λ³΄λ©΄ μλ κ·Έλ¦Όκ³Ό κ°λ€.
ShellLinkHeaderμ 첫 4λ°μ΄νΈλ ν¬κΈ°λ₯Ό λνλ΄λ©° 0x0000004Cλ‘ κ³ μ λμ΄ μκ³ , μκ° μ 보 λ° νμΌ μ¬μ΄μ¦ λ±μ νμΈν μ μλ€.
λ§ν¬ λμμ μ§μ νλ κ΅¬μ‘°λ‘ βλ°λ‘κ°κΈ°β νμΌμμ νμμ μΈ νλͺ©μΌλ‘ μλ³Έμ λν μ 보λ₯Ό κ°μ§κ³ μλ ꡬ쑰μ΄λ€. LinkTargetIDListλ IDListSizeμ IDListλ‘ μ΄λ£¨μ΄μ Έ μκ³ , IDListλ ItemIDListμ TerminalIDλ‘ λλλ€. TerminalIDλ 맨 λμ μ‘΄μ¬νλ 2λ°μ΄νΈ μμ½ μμμ΄λ©°, μ’ λ£λ₯Ό λνλΈλ€. ItemIDλ ItemIDSizeμ Dataλ‘ λλλ€.
LinkTargetIDListμ ꡬ쑰 λ³ μ€λͺ μ λ€μ νμ κ°λ€.
IDListSize
2λ°μ΄νΈ
IDList νλμ ν¬κΈ°
IDList
variable
item ID 리μ€νΈλ₯Ό μ μ₯νλ©°, ABNF [RFC5234]λ₯Ό μ€μ
IDListλ ItemIDListμ TerminalIDλ‘ κ΅¬μ±λμ΄ μλ€.
ItemIDList
variable
ItemID ꡬ쑰 λ°°μ΄
TerminalID
2λ°μ΄νΈ
0μΌλ‘ μ±μμ Έ μμΌλ©°, λμ λνλ
ItemIDλ ItemIDSizeμ Dataλ‘ λλλ€.
ItemIDSize
2λ°μ΄νΈ
ItemID ꡬ쑰 ν¬κΈ° (ItemIDSize ν¬ν¨)
Data
variable
shell data sourceμ μ μλ λ°μ΄ν°
⢠ꡬ쑰 μμ
μμλ₯Ό ν΅ν΄ LinkTargetIDListλ₯Ό μ΄ν΄λ³΄λ©΄ μλμ κ°λ€.
μ μ¬μ§μμ λ³΄λ― SHELL_LINK_HEADERκ° λλ ν 2λ°μ΄νΈ 0x00DA(218)κ° IDList νλμ ν¬κΈ°λ₯Ό κ²°μ νλ IDListsize λΆλΆμ΄κ³ , 0x4EλΆν° 218λ°μ΄νΈ κΈΈμ΄μ IDList μ λ³΄κ° μ΄μ΄μ§λ€.
μλ μμΉμμ λ§ν¬ λμμ μ°Ύμ μ μλ κ²½μ° λ§ν¬ λμμ νμΈνλλ° νμν μ 보λ₯Ό κ°μ§κ³ μλ ꡬ쑰μ΄λ€.
ν΄λΉ ꡬ쑰μμ μλ³Έ νμΌμ ν¬κΈ°, μλ³Έ νμΌμ΄ μμΉν VolumeIDμ Volumeμ μλ¦¬μΌ λ²νΈ, κ²½λ‘ λ±μ νμΈν μ μλ€. LinkInfoμμ ν¬λ μμ μΌλ‘ μλ―Έμλ λΆλΆμ VolumeID λ΄μ DriveType, DriveSerialNumber, LocalBasePath λ±μ΄ μλ€.
LinkInfoμ κ΅¬μ‘°λ³ μ€λͺ μ λ€μ νμ κ°λ€.
LinkInfoSize
4λ°μ΄νΈ
LinkInfo ꡬ쑰μ ν¬κΈ°
LinkInfoHeaderSize
4λ°μ΄νΈ
LinkInfo ν€λ ν¬κΈ° (LinkInfo ν€λλ LinkInfoSize, LinkInfoHeaderSize, LinkInfoFlags, VolumeIDOffset, LocalBasePathOffset, CommonNetworkRelativeLinkOffset, CommonPathSuffixOffset νλλ‘ κ΅¬μ±)
LinkInfoFlags
4λ°μ΄νΈ
VolumeID, LocalBasePath, LocalBasePathUnicode λ° CommonNetworkRelativeLink νλκ° μ΄ κ΅¬μ‘°μ μλμ§ μ¬λΆλ₯Ό μ§μ νλ νλκ·Έ
VolumeIDOffset
4λ°μ΄νΈ
VolumeID νλμ μμΉλ₯Ό μ§μ
LocalBasePathOffset
4λ°μ΄νΈ
LocalBasePath νλμ μμΉλ₯Ό μ§μ
CommonNetworkRelativeLinkOffset
4λ°μ΄νΈ
CommonNetworkRelativeLink νλμ μμΉλ₯Ό μ§μ
CommonPathSuffixOffset
4λ°μ΄νΈ
CommonPathSuffix νλμ μμΉλ₯Ό μ§μ
VolumeID
variable
λ§ν¬κ° μμ±λ λ λ§ν¬ λμμ΄ μλ λ³Όλ₯¨μ λν μ 보λ₯Ό μ§μ
νμΌ λ³λ‘ μ‘΄μ¬ μ¬λΆκ° λ€λ₯Έ ꡬ쑰μ λν μ€λͺ μ μλ΅νμΌλ©°, μμΈν μ¬νμ λν μ€λͺ μ κ΄λ ¨ λ¬Έμμ LinkInfo λΆλΆμ νμΈνλ κ²μ μΆμ²νλ€.
volumeID
λ§ν¬κ° μμ±λ λ λ§ν¬ λμμ΄ μλ λ³Όλ₯¨μ λν μ 보λ₯Ό μ§μ . νμΌμ΄ μλ μμΉμμ λ°κ²¬λμ§ μμ κ²½μ° λ§ν¬λ₯Ό νμΈν μ μλ€.
VolumeIDSize
4λ°μ΄νΈ
VolumeIDμ ν¬κΈ°λ₯Ό μ§μ νλ©° 0x00000010λ³΄λ€ μ»€μΌ ν¨
DriveType
4λ°μ΄νΈ
λ§ν¬ λμμ΄ μ μ₯λ λλΌμ΄λΈ μ νμ μ§μ
DRIVE_UNKNOWN (0x00000000) : λλΌμ΄λΈ μ ν κ²°μ λͺ» ν¨
DRIVE_NO_ROOT_DIR (0x00000001) : λ£¨νΈ κ²½λ‘ μλͺ»λ¨
DRIVE_REMOVABLE (0x00000002) : λλΌμ΄λΈμ μ΄λμ λ―Έλμ΄ μ‘΄μ¬
DRIVE_FIXED (0x00000003) : λλΌμ΄λΈμ κ³ μ λ―Έλμ΄ μ‘΄μ¬
DRIVE_REMOTE (0x00000004) : λλΌμ΄λΈκ° μ격 λλΌμ΄λΈ μΌ λ
DRIVE_CDROM (0x00000005) : λλΌμ΄λΈκ° CD-ROM μΌ λ
DRIVE_RAMDISK (0x00000006) : λλΌμ΄λΈκ° RAM λμ€ν¬
DriveSerialNumber
4λ°μ΄νΈ
λ§ν¬ λμμ΄ μ μ₯λ λ³Όλ₯¨μ λλΌμ΄λΈ μΌλ ¨ λ²νΈλ₯Ό μ§μ
VolumeLabelOffset
4λ°μ΄νΈ
λ§ν¬ λμμ΄ μ μ₯λ λλΌμ΄λΈμ λ³Όλ₯¨ λ μ΄λΈμ΄ ν¬ν¨λ λ¬Έμμ΄μ μμΉλ₯Ό μ§μ (VolumeID ꡬ쑰μ μμλΆν° μμ€ν κΈ°λ³Έ μ½λ νμ΄μ§μ μν΄ μ μλ NULLλ‘ λλλ λ¬Έμμ΄κΉμ§μ μ€νμ )
VolumeLabelOffsetUnicode
4λ°μ΄νΈ
λ§ν¬ λμμ΄ μ μ₯λ λλΌμ΄λΈμ λ³Όλ₯¨ λ μ΄λΈμ΄ ν¬ν¨λ λ¬Έμμ΄μ μμΉλ₯Ό μ§μ (VolumeID ꡬ쑰μ μμλΆν° NULLλ‘ λλλ μ λμ½λ λ¬Έμ λ¬Έμμ΄κΉμ§μ μ€νμ )
Data
variable
μ΄μ νλμ μ§μ λ λλ‘ μμ€ν κΈ°λ³Έ μ½λ νμ΄μ§ λλ μ λμ½λ λ¬Έμλ‘ μ μλ λ¬Έμμ΄λ‘ λλΌμ΄λΈμ λ³Όλ₯¨ λ μ΄λΈμ ν¬ν¨νλ λ°μ΄ν° λ²νΌ
⢠ꡬ쑰 μμ
μμλ₯Ό ν΅ν΄ LinkInfoλ₯Ό μ΄ν΄λ³΄λ©΄ μλμ κ°λ€.
μ κ·Έλ¦Όμ²λΌ LINKTARGET_IDLISTκ° λλ μ΄ν λ°λΌμ€λ 4λ°μ΄νΈ(0x128~0x12B)λ LinkInfosizeλ₯Ό λνλ΄λ©°, 0x12CλΆν° 101λ°μ΄νΈκ° μ§λ 0x190μ LinkInfoκ° μ μ₯λμ΄ μλ€.
LinkInfoHeaderSizeκ° 0x1Cμ΄κΈ° λλ¬Έμ μ νμ νλμ λν μ€νμ μ΄ μ‘΄μ¬νμ§ μλλ€.
μ κ·Έλ¦Όμμλ LinkInfo μ€ volumeIDμ ꡬ쑰λ₯Ό νμΈν μ μμΌλ©°, LinkTargetμ΄ μ μ₯λ λλΌμ΄λΈμ κ΄λ ¨λ λΆλΆμ νμΈν μ μλ€.
νμΌ μ€λͺ , μλ κ²½λ‘, μμ λλ ν 리, λͺ λ Ήμ€ μΈμ, μμ΄μ½ μμΉ λ±μ λν λ¬Έμμ΄ λ°μ΄ν°λ₯Ό νμΈνλλ° νμν μ 보λ₯Ό κ°μ§κ³ μλ ꡬ쑰μ΄λ€.
NAME_STRING: λ§ν¬μ λͺ©μ μ μλ³νκΈ° μν΄ μ΅μ’ μ¬μ©μμκ² νμλλ λ°λ‘ κ°κΈ°μ λν μ€λͺ μ μ§μ
RELATIVE_PATH: λ§ν¬κ° ν¬ν¨λ νμΌμ κΈ°μ€μΌλ‘ λ§ν¬ λμμ μμΉλ₯Ό μ§μ
WORKING_DIR: λ§ν¬ λμμ νμ±νν λ μ¬μ©ν μμ λλ ν°λ¦¬μ νμΌ μμ€ν κ²½λ‘λ₯Ό μ§μ
COMMAND_LINE_ARGUMENTS: λ§ν¬ λμμ νμ±νν λ μ§μ λλ λͺ λ Ή μΈμλ₯Ό μ μ₯
ICON_LOCATION: λ§ν¬ νλͺ©μ νμν λ μ¬μ©ν μμ΄μ½μ μμΉλ₯Ό μ§μ
CountCharacters
2λ°μ΄νΈ
μμ€ν κΈ°λ³Έ μ½λ νμ΄μ§μ μ μλ λ¬Έμ μ λλ λ¬Έμμ΄ νλμ μλ μ λμ½λ λ¬Έμ μλ₯Ό μ§μ
String
variable
μμ€ν κΈ°λ³Έ μ½λ νμ΄μ§μ μν΄ μ μλ μ νμ λ¬Έμ μ§ν© λλ CountCharacters νλμ μ§μ λ κΈΈμ΄μ μ λμ½λ λ¬Έμμ΄
μΆκ°μ μΈ μμ± μ 보λ‘, λ€μμ λ€μν λ°μ΄ν° λΈλ‘μ΄ ν¬ν¨λ μ μλ€. νμΌμ μ΄λμ΄λ λ³κ²½ μ΄λ ₯ λ° μΆκ° μμ±μ΄ κΈ°λ‘λ μ μμ΄ μ¬μ©μ νλ λΆμκ³Ό νμΌ μμ± νμΈμ μ μ©νλ€. κ° νμΌλ§λ€ κ°λ³μ μ΄λ―λ‘, μ΄ κΈμμ μμΈν μ 보λ₯Ό μ€λͺ νμ§ μκ² λ€. μμΈν μ€λͺ μ΄ νμν κ²½μ° MSμ LNK νμΌ μ€ ExtraData ννΈλ₯Ό μ΄ν΄λ³΄λ κ±Έ μΆμ²νλ€.
LNK νμΌ κ΅¬μ‘°μμ νμΈν μ μλ― LNK νμΌ λΆμ μ μλ³Έ νμΌμ μμ± μ 보, μμ±, μ κ·Ό, μμ μκ° λ±μ μ μ μλ€. LNK νμΌ μμ²΄λ‘ μΉ¨ν΄ μ¬κ³ λ₯Ό νμ νκΈ° μ΄λ ΅κΈ° λλ¬Έμ μ¬κ³ μ νμ λ¨Όμ νμ νκ³ , νμλΌμΈκ³Ό μ°κ³ν΄ λΆμν νμκ° μλ€.
μλμ κ°μ λ°©λ²μΌλ‘ LNK νμΌμ λΆμν μ μλ€.
LNK νμΌ μμ§ : λΆμ λμμμ LNK νμΌμ μμ§νλ€. (λ°ννλ©΄, μ΅κ·Ό λ¬Έμ, μμλ©λ΄ λ±)
νμΌ μλ³ : νμ₯μ, νμΌ μκ·Έλμ², GUID νμΈ λ±μ ν΅ν΄ LNK νμΌμΈμ§ νμΈνλ€.
ꡬ쑰 λΆμ : ShellLinkHeader, LinkTargetIDList, LinkInfo, StringData, ExtraData ꡬ쑰λ₯Ό λΆμνλ€.
λ°μ΄ν° μΆμΆ λ° λΆμ : κ²½λ‘, νμμ€ν¬ν, νμΌ μμ±, λ€νΈμν¬ λ±μ μ 보 μΆμΆνλ€.
μ°κ΄ λΆμ : νμλΌμΈκ³Ό μ°κ΄ μ§μ΄ λΆμνλ©°, μ¬μ©μμ νλμ νμ νλ€.
LNK νμΌμ ν¬λ μμ μΌλ‘ νμ©ν μ μλ λ°©μμ λ€μνλ©°, μ£Όλ‘ μ¬μ©μμ νλμ μΆμ νλ λ° μ€μ μ λλ€.
μ¬μ©μ νλ μΆμ : νμΌ μ κ·Ό μ΄λ ₯ λ° μ¬μ© μ΄λ ₯μ νμΈν μ μκ³ , νμΌ μμ± λ° μμ μκ°μ νμΈν μ μλ€.
νμΌ λ° νλ‘κ·Έλ¨ μ€ν κ²½λ‘ μΆμ : LNK νμΌμ μ μ₯λ κ²½λ‘ μ 보λ₯Ό νλν΄ μ μ₯λ μμΉ λ° μ¨κ²¨μ§ νμΌμ μ°Ύλ λ° νμ©ν μ μκ³ , λ€νΈμν¬ κ²½λ‘μΌ κ²½μ° λ€νΈμν¬ μμ νμΌ μ κ·Όμ μΆμ ν μ μλ€.
μμ€ν λ° μ¬μ©μ νκ²½ λΆμ : μμ€ν νκ²½ μ 보 μμ§ λ° μμ΄μ½ μ 보λ₯Ό νμΈν μ μλ€.
μκ΄ κ΄κ³ λΆμ : λ€λ₯Έ μν°ν©νΈμ μ°κ³ λΆμν΄ μ¬μ©μμ νλ ν¨ν΄μ λΆμν μ μκ³ , μκ΄ κ΄κ³λ₯Ό νμ ν μ μλ€.
μ μ±μ½λ λΆμ : μ μ±μ½λ μ€ν νμ μ μΆμ ν μ μκ³ , μλ μ€ν μ€μ μ λΆμν μ μλ€.
LNK νμΌμ λΆμν μ μλ λꡬμλ LECmd, 010editor, AXIOM λ± λ€μν λκ΅¬κ° μμΌλ μ΄ κΈμμλ μ¬μ©μμ μ κ·Όμ±μ΄ μ’λ€κ³ μκ°λλ Eric Zimmerman λꡬ μ€ νλμΈ LECmdλ₯Ό μκ°νλλ‘ νκ² λ€.
LECmdλ command line toolλ‘ μλ €μ Έ μμΌλ©°, μ΄ λꡬλ₯Ό νμ©ν΄ LNK νμΌ μμ±μ νμΈν μ μλ€. LECmd λꡬλ μλ λ§ν¬μμ λ€μ΄λ‘λ λ°μ μ μλ€.
LECmd μ¬μ© λͺ λ Ήμ΄λ μλμ κ°μΌλ©°, λΆμ κ²°κ³Όλ μΆλ ₯ λΏλ§ μλλΌ λ΄λ³΄λ΄κΈ° μ΅μ μ μ¬μ©ν΄ jsonνμΌλ‘ λ΄λ³΄λΌ μ μλ€.
LECmdλ₯Ό μ΄μ©ν΄ λ¨μΌ LNKνμΌ λΆμ μ λμ€λ κ²°κ³Ό νλ©΄μ μλμ κ°λ€.