reverse-cli-anything
开源 · 逆向工程 · Agent 工具

研究入口与证据#

English · 工程手册

先确定缺口,再选技术#

从请求操作、输入和预期原生状态出发,盘点公开 CLI/API/MCP 及已有适配器。公开只读能力可能帮助找到活动文档,但不代表能修改;通过恢复调用复用内部组件,也不自动成为官方支持的公开 API。

检查实际安装产物,而非只看安装包:程序、模块、运行时配置、元数据、资源、打包脚本及本地协议端点。用指纹助手记录相关文件架构线索与流式 SHA-256,不扫描所有缓存、不发布私有程序文件。记录真实安装/存储路径及配置优先级。

选择路线#

观察 首轮研究 下一步证明
导出函数、命令字符串、Qt 元数据 导入导出、命令注册、定点交叉引用 接收对象、ABI、会话模式和调度
CLR 头、程序集、运行时配置、ReadyToRun 托管清单、定向类型/方法反编译 运行时与接收对象初始化、调用上下文、结果及适用的事务语义
WinMD、C++/WinRT 组件 接口、GUID、签名、枚举、候选虚表槽 ABI 布局、所有权、调度器和对象来源
打包 JavaScript/Electron 或嵌入脚本 Bundle 处理器、命令注册、内部消息 是否进入预期业务操作并产生所需结果
IPC/本地服务 端点身份、消息关联、状态迁移 目标进程中的真实请求语义
数据或工程文件 格式结构、读写调用链及受控输入输出对比 正确解释数据、原生接受写入结果,以及适用的并发访问行为

这是研究分支,不是必须全部安装的依赖。选择足够完成任务的工具;检查当前 REA 实际支持的能力,不编造工具名称,也不把后端注册成功算作目标分析完成。

定点研究#

  1. 从错误信息、命令名、属性、保存动作或导出服务等行为线索开始。
  2. 追踪接收对象和下游业务调用,记录候选为何对应用户需求。
  3. 检查调用方的前置条件与清理动作,不能只看被调函数。
  4. 设计能否定假设的实验,明确基线与预期观察。
  5. 保存被排除候选和原因,避免其他 Agent 重复踩坑。

大型二进制先查符号、元数据和小范围地址。全量分析超时就缩小范围或更换后端,记录部分覆盖、超时和版本。全量反编译失败不等于软件无法自动化。

证据层次#

分别标记:静态候选 → 运行观察 → 请求操作已验证 → 适用的生命周期验证 → 工作流覆盖。查询或无状态计算无须经过写入阶段。每一步关联证据路径、工具、目标哈希和实验 ID。元数据、可调用指针、桥接成功返回和独立核查的结果是不同主张。

模板默认 uninvestigated 或 not-run;自动生成指纹、读取进度不会把能力升级为 verified。普通 CLI 使用应加载已验证的构建配置,而非重跑反编译。

路线受阻时#

区分缺少环境条件(登录、初始化、文件访问)与技术假设错误。等待必须由用户完成的步骤时,继续独立静态研究。不要把某台机器的代理配置或某软件激活流程写成通用安装步骤;说明阻碍请求操作的具体条件。

在 GitHub 查看本页源文档