如何用REA search在二进制中快速定位线索:字符串与符号搜索详解
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
REA(Reverse Engineer Anything)是一款让 AI 智能体参与逆向分析的开源项目,其核心功能之一就是通过二进制字符串搜索与符号搜索,帮助你在没有源码的情况下快速定位关键线索。本文介绍如何用 REA 的search命令做字符串搜索与函数名搜索,并顺着线索深入反编译、查看引用,适合刚接触逆向分析的新手阅读。
一、REA search 能做什么 🎯
面对一个几百 MB 的可执行文件,你通常想知道:"这个报错文案在哪里出现?""某个函数名有没有被编译进去?" 这正是 REA search 的强项。
rea search会在分析引擎(Hopper、Ghidra 或 IDA)的索引里执行两类搜索:
| 搜索类型 | 选项值 | 找什么 |
|---|---|---|
| 字符串搜索 | --kind strings(默认) | 二进制里编译进去的明文文本,如报错信息、URL、API 名称 |
| 符号/函数名搜索 | --kind procedures | 函数名、符号名,用于按名字快速定位代码入口 |
每个命中结果都附带证据信息(出处、上下文),可以直接衔接到后续的反编译与引用追踪。命令实现见 coreBinaryCommands.ts,搜索输入字段定义在 analysisSearchContract.ts。
二、字符串搜索:一步找到线索
最基本的用法——在二进制中搜索一段字面文本:
rea search /absolute/path/to/program "connection refused" --provider ghidra --json--provider ghidra:指定分析引擎,也可以是hopper或ida;--json:输出结构化结果,方便脚本处理或交给 AI 智能体解读。
新手技巧:优先搜索有辨识度的短字符串,比如错误提示、协议头(http://、grpc)、配置文件名。这类文本通常唯一地指向某段业务代码,是逆向里最高效的"钩子"。
三、符号搜索:按函数名定位代码入口
想找"某个功能对应的函数"时,把类型切到procedures:
rea search /absolute/path/to/program "auth_" --kind procedures --provider hopper --json这会匹配所有以auth_开头的函数/过程名。命中后你可以立刻:
- 用
rea function <path> <函数名>查看函数档案; - 用
rea decompile <path> <地址>拿到反编译伪代码; - 用
rea xrefs <path> <地址>查看谁调用了它。
这三条命令加上search,就构成了"搜线索 → 看实现 → 追调用"的完整闭环。完整流程示例见 docs/cli.md。
四、进阶选项:正则、大小写与快照 ⚙️
search还支持几个实用开关(核心实现):
--mode regex:把搜索词当作正则表达式。例如--mode regex "token[_-]?[a-z]+"一次匹配多种命名的 token 字段;--case-sensitive:默认忽略大小写,开启后仅精确匹配,适合区分形似字符串;--snapshot:加载并复用本地分析快照。大型二进制的分析耗时较长,配合快照可以显著加快后续多次搜索;--target-format:多架构目标时指定要分析的格式。
在 MCP(AI 智能体)一侧,同一能力对应search_strings与search_procedures两个工具,命令名映射关系见 cliCommandNames.ts。
五、如何选择分析引擎 🧭
search本身只是"查询",底层索引由分析引擎提供,支持三类 Provider:
| 引擎 | 特点 |
|---|---|
| Hopper | macOS 上体验流畅,setup 可在批准后自动安装 |
| Ghidra | 开源免费,跨平台,还支持 16 位 DOS 分析 |
| IDA | 复用你已有的安装 |
用rea providers --json查看本机可用引擎及其支持的操作。多引擎可用时建议显式用--provider指定,避免歧义。引擎选择与安装细节见 installation 文档 和 native 分析指南。
六、新手常见问题 💬
- 搜不到字符串?先确认目标架构与
--target-format匹配;字符串也可能被加密或拆分存储,可尝试正则模式或更短的片段。 - 结果太多?换用更长的特征文本,或加
--case-sensitive收窄范围。 - 和 AI 智能体配合?执行
npx rea-agents setup注册 MCP 后,直接让智能体"帮我找出二进制里所有和登录相关的字符串并解释上下文"即可,它会组合 search、decompile、xrefs 自动完成。
写在最后
字符串搜索与符号搜索是逆向分析中性价比最高的两个入口。REA 把它们封装成一条简单命令,并让结果自带证据、可追溯——无论是终端手动排查,还是让 AI 智能体自动完成整条调查链路,都能从rea search这一步快速起步。更多命令参数与证据输出格式,可参考 CLI 与证据指南。
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考