
android-reverse-engineering-skill完整实战逆向一个真实电商App的全过程记录【免费下载链接】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它就能自动完成反编译、R8 混淆破解、Kotlin 类名恢复、HTTP API 提取与调用链追踪最终产出结构化的接口文档。本文以一个真实的电商 App 为案例完整记录从拿到安装包到提取出全部后端接口的全过程零基础也能照着走。一、这个工具能做什么很多人第一次接触安卓逆向时最头疼的三件事反编译报错、类名全变成a.b.c、接口散落找不到。这个 skill 正是针对这三个痛点设计的它内置了一套 Phase 0–5 的标准工作流能力解决什么问题 指纹识别Phase 0反编译前 30 秒判断 App 技术栈避免对 Flutter/RN 应用做无用功⚙️ 一键反编译支持 APK / XAPK / JAR / AARjadx 与 Fernflower 双引擎可对比 Kotlin 类名恢复从 R8 无法剥离的 Kotlin 元数据中还原真实类名 API 提取覆盖 Retrofit、OkHttp、Volley以及现代的 Ktor、Apollo、Koin 调用链追踪从界面按钮一直追到最终的 HTTP 请求核心工作流定义在 SKILL.md所有自动化脚本都放在 scripts/ 目录下。二、准备工作30秒完成依赖检查 ✅正式开工前先确认环境。整个逆向流程只需要两样必装依赖Java JDK 17和jadx 反编译器。skill 提供了自动检查与安装脚本不用手动折腾依赖检查check-deps.sh缺啥装啥install-dep.sh自动识别操作系统和包管理器尽量免 sudo 安装到用户目录# 一键检查缺依赖会输出 INSTALL_REQUIRED 提示 bash scripts/check-deps.sh # 一键安装缺失组件 bash scripts/install-dep.sh jadxWindows 用户也有对应的 PowerShell 版本check-deps.ps1、install-dep.ps1。详细的各平台安装说明见 setup-guide.md。新手提示可选安装的 Vineflower 和 dex2jar 能显著提升复杂 Java 代码的反编译质量建议一并装好。三、Phase 0指纹识别——先判断能不能逆这是整套流程中最容易被忽略、却最省时间的一步。直接反编译一个 Flutter 或 React Native 应用你得到的一堆 Java 代码基本是空壳——真正的逻辑在 Dart/JS 里。电商App案例中我们先运行指纹脚本bash scripts/fingerprint.sh shop-app.apk脚本在一屏之内输出关键情报实现见 fingerprint.sh检测项本案例结果移动框架Native Kotlin依据kotlin_module标记判定HTTP 技术栈Retrofit OkHttpDEX 字符串扫描混淆也能识别混淆程度高大量单字母根包名第三方 SDKFirebase、支付 SDK、AppsFlyer 等原生库汇总了 base APK 与所有 split 包中的.so文件判定结果是原生 Kotlin 重度混淆可以放心进入 jadx 反编译路线同时预告了后面必须做Kotlin 类名恢复这一步。四、Phase 2反编译APK——双引擎策略 ⚙️准备好后反编译只需一条命令。既可以在 Claude Code 中直接用斜杠命令定义见 decompile.md/decompile shop-app.apk也可以手动运行反编译脚本decompile.shbash scripts/decompile.sh --deobf shop-app.apk脚本对 APK、XAPK、JAR、AAR 通吃还能自动处理两个坑XAPK 格式自动解包并逐个反编译内部的 base split APKBundle 包装壳自动检测外层壳 APK转向反编译真正的base.apk。引擎怎么选官方给出的策略表很实用场景推荐引擎任何 APK 的第一轮反编译jadx最快支持资源JAR/AAR 库分析FernflowerJava 输出质量更高jadx 输出有警告或烂代码both双引擎对比择优大型 APK 快速摸底jadx --no-res跳过资源提速本案例第一轮用 jadx 全量反编译对警告较多的类再用--engine both对比 Fernflower 输出。完整的命令行参数参考在 jadx-usage.md 和 fernflower-usage.md。五、Phase 3读结构——Manifest 和 BuildConfig 是宝藏️反编译输出分resources/资源和sources/源码两棵目录树。分析结构时优先看三样东西AndroidManifest.xml找到主启动 Activity、所有组件声明重点标记INTERNET权限包结构寻找api、network、data、repository这类命名包——API 调用几乎都住在这里所有 BuildConfig.java它们几乎从不被混淆却经常泄露最高价值的常量——基础 URL、构建渠道、甚至第三方 API Key。本案例正是在BuildConfig里直接拿到了BASE_URL省去了大量搜索。顺便识别架构模式看到ViewModel即 MVVM看到domain/data/presentation分层即 Clean Architecture这决定了下一步去哪找网络调用。六、Phase 3.5破解 R8 混淆——把 a.b.c 变回真名 现代电商 App 几乎都经过 R8 混淆反编译出来的类名一片a.b.c.d没法读。但 R8 有个死穴它能改 JVM 符号名却剥离不掉 Kotlin 元数据字符串——因为 Kotlin 运行时反射、协程、data class在运行时依赖这些原始全限定名。skill 的恢复脚本正是挖掘DebugMetadata和Metadata.d2注解重建混淆名 → 真实名映射# 1. 从反编译源码构建映射表 bash scripts/recover-kotlin-names.sh output/sources/ output/names/ # 2. 查询把混淆名解析为真名 bash scripts/lookup-name.sh output/names/ -o a.b.c在真实的 Kotlin 电商 App 上实测可以恢复约100% 的*Repository/*ViewModel/*UseCase类和约 80% 的 DTO——这些正是分析接口时最想读的部分。本案例中c.a.b被解析回com.shop.feature.product.ProductRepositoryImpl整个商品模块的阅读体验瞬间从天书变成正常代码。完整原理与局限见 kotlin-name-recovery.md查询工具是 lookup-name.sh。七、Phase 4追踪调用链——从点击按钮到发出请求 有了真名就能顺着执行路径走完整条链路。典型的 Android 调用链是这样的Activity.onCreate() → 点击监听 → ViewModel → Repository → API接口 → HTTP请求追踪技巧详见 call-flow-analysis.md从Application.onCreate()入手HTTP 客户端、Base URL、DI 框架通常在这里初始化混淆代码用字符串当锚点Retrofit 注解和 URL 字符串永远不会被混淆是天然的地标DI 绑定点如果是 Hilt/Dagger 项目查Module类即可知道接口对应哪个实现。本案例追踪登录流程的结果LoginActivity → LoginViewModel → UserRepository → ApiService.login()一条链 5 跳清晰完整。八、Phase 5全量提取API并产出两级文档 最后一步运行 API 扫描脚本做全面撒网find-api-calls.sh# 默认全栈扫描也可用 --retrofit / --urls / --auth / --paths 定向搜索 bash scripts/find-api-calls.sh output/sources/各技术栈的搜索模式Retrofit 注解、OkHttp 拦截器、Ktor 调用、GraphQL 等都沉淀在 api-extraction-patterns.md 中。关键经验文档分两级写别贪多。Tier 1 — 全量接口清单必做一张表覆盖所有端点HostMethodPathAuth来源文件api.shop.examplePOST/v1/auth/login无AuthApiapi.shop.exampleGET/v1/products/{id}BearerProductApiapi.shop.examplePOST/v1/checkout/orderBearer HMAC签名OrderApiTier 2 — 重点端点深挖只做 10 个以内登录/刷新令牌等完整鉴权流程、支付下单接口、以及扫描中发现的异常点本案例就在下单接口发现了自定义HMAC 请求签名属于高价值发现。三级文档加一张调用链图就是一份可以直接拿去做接口联调或安全评审的交付物。九、实战结果与合规提醒 回看整个流程这个 skill 的价值在于把逆向工作流标准化 脚本化了阶段耗时产出Phase 0 指纹~1 分钟技术栈判定、下一步建议Phase 2 反编译数分钟完整 Java 源码 资源Phase 3.5 类名恢复数分钟混淆→真实类名映射表Phase 4-5 追踪提取30 分钟左右接口清单 调用链文档最后必须强调本工具仅用于合法目的——安全研究、授权渗透测试、兼容性分析、恶意软件分析和学习。未经授权的逆向分析可能违反你所在地区的知识产权与计算机安全法律使用责任由使用者自行承担完整声明见 README.md 的 Disclaimer 部分许可证为 LICENSE Apache 2.0。附核心文件路径速查 文件作用SKILL.mdPhase 0–5 核心工作流定义decompile.md/decompile斜杠命令fingerprint.shPhase 0 指纹识别decompile.sh反编译封装jadx/Fernflower/双引擎recover-kotlin-names.shR8 混淆下的 Kotlin 类名恢复find-api-calls.sh全栈 API 端点扫描third_party_hosts.txt第三方主机识别名单区分自家/第三方接口掌握这套指纹 → 反编译 → 恢复 → 追踪 → 提取五步法任何原生 Android 电商、社交、金融类 App 的接口结构都能在一个小时内摸清。【免费下载链接】android-reverse-engineering-skillClaude Code skill to support Android apps reverse engineering项目地址: https://gitcode.com/GitHub_Trending/an/android-reverse-engineering-skill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考