mcpField
D
decompiler

decompiler

github.com/vulhunt-re开发1641 次安装34 周前更新
代码仓库

关于 decompiler

decompiler 是用于二进制分析的技能,可将指定函数反编译为类 C 伪代码。它通过 VulHunt MCP 工具定位项目中的函数,并支持按名称、地址或模式选择目标。

主要功能

  1. 01将函数反编译为类 C 伪代码
  2. 02按名称或地址指定函数
  3. 03使用正则或字节模式匹配
  4. 04支持返回全部匹配函数

适用场景

  1. 01查看函数实现以理解其逻辑
  2. 02分析函数的控制流
  3. 03在深入分析前判断函数用途

MCP 相关

该技能使用 VulHunt MCP 工具打开项目并执行 Lua 查询,以获取函数的反编译伪代码。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vulhunt-re/skills --skill decompiler

安装后在 Claude Code 中输入/decompiler确认已加载。

详细介绍

反编译器

将二进制文件中的函数反编译为类 C 伪代码。

适用场景

  • 查看函数反编译后的源代码
  • 分析函数逻辑和控制流
  • 在深入分析之前了解函数的作用

说明

使用 VulHunt MCP 工具打开项目(open_project),并运行以下 Lua 查询(query_project),根据需要进行调整:

local d = project:decompile(<target_function>)

return tostring(d)

<target_function> 的可能取值:

  • 字符串,例如 "system"
  • AddressValue
    • VulHunt API 返回的地址为 AddressValue
    • 例如,可以使用 AddressValue.new(0x1234) 构造 AddressValue
  • 正则表达式,例如 {matching = "<regex>", kind = "symbol", all = true}
  • 字节模式,例如 {matching = "41544155", kind = "bytes", all = true}

all 是布尔值。如果设为 true,则返回包含所有匹配函数的表。如果设为 false(默认值),则只返回第一个匹配值。如果函数目标只有一个(即未将 all 设为 true),则不需要使用 for 循环。

返回反编译后的类 C 伪代码字符串。

相关技能

  • functions(/functions)— 在反编译之前,按名称、地址、模式或行为条件(例如调用特定 API 的函数)查找特定函数。
  • code-pattern-matching(/code-pattern-matching)— 在反编译结果中搜索特定代码模式

评论

支持 Markdown