Valerian7

ResourceHacker MCP 服务器

Community Valerian7
Updated

ResourceHacker mcp服务器,支持提取/列出/添加/修改/删除资源,一键汉化软件

ResourceHacker MCP 服务器

基于 Model Context Protocol (MCP) 的 ResourceHacker 工具服务器,可通过 Claude、codex等使用自然语言操作 Windows PE 文件资源。

功能特性

通过 MCP 协议提供 ResourceHacker 的命令行功能访问:

  • 提取资源 - 从 PE 文件(exe、dll 等)中提取图标、位图、对话框、菜单等资源
  • 列出资源 - 查看 PE 文件中包含的所有资源列表,无需提取文件
  • 添加资源 - 向可执行文件添加新资源
  • 删除资源 - 从 PE 文件中删除资源
  • 修改资源 - 更新现有资源
  • 编译资源脚本 - 将 .rc 资源脚本编译为 .res 二进制文件
  • 更改语言 - 修改所有资源的语言 ID
  • 执行脚本 - 运行包含多个命令的 ResourceHacker 脚本
  • 获取帮助 - 显示 ResourceHacker 命令行帮助信息

安装配置

前置要求

  • Windows 操作系统
  • Node.js 18 或更高版本
  • Claude code、codx等支持mcp的应用
  • ResourceHacker

步骤 1:安装依赖

git clone https://github.com/Valerian7/ResourceHacker-mcp.git
cd ResourceHacker-mcp
npm install

步骤 2:配置 MCP

Claude添加以下配置:

{
  "mcpServers": {
    "resource-hacker": {
      "command": "node",
      "args": [
        "ResourceHacker-mcp_PATH\\ResourceHacker-mcp\\index.js"
      ],
      "env": {
        "RESOURCE_HACKER_PATH": "RESOURCE_HACKER_PATH\\ResourceHacker.exe"
      }
    }
  }
}

Codex添加以下配置:

[mcp_servers.resource_hacker_mcp]
type = "stdio"
command = "node"
args = ['ResourceHacker-mcp_PATH\\ResourceHacker-mcp\\index.js']

[mcp_servers.resource_hacker_mcp.env]
RESOURCE_HACKER_PATH = 'RESOURCE_HACKER_PATH\\ResourceHacker.exe'
  • 将路径替换为你的实际安装位置
  • ResourceHacker-mcp_PATH 指向 ResourceHacker-mcp 的完整路径
  • RESOURCE_HACKER_PATH 指向 ResourceHacker.exe 的完整路径

快速使用示例

在Claude、codex中输入

调用ResourceHacker-mcp工具汉化procexp64.exe,注意窗口层级

汉化效果对比:

完整功能

1. list_resources - 列出资源

查看 PE 文件中包含的所有资源列表,无需提取文件。此命令可以避免产生大量临时文件。

参数:

  • input_file (必需):输入 PE 文件的路径

使用示例:

列出 myapp.exe 中的所有资源

2. extract_resource - 提取资源

从 PE 文件或资源文件中提取资源。

