
Extraire et déchiffrer les données du navigateur, supportant plusieurs types de données, exécutable sur divers systèmes d'exploitation (macOS, Windows, Linux).
HackBrowserData est un outil en ligne de commande pour déchiffrer et exporter les données du navigateur (mots de passe, historique, cookies, marque-pages, cartes de crédit, historique de téléchargements, localStorage, sessionStorage et extensions). Il prend en charge les navigateurs les plus populaires basés sur Chromium et Firefox sur Windows, macOS et Linux, ainsi que Safari sur macOS.
Il peut également déchiffrer les données entre machines et systèmes d'exploitation : exporter les clés maîtresses sur la machine d'origine, puis déchiffrer une copie des données hors ligne sur n'importe quelle autre machine — même pour un navigateur que le système d'exploitation de la machine d'analyse ne peut pas exécuter (voir Déchiffrement inter-hôte).
Avertissement : Cet outil est uniquement destiné à la recherche en sécurité. Les utilisateurs sont responsables de toutes les conséquences légales et connexes résultant de l'utilisation de cet outil. L'auteur original n'assume aucune responsabilité légale.
Sur macOS, certains navigateurs basés sur Chromium nécessitent le mot de passe de l'utilisateur actuel pour déchiffrer.
Le déchiffrement du mot de passe peut échouer sur macOS 26.4 ou ultérieur.
¹ Safari nécessite un accès complet au disque ; activez-le dans Réglages Système → Confidentialité et sécurité → Accès complet au disque si l'extraction renvoie des résultats vides.
² Sous Windows, le déchiffrement des cookies Chromium 127+ (Chrome / Chrome Beta / Edge / Brave / CocCoc) nécessite la charge utile App-Bound Encryption construite via
make build-windows— voir Compilation à partir des sources ci-dessous.³ Ces navigateurs sont disponibles uniquement sous Windows, mais leurs données sont déchiffrables sur n'importe quel OS : extrayez les fichiers avec
archive, exportez les clés avecdumpkeys, puis déchiffrez sur macOS ou Linux avecrestore— voir Déchiffrement inter-hôte.
L'installation de HackBrowserData est très simple : téléchargez la version pour votre système et exécutez le binaire.
Dans certaines situations, cet outil de sécurité sera considéré comme un virus par Windows Defender ou d'autres antivirus et ne pourra pas être exécuté. Le code est entièrement open source, vous pouvez le modifier et le compiler vous-même.
Nécessite Go 1.20+.```bash
git clone https://github.com/moonD4rk/HackBrowserData
cd HackBrowserData
go build ./cmd/hack-browser-data/
#### Construction multi-plateforme```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+ protègent les cookies avec le chiffrement lié à l'application. Le déchiffrement de ces cookies nécessite une petite charge utile en C — Zig (0.13+) est la chaîne d'outils C recommandée (le Makefile appelle zig cc). MinGW-w64 gcc peut également compiler les sources manuellement si vous contournez make payload.```bash
brew install zig # macOS scoop install zig # Windows (scoop)
make payload
make build-windows
Le fichier résultant `hack-browser-data.exe` comprend le décryptage complet des cookies ABE sur Chromium 127+.
## Utilisation```
$ 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 - Extraire et déchiffrer les données du navigateur (par défaut)L'exécution de hack-browser-data sans sous-commande utilise par défaut dump.
--format cookie-editorécrit uniquement les cookies, sous forme d'un tableau JSON correspondant au format d'importation de l'extension de navigateur Cookie-Editor ; les catégories autres que les cookies sont ignorées.
Déchiffrer les données du navigateur sur un hôte analyste qui ont été collectées sur un hôte d'origine différent — y compris un navigateur dont le moteur ne peut même pas être installé sur le système d'exploitation de l'analyste (par exemple, déchiffrer les données de Sogou ou QQ Browser sur macOS). Rien de lié à la plateforme (DPAPI, Trousseau macOS, Chrome App-Bound Encryption) ne doit quitter l'origine : les clés maîtres sont exportées une fois, et le déchiffrement s'exécute ensuite entièrement hors ligne à partir d'une copie des données.
Le flux de travail utilise trois commandes et deux artefacts transportables :
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` contient les clés maîtres en clair — traitez-le comme un secret. `dumpkeys -o` l'écrit avec les permissions `0600` ; préférez le diffuser via un canal sécurisé plutôt que de le laisser sur le disque.
#### `dumpkeys` - Exporter les clés maîtres pour le déchiffrement inter-hôte
Dérive les clés maîtres de chaque installation Chromium sur l'hôte d'origine et les écrit au format JSON (Firefox / Safari n'ont pas de clé portable et sont ignorés). Par défaut, la sortie est sur stdout pour pouvoir être redirigée via SSH.
| Flag | Short | Default | Description |
|-----------------|-------|----------|-------------------------------------------------|
| `--browser` | `-b` | `all` | Navigateur cible (all\|chrome\|edge\|...) |
| `--output` | `-o` | *stdout* | Fichier de sortie (écrit `0600`) ; stdout si omis |
| `--keychain-pw` | | | Mot de passe du trousseau macOS |
#### `archive` - Empaqueter les fichiers pertinents pour le déchiffrement en vue du transport
Collecte uniquement les fichiers nécessaires à une restauration (cookies, données de connexion, historique, …) via le même contournement de verrouillage utilisé pour l'extraction, afin que les fichiers SQLite en direct soient lus en toute sécurité sous Windows. Le zip est organisé selon `<clé-navigateur>/<Structure User Data>`, de sorte qu'une seule archive puisse contenir plusieurs navigateurs et que la restauration reste sans ambiguïté. Les noms d'entrée utilisent toujours des slashes, donc une archive produite sous Windows peut être restaurée sur macOS / Linux.
| Flag | Short | Default | Description |
|--------------|-------|--------------------|-----------------------------------------|
| `--browser` | `-b` | `all` | Navigateur cible (all\|chrome\|edge\|...) |
| `--category` | `-c` | `all` | Catégories de données, séparées par des virgules |
| `--output` | `-o` | `browser-data.zip` | Chemin de l'archive de sortie |
#### `restore` - Déchiffrer les données copiées avec les clés exportées
Reconstruit chaque moteur Chromium directement à partir de `keys.json` et déchiffre les données fournies — il ne consulte jamais la table locale du navigateur de l'analyste, donc **les navigateurs que vous pouvez restaurer sont exactement les coffres contenus dans votre `keys.json`**. Fournissez les données de l'une des deux manières suivantes (exactement une est requise) :
- `--data-zip` — un zip produit par `archive` ; extrait dans un répertoire temporaire et supprimé après.
- `--data-dir` — un répertoire. Soit la structure de `archive` (`<clé-navigateur>/...`, plusieurs navigateurs à la fois), soit la racine `User Data` copiée manuellement d'un navigateur, ce qui n'est non ambigu que pour un seul navigateur — associez-la donc à `-b`.
`-b` est un **filtre optionnel** sur les coffres de l'extraction, pas un sélecteur obligatoire.
| Flag | Short | Default | Description |
|--------------|-------|------------|------------------------------------------------------------|
| `--keys` | | *requis* | Fichier de clés provenant de `dumpkeys` (utilisez `-` pour stdin) |
| `--data-zip` | | | Zip provenant de `archive` (mutuellement exclusif avec `--data-dir`) |
| `--data-dir` | | | Répertoire de données copiées (mutuellement exclusif avec `--data-zip`) |
| `--browser` | `-b` | | Restaurer uniquement ce navigateur ; doit correspondre à un coffre dans `--keys` |
| `--category` | `-c` | `all` | Catégories de données, séparées par des virgules |
| `--format` | `-f` | `json` | Format de sortie (csv\|json\|cookie-editor) |
| `--dir` | `-d` | `results` | Répertoire de sortie |
| `--zip` | | `false` | Compresser la sortie en zip |
#### Exemples multi-hôtes```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 - Lister les navigateurs et profils détectés| Drapeau | Défaut | Description |
|---|---|---|
--detail | false | Afficher le nombre d'entrées par catégorie |
version - Afficher les informations de version```bashhack-browser-data version
### Drapeaux globaux
| Flag | Short | Description |
|-------------|-------|--------------------------------------|
| `--verbose` | `-v` | Activer la journalisation de débogage |
### Exemples```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"
Nous accueillons et apprécions toute contribution de la communauté (issues GitHub/pull requests, retours par email, etc.).
Veuillez consulter le Guide de contribution avant de contribuer.
HackBrowserData fait partie de 404Team StarLink-Galaxy. Si vous avez des questions sur HackBrowserData ou souhaitez trouver un partenaire pour échanger, veuillez vous référer au groupe Starlink.

