Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
android-reverse-engineering-skill — 反编译Android APK/XAPK/JAR/AAR文件,并使用jadx提取HTTP API、认证模式和调用流程,同时具备抗R8的Kotlin名称恢复功能,用于安全研究和渗透测试。 | Kitploit
工具/GitHubGitHub/simoneavogadro/android-reverse-engineering-skill
Android安全静态分析漏洞分析移动应用渗透测试逆向工程API安全测试信息收集渗透测试移动安全

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
二进制分析
学习与教育
GitHubsimoneavogadro/android-reverse-engineering-skill

android-reverse-engineering-skill

反编译Android APK/XAPK/JAR/AAR文件,并使用jadx提取HTTP API、认证模式和调用流程,同时具备抗R8的Kotlin名称恢复功能,用于安全研究和渗透测试。

查看仓库
6.7k737708天前Kitploit 审核通过

Android 逆向工程与 API 提取 — Claude Code 技能

License: Apache-2.0 GitHub stars GitHub last commit

一个 Claude Code 技能,可反编译 Android APK/XAPK/JAR/AAR 文件,并提取应用所使用的 HTTP API — Retrofit 端点、OkHttp 调用、硬编码 URL、认证模式 — 让你无需原始源代码即可记录并复现它们。

一流的 Kotlin 支持:现代 Android 应用多为 Kotlin/KMP,并经过 R8 的深度混淆。本技能可从 R8 无法剥离的元数据中恢复原始 Kotlin 类名,并从 Ktor、Apollo (GraphQL) 和 Koin 中提取 API — 而不仅仅是经典的 Retrofit/OkHttp 技术栈。详见下方的 Kotlin 名称恢复。

Windows / PowerShell 支持(实验性):与 bash 脚本并存的 *.ps1 脚本是近期社区贡献的成果,仍在稳定化过程中。如有任何问题,请在本仓库(而非贡献者的上游 fork)上提交 issue:PowerShell 脚本由 @SimoneAvogadro 在此维护。

目录

  • 功能简介
  • 环境要求
  • 安装
  • 使用方法
  • 仓库结构
  • 参考资料
  • 致谢
  • 免责声明
  • 许可证

功能简介

能力描述
指纹识别优先(阶段 0)在数秒内对 APK/XAPK 进行分诊 — 在投入时间进行完整反编译之前,先检测框架(Flutter / React Native / Cordova / Xamarin / 原生 Kotlin)、HTTP 技术栈、混淆程度和原生库
反编译使用 jadx 和 Fernflower/Vineflower 处理 APK、XAPK、JAR 和 AAR 文件(单引擎或并排对比)
恢复 Kotlin 名称利用 R8 无法剥离的 Kotlin 元数据,从经 R8 混淆的二进制文件中重建原始的 *Repository / *ViewModel / *UseCase 类名
提取 APIRetrofit、OkHttp、Volley 以及现代 Kotlin/KMP 技术栈:Ktor、Apollo (GraphQL)、Koin DI — 端点、硬编码 URL、认证头、令牌和 HMAC 请求签名方案
追踪调用流程从 Activity/Fragment 经由 ViewModel 和 Repository 一直追踪到 HTTP 调用
分析结构Manifest、包、架构模式
处理混淆抗 R8 的路径/URL 提取,以及导航 ProGuard/R8 输出的策略

环境要求

必需:

  • Java JDK 17+
  • jadx(CLI)

可选(推荐):

  • Vineflower 或 Fernflower — 对复杂 Java 代码有更好的输出
  • dex2jar — 在 APK/DEX 文件上使用 Fernflower 时需要

详细安装说明请参见 plugins/android-reverse-engineering/skills/android-reverse-engineering/references/setup-guide.md。

安装

从 GitHub 安装(推荐)

在 Claude Code 中运行:

/plugin marketplace add SimoneAvogadro/android-reverse-engineering-skill
/plugin install android-reverse-engineering@android-reverse-engineering-skill

该技能将在未来所有会话中永久可用。

从本地克隆安装

git clone https://github.com/SimoneAvogadro/android-reverse-engineering-skill.git

然后在 Claude Code 中:

/plugin marketplace add /path/to/android-reverse-engineering-skill
/plugin install android-reverse-engineering@android-reverse-engineering-skill

使用方法

斜杠命令

/decompile path/to/app.apk

这将运行完整工作流:依赖检查、反编译和初始结构分析。

自然语言

该技能会在以下短语出现时激活:

  • "Decompile this APK"
  • "Reverse engineer this Android app"
  • "Extract API endpoints from this app"
  • "Follow the call flow from LoginActivity"
  • "Analyze this AAR library"

手动运行脚本

这些脚本也可以独立使用:

# Check dependencies
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/check-deps.sh

# Install a missing dependency (auto-detects OS and package manager)
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/install-dep.sh jadx
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/install-dep.sh vineflower

# Fingerprint an APK/XAPK BEFORE decompiling (Phase 0 triage):
# framework, HTTP stack, obfuscation level, native libs, notable SDKs
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/fingerprint.sh app.apk

# Decompile APK with jadx (default)
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh app.apk

# Decompile XAPK (auto-extracts and decompiles each APK inside)
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh app-bundle.xapk

# Decompile with Fernflower
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh --engine fernflower library.jar

# Run both engines and compare
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh --engine both --deobf app.apk

# Find API calls — defaults to a full scan across every supported stack
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/ --retrofit
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/ --urls

# Modern Kotlin/KMP stacks and obfuscation-resistant extraction
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/ --ktor    # Ktor client
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/ --apollo  # Apollo / GraphQL
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/ --paths   # quoted path literals that survive R8 inlining

Kotlin 名称恢复(R8 反混淆)

大多数真实世界的 Kotlin/KMP 应用都经过 R8 处理,因此反编译出的类 会显示为 a.b.c。R8 会重命名 JVM 符号,但无法剥离 Kotlin 元数据字符串 — Kotlin 运行时(反射、协程)在运行时需要 原始的完全限定名。本技能会挖掘这些 @DebugMetadata / @Metadata 注解,重建 混淆名 → 真实名 的 类名映射。在典型应用上,它能恢复约 100% 你真正想阅读的 *Repository / *ViewModel / *UseCase / *Impl 类。

# 1. Build the mapping from the decompiled sources
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/recover-kotlin-names.sh output/sources/ output/names/
#    → output/names/mapping.tsv, mapping.json, by_package/

# 2. Query it: resolve an obfuscated name, search by real name, or grep
#    the sources with each hit annotated with its recovered class name
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/lookup-name.sh output/names/ LoginRepository
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/lookup-name.sh output/names/ -o a.b.c
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/lookup-name.sh output/names/ --grep 'login' output/sources/

仓库结构

下载工具