Back to Hackbrowserdata

HackBrowserData

README.md

1.0.016.3 KB
Original Source
<div align="center"> </div>

HackBrowserData

HackBrowserData is a command-line tool for decrypting and exporting browser data (passwords, history, cookies, bookmarks, credit cards, download history, localStorage, sessionStorage and extensions) from the browser. It supports the most popular Chromium-based browsers and Firefox on Windows, macOS and Linux, plus Safari on macOS.

Disclaimer: This tool is only intended for security research. Users are responsible for all legal and related liabilities resulting from the use of this tool. The original author does not assume any legal responsibility.

Supported Data Categories

CategoryChromium-basedFirefoxSafari
Password
Cookie
Bookmark
History
Download
Credit Card--
Extension
LocalStorage
SessionStorage--

Supported Browsers

On macOS, some Chromium-based browsers require a current user password to decrypt.

Password decryption may fail on macOS 26.4 or later.

BrowserWindowsmacOSLinux
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 requires Full Disk Access; enable it in System Settings → Privacy & Security → Full Disk Access if extraction returns empty results.

² On Windows, decrypting Chromium 127+ cookies (Chrome / Chrome Beta / Edge / Brave / CocCoc) requires the App-Bound Encryption payload built via make build-windows — see Building from source below.

Getting Started

Install

Installation of HackBrowserData is dead-simple, just download the release for your system and run the binary.

In some situations, this security tool will be treated as a virus by Windows Defender or other antivirus software and can not be executed. The code is all open source, you can modify and compile by yourself.

Building from source

Requires Go 1.20+.

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

Cross-platform build

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/

Windows build with App-Bound Encryption (optional)

Chrome / Chrome Beta / Edge / Brave / CocCoc 127+ protect cookies with App-Bound Encryption. Decrypting those cookies requires a small C payload — Zig (0.13+) is the recommended C toolchain (the Makefile calls zig cc). MinGW-w64 gcc can also build the sources manually if you bypass make payload.

bash
# 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

The resulting hack-browser-data.exe includes full ABE cookie decryption on Chromium 127+.

Usage

$ 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:
  dump        Extract and decrypt browser data (default command)
  help        Help about any command
  list        List detected browsers and profiles
  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 "csv")
  -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 - Extract and decrypt browser data (default)

Running hack-browser-data without a subcommand defaults to dump.

FlagShortDefaultDescription
--browser-ballTarget browser (all|chrome|firefox|edge|...)
--category-callData categories, comma-separated (all|password|cookie|bookmark|history|download|creditcard|extension|localstorage|sessionstorage)
--format-fcsvOutput format (csv|json|cookie-editor)
--dir-dresultsOutput directory
--profile-path-pCustom profile dir path, get with chrome://version
--keychain-pwmacOS keychain password
--zipfalseCompress output to zip

list - List detected browsers and profiles

FlagDefaultDescription
--detailfalseShow per-category entry counts

version - Print version information

bash
hack-browser-data version

Global flags

FlagShortDescription
--verbose-vEnable debug logging

Examples

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 JSON format to a custom directory
hack-browser-data dump -b chrome -f json -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"

Contributing

We welcome and appreciate any contributions made by the community (GitHub issues/pull requests, email feedback, etc.).

Please see the Contribution Guide before contributing.

Contributors

<!-- readme: collaborators,contributors -start --> <table> <tbody> <tr> <td align="center"> <a href="https://github.com/moonD4rk">
                <sub><b>Roger</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/Aquilao">
                
                

                <sub><b>Aquilao Official</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/uinfziuna8n">
                
                

                <sub><b>uinfziuna8n</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/VMpc">
                
                

                <sub><b>Cyrus</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/stevenlele">
                
                

                <sub><b>stevenlele</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/camandel">
                
                

                <sub><b>Carlo Mandelli</b></sub>
            </a>
        </td>
	</tr>
	<tr>
        <td align="center">
            <a href="https://github.com/slimwang">
                
                

                <sub><b>slimwang</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/Amir-78">
                
                

                <sub><b>Amir.</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/a-urth">
                
                

                <sub><b>a-urth</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/dexhek">
                
                

                <sub><b>Ciprian Conache</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/SantiiRepair">
                
                

                <sub><b>Santiago Ramirez</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/BeichenDream">
                
                

                <sub><b>beichen</b></sub>
            </a>
        </td>
	</tr>
	<tr>
        <td align="center">
            <a href="https://github.com/testwill">
                
                

                <sub><b>guoguangwu</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/zhe6652">
                
                

                <sub><b>zhe6652</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/lc6464">
                
                

                <sub><b>LC</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/mirefly">
                
                

                <sub><b>mirefly</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/slark-yuxj">
                
                

                <sub><b>YuXJ</b></sub>
            </a>
        </td>
        <td align="center">
            <a href="https://github.com/ac0d3r">
                
                

                <sub><b>zznQ</b></sub>
            </a>
        </td>
	</tr>
<tbody>
</table> <!-- readme: collaborators,contributors -end -->

Stargazers over time

HackBrowserData is a part of 404Team StarLink-Galaxy, if you have any questions about HackBrowserData or want to find a partner to communicate with, please refer to the Starlink group. <a href="https://github.com/knownsec/404StarLink2.0-Galaxy" target="_blank"></a>

JetBrains OS licenses

HackBrowserData had been being developed with GoLand IDE under the free JetBrains Open Source license(s) granted by JetBrains s.r.o., hence I would like to express my thanks here.

<a href="https://www.jetbrains.com/?from=HackBrowserData" target="_blank"></a>