Skip to content

File & folder access

OpenSaveMRU and LastVisitedMRU

OpenSavePidlMRU and LastVisitedPidlMRU cheat sheet: ComDlg32 keys per Windows version, what the open/save dialog records, timestamps and upload tips.

Location
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32
Proves
A user picked a file in an Open/Save dialog, and which program used which folder
Timestamps
Subkey LastWrite as FILETIME, UTC, dating only the newest entry of each list; shell items hold DOS date/time of the item itself
Retention
Limited entries per list, oldest dropped; cleared with recent items or by cleaners; older versions in hive slack and VSS
Access
Per-user NTUSER.DAT, locked while the user is logged on: collect via raw NTFS (KAPE) or VSS; reg export for the current user
Type
Registry
Windows
XPVista / 78 / 8.11011
KAPE target
RegistryHivesUser
Velociraptor
Windows.Triage.Targets:RegistryHivesUser

What it is

Programs that use the Windows common file dialog ("Open", "Save As", "Browse…", and the file picker used by browsers for uploads) let Windows remember the user's recent choices. Those memories live under the ComDlg32 key of the user's NTUSER.DAT: which files were selected, and which folder each application last used. They are strong evidence of deliberate file selection by a user, including files that were uploaded through a web browser.

Location

NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\

Windows versionSubkeyContent
XPOpenSaveMRU (+ per-extension subkeys)Full paths as text
XPLastVisitedMRUExecutable name + folder path as text
Vista / 7 / 8 / 10 / 11OpenSavePidlMRU\<ext> and OpenSavePidlMRU\*Selected file as a shell item list (PIDL)
Vista / 7 / 8 / 10 / 11LastVisitedPidlMRU (and LastVisitedPidlMRULegacy)Executable name + PIDL of the folder it last used
7 / 8 / 10 / 11CIDSizeMRUExecutable names of programs that displayed the dialog

What it proves

  • OpenSavePidlMRU: the user selected this file (full path, rebuilt from the PIDL) in an open or save dialog. The * subkey mixes every extension; the others are per extension.
  • LastVisitedPidlMRU: program X last used folder Y in the dialog, for example chrome.exe → E:\Exfil, a strong pointer to an upload or a download location.
  • CIDSizeMRU: a program showed the dialog at least once, even if nothing was selected.
  • It does not prove the file was actually read or sent; confirm with browser history, proxy logs or the application's own records.

Key fields

ElementMeaning
Numbered valuesPIDL (Vista+) or text path (XP) of one entry
MRUListEx (MRUList on XP)Order of use, most recent first
LastVisited value dataUTF-16 executable name, then the folder PIDL

Timestamps

TimestampSet whenFormatPitfalls
Each subkey LastWriteAn entry is added or moved to the topFILETIME, UTCDates only the most recent entry of that subkey (first in MRUListEx)
Times inside shell itemsCopied from the file or folder metadataDOS date/timeDescribe the item, not the dialog use

Retention and clearing

  • Each list keeps a limited number of entries and drops the oldest.
  • Clearing recent-items history or using privacy cleaners removes the keys; hive slack and shadow copies often keep older versions.
  • Portable or custom-dialog applications (some Electron or Java apps) may not use the common dialog and leave no entry.

Collection

  • KAPE target: RegistryHivesUser
  • Velociraptor (Windows.Triage.Targets): RegistryHivesUser
  • Built-in (current user):
reg export "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32" E:\case\comdlg32.reg

Parsing tools

  • Registry Explorer / RECmd (Eric Zimmerman): decodes the PIDLs into paths.
  • RegRipper: comdlg32 plugin.

Investigation tips

  • For exfiltration via web upload, look for browsers (chrome.exe, msedge.exe, firefox.exe) in LastVisitedPidlMRU pointing at sensitive or removable-drive folders, and for the uploaded files in OpenSavePidlMRU.
  • An archive (.zip, .7z) created in one place and then selected in a browser dialog is a classic sequence: check the .zip subkey LastWrite against web activity.
  • Save-dialog entries reveal where a user saved downloaded tools or exported data.
  • Correlate folder paths with ShellBags and file names with LNK files and RecentDocs.

Related artifacts

Glossary terms

All artifacts on one page: cheat sheet