资讯动态

如何用android-reverse-engineering-skill分析JAR与AAR?第三方库逆向最佳实践

发布时间:2026/9/16 18:38:23 来源:尧图企业网站定制
如何用android-reverse-engineering-skill分析JAR与AAR第三方库逆向最佳实践【免费下载链接】android-reverse-engineering-skillClaude Code skill to support Android apps reverse engineering项目地址: https://gitcode.com/GitHub_Trending/an/android-reverse-engineering-skillandroid-reverse-engineering-skill是一款 Claude Code 技能插件专门用于反编译 Android 的 APK、XAPK、JAR与AAR文件并自动提取其中的 HTTP 接口——Retrofit 端点、OkHttp 调用、硬编码 URL、鉴权模式让你在没有原始源码的情况下也能完整还原第三方库的 API 结构。对于经常需要分析 Android 第三方库的开发者它把「反编译 → 结构分析 → 接口提取」变成了一套开箱即用的工作流。一、它是什么一个逆向工具箱 该技能的核心能力如下每一项都对应仓库里可直接阅读的资料能力说明相关资料反编译支持 APK / XAPK /JAR / AAR双引擎可选jadx 与 Fernflower/Vineflowerdecompile.shAPI 提取Retrofit、OkHttp、Ktor、Apollo (GraphQL)、Volley 全覆盖api-extraction-patterns.mdKotlin 名称恢复从 R8 混淆产物中找回原始类名kotlin-name-recovery.md调用链追踪从 Activity 一路追到网络请求call-flow-analysis.md整体工作流定义在 SKILL.md 中/decompile斜杠命令则封装了完整的自动化流程见 decompile.md。二、一键安装步骤环境准备1. 环境要求最低 3 项Java JDK 17必需jadx必需主反编译引擎Vineflower dex2jar强烈推荐AAR 分析质量提升明显2. 自动检测与安装依赖技能自带依赖检查脚本自动识别操作系统和包管理器无需 sudo 时安装到用户目录bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/check-deps.sh bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/install-dep.sh jadxWindows 用户有对应的 PowerShell 版本脚本 check-deps.ps1。详细的手动安装步骤见 setup-guide.md。3. 在 Claude Code 中启用git clone https://gitcode.com/GitHub_Trending/an/android-reverse-engineering-skill然后在 Claude Code 中执行/plugin marketplace add /path/to/android-reverse-engineering-skill /plugin install android-reverse-engineeringandroid-reverse-engineering-skill安装完成后一句「分析这个 AAR 库」即可触发技能。三、JAR 逆向分析三步法 ⚡JAR 是最纯粹的 Java 字节码容器也是第三方库逆向中最常见的目标。第 1 步选对引擎再反编译官方在 fernflower-usage.md 中给出的引擎选择策略很明确JAR/AAR 库分析优先使用 Fernflower因为它对复杂 lambda、泛型、stream 的还原质量更高。bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh --engine fernflower library.jar第 2 步摸清包结构反编译产物在库名-decompiled/目录下。重点关注这些「API 聚集地」包名api、network、data、repository、service、retrofit、http同时建议通读BuildConfig类——它们几乎从不混淆经常泄露 base URL、构建类型等高价值常量。第 3 步自动提取接口清单bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh 库名-decompiled/sources/默认会对所有支持的 HTTP 技术栈做全量扫描也可以用参数精准过滤--retrofit只看 Retrofit 接口定义--urls只看硬编码 URL--auth只看鉴权模式Bearer Token、HMAC 签名等每个接口的检索模式Retrofit 注解、OkHttp Request.Builder、Ktor 调用、GraphQL 操作等都整理在 api-extraction-patterns.md 中。四、AAR 逆向的独家注意点 AAR 是 Android 专属的库格式 classes.jar AndroidManifest 资源 可能多个 DEX。与 JAR 相比有三个关键点差异点JARAAR字节码格式标准 .class可能包含多个 DEX 文件引擎处理Fernflower 直接读取脚本自动通过 dex2jar 中转需安装 dex2jar附加信息无自带 Manifest可查权限与组件声明好消息是 decompile.sh 会自动识别.aar后缀并处理 dex 转换你只需照常执行bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh my-library.aar分析 AAR 时别忘了打开resources/AndroidManifest.xml里面声明的INTERNET权限、自定义 Service 和 ContentProvider往往就是第三方库行为分析的第一块拼图。五、第三方库逆向最佳实践清单 ✅1. 双引擎对比择优而用遇到 jadx 输出有告警、代码残缺的情况一条命令同时跑两个引擎对比bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh --engine both target.jar产物分别落在输出/jadx/和输出/fernflower/目录脚本末尾会给出文件数与告警数摘要——对 jadx 有告警的类优先读 Fernflower 的版本。2. 混淆库开启 --deobf Kotlin 名称恢复R8/ProGuard 混淆后的 Kotlin 库类名全是a.b.c。两个手段配合使用--deobf让 jadx 重命名混淆标识符对字段/方法有效recover-kotlin-names.sh挖掘 R8 无法剥离的 Kotlin 元数据恢复原始类名实测恢复率*Repository/*ViewModel/*UseCase类约100%DTO 约 80%。之后用 lookup-name.sh 查询混淆名与真实名的映射搜索结果会直接标注真实类名告别盲猜。3. API 文档分两层输出针对接口众多的库官方推荐「两层文档法」详见 SKILL.md Phase 5Tier 1必做一张扁平表格覆盖全部端点——Host、Method、Path、Auth、来源文件大库也只需几分钟Tier 2精选只对登录/鉴权、支付下单等高价值端点写详细文档默认不超过 10 个4. 混淆代码里找「锚点」类名被混淆也别慌Retrofit 注解和 URL 字符串永远不会被混淆。以字符串字面量和库 API 调用为锚点定位逻辑配合 call-flow-analysis.md 中的 grep 技巧调用链依然可以完整追踪。六、常用脚本速查表 脚本用途check-deps.sh检测 Java / jadx / Vineflower / dex2jarinstall-dep.sh自动安装缺失依赖decompile.sh反编译 JAR/AAR/APK/XAPK支持--engine bothfind-api-calls.sh全栈 API 端点扫描recover-kotlin-names.shR8 混淆库的 Kotlin 类名恢复lookup-name.sh查询混淆名 → 真实名映射七、写在最后用android-reverse-engineering-skill分析第三方 JAR/AAR 库的核心思路可以浓缩为一句话选对引擎库选 Fernflower、跑通全栈扫描find-api-calls、混淆就恢复Kotlin 元数据。这套流程同样适用于安全研究、互操作性分析、恶意代码排查和学习场景——请确保你的分析行为符合当地法律法规与软件许可协议。更多细节欢迎深入阅读 README.md 与 LICENSE。【免费下载链接】android-reverse-engineering-skillClaude Code skill to support Android apps reverse engineering项目地址: https://gitcode.com/GitHub_Trending/an/android-reverse-engineering-skill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价