HackBrowserData:跨平台浏览器数据解密导出工具,支持主流浏览器多数据类型提取

Extract and decrypt browser data, supporting multiple data types, runnable on various operating systems (macOS, Windows, Linux).

分支10Tags37
文件最后提交记录最后更新时间
29 天前
25 天前
2 个月前
2 个月前
2 个月前
15 天前
25 天前
25 天前
2 个月前
25 天前
2 个月前
4 个月前
4 个月前
2 个月前
1 个月前
4 个月前
2 个月前
2 年前
4 个月前
5 年前
2 年前
4 个月前
15 天前
29 天前
29 天前
hack-browser-data logo

HackBrowserData

Lint Build Release Tests codecov

HackBrowserData 是一款命令行工具,用于解密并导出浏览器中的数据(包括密码、历史记录、Cookie、书签、信用卡信息、下载记录、localStorage、sessionStorage 及扩展程序)。它支持 Windows、macOS 和 Linux 平台上最主流的基于 Chromium 的浏览器及 Firefox,同时也支持 macOS 上的 Safari。

该工具还支持跨设备、跨操作系统进行数据解密:在源主机上导出主密钥,然后在任意其他主机上对数据副本进行离线解密——即使分析主机上的操作系统无法运行该浏览器也能完成解密(参见跨主机解密)。

免责声明:此工具仅供安全研究使用。用户须自行承担因使用本工具而产生的一切法律及相关责任。原开发者不承担任何法律责任。

支持的数据类型

类别 基于 Chromium Firefox Safari
密码
Cookie
书签
历史记录
下载记录
信用卡信息 - -
扩展程序
LocalStorage
SessionStorage - -

支持的浏览器

在 macOS 上,部分基于 Chromium 的浏览器需要输入当前用户密码才能解密。

在 macOS 26.4 或更高版本上,密码解密可能会失败。

浏览器 Windows macOS Linux
Chrome ✅²
Chrome Beta ✅²
Chromium
Edge ✅²
Brave ✅²
Opera
OperaGX -
Vivaldi
Yandex -
CocCoc ✅² -
Arc -
DuckDuckGo³ - -
QQ³ - -
360 极速浏览器X³ - -
360 安全浏览器³ - -
DC 浏览器³ - -
搜狗浏览器³ - -
Firefox
Safari¹ - -

¹ Safari 需要完全磁盘访问权限;如果提取结果为空,请在系统设置 → 隐私与安全性 → 完全磁盘访问权限中启用该权限。

² 在 Windows 上,解密 Chromium 127+ 的 Cookie(Chrome / Chrome Beta / Edge / Brave / CocCoc)需要通过 make build-windows 构建的 App-Bound 加密负载 — 请参阅下文从源码构建

³ 这些浏览器仅随 Windows 发行,但其数据可在任何操作系统上解密:使用 archive 拉取文件,使用 dumpkeys 导出密钥,然后在 macOS 或 Linux 上使用 restore 解密 — 请参阅跨主机解密

快速入门

安装

HackBrowserData 的安装非常简单,只需下载适用于您系统的发行版并运行该二进制文件即可。

在某些情况下,此安全工具会被 Windows Defender 或其他防病毒软件视为病毒而无法执行。代码完全开源,您可以自行修改和编译。

从源码构建

需要 Go 1.20+ 或更高版本。

git clone https://github.com/moonD4rk/HackBrowserData
cd HackBrowserData
go build ./cmd/hack-browser-data/

跨平台构建

# For Windows (standard build, no Chromium 127+ ABE cookie support)
GOOS=windows GOARCH=amd64 go build ./cmd/hack-browser-data/

# For Linux
GOOS=linux GOARCH=amd64 go build ./cmd/hack-browser-data/

使用应用绑定加密的 Windows 构建(可选)

Chrome / Chrome Beta / Edge / Brave / CocCoc 127 及以上版本通过应用绑定加密(App-Bound Encryption)保护 Cookie。解密这些 Cookie 需要一个小型 C 语言载荷——Zig(0.13 及以上版本)是推荐的 C 工具链(Makefile 会调用 zig cc)。如果你绕过 make payload,也可以手动使用 MinGW-w64 gcc 来构建这些源码。

# 1. Install Zig
brew install zig                 # macOS
scoop install zig                # Windows (scoop)
# or download from https://ziglang.org/download/