HackBrowserData a été développé avec l'IDE GoLand sous licence(s) Open Source gratuite JetBrains accordée(s) par JetBrains s.r.o., c'est pourquoi je tiens à exprimer mes remerciements ici.
| Catégorie | Basé sur Chromium | Firefox | Safari |
|---|
| Mot de passe | ✅ | ✅ | ✅ |
| Cookie | ✅ | ✅ | ✅ |
| Marque-page | ✅ | ✅ | ✅ |
| Historique | ✅ | ✅ | ✅ |
| Téléchargement | ✅ | ✅ | ✅ |
| Carte de crédit | ✅ | - | - |
| Extension | ✅ | ✅ | ✅ |
| LocalStorage | ✅ | ✅ | ✅ |
| SessionStorage | ✅ | - | - |
| Navigateur | 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¹ | - | ✅ | - |
| Drapeau | Court | Défaut | Description |
|---|
--browser | -b | all | Navigateur cible (all|chrome|firefox|edge|...) |
--category | -c | all | Catégories de données, séparées par des virgules (all|password|cookie|bookmark|history|download|creditcard|extension|localstorage|sessionstorage) |
--format | -f | json | Format de sortie (csv|json|cookie-editor) |
--dir | -d | results | Répertoire de sortie |
--profile-path | -p | Chemin personnalisé du répertoire de profil, obtenu avec chrome://version | |
--keychain-pw | Mot de passe du trousseau macOS | ||
--zip | false | Compresser la sortie au format zip |
| Étape | Hôte | Commande | Produit |
|---|
| 1 | origine | dumpkeys | keys.json — clés maîtres portables |
| 2 | origine | archive | browser-data.zip — uniquement les fichiers nécessaires au déchiffrement |
| 3 | analyste | restore | sortie déchiffrée (csv / json / cookie-editor) |
Roger |
Aquilao Official |
uinfziuna8n |
Cyrus |
stevenlele |
Carlo Mandelli |
slimwang |
zznQ |
YuXJ |
mirefly |
LC |
zhe6652 |
guoguangwu |
beichen |
Santiago Ramirez |
Ciprian Conache |
a-urth |
Amir. |