新闻详情

新闻详情

首页 / 资讯中心 / 详情

Android APK逆向工程 scripts 目录全解读:从check-deps到find-api-calls的7个脚本职责分工

发布时间:2026/9/17 22:32:26来源:尧图网络
Android APK逆向工程 scripts 目录全解读:从check-deps到find-api-calls的7个脚本职责分工
Android APK逆向工程 scripts 目录全解读从check-deps到find-api-calls的7个脚本职责分工【免费下载链接】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 逆向工程技能插件它的核心是一套开箱即用的 Shell 脚本。scripts/ 目录下的 7 个脚本覆盖了「依赖检查 → 指纹分诊 → 反编译 → 混淆名恢复 → API 接口提取」的完整流程新手无需自己拼命令行照流程走就能完成一次规范的 APK 反编译分析。本文为你逐一拆解每个脚本的职责分工与使用场景。️ 先览全局7 个脚本在逆向流水线中的分工整个逆向工作流分为 Phase 0–5详见 SKILL.md7 个脚本各司其职、首尾衔接顺序脚本所属阶段一句话职责1fingerprint.shPhase 0反编译前先给 APK「拍片」判断框架类型和混淆程度2check-deps.shPhase 1检查 Java、jadx 等反编译依赖是否齐备3install-dep.shPhase 1自动安装缺失的依赖工具4decompile.shPhase 2双引擎反编译 APK/XAPK/JAR/AAR 的核心5recover-kotlin-names.shPhase 3.5从 R8 混淆代码中恢复 Kotlin 类名6lookup-name.shPhase 3.5查询「混淆名 → 真实名」映射7find-api-calls.shPhase 5扫描并提取 HTTP API 端点与密钥 记住一个原则先分诊fingerprint再装环境check/install-dep然后反编译decompile按需恢复类名recover/lookup-name最后提接口find-api-calls。 指纹分诊最快方法fingerprint.sh 先跑少走弯路fingerprint.sh 是整个流程中最该先运行的脚本。它不解压反编译而是快速读取 APK/XAPK 的内部结构一屏输出移动框架判定Flutter / React Native / Cordova / Xamarin / 原生 Kotlin并给出判定依据如检测到libflutter.so技术栈线索Retrofit、OkHttp、Ktor、Hilt、Koin、Gson 等通过 DEX 字符串扫描即使类名被混淆也能识别混淆程度评级低 / 中 / 高第三方 SDK 清单AppsFlyer、Sentry、Firebase、Stripe 等下一步建议例如 Flutter 应用会直接提示「Java 反编译基本无用请改用 Dart 专用工具」这一步的价值在于避免无效劳动——对 Flutter/RN 应用硬跑 Java 反编译是徒劳的。 一键安装步骤check-deps.sh 与 install-dep.sh 配合使用check-deps.sh 是反编译前的「体检脚本」它会校验Java 17和jadx两个必需项缺失则退出码为 1顺带探测 Vineflower、dex2jar、apktool、adb 等可选项输出机器可读的INSTALL_REQUIRED:依赖名行方便自动化工具解析发现缺失后用 install-dep.sh 一条命令安装支持 java、jadx、vineflower、dex2jar、apktool、adb 六种依赖。它会自动识别操作系统和包管理器brew/apt/dnf/pacman优先免 sudo 安装到用户目录装不上时打印手动命令。详细的手动安装路径见 setup-guide.md。# 体检 补装示例 bash scripts/check-deps.sh bash scripts/install-dep.sh jadx⚙️ APK反编译最快配置方法decompile.sh 双引擎核心decompile.sh 是 7 个脚本中逻辑最重的一个承担 Phase 2 的反编译任务亮点包括双引擎切换--engine jadx默认快、可解资源、--engine fernflower复杂 Java 输出质量更好、--engine both双引擎并排输出并生成文件数对比XAPK 自动拆解自动解压商店分发包识别内部所有 APK 逐个反编译Bundle 包探测识别「外层是空壳、真代码在 base.apk」的分裂包结构自动重新反编译内层 APK容错设计jadx 部分失败但仍产出源码时按「部分成功」处理Fernflower 带 900 秒超时保护APK 走 Fernflower 时自动调用 dex2jar 做中间转换常用选项-o指定输出目录、--deobf开启去混淆、--no-res跳过资源加快速度。 对抗R8混淆recover-kotlin-names.sh 恢复Kotlin类名被 R8 混淆后的 Kotlin 应用反编译出来全是a.b.c这样的无名类。recover-kotlin-names.sh 利用了一个关键事实R8 能改 JVM 符号名却删不掉 Kotlin 运行时必需的元数据字符串DebugMetadata/Metadata注解里藏着原始全限定类名。脚本扫描全部反编译源码挖掘出「混淆名 → 真实名」映射输出mapping.tsv、mapping.json和按包分组的清单。实测通常可恢复 30%–50% 的类而你真正想读的*Repository/*ViewModel/*UseCase/*Impl类恢复率接近 100%。配套的 lookup-name.sh 负责查询这份映射可按真实名子串搜索、按混淆名反查还支持--grep模式——在源码里搜索时自动为每行命中附上真实类名注释让阅读混淆代码不再抓瞎。完整原理见 kotlin-name-recovery.md。 API端点提取利器find-api-calls.sh 全栈扫描find-api-calls.sh 负责 Phase 5 的接口提取一次扫描覆盖 5 大 HTTP 框架Retrofit、OkHttp、Ktor、ApolloGraphQL、Volley外加硬编码 URL、认证令牌和 HMAC 请求签名模式。几个值得称道的设计单遍汇总统计全量模式先给出一屏计数摘要各框架命中数再输出明细不用面对满屏 grep 结果摸不着头脑--paths抗混淆模式专门提取「长得像端点」的路径字符串字面量——R8 内联调用点也改不掉字符串这是强混淆应用下提取 API 的有效手段域名白/黑名单分桶借助 third_party_hosts.txt 拒绝列表把「疑似自有域名」和「Firebase、AppsFlyer 等第三方域名」分开输出高频排序直达重点定向开关--retrofit/--urls/--auth等参数可只查某一类输出统一的文件:行号:内容格式便于跳转定位 组合使用一条标准APK逆向分析流水线把 7 个脚本串起来就是一条完整的标准流水线fingerprint.sh app.apk—— 确认是原生 Kotlin 应用混淆程度「中」check-deps.sh→ 缺啥用install-dep.sh 名补上decompile.sh --deobf app.apk—— 产出可读源码recover-kotlin-names.shlookup-name.sh—— 找回关键业务类名find-api-calls.sh output/sources/—— 提取全部 API 端点整理成接口文档⚠️ 使用提示本工具仅适用于安全研究、授权渗透测试、恶意软件分析等合法场景请确保你的分析对象已获得合法授权。 总结你的需求该用哪个脚本不确定 APK 是什么框架fingerprint.sh反编译报「命令找不到」check-deps.sh install-dep.sh把 APK 变成 Java 源码decompile.sh代码全是 a.b.c 看不懂recover-kotlin-names.sh lookup-name.sh想知道 App 调了哪些接口find-api-calls.sh7 个脚本、零配置门槛从体检到交付一气呵成——这正是该技能插件把繁琐的逆向工程标准化、脚本化的最大价值所在。【免费下载链接】android-reverse-engineering-skillClaude Code skill to support Android apps reverse engineering项目地址: https://gitcode.com/GitHub_Trending/an/android-reverse-engineering-skill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Notepad--:批量查找替换、编码转换、文件对比,3 件事搞定日常文本编辑 2026/9/17 23:05:35