# 2. Build the payload (outputs crypto/windows/payload/abe_extractor_amd64.bin)
make payload

# 3. Build hack-browser-data.exe with the ABE payload embedded
make build-windows

生成的 hack-browser-data.exe 支持对 Chromium 127 及以上版本的完整 ABE cookie 解密。

使用方法

$ hack-browser-data -h
hack-browser-data decrypts and exports browser data from Chromium-based
browsers and Firefox on Windows, macOS, and Linux.

GitHub: https://github.com/moonD4rk/HackBrowserData

Usage:
  hack-browser-data [flags]
  hack-browser-data [command]

Available Commands:
  archive     Pack decryption-relevant profile files into a zip for cross-host restore
  dump        Extract and decrypt browser data (default command)
  dumpkeys    Export Chromium master keys as JSON for cross-host decryption
  help        Help about any command
  list        List detected browsers and profiles
  restore     Decrypt copied profile data using exported master keys
  version     Print version information

Flags:
  -b, --browser string        target browser: all|chrome|firefox|edge|... (default "all")
  -c, --category string       data categories (comma-separated): all|password,cookie,... (default "all")
  -d, --dir string            output directory (default "results")
  -f, --format string         output format: csv|json|cookie-editor (default "json")
  -h, --help                  help for hack-browser-data
      --keychain-pw string    macOS keychain password
  -p, --profile-path string   custom profile dir path, get with chrome://version
  -v, --verbose               enable debug logging
      --zip                   compress output to zip

Use "hack-browser-data [command] --help" for more information about a command.

dump — 提取并解密浏览器数据(默认)

运行 hack-browser-data 时若不指定子命令,默认执行 dump

参数 简写 默认值 说明
--browser -b all 目标浏览器(all|chrome|firefox|edge|...)
--category -c all 数据类别,逗号分隔(all|password|cookie|bookmark|history|download|creditcard|extension|localstorage|sessionstorage)
--format -f json 输出格式(csv|json|cookie-editor)
--dir -d results 输出目录
--profile-path -p 自定义配置目录路径,可通过 chrome://version 获取
--keychain-pw macOS 钥匙串密码
--zip false 将输出压缩为 zip 文件

--format cookie-editor 仅写入cookie,以符合 Cookie-Editor 浏览器扩展导入格式的 JSON 数组形式输出;非 cookie 类数据将被跳过。

跨主机解密

分析主机上解密从不同源主机收集的浏览器数据——包括分析主机操作系统无法安装其引擎的浏览器(例如在 macOS 上解密搜狗或 QQ 浏览器数据)。无需将任何与平台绑定的内容(DPAPI、macOS 钥匙串、Chrome App-Bound 加密)移出源主机:主密钥仅需导出一次,解密即可完全离线基于数据副本进行。

该流程使用三个命令和两个可传输的产物:

步骤 主机 命令 生成物
1 源主机 dumpkeys keys.json — 可移植的主密钥
2 源主机 archive browser-data.zip — 仅包含解密所需的文件
3 分析主机 restore 解密后的输出(csv / json / cookie-editor)
# On the origin host (any OS) — export the keys and pack the data
hack-browser-data dumpkeys -o keys.json
hack-browser-data archive  -o browser-data.zip

# Copy keys.json + browser-data.zip to the analyst host, then decrypt offline
hack-browser-data restore --keys keys.json --data-zip browser-data.zip

keys.json 包含明文主密钥,请务必妥善保管。dumpkeys -o 会以 0600 权限写入该文件;更推荐通过安全通道直接传输,而非将其留在磁盘上。

dumpkeys - 导出主密钥,实现跨主机解密

在源主机上解析各 Chromium 浏览器的安装主密钥,并以 JSON 格式输出(Firefox / Safari 无便携密钥,故跳过)。默认输出到标准输出,便于通过 SSH 管道传输。

参数 简写 默认值 说明
--browser -b all 目标浏览器(all|chrome|edge|...)
--output -o stdout 输出文件(以 0600 权限写入);省略时输出到标准输出
--keychain-pw macOS 钥匙串密码

archive - 打包解密所需文件,便于传输

仅收集恢复操作实际需要的文件(cookies、登录数据、历史记录等),并通过与提取时相同的锁定文件绕过机制读取,确保在 Windows 上也能安全读取正在使用的 SQLite 文件。压缩包内目录结构为 <browser-key>/<User Data 布局>,因此一个归档可同时容纳多个浏览器,恢复时也不会产生歧义。条目名称一律使用正斜杠,故 Windows 生成的归档可在 macOS / Linux 上正常恢复。

