利用RADAR信息检查程序运行记录
Windows操作系统中有很多种种方式可以检验应用程序运行记录,例如预读取文件(*.pf)、Shimcache、RecentFileCache.bcf、Amcache.hev、跳转列表等等,这些已经有很多资料介绍了。今天给大家介绍一个我最近才注意到的程序运行痕迹的地方——RADAR。
我们在Windows注册表编辑器中展开“HKLMSOFTWAREMicrosoft RADARHeapLeakDetectionDiagnosedApplications”,可以看到该键有很多以程序名命名的子键,每个应用程序子键有一个名为“LastDetectionTime”的项。这些就是注册表中的RADAR数据。
下面是我在自己工作电脑上的注册表截图,可以看到Belkasoft Acquisition Tool、取证大师、FTK Imager、UFED PA、X-Ways Forensics等取证软件的记录,当然还有我们自家的手机神探(LY.exe)和取证神探。
以上图FTK Imager.exe为例,LastDetectionTime值为“1d61e8076a3cb58”,将其复制到取证神探时间解码工具中,选择FileTime格式,或使用免费的解码工具DCode选择FileTime格式进行解码,得知时间值为2020-04-30 07:46:54。
RADAR最后记录时间还可以通过对应注册表键的最后修改时间得知。最简单的方法是右击注册表键,点击“导出”,在对话框保存类型中选择“文本文件”,保存后用记事本打开即可看到对应注册表键最后修改时间。
关于RADAR,网上可以查到的中文资料不多。通过Google总算找到了少量的相关信息。RADAR是始于Windows 7的一种内存泄漏检测技术,可以自动检测出应用程序的内存泄露情况并进行定位,打包成错误报告后通过某种方式反馈给微软团队或软件开发者。
根据RADAR的原理,并非每次程序运行都会在注册表中产生记录,但如果注册表RADAR键中存在某个应用的记录,则说明该应用在对应时间点肯定运行过。经过实测,在Windows7到windows10最新版(1909)系统中都可以发现RADAR相关记录。