Skip to content

Add NirSoft ExecutedProgramsList Module - #1119

Merged
AndrewRathbun merged 1 commit into
EricZimmerman:masterfrom
Gear-I:Executed_Program_List
Sep 15, 2026
Merged

AndrewRathbun merged 1 commit into
EricZimmerman:masterfrom
Gear-I:Executed_Program_List

Conversation

@Gear-I

@Gear-I Gear-I commented Sep 15, 2026 •

Copy link
Copy Markdown
Contributor

Description

Adds a new LiveResponse module wrapping NirSoft's ExecutedProgramsList, which combines program-execution evidence from the MuiCache and AppCompatFlags "Compatibility Assistant" registry keys (HKCU) with the parsed Windows Prefetch folder into a single CSV of what ran on the system and, where available, when.

Verified directly against NirSoft's own documentation, the only switches are export-format ones (/stext, /stab, /scomma, /stabular, /shtml, /sverhtml, /sxml); there's no switch to point at an offline/collected registry hive or Prefetch folder copy. It reads HKEY_CURRENT_USER and C:\Windows\Prefetch directly from the running system.

How this differs from existing coverage: raw Prefetch files and Registry hives are already collected by existing Targets for offline parsing elsewhere (e.g. PECmd). This module instead gives a live, combined, at-a-glance view across MuiCache/AppCompatFlags/Prefetch in one CSV at the time KAPE was run.

Testing: ran it live via kape.exe --msource C: --mdest --module NirSoft_ExecutedProgramsList --debug against my own machine and got a real CSV back with 843 genuine executed-program records, file paths, last modified/created dates, file size, product/file version, company name, and last-executed timestamp where available, not a synthetic or empty test.
No existing module in the repo covers this tool.

Checklist:

  • I have generated a unique GUID for my Target(s)/Module(s)
  • I have placed the Target(s)/Module(s) in an appropriate subfolder in Targets or Modules. If one doesn't exist, I have either added it to the Misc folder or created a relevant subfolder with justification
  • I have set or updated the version of my Target(s)/Module(s)
  • I have verified that KAPE parses the Target(s)/Module(s) successfully via kape.exe, using --tlist/--mlist and corrected any errors
  • I have validated my Target(s)/Module(s) against test data and verified they are working as intended
  • I have made an attempt to document the artifacts within the Target(s) or Module(s) I am submitting. If documentation doesn't exist, I have placed N/A underneath the Documentation header
  • For Targets, I have consulted either the Target Guide, Target Template, Compound Target Guide, or Compound Target Template to ensure my Target(s) follow the same format
  • For Modules, I have consulted either the Module Guide, Module Template, Compound Module Guide, or Compound Module Template to ensure my Module(s) follow the same format

@AndrewRathbun AndrewRathbun added the enhancement New feature or request label Sep 15, 2026
@AndrewRathbun AndrewRathbun self-assigned this Sep 15, 2026
@AndrewRathbun
AndrewRathbun merged commit 0476205 into EricZimmerman:master Sep 15, 2026
1 check passed
@Gear-I
Gear-I deleted the Executed_Program_List branch September 15, 2026 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants