Gemini 4 Argon 使用 REA 分析 Rstudio,实现简体中文支持

本文的所有内容都可以简化为:向AI说:帮我安装REA,然后NXxxx。

本文的NX即:ni-xiang。

Rstudio一直以来只有英语和法语2个语言选项,虽然我英语已经用习惯了。但最近看到REA比较火,就想着NX一下给它增加一个中文的选项玩玩。

一、什么是NX

软件NX工程(Software Reverse Engineering)是指在没有源代码的情况下,从已经编译好的可执行程序(如 .exe、.apk、.so 等二进制文件)出发,通过反汇编、反编译、动态调试等技术手段,反向推导出软件的运行逻辑、核心算法、数据结构或通信协议的过程。

这两天 PHP 和 Java 也出了超严重的漏洞:

  • PHP:影响全球约70%的网站,量级达"基础设施级"
    • 全球网站占比:PHP支持全球约70%的网站(Wiz结论);W3Techs实际统计为69.3%(非75%)。
    • 受影响规模:定性为"千万级"基础设施级事件:超130万个网站直接易受攻击,2260万个实例暴露在风险中。两个CVE(CVSS 4.0均9.2)为use-after-free漏洞,近十年所有PHP版本(回溯至5.4)均受影响。
    • 修复盲区:Censys识别的约260万台PHP主机中,约150万台无对应补丁(多为EOL版本)。
  • Java:捆绑中间CA证书被入侵,波及主流JDK;Java服务漏洞率居各语言之首
    • 核心组件普及率:CVE-2026-91403量化数据少,EPSS<1%、未入KEV。本质是Java信任的eMudhra中间CA证书被入侵,主流JDK发行版均受波及,属信任链问题而非代码执行漏洞(CVSS 3.1为9.1)。修复:更新,或替换blocked.certs屏蔽受损证书。
    • Java生态整体漏洞率:Datadog《DevSecOps 2026》显示59%的Java服务存在可利用漏洞,各语言中最高(.NET 47%、Rust 40%)。深信服"Java占易被忽略漏洞42.5%"未能公开验证,引用需核实。
    • Tomcat的市场地位:CVE-2026-101296影响11.0.x / 10.1.x / 9.0.x主流版本线。其"占所有网站约0.1%"未能直接验证,但Tomcat占据约70%的Java Web容器市场份额,处于绝对主导地位。

虽然这些编程语言的漏洞我们难以避免,但这也提醒我们,平常使用AI生成代码时,不能只注重功能实现,性能和安全性也需要格外关注。

二、什么是REA

🔗地址:https://github.com/morluto/rea

REA (Reverse Engineer Anything) 是一个基于 MCP(Model Context Protocol,模型上下文协议) 和命令行(CLI)的 AI NX工程工具包。它能将 AI 编程助手(Agent)与底层NX分析工具连接起来,在不具备源代码的情况下,从应用行为一路分析到底层原生二进制文件。

它的本质可以拆解为以下三层架构:Skill(指令集) + 内置静态解析引擎 + 外部工具桥接层(MCP Server / CLI)。

能力总结:

分析目标类型 REA 提取并返回的内容 所需环境与外部工具依赖
原生二进制文件 (Native Binaries) 伪代码、汇编代码、字符串、符号、调用关系及交叉引用 需配合 Hopper、Ghidra 或 IDA Pro(也支持离线调用 GNU objdump 或 Rizin)
Rust / Go 编译产物 Rust cargo-auditable crate 依赖树与版本;Go 编译器版本、模块与构建参数 内置静态解析(支持 ELF / PE / thin Mach-O),无需安装 Rust 或 Go 环境
JavaScript / Electron 应用 模块结构、导入关系、Source Maps、路由、IPC 通信边界及原生插件关系 内置静态解析(直接分析解压目录或 .asar),无需原生反编译引擎
桌面应用安装包与资源 运行时候选文件、组件标记、Apple Bundle 结构、Plist 及提取的资源 内置静态解析
GPU 代码与大模型文件 CUDA/HIP 目标参数、保留的 PTX 文本;GGUF / safetensors 元数据与张量声明 内置静态解析(支持 ELF/PE/fatbin/CUBIN/PTX 及模型头文件)
游戏与打包程序 Unity IL2CPP 元数据、Godot PCK 归档清单与提取、PyInstaller 提取的字节码 内置静态解析,无需对应引擎环境
.NET 程序集 / Flutter .NET 元数据与 CIL 指令;Flutter Dart 快照哈希、各 ABI 库摘要与引擎构建信息 内置静态解析
Android 生态 (APK / 设备) 清单声明、反编译类与方法、资源表;通过 ADB 抓取设备进程、日志与屏幕 静态需 Headless JADX + JDK / Apktool;动态需 adb
Web 网页与网络抓包 页面结构、脚本、网络请求观测、HAR/SAZ 载荷解析、PCAP 流量统计与协议分布 网页分析需 Chrome 系浏览器;流量分析需 tshark / mitmdump
固件、崩溃记录与进程行为 固件分区提取;Linux 崩溃寄存器/线程状态;终端 PTY 交互、文件系统观测对比 Linux 环境下配合 Binwalk / Unblob、pwntools、GDB 等

三、安装

以 windows Antigravity CLI为例。

安装前:只有一个我自己写的skill(rasterio-pro)

nodejs版本:

命令行安装REA:

复制代码
npm install --global rea-agents

rea-agents 已经下载完成,但其底层依赖的 frida 是一个原生扩展(Native Addon),必须执行内置脚本(node scripts/install.js)去下载或编译适合你系统平台的二进制动态库。由于较新版本的 npm 启用了安全策略(allow-scripts),默认阻止了未授权的包执行安装脚本;如果不补跑该脚本,后续运行 rea-agents 时大概率会报找不到二进制模块的错误。

执行带权限的安装命令:

bash 复制代码
npm install --global --allow-scripts=frida rea-agents

rea作为node modules已经被安装在:

bash 复制代码
%USERPROFILE%\AppData\Roaming\npm\node_modules\rea-agents

现在再来配置:

bash 复制代码
rea setup

它可以自动检测已经安装的Agent。

下面的列表则是所有支持的Agent,包括Qorder、Kimi Code、work Buddy这些。

我这里选择Antigravity吧:键盘上下键选择,space(空格)选择,enter(回车)确定。

它做了几件事情:

  • 备份Antigravity的mcp配置文件。

  • 在mcp配置里面注册REA的mcp服务,让Antigravity能够直接通过协议调用 REA 的NX和解包工具。

  • 安装REA的skill

以后我要GeminiNX的时候,它就会匹配到这个skill,然后按照skill里面的内容,通过mcp调用它的NX工具。

在agy里面就可以看到已经安装skill了:

Antigravity GUI里面也是共享配置的。

后面我就在GUI界面里面操作了。

四、RstudioNX

直接在Antigravity 里面使用Gemini 4 Argon(Pro订阅):

复制代码
第一次prompt:
安装目录:D:\RStudio
这个软件官方只有英语和法语(设置里面就这两个选项)。
我想通过REA逆向,搞明白它的英语和法语切换逻辑,看看如何增加一个中文的选项,并实现所有界面的中文化。
包括一级菜单、多级展开菜单、设置页面、各个窗口等等。

第二次prompt:接受你的建议,开始吧

就2轮对话,基本就完成了。

后面改了2个Bug,回答了一些我的问题...

刚好全部完成后,我的Gemini 4 周额度只剩1%了(从100%开始用的):

虚拟机测试

虚拟机里面安装win11,没有python、nodejs等开发环境。

全新安装 R 和 Rstudio 进行测试。

运行:一键安装中文(Install).bat 脚本

✅成功:


Genimi如何使用REA进行NX

Gemini通过 REA(Reverse Engineer Anything) NX分析工具链,采用「由外向内、跨层取证」的方式,逐步解开了 RStudio 语言切换的底层机制。

RStudio 汉化实现

为了达成「不破坏官方英文(en)和法文(fr),在设置中原生增加第 3 个选项『中文 (简体)』,且一键安装/还原」的目标,在系统的 5 个关键位置实施了精准热补丁:

浅谈汉化技术

常见的汉化方法:

  • 字符串替换:就是暴力替换,可能会把程序的变量名、函数名也给替换了
  • 原生多语言体系挂载:本身已规范实现国际化(i18n)架构的软件,完全不需要暴力替换文本,只需向其现有的本地化管线中注入新的语言包。最稳定、没副作用。
  • AST / 字节码重写:从语法树或中间指令层入手,能精准区分哪些是 UI 文本、哪些是逻辑变量,只改展示内容。精度极高不会破坏代码逻辑,但技术和NX门槛高。
  • 操作系统无障碍 / 自动化接口接管:利用系统自带的辅助服务(如 Accessibility / UI Automation)读取控件上的文字,直接在界面上接管或覆盖内容。完全不碰原程序文件,但依赖系统支持且偶尔有响应延迟。
  • 视觉 OCR 覆盖层:完全把程序当黑盒,靠后台实时截屏、OCR 识图翻译,再用透明置顶悬浮窗把中文贴在原文字上方。彻底零侵入、零崩溃风险,但额外消耗算力且可能闪烁。
  • 网络中间人代理重写:针对界面文本从云端下发的软件,在本地挂代理劫持网络请求,把服务器返回的英文 JSON 数据改写成中文后再让客户端渲染。不改动本地程序文件,但后端接口变动时需重新适配。

