0xbartita/h1-asset-fetcher
GitHub: 0xbartita/h1-asset-fetcher
一款针对HackerOne漏洞赏金计划的自动化资产获取与反编译工具,旨在帮助安全研究人员批量拉取、下载并逆向移动应用和可执行文件。
Stars: 16 | Forks: 6
# H1 Asset Fetcher
/packages.txt`、`store_links.txt`、`packages.json`
- 通过 [apkeep](https://github.com/EFForg/apkeep) 批量下载 APK,并带有备用下载器
- 使用 [jadx](https://github.com/skylot/jadx) 和 dex2jar/procyon 进行批量反编译
- 使用 `install.sh` 一键安装
## 安装
### 自动安装
```
./install.sh
```
安装内容:Python deps、apkeep、jadx、apktool、dex2jar、procyon。
### 手动安装
```
pip install -r requirements.txt
# 必需
# - apkeep: https://github.com/EFForg/apkeep/releases
# - jadx: https://github.com/skylot/jadx/releases
# 可选
# - apktool: https://apktool.org/
# - dex2jar: https://github.com/pxb1988/dex2jar
# - procyon: https://github.com/mstrobel/procyon
# - playwright: pip install playwright && playwright install chromium
```
## 快速入门
```
git clone https://github.com/0xbartita/h1-asset-fetcher.git
cd h1-asset-fetcher
./install.sh
# 从您的私有 BBP 中获取 Android 资产
python3 h1-asset-fetcher.py -u -t --scope android
# 获取 iOS 资产
python3 h1-asset-fetcher.py -u -t --scope ios
# 获取所有内容
python3 h1-asset-fetcher.py -u -t --scope all --filter all
```
## 使用说明
### `h1-asset-fetcher.py` — HackerOne 资产获取器
```
python3 h1-asset-fetcher.py -u -t --scope [options]
```
| 标志 | 描述 |
|------|-------------|
| `-u, --username` | HackerOne API 用户名(或 `H1_USERNAME` 环境变量) |
| `-t, --token` | HackerOne API token(或 `H1_API_TOKEN` 环境变量) |
| `-s, --scope` | **必填。**`android`、`ios`、`exe` 或 `all` |
| `-f, --filter` | 以逗号分隔的筛选条件:`-f bbp,private` `-f vdp,public` `-f bbp` `-f all`(默认值:`bbp,private`) |
| `-o, --output` | 输出目录(默认值:`output/`) |
| `--programs-file` | 复用缓存的 `programs_cache.json` |
**输出:**
```
output/
android/
packages.txt # Package names, one per line
packages.json # Full details with program info
store_links.txt # Play Store / App Store links
summary.json # Scan metadata
ios/
...
programs_cache.json # Reusable cache
```
### `apk_downloader.py` — APK 批量下载器
使用 [apkeep](https://github.com/EFForg/apkeep) 下载 APK。
```
python3 apk_downloader.py -i output/android/packages.txt -o apks/ -w 4
python3 apk_downloader.py -i output/android/packages.txt -o apks/ --source apk-pure
```
### `apk_browser_downloader.py` — 基于浏览器的下载器
无头 Chromium 下载器,可绕过 Cloudflare。作为 apkeep 下载失败时的备用方案。
```
pip install playwright && playwright install chromium
python3 apk_browser_downloader.py -i failed_packages.txt -o apks/
```
### `revengi_downloader.py` — Telegram Bot 下载器
通过 Telegram 上的 [@RevEngiBot](https://t.me/RevEngiBot) 下载 APK。
```
export TELEGRAM_API_ID=your_api_id
export TELEGRAM_API_HASH=your_api_hash
python3 revengi_downloader.py -i failed_packages.txt -o apks/
```
### 反编译脚本
```
# jadx(彻底,单线程)
APKS_DIR=apks OUT_DIR=decompiled ./decompile_all.sh
# dex2jar + procyon(快速,并行)
./decompile_fast.sh
```
## 工作流程
```
1. Fetch python3 h1-asset-fetcher.py -u user -t token --scope android
2. Download python3 apk_downloader.py -i output/android/packages.txt -o apks/
3. Decompile ./decompile_all.sh
4. Audit your scanner / manual review
```
## 许可证
[MIT](LICENSE)
## 作者
0xbartita
### `apk_downloader.py` — APK 批量下载器
使用 [apkeep](https://github.com/EFForg/apkeep) 下载 APK。
```
python3 apk_downloader.py -i output/android/packages.txt -o apks/ -w 4
python3 apk_downloader.py -i output/android/packages.txt -o apks/ --source apk-pure
```
### `apk_browser_downloader.py` — 基于浏览器的下载器
无头 Chromium 下载器,可绕过 Cloudflare。作为 apkeep 下载失败时的备用方案。
```
pip install playwright && playwright install chromium
python3 apk_browser_downloader.py -i failed_packages.txt -o apks/
```
### `revengi_downloader.py` — Telegram Bot 下载器
通过 Telegram 上的 [@RevEngiBot](https://t.me/RevEngiBot) 下载 APK。
```
export TELEGRAM_API_ID=your_api_id
export TELEGRAM_API_HASH=your_api_hash
python3 revengi_downloader.py -i failed_packages.txt -o apks/
```
### 反编译脚本
```
# jadx(彻底,单线程)
APKS_DIR=apks OUT_DIR=decompiled ./decompile_all.sh
# dex2jar + procyon(快速,并行)
./decompile_fast.sh
```
## 工作流程
```
1. Fetch python3 h1-asset-fetcher.py -u user -t token --scope android
2. Download python3 apk_downloader.py -i output/android/packages.txt -o apks/
3. Decompile ./decompile_all.sh
4. Audit your scanner / manual review
```
## 许可证
[MIT](LICENSE)
## 作者
0xbartita标签:apkeep, apktool, APK反编译, APP安全评估, Bug Bounty, dex2jar, EXE分析, HackerOne, iOS逆向, IPA反编译, jadx, procyon, Python, 云资产清单, 可自定义解析器, 安全测试, 安卓逆向, 实时处理, 应用安全, 批量下载, 攻击性安全, 无后门, 特征检测, 白帽黑客, 移动应用安全, 网络安全, 自动化安全工具, 资产信息收集, 逆向工具, 逆向工程, 隐私保护