跟踪上次在 Windows 上启动应用程序/exe 的时间

跟踪上次在 Windows 上启动应用程序/exe 的时间

我正在寻找一种方法来记录两件事:(1) 系统上每个程序的上次启动时间,以及 (2) 某个时间间隔内启动的次数(例如几个月内 4 小时的时间段)。我想使用这些数据来查找不常用的应用程序以进行卸载,或者优化常用应用程序的启动。

我对应用程序运行的时间长短不感兴趣,只关心进程创建事件,但许多应用程序跟踪器专注于时间管理,根本不记录此类数据。我也不希望每次启动都有日志条目(例如通过 procmon 或 secpol.msc 审计),这有点太繁重,会生成很大的日志文件。我甚至不需要时间粒度,仅日期就足够了,这也会大大减少写入,因为许多应用程序每天启动多次。

我很确定 Windows 已经在某处记录了这种数据(请参阅活动历史记录)获取搜索建议和遥测,因此,找到一种读取该数据的方法就好了。

答案1

查看%SYSTEMROOT%\PREFETCH最近加载和执行的二进制文件列表。

例子:

DIR CMD*  
 Directory of C:\WINDOWS\PREFETCH  
10/27/2022  10:50 AM             2,627 CMD.EXE-89305D47.PF  

这表明 CMD 最后一次执行是在“2022 年 10 月 27 日上午 4:53”

DIR SNIPPINGTOOL*  
 Directory of C:\WINDOWS\PREFETCH  
10/24/2022  08:44 PM             9,852 SNIPPINGTOOL.EXE-2DBBC209.PF  

这表明 SNIPPINGTOOL.EXE 最后一次执行是在“2022 年 10 月 24 日下午 2:44”

PF 文件格式包含更多详细信息,您可以使用第三方工具提取。

更多内容请点击这里:
https://www.nirsoft.net/utils/win_prefetch_view.html
https://forensicswiki.xyz/wiki/index.php?title=Prefetch
https://www.hackingarticles.in/forensic-investigation-prefetch-file/
https://blog.group-ib.com/hunting_for_ttps_with_prefetch_files

相关内容