返回更新列表
新发布Jul 14, 2026

hindsight v2026.06

用于 Google Chrome、其他基于 Chromium 的浏览器以及 Mozilla Firefox 的浏览器取证工具

分享

Hindsight

针对 Google Chrome/Chromium 和 Mozilla Firefox 的互联网历史记录取证

Hindsight 是一款用于分析 Web 痕迹的免费工具。它最初用于分析 Google Chrome 浏览器的浏览历史记录,后来扩展到支持其他基于 Chromium 的应用程序,现在也能解析 Mozilla Firefox 配置文件。Hindsight 可以解析多种不同类型的 Web 痕迹,包括 URL、下载历史记录、缓存记录、书签、自动填充记录、已保存的密码、首选项、浏览器扩展、HTTP cookie 以及 Local Storage 记录(HTML5 cookie)。从每个文件中提取数据后,会与其他历史文件中的数据进行关联,并放入时间线中。

对于 Firefox 配置文件,Hindsight 会解析 places.sqlite(历史访问、书签和下载)、cookies.sqlite 和 formhistory.sqlite。在 GUI 中选择 "Firefox",或在命令行中传入 -b Firefox,并指向配置文件目录,例如 \[userdir]\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>。

它有一个简单的 Web UI——要启动它,请运行 "hindsight_gui.py"(在 Windows 上则运行打包好的 "hindsight_gui.exe"),然后在浏览器中访问 http://localhost:8080:

唯一必填字段是 "Profile Path"。这是你要分析的 Chrome 配置文件所在位置(不同操作系统的默认配置文件路径列在本页底部)。点击 "Run",你将被带到结果页面,在那里你可以将结果保存为电子表格(或其他格式)。

手动安装

要安装 Hindsight(包括命令行工具和 Web 界面),请执行:

pip install pyhindsight
pip install git+https://github.com/cclgroupltd/ccl_chromium_reader.git

如果你想使用 Hindsight Web 界面中的 "View SQLite DB in Browser" 功能,还需要运行另一个安装命令:

curl -sSL https://raw.githubusercontent.com/RyanDFIR/hindsight/main/install-js.sh | sh

命令行

Hindsight 也有命令行版本——hindsight.py 或 hindsight.exe。documentation 文件夹中的用户指南涵盖了许多主题,但下面的信息应能帮助你开始使用命令行版本:

示例用法: > C:\hindsight.py -i "C:\Users\Ryan\AppData\Local\Google\Chrome\User Data\Default" -o test_case

命令行选项:

选项描述
-i 或 --input浏览器配置文件的路径,或用于递归搜索配置文件的父目录
-o 或 --output输出文件的名称(不带扩展名)
-f 或 --format输出格式(默认为 XLSX,其他选项为 SQLite 和 JSONL)
-c 或 --cache缓存目录的路径;仅当该目录位于给定的 "input" 目录之外时才需要。Mac 系统默认就是这种设置。
-b 或 --browser_type强制所有配置文件使用同一种浏览器:Chrome、Edge、Brave、Vivaldi、Firefox 或 Tor(不区分大小写;Chromium 是 Chrome 的别名)。省略则自动检测每个配置文件。
-l 或 --logHindsight 应记录日志的位置(如果已存在则追加)
--log-level写入日志的详细程度:debug、info(默认)、warning 或 error。报告 bug 时请使用 debug
-h 或 --help显示这些选项以及默认的 Chrome 数据位置
-t 或 --timezoneXLSX 输出中时间戳显示的时区
--only 或 --artifacts仅解析这些痕迹(逗号分隔;可重复)
--skip 或 --exclude解析除这些痕迹之外的所有内容(逗号分隔;可重复)
--list-artifacts打印 --only 和 --skip 接受的痕迹名称,然后退出

当输入包含来自多个浏览器的配置文件时,请省略 --browser_type,让 Hindsight 分别检测每个配置文件。仅当你打算将每个发现的配置文件都视为指定浏览器时, 才使用该覆盖选项。

选择要解析的痕迹

默认情况下,Hindsight 会解析它找到的每一个痕迹。--only 和 --skip 可以缩小范围, 这对于快速分类以及当缓存很大且与当前问题无关时跳过缓存非常有用。

hindsight.py -i <profile> --only history,downloads
hindsight.py -i <profile> --skip cache
hindsight.py -i <profile> --only user-activity --skip sessions

痕迹名称与浏览器无关:history 会选择 Chrome 的 History URL 记录和 Firefox 的 places.sqlite URL 记录,因此同一条命令对两者都适用。名称 不区分大小写,空格、下划线和连字符可以互换 (local-storage、local_storage 和 "Local Storage" 是同一个名称)。

组名可以用在任何可以使用痕迹名称的地方,并会选择其下的所有内容: user-activity、website-storage、browser-extensions、configuration,以及 caches (所有缓存痕迹)和 all。--only 和 --skip 可以组合使用,--skip 会进一步缩小 --only 的范围。

运行 hindsight.py --list-artifacts 可查看带有描述和别名的完整列表。

被过滤器排除的痕迹在运行期间会报告为 [ skipped ],并记录在 日志中,因此省略某个痕迹的报告仍能与从未有过该痕迹的配置文件区分开来。无法识别的名称 会报错,而不是被忽略,因此拼写错误不会悄悄生成覆盖错误痕迹的报告。

请注意,版本检测仍会读取配置文件的数据库 schema,因此过滤 不会改变检测到的浏览器版本。

默认配置文件路径

Chrome 默认配置文件文件夹的默认位置为:

  • WinXP: [userdir]\Local Settings\Application Data\Google\Chrome\User Data\Default
  • Vista/7/8/10: [userdir]\AppData\Local\Google\Chrome\User Data\Default
  • Linux: [userdir]/.config/google-chrome/Default
  • OS X: [userdir]/Library/Application Support/Google/Chrome/Default
  • iOS: \Applications\com.google.chrome.ios\Library\Application Support\Google\Chrome\Default
  • Android: /userdata/data/com.android.chrome/app_chrome/Default
  • CrOS: \home\user\<GUID>

功能请求

如果你有新功能的想法(或发现了损坏的地方),请提交 issue。

贡献

有关如何设置、运行两个测试套件,以及获取端到端测试所解析的浏览器配置文件语料库,请参阅 CONTRIBUTING.md。

分类