首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
REA APK 静态分析指南:不装 Android SDK 直接反编译方法体
📅 2026/10/18 4:43:08
✍️ 爱科研究院
👁 阅读 3,247
REA APK 静态分析指南不装 Android SDK 直接反编译方法体【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea拿到一个陌生 APK你还没写第一行评审结论就需要先确认它申请了哪些权限、入口 Activity 到底在做什么。REAReverse Engineer Anythingnpm 包rea-agents6.5.0的 APK 静态分析在本地完成它包装一个未修改的 headless JADX 引擎把查清单、搜类、反编译方法、追引用封装成 CLI 与 MCP 两条入口共用的工作流全程不执行 APK、不写回原始文件每个结果附带可审计的 Evidence。不装 SDK 先读 APK 权限清单场景固定一个几 MB 到上百 MB 的 APK目标机器上没有 Android SDK、没有模拟器只有终端。传统做法是装 jadx-gui 点选目标再复制结果流程零散且结果无法被脚本稳定消费REA 把这一步压成rea inspect-android-package一条命令输出解码后的 manifest XML、声明摘要、权限列表与类/资源数量签名验证显式标记not_performed。放好 JAR 与 JDK拿到首次反编译结果第一步放置引擎 JAR 与完整 JDK。REA 不安装 Java也不替你下载 JARREA_JADX_MCP_JAR必须指向未修改的jadx-headless-mcp 0.7.1fat JAR 绝对路径JDK 17 必须是完整的——单独的 JRE 不行REA 以源码模式对 JAR 编译打包的元数据桥接缺jdk.compiler模块会直接报配置失败。export REA_JADX_MCP_JAR/absolute/path/jadx-headless-mcp-0.7.1-all.jar # 必填绝对路径 export JAVA_HOME/absolute/path/existing-jdk # 可选缺省用 PATH 上的 java export REA_JADX_HEAP_MIB8192 # 可选堆上限MiB大 APK 用 export REA_JADX_ACTIVE_PROCESSOR_COUNT4 # 可选可见处理器数两个 JVM 调优项都必须是正安全整数处理器数还须落在 32 位有符号范围内否则在配置阶段就被拒绝。第二步一条命令验证环境。先做这步因为它是确认环境缺什么最便宜的手段rea inspect-android-package会先执行就绪检查只读所选 JAR 的 ZIP 目录确认桥接类与 Java 编译器模块不加载 APK、不执行引擎代码。rea inspect-android-package /path/Example.apk命令正常返回后你拿到的就是解码 manifest、权限与类/资源统计。Linux 上另有一个前提REA 拥有引擎子进程的所有权PATH上需要 procps 兼容的ps。第三步从类名走到方法体。类名搜索是大小写敏感的子串匹配消费所有分页并校验计数传空查询则盘点 APK 中全部类名。rea search-android-classes /path/Example.apk MainActivity rea inspect-android-class /path/Example.apk example.MainActivityinspect-android-class直接读解析后的元数据返回完整显示类型、字段与内部类名不生成源码用它确认同名重载的索引和 DEX 描述符再去反编译指定方法。按要解决的问题选命令你要做什么命令/入口关键参数与陷阱查清单与权限rea inspect-android-package apk仅path参数签名验证固定not_performed定位目标类rea search-android-classes apk 名称大小写敏感子串空查询盘点全部类名重复名经duplicate_names上报读类成员清单rea inspect-android-class apk 类名不生成源码可能出现代码生成隐藏的 synthetic 成员读方法体rea inspect-android-method apk 类名 方法--overload-index从 0 开始重名方法必填追引用关系rea trace-android-references apk 类名--method-name收敛到单个方法total计的是包含节点数不是 invoke 指令数两个反直觉行为值得展开。其一重载歧义会被直接拒绝原因在于引擎的方法引用操作无法区分同名重载引擎的 smali 回退还会把同名重载合并如果默认取第一个匹配函数体就会被归因到错误实现上。实际行为是 REA 拒绝模糊请求你先用inspect-android-class选定--overload-index反编译到的才是指定那个实现。其二帧超限报错误而截断如果返回残缺清单当完整结果后续分析会被误导实际行为是协议帧超过 8 MiB或单操作 stdout/stderr 合计超 32 MiB直接给出失败诊断manifest 与方法文本超 1 MiB 预算则显式报告截断。MCP 工具与 CLI 命令一一映射npx rea-agents setup完成注册后五个 MCP 工具与 CLI 命令共用同一组参数命名Agent 与 CI 脚本看到的调用面完全一致MCP 工具对应 CLI 命令inspect_android_packageinspect-android-packagesearch_android_classessearch-android-classesinspect_android_classinspect-android-classinspect_android_methodinspect-android-method支持overload_indextrace_android_referencestrace-android-referencesAgent 侧就是一次普通工具调用参数名与 CLI 选项一一对应{ name: inspect_android_method, arguments: { path: /path/Example.apk, class_name: example.MainActivity, method_name: select, overload_index: 1 } }结论可回溯原样引擎、摘要校验与证据链REA 用 Provider 适配层包装 commit 锁定5844800a且未修改的jadx-headless-mcp 0.7.1协议、会话与传输适配集中在 src/android/引擎源码以 Git 子模块保留在third_party/jadx-headless-mcp。每次请求的 Evidence 保留四样东西原始请求、APK 的 SHA-256、实际引擎 JAR 的 SHA-256钉死值6e5eacf500b64292bfb73c49797c1958f6ee44646e43e868039ae7feb573ff75与原始响应JAR 字节与审计版本不符时source revision 字段保持为空而不是冒充。会话复用同理先比对 APK/JAR 摘要与 JVM 配置匹配才复用已加载引擎输入变化即淘汰旧会话一次性 CLI 命令返回前总会等待清理完成且 REA 永不写入原始 APK、永不启动目标代码。不做的事不执行 APK不采集 Android 运行时行为不处理 split APK/AAB.aab后缀不被当作独立 APK不做 APK 签名验证manifest 摘要字段来自上游引擎需核对保留的 XML不分析 native 库也不给完整资源表语义无函数体的 native/abstract 方法只报body_status: not_available不做推断硬数值与最短验证脚本项目数值触达后行为会话闲置清理60 秒超时、失败、断连均触发清理操作执行时限120 秒到达队列头部后开始计时上游反编译时限90 秒JADX 引擎侧限制manifest/方法文本1 MiB超预算显式报告截断协议帧上限8 MiB直接失败不返回残缺数据单操作 stdout/stderr32 MiB合计超限直接失败官方验证 lane 以公开的 Appium ApiDemos APK 为样本下载脚本校验固定 SHA-256 且拒绝覆盖摘要不符的已有文件全程无需 Gradle、模拟器或 Android SDKnpm 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两个高频问题分析需要联网吗不需要JAR 自行提供分析全程本地完成、不上传任何文件只有上面的验证 lane 会下载 fixture。支持哪些平台Linux 与 macOS 开箱即用Windows 仅限 x64 且需使用带 bundled native controls 的当前 REA 包arm64 在边界之外。完整契约、字段语义与上游溯源记录见 docs/android-analysis.md适配层实现见 src/android/。【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/18 4:43:08
Lightpanda 无头浏览器:100 页 5 秒跑完,内存仅为 Chrome 的 1/16
2026/10/18 4:43:08
OpenHarmony上React Native视频播放列表的桥接实现
2026/10/18 4:43:08
QRFR:用随机森林叶子节点y值分布生成预测区间
2026/10/18 10:43:59
基于1D-CNN的工业设备故障诊断:从振动信号到可运行工程实战
2026/10/18 10:43:59
齿轮振动边频带解析与STFT时频分析:MATLAB实现与诊断
2026/10/18 10:43:59
Learn-Claude-Code 笔记:从 Agent Loop 到 Tools 执行链路拆解与 TaoToken 接入
2026/10/18 10:43:59
AI编程教学的核心不是教代码,而是教提问与协作
2026/10/18 10:43:59
RIS辅助多用户MIMO的MATLAB仿真:无源波束成形与优化算法解析
2026/10/18 10:38:59
基于Spring Boot的助农扶贫微信小程序毕业设计全解析
2026/10/18 0:02:43
OpenResearch实战:Claude Code、Codex、OpenCode、Cursor 工作流搭建与故障排查
2026/10/18 0:02:43
知识管理核弹:用Obsidian构建第二大脑的工程化方案(TaoToken 统一 Key 接入版)
2026/10/18 0:02:43
金融AI落地指南:从调研报告到技术选型与工程实践
2026/10/18 0:02:43
OpenResearch实战:Claude Code、Codex、OpenCode、Cursor 工作流搭建与故障排查
2026/10/18 0:02:43
知识管理核弹:用Obsidian构建第二大脑的工程化方案(TaoToken 统一 Key 接入版)
2026/10/18 0:02:43
金融AI落地指南:从调研报告到技术选型与工程实践
2026/10/17 10:15:50
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/16 18:46:48
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/16 18:46:46
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)