参数 简写 默认值 说明
--browser -b all 目标浏览器(all|chrome|edge|...)
--category -c all 数据类别,逗号分隔
--output -o browser-data.zip 输出归档路径

restore - 使用导出的密钥解密复制的数据

直接从 keys.json 重建各 Chromium 引擎并解密所提供的数据,全程不查询分析者本机的浏览器表,因此可恢复的浏览器范围完全取决于 keys.json 中含有的保险库。提供数据的方式有两种(且必须且只能选择一种):

  • --data-zip — 由 archive 生成的压缩包;解压至临时目录,使用后即自动删除。
  • --data-dir — 指定目录。可以是 archive 布局(<browser-key>/...,同时支持多个浏览器),也可以是手动复制的单个浏览器的 User Data 根目录——该方式仅适用于单个浏览器,故需配合 -b 使用。

-b可选过滤器,用于筛选 dump 中的保险库,而非必选选择器。

参数 简写 默认值 说明
--keys 必填 dumpkeys 生成的密钥文件(使用 - 表示从标准输入读取)
--data-zip archive 生成的压缩包(与 --data-dir 互斥)
--data-dir 复制的数据目录(与 --data-zip 互斥)
--browser -b 仅恢复指定浏览器;须与 --keys 中的某个保险库匹配
--category -c all 数据类别,逗号分隔
--format -f json 输出格式(csv|json|cookie-editor)
--dir -d results 输出目录
--zip false 将输出压缩为 zip 格式

跨主机示例

# Stream keys over SSH (no keys.json on disk), data copied separately
ssh origin "hack-browser-data dumpkeys" | \
  hack-browser-data restore --keys - --data-zip browser-data.zip

# Restore one browser from a hand-copied User Data folder (no archive)
hack-browser-data restore --keys keys.json --data-dir ./chrome-userdata -b chrome

list - 列出检测到的浏览器及其配置文件

参数 默认值 描述
--detail false 显示各类别下的条目数量详情

version - 输出版本信息

hack-browser-data version

全局标志

标志 简写 说明
--verbose -v 启用调试日志

示例

# Extract all data from all browsers (default)
hack-browser-data

# Extract specific browser and categories
hack-browser-data dump -b chrome -c password,cookie

# Export in CSV format to a custom directory (JSON is the default)
hack-browser-data dump -b chrome -f csv -d output

# Export cookies in CookieEditor format
hack-browser-data dump -f cookie-editor

# Compress output to zip
hack-browser-data dump --zip

# List detected browsers and profiles
hack-browser-data list

# List with per-category entry counts
hack-browser-data list --detail

# Use custom profile path
hack-browser-data dump -b chrome -p "/path/to/User Data/Default"

参与贡献

我们欢迎并感谢社区的任何贡献(GitHub issue / pull request、邮件反馈等)。

请在贡献之前查阅贡献指南

贡献者

moonD4rk
Roger
Aquilao
Aquilao Official
uinfziuna8n
uinfziuna8n
VMpc
Cyrus
stevenlele
stevenlele
camandel
Carlo Mandelli
slimwang
slimwang
drogers0
David Rogers
ac0d3r
zznQ
slark-yuxj
YuXJ
mybonesaremorepowerful92
mybonesaremorepowerful92
mirefly
mirefly
lc6464
LC
zhe6652
zhe6652
testwill
guoguangwu
freddy77
freddy77
BeichenDream
beichen
SantiiRepair
Santiago Ramirez
dexhek
Ciprian Conache
a-urth
a-urth
Amir-78
Amir.

随时间变化的星标趋势

Star History Chart

HackBrowserData 是 404Team StarLink-Galaxy 项目的一部分,如果您对 HackBrowserData 有任何疑问,或希望寻找合作伙伴进行交流,请参阅 Starlink 社区

JetBrains 操作系统许可证

HackBrowserData 一直在 JetBrains s.r.o. 授予的 免费 JetBrains 开源许可证 下使用 GoLand IDE 进行开发,在此谨致以诚挚的谢意。

项目介绍

从浏览器中解密密码、cookies、历史记录和书签。这是一款能够在全平台上运行的浏览器数据导出解密工具。【此简介由AI生成】

定制我的领域
16314.48 K1.81 K访问 GitHub