网易首页 > 网易号 > 正文 申请入驻

源码不在手边,怎么查一个已发布的构建?

0
分享至

有时候答案不在源码仓库里,而在一个已经打好的构建包里:上个月发出去的 Electron 应用、测试机上留着的 APK、某个没打 tag 的旧版本原生二进制。像"source map 到底有没有被打进去""这两个构建之间改了什么"这类问题,需要有人直接打开产物本身。


REA 全称 "reverse engineer anything"(逆向任何东西),是一个 MCP 服务器兼 CLI,给编码智能体提供干这活的工具。它的 README 把自己描述为用智能体做逆向工程,"从应用行为一直到原生二进制",并且完全在本地运行。作者把它注册进 Claude Code,作为名为rea的 MCP 服务器,同时配上它的技能文件reverse-engineer-anything。

服务器和技能是两件事

所有东西都跑在你自己的机器上,重型引擎也得你自己装。REA 分两部分,技能文件明确说了一方存在不代表另一方就位:MCP 服务器以rea-agents之名发布在 npm 上,提供工具;技能是一组指令,教智能体什么时候该用 REA、先调哪个工具、结果怎么汇报。装技能不会注册服务器,注册服务器也不会安装分析引擎。

技能里还写明了什么时候不该用 REA:对一个完整的源码仓库做常规分析,用普通的仓库工具就行。作者说这和他的经验一致——REA 是给已发布的产物和运行时行为用的,不是用来读你手上已有的代码。

安装只认官方来源

README 提醒,相似的仓库名或抄来的 README 都不能让一个下载变成官方版本,并列出三个官方来源:morluto/rea仓库、rea.tools 网站、以及rea-agentsnpm 包。运行环境要求 Node.js 22.x(22.23.4 或更高)、24.x(24.22.1 或更高)或 26.12.1 及以上。

安装流程分几步:

  • 先干跑预览:npx -y rea-agents@latest setup --client claude_code --dry-run,只打印会改动的路径、备份和要装的技能,不写任何东西。
  • 正式应用:npx rea-agents setup --client claude_code,为指定客户端注册 MCP 服务器并安装技能;不带参数运行则交互式选择客户端。
  • 检查就绪状态:npx rea-agents doctor --client claude_code --skill --json以 JSON 报告注册和技能状态。它无法证明正在运行的智能体已连上,所以装完要重启 Claude Code。
  • 或者手动注册并锁定版本:claude mcp add --scope local rea -- npx -y rea-agents@6.7.0 mcp。锁定版本意味着升级是一个决定,而不是一次意外。

作者自己的注册用的是手动形式,锁定到已安装的版本,并加了一个环境变量指向本机的 Hopper 安装路径。其他人的路径会不一样。其他引擎各有自己的变量,比如GHIDRA_INSTALL_DIR和JAVA_HOME。

引擎是自带制。原生反编译需要 Hopper、Ghidra 或 IDA;Android 分析需要一个无头 JADX MCP JAR(版本 0.7.1,通过REA_JADX_MCP_JAR指定)以及 Java 17 或更新版本;固件提取在 Linux 上用 Binwalk 或 Unblob。静态 JavaScript 和 .NET 检查完全不需要引擎,适合作为第一批目标。REA 的安装流程不会装无关软件,IDA、Hopper 这类商业工具必须由你自己持有授权。

它能分析什么

技能的第一条规则是按目标路由:先看用户给了什么,再从对应的第一个工具开始。作者心里有一张对照表,第一次调用取决于产物类型,之后一切跟着证据走。

  • 原生二进制open_binary绑定目标,然后用聚焦工具搜字符串、列过程、反编译、追踪调用方与被调用方。对 Mach-O,observe_native_calls能记录哪些函数被执行,但它会在 LLDB 下启动目标,也就是真的把程序跑起来。
  • Electron 与 JavaScriptanalyze_javascript_application读取 ASAR 或解包后的目录树,包括 source map,并构建模块图。
  • Androidinspect_android_package读取清单和包身份,随后是类搜索、方法反编译和引用追踪。APK 全程不会被启动。
  • 托管代码与固件inspect_managed_artifact在不执行的情况下检查 .NET 程序集;inspect_firmware_regionsextract_firmware处理镜像,提取结果写入你指定的新文件夹。
  • 网页与运行中的应用list_browser_targetslist_electron_targets挂到你已打开的页面上,做被动观察。

要证据,不要感觉

作者最喜欢 REA 的一点是它怎么汇报。每个工具都返回一条带 ID 的 Evidence 记录,技能要求智能体把观察到的、推断出的、以及仍然未知的三者分开。一个反编译出来的函数是对分析输出的观察,不是原始源码;静态结果永远不能证明代码真的运行过。最终答案里的每个论断都应该指回一个 Evidence ID。

