Go to file
moonD4rk 5dcf1e163b fix: Improve error handling if walk browser profile dir
- Implement error handling for path permission errors in `chromiumWalkFunc`
- Refactor `firefoxWalkFunc` to handle permission errors and log warnings
- Add import statement for `log/slog` in `firefox/firefox.go`
2024-07-15 22:47:11 +08:00
.github chore(deps): bump golangci/golangci-lint-action from 4 to 6 2024-07-15 22:47:11 +08:00
browser fix: Improve error handling if walk browser profile dir 2024-07-15 22:47:11 +08:00
browserdata refactor: Optimize traversal browser data logic (#311) 2024-04-12 20:01:29 +08:00
cmd/hack-browser-data feat: refactor logger to standard library (#280) 2024-01-16 14:06:13 +08:00
crypto refactor: Refactor encryption modules for Chromium browsers. 2024-07-15 22:47:11 +08:00
extractor refactor: Optimize traversal browser data logic (#311) 2024-04-12 20:01:29 +08:00
logger chore: add typos check linter in github actions (#285) 2024-01-17 13:52:59 +08:00
types refactor: Optimize traversal browser data logic (#311) 2024-04-12 20:01:29 +08:00
utils refactor: Refactor encryption modules for Chromium browsers. 2024-07-15 22:47:11 +08:00
.gitignore refactor/dependence: Upgrade Golang version and dependencies. (#322) 2024-04-12 20:01:29 +08:00
.golangci.yml refactor: Optimize traversal browser data logic (#311) 2024-04-12 20:01:29 +08:00
.typos.toml feat: Refactor crypto decryption functions for consistency and error handling (#302) 2024-01-27 23:15:05 +08:00
CODE_OF_CONDUCT.md chore: Create CODE_OF_CONDUCT.md 2024-01-13 17:51:43 +08:00
CONTRIBUTING.md chore: remove unused config file (#294) 2024-01-27 23:15:05 +08:00
CONTRIBUTORS.svg chore: update contributors [skip ci] 2024-07-07 01:30:40 +00:00
go.mod chore(deps): bump modernc.org/sqlite from 1.29.6 to 1.30.1 2024-07-15 22:47:11 +08:00
go.sum chore(deps): bump modernc.org/sqlite from 1.29.6 to 1.30.1 2024-07-15 22:47:11 +08:00
LICENSE chore: add MIT License 2020-10-13 14:26:27 +08:00
LOGO.png chore: Resize logo and update browser support in READMEs (#284) 2024-01-17 13:52:59 +08:00
README_ZH.md chore: Resize logo and update browser support in READMEs (#284) 2024-01-17 13:52:59 +08:00
README.md dev: Remove CGO go-sqlite3 with pure go driver (#292) 2024-01-19 15:45:24 +08:00

hack-browser-data logo

HackBrowserData

Lint build Release unit tests Coverage Status

中文说明

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

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 Browser

Windows

Browser Password Cookie Bookmark History
Google Chrome
Google Chrome Beta
Chromium
Microsoft Edge
360 Speed
QQ
Brave
Opera
OperaGX
Vivaldi
Yandex
CocCoc
Firefox
Firefox Beta
Firefox Dev
Firefox ESR
Firefox Nightly
Internet Explorer

MacOS

Based on Apple's security policy, some browsers require a current user password to decrypt.

Browser Password Cookie Bookmark History
Google Chrome
Google Chrome Beta
Chromium
Microsoft Edge
Brave
Opera
OperaGX
Vivaldi
CocCoc
Yandex
Arc
Firefox
Firefox Beta
Firefox Dev
Firefox ESR
Firefox Nightly
Safari

Linux

Browser Password Cookie Bookmark History
Google Chrome
Google Chrome Beta
Chromium
Microsoft Edge Dev
Brave
Opera
Vivaldi
Firefox
Firefox Beta
Firefox Dev
Firefox ESR
Firefox Nightly

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

only support go 1.21+ with go generics and log/slog standard library.

$ git clone https://github.com/moonD4rk/HackBrowserData

$ cd HackBrowserData/cmd/hack-browser-data

$ CGO_ENABLED=1 go build

Cross compile

Need install target OS's gcc library, here's an example of use Mac building for Windows and Linux

For Windows

brew install mingw-w64

CGO_ENABLED=1 GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-gcc go build

For Linux

brew install FiloSottile/musl-cross/musl-cross

CC=x86_64-linux-musl-gcc CXX=x86_64-linux-musl-g++ GOARCH=amd64 GOOS=linux CGO_ENABLED=1 go build -ldflags "-linkmode external -extldflags -static"

Run

You can double-click to run, or use command line.

PS C:\test> .\hack-browser-data.exe -h
NAME:
   hack-browser-data - Export passwords|bookmarks|cookies|history|credit cards|download history|localStorage|extensions from browser

USAGE:
   [hack-browser-data -b chrome -f json --dir results --zip]
   Export all browsing data (passwords/cookies/history/bookmarks) from browser
   Github Link: https://github.com/moonD4rk/HackBrowserData

VERSION:
   0.4.5

GLOBAL OPTIONS:
   --verbose, --vv                   verbose (default: false)
   --compress, --zip                 compress result to zip (default: false)
   --browser value, -b value         available browsers: all|360|brave|chrome|chrome-beta|chromium|coccoc|dc|edge|firefox|opera|opera-gx|qq|sogou|vivaldi|yandex (default: "all")
   --results-dir value, --dir value  export dir (default: "results")
   --format value, -f value          output format: csv|json (default: "csv")
   --profile-path value, -p value    custom profile dir path, get with chrome://version
   --full-export, --full             is export full browsing data (default: true)
   --help, -h                        show help
   --version, -v                     print the version


PS C:\test> .\hack-browser-data.exe -b all -f json --dir results --zip
[NOTICE] [browser.go:46,pickChromium] find browser Chrome success  
[NOTICE] [browser.go:46,pickChromium] find browser Microsoft Edge success  
[NOTICE] [browsingdata.go:59,Output] output to file results/microsoft_edge_download.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/microsoft_edge_password.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/microsoft_edge_creditcard.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/microsoft_edge_bookmark.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/microsoft_edge_cookie.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/microsoft_edge_history.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_history.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_download.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_password.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_creditcard.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_bookmark.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_cookie.json success  

Run with custom browser profile folder

If you want to export data from a custom browser profile folder, you can use the -p parameter to specify the path of the browser profile folder. PS: use double quotes to wrap the path.

PS C:\Users\User\Desktop> .\hack-browser-data.exe -b chrome -p "C:\Users\User\AppData\Local\Microsoft\Edge\User Data\Default"

[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_creditcard.csv success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_bookmark.csv success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_cookie.csv success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_history.csv success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_download.csv success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_password.csv success  

Some other projects based on HackBrowserData

Sharp-HackBrowserData

Reflective-HackBrowserData

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

Stargazers over time

Star History Chart

HackBrowserData is a part of 404Team StarLink-Galaxy, if you have any questions about HackBrowserData or want to find a partner to communicate withplease refer to the Starlink group.

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.