REA JADX五工具详解:APK反编译从包声明到静态引用的完整指南
REA JADX五工具详解APK反编译从包声明到静态引用的完整指南【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/reaREA 是一款面向 Agent 的逆向工程 MCP 工具它的 JADX 能力可以让你无需安装 Android SDK、无需模拟器直接在本地对 APK 进行静态反编译分析。本文带你快速掌握 REA 提供的五个 JADX 核心工具包声明检查inspect-android-package、类搜索search-android-classes、类成员清单inspect-android-class、方法反编译inspect-android-method与静态引用追踪trace-android-references从这个 APK 是什么一路追到谁引用了这个类。 快速环境配置REA JADX 怎么装REA 本身通过一条命令接入你的 Agent底层复用开源的 jadx-headless-mcp 引擎npx rea-agents setup选择你的 Agent 并确认配置后重启即可。若要用到 Android 分析能力还需要准备两个环境变量详见 docs/android-analysis.mdREA_JADX_MCP_JAR指向 jadx-headless-mcp 0.7.1 的 JAR 文件完整 JDK 17 或更高版本含编译模块可选JAVA_HOME指定export REA_JADX_MCP_JAR/absolute/path/jadx-headless-mcp-0.7.1-all.jar export JAVA_HOME/absolute/path/existing-jdk REA 不会替你安装 Java、JADX 或 Android SDK它只驱动一个隔离的临时工作区来解析 APK全程不执行 APK、不修改原文件。 工具一inspect-android-package —— 一键查看包声明拿到一个陌生 APK第一步通常是它叫什么、要什么权限、最低支持哪个系统。这个工具一次给出全部答案rea inspect-android-package /path/Example.apk返回内容包含字段说明package_name/version_name/version_code包名与版本信息min_sdk/target_sdkSDK 版本声明permissions申请的权限列表manifest解码后的清单 XML带截断状态标记class_count/resource_count类与资源数量⚠️ 注意两点signature_verification固定为not_performed即不做签名校验清单摘要字段来自上游引擎关键结论建议与保留的原始 XML 对照确认。 工具二search-android-classes —— 全量类名搜索不知道类名全貌时用它扫盲。查询是对完整反编译类名的区分大小写子串匹配rea search-android-classes /path/Example.apk MainActivity传入空query时会盘点所有类名适合先摸清 APK 的类结构结果带total_classes与coverage: complete标记确认是分页全部读完的完整结果而非截断的片段。️ 工具三inspect-android-class —— 类成员清单锁定目标类后查看它有哪些方法、字段和内部类rea inspect-android-class /path/Example.apk example.MainActivity它只读取解析后的元数据、不生成源码所以速度很快返回方法签名、字段类型和内部类名列表。这里有两个实用细节合成成员可能出现在清单里——代码生成工具藏起来的成员同样可见overload_index在这里确定后在本次会话内保持稳定为下一步方法反编译选重载做准备。⚙️ 工具四inspect-android-method —— 方法反编译含重载选择这是最核心的工具把指定方法反编译成 Java 源码反编译失败时自动回退到 smalirea inspect-android-method /path/Example.apk example.MainActivity onCreate同名方法存在多个重载时必须显式指定重载下标REA 会拒绝含糊的请求而不是默默选第一个rea inspect-android-method /path/Example.apk example.MainActivity select --overload-index 1返回结果会诚实标注representation拿到的是java还是smalibody_statusnative/抽象方法没有可反编译方法体时显示not_available不猜测原因source完整/部分文本状态反编译源码是派生表示不等于逐字节还原。 工具五trace-android-references —— 静态引用追踪回答这个类/方法被谁引用的问题rea trace-android-references /path/Example.apk example.MainActivity # 追踪唯一的同名方法 rea trace-android-references /path/Example.apk example.MainActivity --method-name onCreate每条引用给出类型、名称和所在类。边界要清楚这是静态关系而非运行时调用源码行号与 DEX 偏移未知若方法名存在重载当前引擎不支持按重载追踪REA 会明确报不支持而不是给错结果。 五个工具的结果边界新手必读五个工具全部不执行 APK属于纯静态分析每次结果都附带证据Evidence原始请求、APK 的 SHA-256、引擎 JAR 的 SHA-256可追溯可复核超时与内存都有硬边界整个操作 120 秒、反编译上限 90 秒避免挂死需要动态行为或原生库分析时可配合 REA 的进程捕获与二进制分析能力见 docs/native-investigation.md。 相关源码与文档路径想深入实现细节可以从这些文件入手官方文档docs/android-analysis.md —— 环境要求、结果解读与真实验证流程CLI 命令注册src/cli/androidCommands.ts输入/输出契约定义src/domain/android/androidAnalysis.tsMCP 工具契约与示例src/contracts/android/androidToolContracts.tsJADX 引擎会话管理src/android/JadxSession.ts、src/android/JadxProvider.ts命令名常量表src/cliCommandNames.ts本地复现官方验证流程也很简单——下载固定校验和的公开测试 APK 后跑一条命令即可npm run fixtures:android export REA_JADX_MCP_JAR$PWD/_reference/apk-integration/jadx-headless-mcp-0.7.1-all.jar export REA_ANDROID_TEST_APK$PWD/_reference/apk-integration/ApiDemos-debug.apk npm run verify:android掌握这五个工具你就拥有了从包声明、类搜索、方法反编译到静态引用追踪的完整 APK 静态分析链路——这正是用 REA JADX 读懂一个 Android 应用的正确姿势 【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考