首页/安全/取证与溯源速查/UserAssist 程序使用痕迹
Windows 取证55 条

UserAssist 程序使用痕迹

UserAssist 记录用户通过资源管理器启动的程序与运行次数,值名经 ROT13 编码,位于用户配置单元。

取证与溯源速查安全更新于 2026-10-13

UserAssist 程序使用痕迹是什么

UserAssist 记录用户通过资源管理器启动的程序及其运行次数,存放在用户配置单元里,值名经过 ROT13 编码。它回答的是「用户自己点开了什么」,属于用户级使用痕迹的佐证,与系统级执行痕迹互为补充。

基本信息

适用平台Windows,每个用户各有一份
位置用户配置单元下资源管理器相关的 UserAssist 键
编码值名使用 ROT13 编码,需解码后再阅读
互补数据与 Prefetch 交叉核对执行时间与次数口径

典型使用场景

  • 判断某程序是否由用户手工启动
  • 补充用户级使用史,在共享桌面上区分使用者
  • 与系统级执行痕迹交叉验证
  • 排查通过资源管理器打开的可疑文件
  • 结合用户配置单元做离线分析
  • 在同一台共享桌面上比对不同用户的条目,区分实际操作者

解析

解析
# 加载用户配置单元后用注册表工具导出 UserAssist 键,再把值名做 ROT13 解码
python3 -c "import codecs; print(codecs.decode('Vg vf n grfg','rot13'))"   # 解码示例
# 常用解析工具会自动完成 ROT13 解码与计数格式转换

字段读法

字段含义注意
值名(解码后)被启动程序的路径含目录标识结构,需分段阅读
运行次数启动次数不同系统版本的存储格式不同
最后使用时间最近启动时间与 Prefetch 交叉核对
焦点相关字段窗口获得焦点的次数较新版本中含义有变化
计数与时间字段的格式随 Windows 版本变化,解析脚本要区分版本,否则读出来的数字本身就是错的。
该痕迹只覆盖通过资源管理器启动的路径:命令行启动与服务启动通常不体现,缺失不能推断未使用。
值名解码后按目录归类,临时目录与用户下载目录下的程序优先看。
解析结果要与用户配置单元的最近活动时间对齐,才能判断使用行为发生在哪个时间段。

易错点

  • 只记图形界面启动路径,命令行启动不体现,缺失被误判为未使用
  • 计数格式随版本变化,解析脚本不区分版本导致数字错误
  • 忽略 ROT13 编码直接读值名,看不出程序路径
  • 与 Prefetch 口径不一致时不做核对,报告里出现两个矛盾数字

数据来源与参考

  • 注册表取证通用实践(UserAssist 文档)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