Windows AppCompatCache 取证
在浏览器中分析 Windows Shimcache。
拖入 SYSTEM 注册表配置单元,即可立即提取所有 AppCompatCache 条目——文件路径、最后修改时间、系统格式——文件不会离开您的设备。
- 文件不会上传
- Rust + WebAssembly 解析器
- 支持 Windows XP 至 11
拖入 SYSTEM 配置单元
或点击浏览
也支持 ZIP 分诊采集包(KAPE、Velociraptor 等)或整个文件夹
基于虚构入侵事件合成的 SYSTEM 配置单元,不含任何真实数据。
如何获取数据
从未收集过 SYSTEM 配置单元?选择第一个适用的方法:运行一条命令,然后把文件拖到这里。
- 收集 SYSTEM 配置单元
- 把文件、文件夹或 ZIP 拖到这里
- 在浏览器中解析 — 不上传任何内容
以管理员身份运行(右键单击命令提示符或 PowerShell → 以管理员身份运行)。Windows 自带,无需安装任何软件。
mkdir C:\triage 2>nul & reg save HKLM\SYSTEM C:\triage\SYSTEM.hiv /yNew-Item -ItemType Directory -Force -Path C:\triage | Out-Null; reg.exe save HKLM\SYSTEM C:\triage\SYSTEM.hiv /y生成 C:\triage\SYSTEM.hiv — 只需拖入这一个文件。reg save 会写出活动配置单元的干净、一致的副本,因此不需要事务日志。
在管理员权限的命令行中,从 KAPE 文件夹运行。
kape.exe --tsource C: --target RegistryHivesSystem --tdest C:\triage\kape拖入整个 C:\triage\kape 文件夹(或其 ZIP):会自动找出 SYSTEM 配置单元及其 RegBack 副本。
Velociraptor
使用 RegistryHivesSystem 目标收集 Windows.Triage.Targets(较旧的服务器:Windows.KapeFiles.Targets 中的 RegistryHives),下载收集结果 ZIP 并原样拖入。
两者都复制原始文件,在运行中的系统上这类文件常常是“脏”的。本工具不重放 SYSTEM.LOG1 / SYSTEM.LOG2:如果导入报告标记了该配置单元,请先重放日志(Eric Zimmerman 的 rla.exe),或改用 reg save。
FTK Imager:File → Add Evidence Item → 选择镜像,进入 Windows\System32\config,选中 SYSTEM(以及 SYSTEM.LOG1 / SYSTEM.LOG2)→ 右键 → Export Files。
robocopy E:\Windows\System32\config C:\triage SYSTEM SYSTEM.LOG1 SYSTEM.LOG2 /Bmmls image.E01
fls -r -p -o <offset> image.E01 | grep -i "system32/config/system$"
icat -o <offset> image.E01 <inode> > SYSTEM磁盘镜像没有在运行,因此不存在锁定 — 但如果机器未正常关机,配置单元仍然是“脏”的。
- SYSTEM 配置单元 — 拖入此文件
C:\Windows\System32\config\SYSTEM- 事务日志(会提示,但不重放)
C:\Windows\System32\config\SYSTEM.LOG1C:\Windows\System32\config\SYSTEM.LOG2- RegBack 副本(较旧的备份;自 Windows 10 1803 起默认为空)
C:\Windows\System32\config\RegBack\SYSTEM- 就地升级后的旧版安装
C:\Windows.old\Windows\System32\config\SYSTEM- 配置单元内的 AppCompatCache 值(Vista – 11、Server 2003+)
SYSTEM\ControlSet00x\Control\Session Manager\AppCompatCache\AppCompatCache- Windows XP 位置
SYSTEM\ControlSet00x\Control\Session Manager\AppCompatibility\AppCompatCache
可一次拖入多个文件、整个文件夹或 ZIP:会找出 SYSTEM 配置单元,其余文件都会给出说明。配置单元中的每个 ControlSet00x 都会被解析。
注意事项
- 运行中的
SYSTEM文件被锁定:普通copy会失败,有些工具还会悄悄生成全零文件。请使用reg save或原始复制工具。 - 本工具不重放日志:对运行中配置单元的原始复制可能缺少最近的写入。请先重放
SYSTEM.LOG1/SYSTEM.LOG2,或使用reg save。 - Windows 仅在关机或重启时把缓存写入注册表:自上次启动以来的执行记录只存在于内存中(请采集内存,例如 Volatility
windows.shimcachemem)。
全部在本地运行,您的配置单元绝不会离开此页面。
功能
完整呈现 ShimCache 内容,无需笨重工具
所有 ControlSet
解析并标记 ControlSet001、002 及其他控制集,并标出当前活动集,只保存在备份集中的条目也不会遗漏。
Windows XP 至 11
自动识别 XP、Server 2003、Vista/7(x86 与 x64)、8、8.1、10 和 11 的缓存格式。
可疑条目分诊
标记已知攻击工具以及用户可写或暂存路径,让最值得先看的行一目了然。
CSV 与 JSON 导出
将筛选后的视图导入时间线、电子表格或 SIEM,每行都带有 ControlSet 和格式。
支持分诊采集包
拖入 KAPE 或 Velociraptor 的 ZIP,或整个文件夹:自动找到 SYSTEM hive 及其 RegBack 副本,其他文件都会说明原因。事务日志只报告,不重放。
隐私优先设计
Rust 解析器以 WebAssembly 形式在浏览器标签页中运行。不会上传、记录或在服务器上存储任何内容。
使用方法
三步从 hive 到时间线
- 01
获取 SYSTEM hive
使用 KAPE、FTK Imager 或 reg save 复制 C:\Windows\System32\config\SYSTEM,或从挂载的镜像中提取。
- 02
拖放到这里
文件在本地读取,由后台 worker 中的 WebAssembly 解析,通常不到一秒即可完成。
- 03
分诊并导出
排序、筛选并审查被标记的路径,然后导出 CSV 或 JSON 用于案件记录。
FAQ
Shimcache 取证 — 常见问题
调查人员在分析 Windows AppCompatCache 时最常遇到问题的简明解答。
- 什么是 Windows ShimCache(AppCompatCache)?
- ShimCache(又称 AppCompatCache)是 Windows 的一项功能,用于跟踪操作系统为应用程序兼容性(shim)所检查过的可执行文件。每个系统最多存储 1,024 条记录,包含文件路径与最后修改时间。即使文件已被删除,调查人员也可借此证明该二进制文件曾在主机上存在。
- ShimCache 条目能否证明某个程序被执行过?
- 不能。ShimCache 记录的是 Windows「检查过」的文件,这通常——但并非总是——意味着执行。在 Windows 10 / 11 中,缓存内的执行标志已被移除,因此需要 Prefetch、AmCache、安全或 Sysmon 事件日志等其他证据来确认程序是否真的运行过。
- 为什么 ShimCache 的时间戳与程序实际运行时间不一致?
- 显示的时间戳是文件的最后修改时间($STANDARD_INFORMATION),并非执行时间。不修改时间戳直接复制的可执行文件会保留其原始 mtime。请将 ShimCache 视为「程序存在过」的证据,而非执行时间线。
- ShimCache 条目可以被删除或篡改吗?
- 可以。ShimCache 保存在内存中,只有在系统关闭时才会写入 SYSTEM 配置单元;强制重启可能会丢失最近的条目。反取证工具与注册表编辑同样可以清空或修改它。请始终结合 AmCache、Prefetch 与事件日志进行交叉验证。
- ShimCache 与 AmCache 有什么区别?
- ShimCache 位于 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache,最多存储 1,024 条路径 + mtime 记录。AmCache(Amcache.hve)则是独立的数据库,记录已安装程序与近期执行过的文件,包含 SHA-1 哈希等更丰富的元数据。两类证据在取证时间线中互为补充。
手头有 SYSTEM hive 吗?
拖放进来,几秒内即可看到 Windows 记录的每个可执行文件,文件始终不会离开你的电脑。