面对宽泛的问题,技能要求给出一份发现台账:每条结论关联其 Evidence ID、证据类型、搜索边界以及仍未确定的部分。针对空白也有工具:record_unknown记录一个未解问题,compare_artifacts、compare_functions、find_changed_behavior这类比较工具把静态差异当作候选,而不是证据。

工作流一:我的 Electron 构建到底打进了什么

这是作者用得最多的流程。把智能体指向你自己构建的应用打包好的 ASAR,问一个范围很窄的问题,比如 source map 或调试开关有没有混进生产版本。对大应用,技能建议先要 "summary",再用返回的parent_evidence_id配合inspect_analysis_view逐页翻模块、一次读一项,不必重跑分析。

想在磁盘上留完整记录而不是塞进智能体上下文时,也可以从 shell 走。命令来自技能的恢复指南:rea analyze-javascript-application输出 JSON,用 jq 包成 summary 视图,再交给rea inspect-analysis-view查看。

工作流二:比较两个发布版本

当某个 bug 在两个版本之间出现、而 tag 又缺失时,作者把两个产物都交给智能体,问某个功能附近改了什么。对原生代码,它分别打开两个二进制,按字符串或名字找到函数并比较函数证据;对 JavaScript,它比较模块图。答案是一串带证据的候选变更,作者再通过实际运行两个构建来确认。工具缩小搜索范围,但不替代测试。

工作流三:观察我自己拥有的页面

运行时观察是被动设计:你来操作应用,REA 记录它能看到的。你先在回环地址上开调试端口启动浏览器或 Electron 应用,再把该端点传进请求。REA 列出符合条件的页面,抓取你要的内容,比如脚本、网络形态和控制台输出。它从不点击、导航或执行页面 JavaScript,并且刻意排除凭据、cookie、授权头、存储值和原始 WebSocket 或 JSON 正文。当手上同时有来自包的静态证据和来自页面的运行时证据时,reconcile_javascript_runtime会把两者对上,遇到不一致就报告,而不是猜。

只在允许的地方用

范围界定先于第一次工具调用。逆向工具是双用途的,智能体会让它更快,风险也随之抬高。REA 的 README 说它用于合法研究、教育、互操作、软件保存,以及分析你拥有或获授权检查的软件;破解副本、窃取的密钥、未授权的密钥共享和绕过授权都不被许可。作者在此基础上给自己加了几条规矩:

  • 只分析自己构建的、或有书面许可测试的软件。客户在电话里说一句"行"不算书面许可。
  • 读许可证。有些终端用户协议即使对已付费软件也禁止逆向,而且各国法律不同。
  • 运行时工作放在测试机或独立配置里。原生调用观察会真的执行目标。
  • 发现的密钥绝不粘进聊天、工单或帖子里。构建泄露了密钥就轮换并报告给所有者。
  • 锁定版本,只从官方来源安装。

在这些界线之内,REA 是作者今年为"关于构建而非源码"的问题加过的最有用的智能体工具。它把"我觉得旧版本是这么干的"变成一串带证据的论断,这种答案才能拿来行动。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
茂名某景区欠薪后现状,网友吐槽

茂名某景区欠薪后现状,网友吐槽

粤西生活圈
2026-10-28 19:14:06
7项数据联盟第一,开拓者实在太强了!杨瀚森,你确实该考虑离开

7项数据联盟第一,开拓者实在太强了!杨瀚森,你确实该考虑离开

老梁体育漫谈
2026-10-29 00:05:45
四川剑阁县觉苑寺壁画被游客手机强光照射,官方回应:情况属实,可能造成不可逆损伤,将加强现场巡查与劝阻,严格光源管控

四川剑阁县觉苑寺壁画被游客手机强光照射,官方回应:情况属实,可能造成不可逆损伤,将加强现场巡查与劝阻,严格光源管控

台州交通广播
2026-10-29 02:42:06
德媒:“搞垮我们的不是中国人,而是我们自己”

德媒:“搞垮我们的不是中国人,而是我们自己”

参考消息
2026-10-28 14:19:10
为避免在韩国市场引发争议,苹果悄悄移除当地官网iPad mini(A20 Pro)海报中的手部

为避免在韩国市场引发争议,苹果悄悄移除当地官网iPad mini(A20 Pro)海报中的手部

IT之家
2026-10-27 18:27:17
扎克伯格把合伙人30%股份稀释到0.03%,展现资本世界的残酷

扎克伯格把合伙人30%股份稀释到0.03%,展现资本世界的残酷

三农老历
2026-10-28 02:45:29
意媒:尽管姆巴佩已道歉,但中国球迷仍选择焚烧其球衣

意媒:尽管姆巴佩已道歉,但中国球迷仍选择焚烧其球衣

