0xbartita/h1-asset-fetcher

GitHub: 0xbartita/h1-asset-fetcher

一款针对HackerOne漏洞赏金计划的自动化资产获取与反编译工具,旨在帮助安全研究人员批量拉取、下载并逆向移动应用和可执行文件。

Stars: 16 | Forks: 6

# H1 Asset Fetcher

Python 3.8+ MIT License Platform

自动化工具包,用于从 [HackerOne](https://hackerone.com) 漏洞赏金计划中获取、下载和反编译移动应用资产。支持 **Android**、**iOS** 和 **Executable** 范围。 专为希望大规模审计移动应用的漏洞赏金猎人而构建。 ## 功能 - 获取 **Android** (Play Store / APK)、**iOS** (App Store / TestFlight / IPA) 和 **Executable** 资产 - 按计划类型筛选:私有 BBP、公开 BBP、VDP 或全部 - 有条理的输出:`output//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 ``` image ### `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 ``` image ### `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 ``` image ## 工作流程 ``` 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, 云资产清单, 可自定义解析器, 安全测试, 安卓逆向, 实时处理, 应用安全, 批量下载, 攻击性安全, 无后门, 特征检测, 白帽黑客, 移动应用安全, 网络安全, 自动化安全工具, 资产信息收集, 逆向工具, 逆向工程, 隐私保护