mcpField
A
Argus

Argus

本地服务
github.com开发工具011 周前更新

关于 Argus

Argus 是一款仅支持 Windows 的 MCP 服务,用于分析运行中的进程,并返回运行时内存、反汇编、调用链和导入解析证据。它面向逆向工程师和程序分析人员,可与静态分析配合检查进程实际执行的内容。

主要功能

  1. 01附加到运行中的 Windows 进程
  2. 02读取和扫描进程内存
  3. 03反汇编运行时代码并分析函数
  4. 04解析导入并追踪调用链
  5. 05用支持证据记录假设
  6. 06自动选择 x86 或 x64 引擎

适用场景

  1. 01从旧游戏客户端还原协议
  2. 02检查解密缓冲区和运行时分发
  3. 03分析崩溃、数据损坏或恶意软件
  4. 04将运行时地址关联到 Ghidra 或 IDA

MCP 相关

Argus 的 argus-rs 组件实现 MCP 服务,提供进程检查、扫描、反汇编、追踪和证据账本工具。前端 argus-router 会为目标进程选择匹配的 x86 或 x64 引擎。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbargus.mcpb0.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Argus

English · 繁體中文 · 简体中文 · 日本語 · 한국어

一款 MCP 服务,为 AI Agent 提供运行中进程的证据。

迄今为止,每款逆向工程 MCP 服务都只是连接到一个静态分析器——Ghidra、IDA、apktool。它们把磁盘上的文件交给你的 Agent。它们都无法告诉 Agent 程序此刻实际在做什么:那个缓冲区里解密出了什么、vtable 槽位在运行时解析到了哪个地址、哪个调用点发送了那个数据包。

Argus 补上了另一半。它会附加到正在运行的 Windows 进程,并返回运行时证据:真实地址上的真实字节、实际执行过的代码反汇编、已解析的 IAT 跳板、从实时内存中追踪出的调用者链,以及一份假设台账,记录哪些内容已经证实,哪些仍只是猜测。

它不会替模型得出结论。它会返回地址、模块/RVA 上下文、指令、调用者、被调用者和本地证据,然后不再干预。


为什么要做这个

游戏会消亡。发行商关闭服务器,工作室解散,游戏类型也逐渐过时。留存下来的是某人硬盘上的一个客户端,它再也无法连接任何东西——没有源码,没有协议文档,也没有服务器可供交互。只剩下一个仍记得如何使用某种语言的可执行文件,却再也没有人在听懂这门语言。

Argus 旨在让这些游戏重获新生。

为一款已停运的游戏重建服务器,意味着要还原其协议:数据包布局、加密、操作码分发,以及网络另一端的状态机。唯一留存的规范,就是客户端二进制文件本身。没人写过你需要的文档,而那些了解内情的人早已离开。

静态分析能帮你推进一部分工作。但一款二十年前的客户端可能经过加壳、字符串被加密,处理函数通过只有进程启动后才存在的表进行分发。所以你运行它,观察它如何工作——这正是下一节要讲的内容。

这就是这款工具的用途:不是闯入仍在运行的东西,而是让已死去的东西再次开口说话。


为什么要分析正在运行的进程

CPU 无法执行密文。

程序在磁盘上为保护自身而采取的任何措施——加壳、字符串加密、虚拟化指令、加载时解析导入——都必须先被还原,处理器才能运行代码。在执行的那一刻,真正的指令和数据都以明文形式驻留在内存中。它们必须如此。这不是某个特定保护器的缺陷,而是处理器工作方式的必然结果,任何程度的混淆都无法改变这一点。

因此,两种方法读取的是不同的内容:

  • **静态分析读取文件。**也就是作者发布的内容。
  • **运行时分析读取文件变成的内容。**也就是机器实际运行的内容。

两者不同时,后者才是事实。

情况静态分析器Argus
加壳代码 / 自解密代码看到加壳器反汇编内存中的解壳字节
通过 vtable 间接调用看到 call [rax+0x18]将槽位解析为具体目标
运行时解析的导入看到跳板桩将跳板解析为真实 API
解密后的缓冲区内容无法读取读取明文
40 个调用点中实际触发的是哪一个猜测记录实际执行的调用点
静态分析的优势

