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 ChromeX³ | ✅ | - | - |
| 360 Chrome³ | ✅ | - | - |
| DC Browser³ | ✅ | - | - |
| Sogou Explorer³ | ✅ | - | - |
| Firefox | ✅ | ✅ | ✅ |
| Safari¹ | - | ✅ | - |
¹ Safari 需要完全磁盘访问权限;如果提取结果为空,请在系统设置 → 隐私与安全性 → 完全磁盘访问权限中启用它。
² 在 Windows 上,解密 Chromium 127+ 的 Cookie(Chrome / Chrome Beta / Edge / Brave / CocCoc)需要通过
make build-windows构建的 App-Bound Encryption 载荷——参见下方的从源码构建。³ 这些浏览器仅在 Windows 上发布,但其数据可在任何操作系统上解密:使用
archive提取文件,使用dumpkeys导出密钥,然后在 macOS 或 Linux 上使用restore解密——参见跨主机解密。
安装 HackBrowserData 非常简单,只需下载适用于你系统的发行版并运行二进制文件即可。
在某些情况下,此安全工具会被 Windows Defender 或其他杀毒软件视为病毒而无法执行。代码全部开源,你可以自行修改并编译。
需要 Go 1.20+。```bash
git clone https://github.com/moonD4rk/HackBrowserData
cd HackBrowserData
go build ./cmd/hack-browser-data/
#### 跨平台构建```bash
# 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/
Chrome / Chrome Beta / Edge / Brave / CocCoc 127+ 使用 App-Bound Encryption 保护 cookies。解密这些 cookies 需要一个小型 C 载荷——推荐使用 Zig(0.13+)作为 C 工具链(Makefile 会调用 zig cc)。如果你绕过 make payload,MinGW-w64 的 gcc 也可以手动构建这些源码。```bash
brew install zig # macOS scoop install zig # Windows (scoop)
make payload
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仅写入 cookies,以符合 Cookie-Editor 浏览器扩展导入格式的 JSON 数组形式输出;非 cookie 类别将被跳过。