RegShot:开源注册表对比工具,两次快照一键出差异报告
装完一个程序之后系统到底被改了什么,很少有人真的说得清——除非在装之前先留一份底稿。
先留底稿,再动手
RegShot 是一款开源的注册表对比工具,采用 LGPLv2 许可协议。官方项目页把它的工作方式压缩成一句话:先拍下注册表的一份快照,等系统改动或安装完新软件之后,再拍第二份与它比较。这种「前后各一次」的做法不需要常驻监听进程,只在两次拍摄之间记录状态,对被测系统的干扰很小。
它的适用面比想象中宽。安装一个新程序想看它写了哪些键值、调整某个设置后想确认改动范围、排查某台机器上不明来源的配置变化,都可以套用同一套流程:动手前拍一次,动手后拍一次,然后把两份结果放在一起看。项目页把它归入日志记录分类,也印证了这一点——它本质上是一个负责留证的记录工具。

输出的是可读的差异清单
比较结果会整理成一份差异报告,把新增、删除与修改过的注册表项分别列出来。第三方资料里最常被提到的两项输出格式是纯文本与 HTML——前者便于继续用其他工具处理,后者可以直接在浏览器里阅读,改动部分看得更清楚。
社区分支 Regshot-Advanced 把输出格式做得更细。它的说明文档列出可导出的日志类型,包括纯文本、HTML、仅用于撤销改动的 CMD 脚本,以及便于程序解析的 UNL 文本与可撤销或重放注册表改动的 REG 文件。后两类对需要把变更纳入自动化流程的人来说更实用:拿到的不只是一份说明,而是一份可以回滚或复现的操作记录。
项目 | 官方说明 |
|---|---|
工具类型 | 开源注册表对比工具(LGPLv2) |
工作方式 | 操作前后各拍一次快照,再比较两者 |
技术信息 | C 语言编写、Windows 平台、Win32 界面 |
官方版本 | 1.9.1-beta;项目页最后更新 2020-12-07 |
社区分支 | Regshot-Advanced,当前版本 v3.0.0 |

维护现状值得说清楚
官方项目页标注的最后更新日期是 2020 年 12 月 7 日,官方文件列表里 regshot 目录下最新的版本是 1.9.1-beta,其下依次还有 1.9.0、1.9.0-beta 与 1.8 系列。项目注册于 2008 年 1 月,语言为 C,界面为 Win32——这是一个体量很小的原生程序,依赖的系统组件不多,这也是它至今仍被反复引用的原因之一。
真正在持续扩展的是社区分支。Regshot-Advanced 的说明文档写明它同时记录文件系统与注册表的变化,主要用途是找出安装程序对系统做了哪些改动;README 注明它是 RegShot 的一个分支,原始项目位于 SourceForge,当前的版本号为 v3.0.0。也就是说,需要更细的输出格式与文件系统变化记录时,可以走这一支;只需要基本的注册表前后对比,原版依然是够用的。
把「改了什么」变成一份可以拿出来核对的清单,是排查问题的第一步。
使用建议:拍摄前先把其他会频繁改动系统的程序关掉,否则差异报告里会混入大量无关条目;比较结果建议导出留存,后续再遇到同类问题时可以直接对照;涉及生产环境的变更,拍快照这一步放在动手之前完成,事后再补就失去意义了。