Notepad--:批量查找替换、编码转换、文件对比,3 件事搞定日常文本编辑

Notepad--:批量查找替换、编码转换、文件对比,3 件事搞定日常文本编辑 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 项目地址: https://gitcode.com/GitHub_Trend…

阅读更多 →
人工智能、技术创新与新质生产力:可计算指标与Python分析管线 2026/9/17 23:05:35

人工智能、技术创新与新质生产力:可计算指标与Python分析管线

简介:围绕人工智能、技术创新与新质生产力三者关系展开的系统性研究文档,适合科技政策研究者、产业分析人员以及关注新质生产力议题的高校师生阅读。文档以1个docx文件呈现,压缩包约127KB,涵盖两条互为补充的论述主线:…

阅读更多 →
OpenMed LangChain与LlamaIndex集成:带隐私过滤的RAG管道搭建指南 2026/9/17 23:05:35

OpenMed LangChain与LlamaIndex集成:带隐私过滤的RAG管道搭建指南

OpenMed LangChain与LlamaIndex集成:带隐私过滤的RAG管道搭建指南 【免费下载链接】openmed Local-first healthcare AI: clinical NER & HIPAA PII de-identification that runs 100% on-device. 2,200 medical models, 21 languages, Apple MLX Python, no c…

阅读更多 →
DeepChat CUA macOS 分发完整性:Gatekeeper 首装失败根因与 fail-closed 签名、Mach-O 契约修复 2026/9/17 23:05:35

DeepChat CUA macOS 分发完整性:Gatekeeper 首装失败根因与 fail-closed 签名、Mach-O 契约修复

DeepChat CUA macOS 分发完整性:Gatekeeper 首装失败根因与 fail-closed 签名、Mach-O 契约修复 【免费下载链接】deepchat 🐬DeepChat - A smart assistant that connects powerful AI to your personal world 项目地址: https://gitcode.com/GitHub_Trending/de…

阅读更多 →
NVIDIA cuOpt落地AGV调度:31台车实战经验与避坑指南 2026/9/17 23:05:35

NVIDIA cuOpt落地AGV调度:31台车实战经验与避坑指南

做AGV调度的人,十个里有九个都在跟“任务排给谁、先跑哪条线、在哪个路口等谁”这三个问题较劲。我们团队在某个制造业工厂里管着30多台AGV/AMR,高峰期每天上千个搬运任务,之前靠规则加人工干预,天天被打爆。后来我们把NVIDIA cuO…

阅读更多 →
车载激光雷达测距精度、点云质量与互干扰台架试验方法 2026/9/17 23:02:35

车载激光雷达测距精度、点云质量与互干扰台架试验方法

简介:《2024 车载激光雷达性能要求及试验方法》标准征求意见稿的 PDF 文档,面向自动驾驶感知算法、车载传感器与整车测试工程师,以及需要对照标准开展验证的研发与质量团队。它整理了车载激光雷达从点云测距能力、距离精度与准度、角度精度与…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