What is KeyLastWriteTimestamp in Amcache? (glossary)

KeyLastWriteTimestamp is the registry-level last-write time of the key containing an Amcache inventory entry. It is the closest thing Amcache exposes to a "when was this file recorded?" timestamp. AmcacheParser surfaces it as a column in every per-category CSV.

It is the single most important timestamp in Amcache — and the one new analysts most often confuse with LinkDate (the PE compile time), which is a completely different field that means a completely different thing.

What it represents#

The registry stores a last-write time for every key — metadata maintained by Windows itself. When the Compatibility Appraiser writes or updates an inventory entry, Windows updates the key's last-write time. AmcacheParser reads that field as KeyLastWriteTimestamp.

Practically:

  • First-appearance entriesKeyLastWriteTimestamp is the appraiser-run time after the file was first noticed.
  • Updated entries → advances to the most recent metadata change (file got larger, version string changed, hash changed).
  • Unchanged entries → stays put even when subsequent appraiser passes confirm the file is still there.

That last point matters: it is not "the most recent time the appraiser saw this file" — it is "the most recent time the appraiser wrote about this file."

Common confusions#

Question Right field
"When did the appraiser record this file?" KeyLastWriteTimestamp
"When was the binary compiled?" LinkDate
"When was the file created on disk?" MFT $STANDARD_INFORMATION.CreationTime
"When did the binary run?" Prefetch run timestamps

The standard time-window pivot#

For any suspicious row:

  1. Take its KeyLastWriteTimestamp.
  2. Define a one-hour window centred on it.
  3. Pull from that window: other Amcache rows, Prefetch entries, Sysmon 1 / 7 / 11, Security 4688, MFT and USN journal.

The resulting timeline is the canonical "what was happening around this inventory event?" reconstruction.

For full coverage, see Amcache timestamps explained.

Related posts

Back to all posts