懂球帝
2026-10-29 00:11:13
申京缺战阿门23分,杜兰特划水18+5+4+3封盖,火箭大胜雄鹿5连胜

申京缺战阿门23分,杜兰特划水18+5+4+3封盖,火箭大胜雄鹿5连胜

钉钉陌上花开
2026-10-29 10:25:36
NBA:骑士又赢了,被逆转多了学会逆转 哈登先抑后扬打脸黑子

NBA:骑士又赢了,被逆转多了学会逆转 哈登先抑后扬打脸黑子

南海浪花
2026-10-29 09:49:26
你吃的烤肠、肉丸可能是用鸡脖子做的!河南多家工厂被曝用鸡脖泥做馅料,撒尿牛丸“牛肉味纯靠牛肉膏”!厂家提醒:馅类的产品,少吃

你吃的烤肠、肉丸可能是用鸡脖子做的!河南多家工厂被曝用鸡脖泥做馅料,撒尿牛丸“牛肉味纯靠牛肉膏”!厂家提醒:馅类的产品,少吃

大风新闻
2026-10-28 10:50:03
美国情况不对劲,中期选举仅剩下几天,特朗普支持率突然上涨?

美国情况不对劲,中期选举仅剩下几天,特朗普支持率突然上涨?

触摸史迹
2026-10-29 00:44:14
名记:皇马内部不理解姆巴佩发声明为何不通过俱乐部,俱乐部认为处理类似事情更有经验

名记:皇马内部不理解姆巴佩发声明为何不通过俱乐部,俱乐部认为处理类似事情更有经验

尘语者
2026-10-28 17:07:59
李想打出今年最后一张王牌!新i6限时23.98万开卖,APP都被挤崩了……

李想打出今年最后一张王牌!新i6限时23.98万开卖,APP都被挤崩了……

车东西
2026-10-28 22:23:49
林彪叛逃后周总理质问黄永胜:你和叶群到底是什么关系?

林彪叛逃后周总理质问黄永胜:你和叶群到底是什么关系?

旧闻档案馆
2026-10-28 19:45:10
太缺德了!女生相亲遇见条件优质男生,送上迪奥礼盒,男生感动落泪,评论区“女拳”一句话劝退楼主,网友调侃:差点让你过上好日子了

太缺德了!女生相亲遇见条件优质男生,送上迪奥礼盒,男生感动落泪,评论区“女拳”一句话劝退楼主,网友调侃:差点让你过上好日子了

火山詩话
2026-10-28 07:47:41
2026养老金调整,有好消息,3000元以下退休族或成最大赢家

2026养老金调整,有好消息,3000元以下退休族或成最大赢家

福建睿平
2026-10-29 07:19:41
道歉来了,转播没了!皇马被国内平台除名,这次道歉救不了它

道歉来了,转播没了!皇马被国内平台除名,这次道歉救不了它

绿茵舞着
2026-10-28 21:25:25
iOS“史诗级更新”上热搜!网友:终于解脱了

iOS“史诗级更新”上热搜!网友:终于解脱了

沈阳公交网小林
2026-10-28 02:08:40
双塔伤停火箭仍取五连胜!范乔丹罕见24+6 阿门23+4杜兰特18分

双塔伤停火箭仍取五连胜!范乔丹罕见24+6 阿门23+4杜兰特18分

颜小白的篮球梦
2026-10-29 10:28:44
张天爱直播回应马甲线消失的原因,让人心疼,还承诺马甲线会回来

张天爱直播回应马甲线消失的原因,让人心疼,还承诺马甲线会回来

观鱼听雨
2026-10-28 23:44:25
2026-10-29 11:03:00
报错免疫体
报错免疫体
一名在需求评审和数据异常中反复横跳的产品运营。
190文章数 85关注度
往期回顾 全部

科技要闻

MacBook终于能触屏了:22999元起

头条要闻

牛弹琴:西班牙高铁事故以荒诞方式发生 让人后背发凉

头条要闻

牛弹琴:西班牙高铁事故以荒诞方式发生 让人后背发凉

体育要闻

湖人只有一个卢卡·开拓者的四大金刚

娱乐要闻

李嘉格自曝离婚内情:过错方净身出户

财经要闻

“对不起,我们不投具身智能了”

汽车要闻

首销期权益价23.98万起 2026款理想i6上市

态度原创

手机
本地
艺术
公开课
军事航空

手机要闻

1TB塞进口袋!三星T7/T9存储卡让旅拍不删片

本地新闻

十月奔赴迪庆,解锁梅里日照金山

艺术要闻

23张人性与爱的照片,第1张就让人破防了……

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

万斯致信伊朗安全高官试图重启谈判

无障碍浏览 进入关怀版