开源 · 逆向工程 · Agent 工具
研究入口与证据#
先确定缺口,再选技术#
从请求操作、输入和预期原生状态出发,盘点公开 CLI/API/MCP 及已有适配器。公开只读能力可能帮助找到活动文档,但不代表能修改;通过恢复调用复用内部组件,也不自动成为官方支持的公开 API。
检查实际安装产物,而非只看安装包:程序、模块、运行时配置、元数据、资源、打包脚本及本地协议端点。用指纹助手记录相关文件架构线索与流式 SHA-256,不扫描所有缓存、不发布私有程序文件。记录真实安装/存储路径及配置优先级。
选择路线#
| 观察 | 首轮研究 | 下一步证明 |
|---|---|---|
| 导出函数、命令字符串、Qt 元数据 | 导入导出、命令注册、定点交叉引用 | 接收对象、ABI、会话模式和调度 |
| CLR 头、程序集、运行时配置、ReadyToRun | 托管清单、定向类型/方法反编译 | 运行时与接收对象初始化、调用上下文、结果及适用的事务语义 |
| WinMD、C++/WinRT 组件 | 接口、GUID、签名、枚举、候选虚表槽 | ABI 布局、所有权、调度器和对象来源 |
| 打包 JavaScript/Electron 或嵌入脚本 | Bundle 处理器、命令注册、内部消息 | 是否进入预期业务操作并产生所需结果 |
| IPC/本地服务 | 端点身份、消息关联、状态迁移 | 目标进程中的真实请求语义 |
| 数据或工程文件 | 格式结构、读写调用链及受控输入输出对比 | 正确解释数据、原生接受写入结果,以及适用的并发访问行为 |
这是研究分支,不是必须全部安装的依赖。选择足够完成任务的工具;检查当前 REA 实际支持的能力,不编造工具名称,也不把后端注册成功算作目标分析完成。
定点研究#
- 从错误信息、命令名、属性、保存动作或导出服务等行为线索开始。
- 追踪接收对象和下游业务调用,记录候选为何对应用户需求。
- 检查调用方的前置条件与清理动作,不能只看被调函数。
- 设计能否定假设的实验,明确基线与预期观察。
- 保存被排除候选和原因,避免其他 Agent 重复踩坑。
大型二进制先查符号、元数据和小范围地址。全量分析超时就缩小范围或更换后端,记录部分覆盖、超时和版本。全量反编译失败不等于软件无法自动化。
证据层次#
分别标记:静态候选 → 运行观察 → 请求操作已验证 → 适用的生命周期验证 → 工作流覆盖。查询或无状态计算无须经过写入阶段。每一步关联证据路径、工具、目标哈希和实验 ID。元数据、可调用指针、桥接成功返回和独立核查的结果是不同主张。
模板默认 uninvestigated 或 not-run;自动生成指纹、读取进度不会把能力升级为 verified。普通 CLI 使用应加载已验证的构建配置,而非重跑反编译。
路线受阻时#
区分缺少环境条件(登录、初始化、文件访问)与技术假设错误。等待必须由用户完成的步骤时,继续独立静态研究。不要把某台机器的代理配置或某软件激活流程写成通用安装步骤;说明阻碍请求操作的具体条件。