01Konum
- C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Recent\*.lnk
- C:\Users\<user>\AppData\Roaming\Microsoft\Office\Recent\*
- Numbered streams inside *.automaticDestinations-ms Jump List files
- Any *.lnk file (desktop, Start menu, removable media)
02Yanıtladığı sorular
- Bağlantı hangi dosya veya klasörü, hangi birim ya da ağ paylaşımında gösteriyordu?
- Hedef çıkarılabilir ortamda mıydı (sürücü türü, seri numarası, birim etiketi)?
- Bağlantıda kaydedilen hedef zaman damgaları ve boyutu neydi?
- Hedef hangi makinede (makine kimliği, droid tanımlayıcıları) bulunuyordu?
- Bir kısayol hedefine hangi komut satırı bağımsız değişkenlerini ve çalışma dizinini aktarıyor?
03Biçim ve sürümler
| Biçim | [MS-SHLLINK] Shell Link ikili biçimi: 76 baytlık ShellLinkHeader (sınıf tanımlayıcısı 00021401-0000-0000-C000-000000000046), isteğe bağlı LinkTargetIDList (shell item'lar), LinkInfo (birim veya ağ konumu), StringData ve ExtraData blokları. Little-endian; UTC FILETIME; dizeler UTF-16LE veya kod sayfasıyla. |
|---|---|
| Geçerli olduğu sürümler | Windows 95'ten Windows 11'e; şartname Microsoft tarafından sürdürülür (revizyon 10.0, 2025), liblnk Windows 10'a kadar test edilmiştir. |
04Temel alanlar
| Alan | Ne anlatır |
|---|---|
| ShellLinkHeader times | Bağlantı hedefinin UTC CreationTime, AccessTime ve WriteTime değerleri; 0 ayarlanmamış demektir. |
| FileSize | Bağlantı hedefinin boyutu; 0xFFFFFFFF'ten büyük hedeflerde yalnızca en anlamsız 32 bit. |
| Volume information | Sürücü türü, sürücü seri numarası ve birim etiketi (ASCII ve/veya UTF-16). |
| Local path / network share / common path | Tam hedef yolunun yeniden oluşturulduğu bileşenler. |
| Data strings | Açıklama, göreli yol, çalışma dizini, komut satırı bağımsız değişkenleri, simge konumu. |
| Distributed link tracker block | Makine kimliği dizesi, droid birim/dosya tanımlayıcıları ve doğum droid tanımlayıcıları (NTFS nesne kimlikleri). |
05Zaman damgaları
| Alan | Kodlama | Not |
|---|---|---|
| CreationTime / AccessTime / WriteTime | FILETIME (UTC) | Bağlantı hedefini dosyada kaydedildiği hâliyle tanımlar; .lnk dosyasının açıldığı anı değil. |
| Shell item times in LinkTargetIDList | FAT date/time (UTC) | Gömülü shell item'lardan gelen bileşen bazlı zamanlar. |
Ham değerleri Zaman damgası çözücü, yerel saatleri ise Yerel saatten UTC'ye ile çözün.
06İnceleme akışı
- LNK dosyalarını Recent, Office Recent, masaüstü, Başlat menüsü klasörleri ve Jump List akışlarından toplayın.
- Başlığı, IDList'i, LinkInfo'yu, dize verisini ve ek veri bloklarını ayrıştırın.
- Başlıktaki hedef zamanlarını .lnk dosyasının kendi dosya sistemi zamanlarıyla karşılaştırın.
- Hedefleri birim ve ana makinelere bağlamak için sürücü türü, seri numarası ve izleyici tanımlayıcılarını kullanın; ardından USB geçmişi ve ShellBags ile ilişkilendirin.
07Yorum tuzakları
- Çoğu yapı isteğe bağlıdır ve veri bayraklarıyla denetlenir; ForceNoLinkTrack izleyici bloğunun bulunmadığı anlamına gelir.
- FileSize, 4 GiB'tan büyük hedeflerde kesilir.
- Bazı dizeler eşleşmemiş UTF-16 vekilleri içerebilir; bunlara dayanıklı ayrıştırıcılar kullanın.
09Kaynaklar
- [MS-SHLLINK]: Shell Link (.LNK) Binary File Format Microsoft Open Specifications · erişim 2026-10-14
- [MS-SHLLINK] 2.1 ShellLinkHeader Microsoft Open Specifications · erişim 2026-10-14
- Windows Shortcut File (LNK) format libyal / liblnk (J. Metz) · erişim 2026-10-14
- Jump lists format libyal / dtformats (J. Metz) · erişim 2026-10-14
- Windows artifact definitions (windows.yaml) ForensicArtifacts / artifacts · erişim 2026-10-14