What is LinkDate in Amcache? (glossary)
LinkDate is the PE header's TimeDateStamp — the value the
linker stamped into the binary at build time. Amcache reads it
from every PE it inventories and stores it as a string in the
entry.
It is not a host-side timestamp. It is the closest thing Windows DFIR has to a "binary fingerprint timestamp", and it is attacker-controllable.
How it differs from KeyLastWriteTimestamp#
| KeyLastWriteTimestamp | LinkDate | |
|---|---|---|
| Where it comes from | Registry metadata, written by appraiser | PE header, written by linker |
| Attacker-controllable | No (host-side) | Yes (build-side) |
| Answers | "When did Amcache record this?" | "When was this binary built?" |
| Useful for | Host-side first-seen approximations | Build-campaign clustering |
| Resolution | Second-precision | Second-precision |
Confusing these two is the single most common Amcache mistake. See Amcache timestamps explained for the full reference.
What LinkDate is useful for#
Build-campaign clustering#
Sort suspicious binaries by LinkDate:
Import-Csv .\HOST_amcache_UnassociatedFileEntries.csv |
Where-Object { $_.IsPeFile -eq 'True' -and -not $_.Publisher } |
Sort-Object LinkDate |
Select-Object LinkDate, Hash, FullPathTight clusters — 3 to 10 binaries with LinkDate values within
the same day or hour — are characteristic of a single attacker
campaign. Attackers frequently compile their full toolkit in one
sitting, and the build timestamps cluster.
Driver-age red flags#
For BYOVD (Bring-Your-Own-Vulnerable-Driver) investigations, sort
*_DriverBinaries.csv by DriverTimeStamp (the driver-side
LinkDate equivalent). Old-but-signed drivers (compiled 2014, but
appearing in Amcache today) are a strong BYOVD indicator.
Internal-build verification#
"Our internal tool builds always linkdate on Mondays at 03:00 UTC. This one is Tuesday at 14:00 — investigate." Useful for catching internal build-process drift.
What LinkDate is NOT useful for#
- First-seen-on-host time. Use
KeyLastWriteTimestamp. - Order of arrival. Two binaries with the same
LinkDatedid not necessarily arrive on the host at the same time. - Cryptographic identity. Many binaries share
LinkDatevalues.
Related terms#
- KeyLastWriteTimestamp — the timestamp it is most often confused with.
- FileId — the cryptographic identity.
- InventoryApplicationFile — where LinkDate is stored.
Related posts
- What is KeyLastWriteTimestamp in Amcache? (glossary)
KeyLastWriteTimestamp is the registry-level last-write time of an Amcache entry — the closest thing Amcache exposes to 'when the appraiser recorded this file'.
- What is Amcache ProgramId? (glossary)
ProgramId is the 44-character application-identity hash Amcache assigns to each logical application. The same ProgramId on different hosts means the same application install.
- What is Root\InventoryApplicationFile? (glossary)
InventoryApplicationFile is the headline Amcache registry key — one sub-key per PE binary inventoried by the appraiser, with path, SHA-1, publisher, link date, and timestamps.
- What is Amcache FileId? (glossary)
FileId is the 41-character identifier Amcache stores for each file — '0000' + the SHA-1 hex of the first 31 MiB of the file.