用途:对 Android 应用做静态逆向与 API 梳理。先静态分诊,不直接上 Frida 或抓包。
主要能力:jadx 覆盖 Android 广、保留资源;Fernflower/Vineflower 对复杂 Java 代码输出质量更好;支持 APK、XAPK、JAR、AAR,XAPK 自动解包并逐个反编译 split APK,识别 base.apk 包装壳。提供结构分析(AndroidManifest、包结构、MVP/MVVM/Clean 判断)、调用流跟踪(Application.onCreate → ViewModel → Repository → API)、API 端点提取与文档模板,以及 JNI/.so 分析(rizin、readelf、nm、objdump)。
使用方式:先跑依赖检查 bash skills/android-reverse-engineering/scripts/check-deps.sh(Windows 用 check-deps.ps1),缺依赖用 install-dep 脚本安装;再执行 decompile.sh [OPTIONS] <file>,可选 -o、--deobf、--no-res、--engine jadx|fernflower|both;搜索 API 用 find-api-calls.sh <output>/sources/,可用 --retrofit、--urls、--auth。要求 Java JDK 17+ 与 jadx,Fernflower、dex2jar、rizin 为可选推荐。
限制:仅在静态分析不足或用户明确要求时才做动态分析;.so 存在控制流平坦化等混淆时不宜用 IDA,改用 Frida;需要签名、密文、令牌等运行时值时静态分析无法给出。面向 Frida/JNI/unidbg 时首轮 jadx 不要加 --deobf。最低收费、价格、平台支持等资料暂未提供。建议仅用于合法授权场景。