反过来也一样,值得直言不讳:静态分析器可以看到所有路径,包括从未执行过的路径。Argus 只能看到实际运行过的内容。未执行的分支不会留下任何运行时证据,而无人调用的函数就像不存在一样。

单独来看,这两种视角都不完整。这正是 correlate_addr 的用途——将运行时地址映射回模块和 RVA,在 Ghidra 或 IDA 中查找,并结合两方面的信息进行分析。Argus 的设计目标是与静态分析器协同工作,而不是取而代之。


工具

进程和内存 processes_list · processes_find · mem_attach · mem_modules · memory_regions mem_read · mem_read_chain · mem_write

扫描 scan_bytes · scan_string · scan_regex · scan_pointers_to · scan_callers scan_x86_call_sites · value_scan_start · value_scan_refine · value_explain · real_rate

反汇编和结构恢复 disasm_at · analyze_function · find_vtable · extract_dispatch_tables analyze_send_call_sites · read_struct · diff_struct

导入和 API 解析 runtime_imports · runtime_exports · resolve_iat_thunks · resolve_api_targets

跟踪和关联 trace_call_chain · correlate_addr · locate

证据台账 record_hypothesis · verify_hypothesis · query_hypotheses · add_evidence


值得了解的两个设计决策

自动架构路由

将 64 位分析器附加到 32 位(WOW64)目标进程,常会导致指针运算悄无声息地出错,并产生无效的 PE 解析结果。Argus 提供了一个轻量级前端 argus-router,用于检查目标进程,判断其为 x86 还是 x64,然后分派给相应的 argus-rs 版本。你只需配置一个二进制文件;系统会为每个目标选择正确的引擎。

证据台账

Agent 擅长给出看似合理的解释,却不擅长察觉这些解释缺乏依据。record_hypothesis / verify_hypothesis / add_evidence 会强制区分两者:一项主张会作为假设保存,只有在附加证据且通过验证后,才会成为已确立的事实。query_hypotheses 可让后续会话接续上次中断的工作,而无需重新推导所有内容。


安装

预编译二进制文件

下载最新版本并解压到任意位置:

发布版本

压缩包中包含 argus-router.exe 以及两个引擎版本 (argus-rs-x64.exe、argus-rs-x86.exe)。请将它们放在同一目录中。

从源代码构建

需要安装 Rust 工具链以及两个 Windows 目标:

rustup target add x86_64-pc-windows-msvc i686-pc-windows-msvc

git clone https://github.com/r0ptik/argus
cd argus
cargo build --release --target x86_64-pc-windows-msvc
cargo build --release --target i686-pc-windows-msvc

配置

Claude Code
claude mcp add argus -- C:\path\to\argus-router.exe
任意 MCP 客户端
{
  "mcpServers": {
    "argus": {
      "command": "C:\\path\\to\\argus-router.exe"
    }
  }
}

范围和预期用途

Argus 是一款逆向工程和程序分析工具,适用于游戏和服务保存、网络协议分析、互操作性与洁净室重新实现、恶意软件分析、崩溃和数据损坏调试,以及安全研究等工作。

它明确不用于攻击在线服务。本仓库不接受任何作弊功能——请参阅 CONTRIBUTING.md。

该工具需要能够打开并读取其他进程,因此只能用于分析你拥有或获准分析的进程。未经许可分析软件,可能违反该软件的条款或你所在地的法律。对此负责的是你,而不是该工具。


平台支持

仅支持 Windows。内存访问层(argus-winmem)基于 Win32 进程和内存 API 构建;目前没有 Linux 或 macOS 后端。

支持 x86 和 x64 目标,包括在 WOW64 下运行的 32 位进程。


Crate

Crate作用
argus-router前端二进制文件;架构检测和分发
argus-rsMCP 服务;工具定义和请求处理
argus-engine分析引擎;反汇编、结构恢复、追踪
argus-winmemWin32 进程和内存访问
argus-scan模式和数值扫描原语
evidence-core地址、模块、RVA 和证据数据模型

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。