当然还有很多方案,不一一列举了。


本文属于 「原生多语言体系挂载」+「AST / 代码结构级重写」的复合深度实现 ,其中以 AST / 代码结构重写为主导核心。

因为 RStudio 是一个典型的混合架构软件(Electron 外壳 + GWT 编译的前端 + C++ 后端),单一方法根本无法搞定,我们在不同的层级精准采用了不同的手段:

  • GWT 前端主界面(占代码量 95% 以上):AST / 代码结构级重写

    • 前端是 Java GWT 编译出来的,而编译时官方只打包了英语和法语,没有留出外部语言包的挂载插槽。
    • 所以利用 symbolMap NX还原出每个混淆函数的类名、方法名和上下文,精准区分出哪些是 UI 文本、哪些是系统内部 ID(如保留象限键名 "Source"),然后在语法结构层将 5,900+ 个函数的返回值重写为动态分支(return $wnd.__zh ? '中文' : 原文)。
  • Electron 外壳层(原生顶部菜单、弹窗):原生多语言体系挂载

    • RStudio 的 Electron 桌面端本身内置了标准的 i18next 国际化架构,但官方在 Webpack 打包时把英文和法文内联打包了进去。
    • 切入 Webpack 的资源注入点,向其现有的 resources: { en: ..., fr: ..., zh_CN: ... } 本地化管线中挂载了完整的 zh_CN 语言字典。切换语言时,触发的完全是 Electron 官方的 i18next.changeLanguage('zh_CN') 原生管线。
  • C++ 后端配置层(rsession 偏好设置):原生多语言体系挂载

    • 在 resources/schema/user-prefs-schema.json 中,向 ui_language 的合法枚举数组注入 "zh_CN",让官方 C++ 层的偏好验证管线原生认可中文选项。

五、汉化脚本分享

地址:https://github.com/LingyunStudio/rstudio-zh

下载压缩包,运行一键安装脚本即可。

另:

脚本运行时做了什么?

  • 利用 RStudio 自带的 Node.js 自动提权、自动备份原厂文件、对 C++ 配置 / GWT 前端 / Electron 原生层实施精准的 5 步无损热注入,并自动把系统语言切换为中文、清理浏览器缓存。整个过程约 3~5 秒 即可完成。

最后再分享一下之前写的一个音乐播放器:https://github.com/LingyunStudio/RustMusic

六、总结

我之前对Antigravity进行了汉化,使用Gemini 3.8 Flash就完成了。

同样对Rstudio汉化的时候,却不顺利,搞了很久都没完美实现。

今天使用REA,2轮对话就完成了。

同样是应用汉化:

Antigravity 是标准 Electron + React 架构,用 Gemini 3.8 Flash 在 Preload 阶段做 DOM 末端拦截(MutationObserver + 白名单隔离)即可轻松搞定;

而 RStudio 深度耦合了 C++、GWT 7.2 MB 混淆代码、.gz 缓存流优先机制与 Webpack 内联模块,常规替换必踩白屏与失效暗坑。

最终 Gemini4 Argon 依靠 REA 的跨栈NX能力(symbolMap 还原、依赖图剖析与 C++ 追踪),仅 2 轮对话便击穿黑盒,实现了方法级注入的"外科手术式"原生汉化。

怪不得REA从十月开始就迅速获得370k的star(已进入GitHub star排名前十),还是很厉害的。

相关推荐
青藤云安全3 小时前
AI攻防备战报告(运营商篇)|攻击面 “3+1” 解析:通信关基面临的新型 AI 安全风险
人工智能·网络安全·ai
秋饼3 小时前
Spring AI + MCP 工具调用可靠性实战:参数校验、权限防线与人工确认生产级落地
java·ai·技术分享·后端开发
ebok.3 小时前
低代码平台如何集成 AI:从开发侧到运行侧的技术实践与京微智枢方案
人工智能·低代码·ai·rxjava
杜哥无敌16 小时前
MaxKB 容器跨平台迁移与发布完整技术手册
ai
m0_6829065316 小时前
工作台后端编排链路自检 10-17 11:45:56
ai·大模型·seo·geo·结构化数据·indexnow
长不大的杨瑞杰19 小时前
给 OpenCode v2 接入大模型:Provider、模型选择与 API Key 安全配置实战
人工智能·安全·ai·语言模型