参数:

  • input_file (必需):输入 PE 文件的路径
  • output_path (必需):输出文件或文件夹路径
  • resource_mask:资源掩码格式 类型,名称,语言(默认:,,
  • log_file:日志文件路径或 CONSOLE(默认:CONSOLE

使用示例:

从 notepad.exe 中提取所有图标到 icons 文件夹

3. add_resource - 添加资源

向 PE 文件添加新资源。

参数:

  • input_file (必需):要修改的 PE 文件路径
  • output_file (必需):输出文件路径
  • resource_file (必需):要添加的资源文件路径
  • resource_mask:资源掩码(默认:,,
  • mode:添加模式 - add(存在则失败)、addoverwrite(覆盖)、addskip(跳过)
  • log_file:日志文件路径

使用示例:

用 newicon.ico 替换 myapp.exe 的主图标

4. delete_resource - 删除资源

从 PE 文件中删除资源。

参数:

  • input_file (必需):PE 文件路径
  • output_file (必需):输出文件路径
  • resource_mask (必需):标识要删除资源的掩码
  • log_file:日志文件路径

5. modify_resource - 修改资源

修改 PE 文件中的现有资源。

参数:

  • input_file (必需):PE 文件路径
  • output_file (必需):输出文件路径
  • resource_file (必需):新资源文件路径
  • resource_mask:资源掩码
  • log_file:日志文件路径

6. compile_rc - 编译资源脚本

将资源脚本(.rc)编译为二进制格式(.res)。

参数:

  • input_rc (必需):.rc 文件路径
  • output_res (必需):输出 .res 文件路径
  • log_file:日志文件路径

使用示例:

编译 resources.rc 为 resources.res

7. change_language - 更改语言

更改 PE 文件中所有资源的语言。

参数:

  • input_file (必需):PE 文件路径
  • output_file (必需):输出文件路径
  • language_id (必需):语言 ID 数字
  • log_file:日志文件路径

常用语言 ID:

  • 1033:英语(美国)
  • 2052:中文(简体)
  • 1028:中文(繁体)
  • 1049:俄语
  • 1031:德语
  • 1036:法语
  • 1041:日语
  • 1042:韩语

使用示例:

将 myapp.exe 的所有资源改为简体中文

8. run_script - 运行脚本

执行包含多个命令的 ResourceHacker 脚本文件。

参数:

  • script_file (必需):脚本文件路径

9. get_help - 获取帮助

获取 ResourceHacker 命令行帮助。

参数:

  • topic:帮助主题 - generalcommandlinescript

资源掩码格式

资源掩码格式:类型,名称,语言

  • 类型:资源类型(如 ICONBITMAPDIALOGMENUSTRINGTABLEICONGROUP
  • 名称:资源名称或 ID
  • 语言:语言 ID(0 表示语言中性)

示例:

  • ICON,, - 所有图标,任意名称,任意语言
  • BITMAP,128,0 - ID 为 128 的位图,语言中性
  • ICONGROUP,MAINICON, - 名为 MAINICON 的图标组,任意语言
  • ,,1033 - 所有英语(美国)资源

技术细节

  • 语言: JavaScript (ES Modules)
  • 运行时: Node.js 18+
  • 协议: Model Context Protocol (MCP)
  • SDK: @modelcontextprotocol/sdk v1.0.4
  • 平台: 仅限 Windows(需要 ResourceHacker.exe)

常见问题

MCP 服务器未在 Claude 中显示

  1. 检查配置文件路径是否正确并使用双反斜杠
  2. 验证 Node.js 已安装:运行 node --version
  3. 确保 npm install 已成功完成
  4. 完全重启 Claude Desktop(不仅是关闭窗口)
  5. 检查 Claude Desktop 日志是否有错误

路径问题

确保配置文件中的路径是绝对路径并使用双反斜杠:

  • ✅ 正确:"D:\\Tools\\resource_hacker\\mcp_server\\index.js"
  • ❌ 错误:"D:\Tools\resource_hacker\mcp_server\index.js"
  • ❌ 错误:"./index.js""index.js"

找不到 ResourceHacker.exe

确保在配置中正确设置了 RESOURCE_HACKER_PATH 环境变量,指向 ResourceHacker.exe 的完整路径。

权限错误

修改系统文件时需要适当的权限,尤其是在修改系统目录中的文件时。

限制说明

  • 需要 Windows 操作系统
  • ResourceHacker.exe 必须可访问
  • 无法修改"打包"或"压缩"的可执行文件
  • 某些操作需要对目标文件的写权限

参考链接

更新日志

v1.1.0

  • 新增 list_resources 工具,无需提取即可查看资源列表,减少文件混乱
  • 优化代码结构,增加临时文件清理机制
  • 修复 parseRcFile 解析逻辑

v1.0.0

  • 初始版本
  • 实现 8 个 MCP 工具
  • 支持可配置的 ResourceHacker.exe 路径
  • 完整的错误处理和日志记录

MCP Server · Populars

MCP Server · New