关于 mcp-reverse-engineering
mcp-reverse-engineering 为分析文件和二进制内容的人员提供沙箱化工具接口,可运行常见逆向工具。它通过文件系统隔离、超时和参数验证限制工具执行。
主要功能
- 01运行文件与二进制分析工具
- 02识别文件类型并提取可见字符串
- 03反汇编二进制文件并读取 ELF 头
- 04使用 binwalk 分析固件
- 05通过超时与参数验证隔离执行
适用场景
- 01识别文件类型或提取字符串
- 02检查二进制指令与 ELF 元数据
- 03分析固件镜像
- 04在隔离工作区运行逆向工具
MCP 相关
它向 MCP 客户端提供逆向工具,包括 strings、objdump、readelf 和 binwalk。执行过程具备文件系统隔离、超时和参数验证。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-reverse-engineering
一个沙箱化的 MCP(Model Context Protocol)逆向工程工具,通过安全限制为各种逆向工程工具提供统一接口。
用途
本项目提供安全的沙箱环境,可通过 CLI 或 MCP 协议执行逆向工程工具。它封装了常见的逆向工程实用工具(strings、objdump、readelf、binwalk 等),并提供文件系统隔离、超时和参数验证等安全功能。
安装
pip install mcp-reverse-engineering
或用于开发:
pip install -e ".[dev]"
MCP 服务安装
要将其用作 Claude Desktop 的 MCP 服务:
mcp install src/mcp_reverse_engineering/server.py
使用方法
CLI
# Extract strings from a binary
mcp-re --tool strings --file /path/to/binary
# Disassemble a binary
mcp-re --tool objdump --args "['-d']" --file /path/to/binary
# Analyze ELF headers
mcp-re --tool readelf --args "['-h', '-s']" --file /path/to/elf
# Run binwalk for firmware analysis
mcp-re --tool binwalk --file /path/to/firmware.bin
Python API
from mcp_reverse_engineering import ReverseEngineeringEngine
# Create engine with default config
engine = ReverseEngineeringEngine(
workspace="./workspace",
timeout=30,
)
# List available tools
print(engine.list_available_tools())
# Execute a tool
result = engine.execute_tool("strings", ["-n", "8"], "/path/to/binary")
print(result)
MCP 服务
from mcp_reverse_engineering.server import mcp, strings, objdump, readelf, binwalk
# Run the server (stdio transport for Claude Desktop)
if __name__ == "__main__":
mcp.run()
API
ReverseEngineeringEngine
用于执行逆向工程工具的主类。
engine = ReverseEngineeringEngine(
workspace: str = "./workspace", # Sandbox directory
timeout: int = 30, # Tool execution timeout
config_path: str | Path | None = None, # YAML config path
)
方法:
execute_tool(tool_name: str, args: List[str], file_path: Optional[str] = None) -> str- 执行工具list_available_tools() -> List[str]- 列出已启用的工具get_tool_documentation(tool_name: str) -> Dict[str, Any]- 获取工具文档get_mcp_tools() -> List[Dict[str, Any]]- 获取 MCP 工具架构
可用工具
| 工具 | 类别 | 描述 |
|---|---|---|
| file | file_tools | 确定文件类型 |
| strings | file_tools | 提取可打印字符串 |
| hexdump | file_tools | 十六进制转储 |
| xxd | file_tools | 十六进制转储 |
| objdump | binary_tools | 反汇编二进制文件 |
| readelf | binary_tools | 读取 ELF 标头 |
| binwalk | firmware_tools | 固件分析 |
开发
# Clone the repository
git clone https://github.com/daedalus/mcp_reverse_engineering.git
cd mcp_reverse_engineering
# Install dependencies
pip install -e ".[test]"
# Run tests
pytest
# Format code
ruff format src/ tests/
# Lint
ruff check src/ tests/
# Type check
mypy src/
# Install pre-commit hooks
pip install pre-commit
pre-commit install
MCP 服务配置
mcp-name: io.github.daedalus/mcp-reverse-engineering
要求
- Python 3.11+
- 外部工具:binwalk、radare2、ghidra 等(必须单独安装)
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。