GUI Artefact Viewers¶
The focused viewers complement the command-line parsers. Each presents a different Windows artefact, so begin with the investigation question rather than opening every tool. Use verified working copies, record the viewer version and export results to separate controlled storage.
Match the viewer to the question¶
Choose the viewer by the evidence relationship you need to examine. The three tools are alternatives for different questions, not three compulsory stages of one workflow.
Which locations are represented for this user?
Use: ShellBags Explorer
Open: verified NTUSER.DAT and UsrClass.dat copies.
Which destinations are associated with an application?
Use: JumpList Explorer
Open: verified automatic or custom destination files.
Useful for AppID, DestList and embedded LNK context. A reference is not proof of document contents or intent.Go to JumpList ExplorerWhich matching rules, layers or shims are defined?
Use: SDB Explorer
Open: an identified Windows or custom .sdb working copy.
What the GUI changes and what it does not
A viewer resolves binary structures and makes relationships easier to inspect. It does not turn a record into proof of a human action. Preserve the source artefact, tool version, filters and exported result so another analyst can reproduce the observation.
ShellBags Explorer¶
Folder and namespace context
What ShellBags can contribute
Windows stores folder-view preferences and shell namespace information in per-user registry hives. These ShellBag records can help an analyst identify folders, removable-media paths, network locations, archives or shell namespaces represented for a profile, even when the location is not currently available.
Useful DFIR questions include:
- Was a folder path represented in this user's shell history?
- Does the hierarchy reference a removable drive or network location?
- Is a deleted or unavailable directory still represented?
- Which user hive contains the record, and how does it align with other activity around the relevant time?
Source files
Work from identified copies of the relevant user's hives:
ShellBag data can be distributed across these hives depending on the Windows version and namespace. Record the profile path, hive path, acquisition source, byte size and hash rather than treating an exported CSV as the original evidence.
Open ShellBags Explorer
Launch ShellBagsExplorer.exe from the recorded EZ Tools directory.
Examine a user hive
- Open or drag the verified hive copy into ShellBags Explorer. If the interface offers live-hive access, use it only on an explicitly authorised training system and record that the source was live.
- Confirm that the displayed source corresponds to the intended user and hive.
- Expand the hierarchy from the desktop or shell namespace towards the path relevant to the case question.
- Select the node and inspect the summary, values and details panes.
- Search or filter for a distinctive folder name, drive label, UNC path or shell item when the interface version supports it.
- Export the selected result or capture a review screenshot, retaining enough parent and child context to explain the resolved path.
- Resolved path
Record the complete path or namespace, not only the selected leaf. - Bag path and slots
Retain the backing registry path, node slot, MRU position and parent relationship. - Shell-item metadata
Record item type, short and long names, volume or network identifiers and extension-block details. - Time fields
Keep the exact field label and source. Distinguish target metadata from registry-key or parent-derived times.
Do not flatten every ShellBag time into folder access
Parent and current-item fields can describe different objects. Parsed “first interacted” or “last interacted” values also depend on record structure and MRU state. Report the field as labelled, retain the backing BagMRU path and corroborate important timing with registry, file-system, LNK, Jump List or event evidence.
Beginner interpretation example
The verified
UsrClass.datfor user Avery contains a ShellBag hierarchy resolving toE:\Case Notes. This supports that the folder was represented in Avery's shell data. It does not, by itself, identify which files were opened, prove who was at the keyboard or establish why the location was used.
JumpList Explorer¶
Application-linked recent items
What Jump Lists can contribute
Jump Lists are per-user records associated with applications and recent or
pinned destinations. Automatic-destination files are structured containers
that can include a DestList stream and embedded LNK records; custom
destinations contain application-defined lists of LNK entries.
They can help answer:
- Which file, folder, host or share is referenced by an application's recent destinations?
- Which application identifier is associated with the record?
- What target, volume, machine, network or LNK metadata remains available?
- Does the entry correlate with another user artefact or event sequence?
Source files
Collect both destination directories for the relevant profile:
C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations
Retain the complete source filename. The leading value is an AppID that can help associate the Jump List with an application, but document how the mapping was obtained and allow for unknown or changed application associations.
Open JumpList Explorer
Launch JumpListExplorer.exe from the recorded EZ Tools directory.
Review recent destinations
- Open the verified
automaticDestinations-msorcustomDestinations-msworking copy. For a broad profile review, load the controlled directory if the installed version supports it. - Confirm the source filename, resolved AppID and destination type.
- Review the DestList entries and embedded LNK records rather than relying on the application name alone.
- Filter for the case filename, extension, target path, hostname, share, volume label or other distinctive value.
- Select the matching entry and inspect target path, entry number, access count, pin state, timestamps, volume information and machine identifiers that are actually present.
- Export the selected rows with the source filename and preserve the original destination file separately.
- Application context
AppID and source filename help relate the list to an application. - Destination context
DestList and LNK data can retain target paths, shares, hostnames and volume details. - Sequence and use fields
Entry number, access count and pin state can add context when present. - Time context
Keep each timestamp's exact label and distinguish DestList fields from embedded LNK metadata.
A reference is not a complete user-action history
A Jump List entry supports an application-linked destination or recent-item relationship. It does not alone prove that the document contents were viewed, modified or exfiltrated, nor does it identify the person at the keyboard. Entries can persist after targets disappear and can be affected by application and Windows behaviour.
Beginner interpretation example
The verified automatic-destination file associated with Microsoft Excel contains an entry referencing
C:\Users\Avery\Documents\finance.xlsx. This supports an Excel-linked recent destination for Avery's profile. Authorship, document contents and the exact user action require corroboration.
SDB Explorer¶
Compatibility configuration
What application-compatibility databases can contribute
Windows shim databases (.sdb) describe application-compatibility matching
rules, layers, shims and related metadata. Windows includes system databases,
and administrators or software installers can register custom databases.
Attackers have also abused custom shims, so an unfamiliar database can be a
useful lead, but the mere presence of an SDB is not proof of malicious use.
Use SDB Explorer to ask:
- Which executables or matching attributes are defined in this database?
- Which compatibility layers, shims or flags are assigned?
- Is the database a standard Windows file or a custom installed database?
- Do its name, GUID, file path and referenced programs align with authorised software or require further investigation?
Source files
Identify .sdb files from the acquired Windows installation, including the
system AppPatch area and any custom database locations discovered during the
case. Common starting points include:
Also preserve supporting registry records, file-system metadata, installation logs or event records that show how and when a custom database was registered.
Open SDB Explorer
Launch SDBExplorer.exe from the recorded EZ Tools directory.
Inspect a database
- Open the identified
.sdbworking copy and confirm its source path and hash. - Record the database name, description, GUID or other identifiers presented by the tool.
- Expand the database tree and locate application or executable matching entries relevant to the case.
- Review the executable name, path or matching attributes and any referenced compatibility mode, layer, shim, flag or patch data.
- Compare unfamiliar entries with the host's installed software, file-system timestamps and authorised change records.
- Preserve the selected node, surrounding tree, source identifiers and a bounded explanation. Do not edit or save changes into the evidential SDB.
| Observation | What it can support | What still needs corroboration |
|---|---|---|
| Custom database name and GUID | Identity of the parsed SDB structure | Who installed or registered it |
| Matching entry for an executable | The database defines a rule for that target | Whether the target executed under the rule |
| Layer or shim assignment | Compatibility behaviour configured in the database | Whether the behaviour was applied and with what effect |
| Unusual custom SDB path or time | A lead for persistence or defence-evasion review | Intent, installer and execution history |
Examine; do not install
SDB Explorer is being used here to inspect an acquired database. Do not register an unknown SDB, apply a shim or open a suspect executable on the analyst workstation. Escalate suspicious entries for controlled malware or persistence analysis.
Beginner interpretation example
The custom SDB defines a matching entry for
legacy-client.exeand assigns a compatibility layer. This supports configuration represented inside the parsed database. It does not establish that the database was registered or that the executable ran under that layer; registry, event, Prefetch and file-system evidence should be reviewed.
Build a defensible review record¶
Reproducible examination
For every GUI examination, preserve:
- Question and tool choice
Record what you needed to establish and why this viewer matched that question. - Source provenance
Keep user or host context, original path, byte size, source hash and working-copy hash. - Viewer state
Record executable path, version, filters, sorting and time-zone display. - Selected context
Retain rows or nodes with enough parent, child and source context for independent review. - Review output
Hash screenshots or exports and record their controlled destination paths. - Bounded conclusion
Separate observation from interpretation, limitations and the next corroborating source.
Use the CLI counterpart when repeatability matters
ShellBags Explorer and JumpList Explorer are useful for learning and focused
review. For repeatable processing across many sources, consider their
command-line counterparts (SBECmd and JLECmd) and retain the exact
command and complete output directory.
Further reference: the official EZ Tools catalogue and the project's Jump List format documentation.


