diff --git a/README.md b/README.md index b0ec88e6..a3f5c682 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ # HackBrowserData -[![Lint](https://github.com/moonD4rk/HackBrowserData/actions/workflows/lint.yml/badge.svg)](https://github.com/moonD4rk/HackBrowserData/actions/workflows/lint.yml) [![build](https://github.com/moonD4rk/HackBrowserData/actions/workflows/build.yml/badge.svg)](https://github.com/moonD4rk/HackBrowserData/actions/workflows/build.yml) [![Release](https://github.com/moonD4rk/HackBrowserData/actions/workflows/release.yml/badge.svg)](https://github.com/moonD4rk/HackBrowserData/actions/workflows/release.yml) [![unit tests](https://github.com/moonD4rk/HackBrowserData/actions/workflows/unittest.yml/badge.svg)](https://github.com/moonD4rk/HackBrowserData/actions/workflows/unittest.yml) [![Coverage Status](https://coveralls.io/repos/github/moonD4rk/HackBrowserData/badge.svg)](https://coveralls.io/github/moonD4rk/HackBrowserData) +[![Lint](https://github.com/moonD4rk/HackBrowserData/actions/workflows/lint.yml/badge.svg)](https://github.com/moonD4rk/HackBrowserData/actions/workflows/lint.yml) [![Build](https://github.com/moonD4rk/HackBrowserData/actions/workflows/build.yml/badge.svg)](https://github.com/moonD4rk/HackBrowserData/actions/workflows/build.yml) [![Release](https://github.com/moonD4rk/HackBrowserData/actions/workflows/release.yml/badge.svg)](https://github.com/moonD4rk/HackBrowserData/actions/workflows/release.yml) [![Tests](https://github.com/moonD4rk/HackBrowserData/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/moonD4rk/HackBrowserData/actions/workflows/test.yml) [![Coverage Status](https://coveralls.io/repos/github/moonD4rk/HackBrowserData/badge.svg)](https://coveralls.io/github/moonD4rk/HackBrowserData) [中文说明](https://github.com/moonD4rk/HackBrowserData/blob/master/README_ZH.md) @@ -89,52 +89,46 @@ Installation of `HackBrowserData` is dead-simple, just download [the release for ### Building from source -only support `go 1.21+` with go generics and log/slog standard library. +only support `go 1.21+` with go generics and `log/slog` standard library. ```bash $ git clone https://github.com/moonD4rk/HackBrowserData $ cd HackBrowserData/cmd/hack-browser-data -$ CGO_ENABLED=1 go build +$ go build ``` ### Cross compile -Need install target OS's `gcc` library, here's an example of use `Mac` building for `Windows` and `Linux` +Here's an example of use `macOS` building for `Windows` and `Linux` #### For Windows ```shell -brew install mingw-w64 - -CGO_ENABLED=1 GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-gcc go build +GOOS=windows GOARCH=amd64 go build ``` #### For Linux ````shell -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" +GOOS=linux GOARCH=amd64 go build ```` ### Run You can double-click to run, or use command line. -``` -PS C:\test> .\hack-browser-data.exe -h +```powershell +PS C:\Users\moond4rk\Desktop> .\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 + 0.4.6 GLOBAL OPTIONS: --verbose, --vv verbose (default: false) @@ -147,29 +141,27 @@ GLOBAL OPTIONS: --help, -h show help --version, -v print the version +``` + +For example, the following is an automatic scan of the browser on the current computer, outputting the decryption results in `JSON` format and compressing as `zip`. -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 +```powershell +PS C:\Users\moond4rk\Desktop> .\hack-browser-data.exe -b all -f json --dir results --zip +PS C:\Users\moond4rk\Desktop> ls -l .\results\ + Directory: C:\Users\moond4rk\Desktop\results + +Mode LastWriteTime Length Name +---- ------------- ------ ---- +-a---- 7/15/2024 10:55 PM 44982 results.zip ``` + + ### 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" +```powershell +PS C:\Users\moond4rk\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 @@ -179,11 +171,6 @@ PS C:\Users\User\Desktop> .\hack-browser-data.exe -b chrome -p "C:\Users\User\Ap [NOTICE] [browsingdata.go:59,Output] output to file results/chrome_password.csv success ``` -### Some other projects based on HackBrowserData -[Sharp-HackBrowserData](https://github.com/S3cur3Th1sSh1t/Sharp-HackBrowserData) - -[Reflective-HackBrowserData](https://github.com/idiotc4t/Reflective-HackBrowserData) - ## Contributing We welcome and appreciate any contributions made by the community (GitHub issues/pull requests, email feedback, etc.). diff --git a/README_ZH.md b/README_ZH.md index 124f7156..cdb3d471 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -86,51 +86,45 @@ ### 从源码编译 -仅支持 `go 1.18+` 以后版本,一些函数使用到了泛型 +支持 `go 1.21+` 以后版本,一些函数使用了泛型基础库 ``` bash $ git clone https://github.com/moonD4rk/HackBrowserData $ cd HackBrowserData/cmd/hack-browser-data -$ CGO_ENABLED=1 go build +$ go build ``` ### 跨平台编译 -由于用到了 `go-sqlite3` 库,在跨平台编译时需提前安装支持目标平台的 `GCC` 工具,下面以 `MacOS` 下分别编译 `Windows` 和 `Linux` 程序为例: +以 `macOS` 分别编译 `Windows` 和 `Linux` 程序为例: #### Windows ``` shell -brew install mingw-w64 - -CGO_ENABLED=1 GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-gcc go build +GOOS=windows GOARCH=amd64 go build ``` #### Linux ``` shell -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" +GOOS=linux GOARCH=amd64 go build ``` ### 运行 双击直接运行,也可以使用命令行调用相应的命令。 -``` -PS C:\test> .\hack-browser-data.exe -h +```powershell +PS C:\Users\moond4rk\Desktop> .\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 + 0.4.6 GLOBAL OPTIONS: --verbose, --vv verbose (default: false) @@ -142,31 +136,21 @@ GLOBAL OPTIONS: --full-export, --full is export full browsing data (default: true) --help, -h show help --version, -v print the version +``` +举例:下面是自动扫描当前电脑上的浏览器数据,以 `JSON` 格式输出解密结果并压缩为 `zip` 文件 -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 +```powershell +PS C:\Users\moond4rk\Desktop> .\hack-browser-data.exe -b all -f json --dir results --zip +PS C:\Users\moond4rk\Desktop> ls -l .\results\ + Directory: C:\Users\moond4rk\Desktop\results + +Mode LastWriteTime Length Name +---- ------------- ------ ---- +-a---- 7/15/2024 10:55 PM 44982 results.zip ``` -### 基于此工具的一些其他项目 -[Sharp-HackBrowserData](https://github.com/S3cur3Th1sSh1t/Sharp-HackBrowserData) - -[Reflective-HackBrowserData](https://github.com/idiotc4t/Reflective-HackBrowserData) - ## Contributors ![贡献者](/CONTRIBUTORS.svg) diff --git a/cmd/hack-browser-data/main.go b/cmd/hack-browser-data/main.go index 52e435ab..cfa58ba7 100644 --- a/cmd/hack-browser-data/main.go +++ b/cmd/hack-browser-data/main.go @@ -29,8 +29,8 @@ func Execute() { app := &cli.App{ Name: "hack-browser-data", Usage: "Export passwords|bookmarks|cookies|history|credit cards|download history|localStorage|extensions from browser", - UsageText: "[hack-browser-data -b chrome -f json -dir results --zip]\nExport all browsing data (passwords/cookies/history/bookmarks) from browser\nGithub Link: https://github.com/moonD4rk/HackBrowserData", - Version: "0.4.5", + UsageText: "[hack-browser-data -b chrome -f json --dir results --zip]\nExport all browsing data (passwords/cookies/history/bookmarks) from browser\nGithub Link: https://github.com/moonD4rk/HackBrowserData", + Version: "0.4.6", Flags: []cli.Flag{ &cli.BoolFlag{Name: "verbose", Aliases: []string{"vv"}, Destination: &verbose, Value: false, Usage: "verbose"}, &cli.BoolFlag{Name: "compress", Aliases: []string{"zip"}, Destination: &compress, Value: false, Usage: "compress result to zip"},