Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
rhabdomancer — 漏洞研究助手,用于定位二进制文件中调用潜在不安全 API 函数的位置。 | Kitploit
工具/GitHubGitHub/0xdea/rhabdomancer
静态分析漏洞分析逆向工程二进制分析
GitHub0xdea/rhabdomancer

rhabdomancer

漏洞研究助手,用于定位二进制文件中调用潜在不安全 API 函数的位置。

查看仓库网站
1311557天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

rhabdomancer

build doc

"通往可利用漏洞的道路是由不可利用的漏洞铺就的。"

-- Mark Dowd

Rhabdomancer 是一个极速的 IDA 无头插件,用于定位二进制文件中对潜在不安全 API 函数的调用。审计人员可以从这些候选点进行回溯,以找到允许访问不可信输入的路径。

功能特性

  • 借助 IDA 9.x 和 idalib-rs Rust 绑定,提供极速的无头用户体验。
  • 支持针对 IDA 所实现的任何架构编译的 C/C++ 二进制目标。
  • 不良 API 函数调用位置会打印到标准输出,并在 IDB 中标记。
  • 已知的不良 API 函数按危险程度分组,以帮助确定审计工作的优先级。
    • [BAD 0] 高优先级 - 通常被认为不安全的函数。
    • [BAD 1] 中优先级 - 应检查是否存在不安全使用场景的有趣函数。
    • [BAD 2] 低优先级 - 涉及这些函数的代码路径应仔细检查。
  • 可通过编辑 conf/rhabdomancer.toml 轻松自定义已知不良 API 函数列表。

文章

  • https://hex-rays.com/blog/streamlining-vulnerability-research-idalib-rust-bindings
  • https://hnsecurity.it/blog/streamlining-vulnerability-research-with-ida-pro-and-rust

另请参阅

  • https://github.com/0xdea/ghidra-scripts/blob/main/Rhabdomancer.java
  • https://docs.hex-rays.com/release-notes/9_0#headless-processing-with-idalib
  • https://github.com/idalib-rs/idalib
  • https://books.google.it/books/about/The_Art_of_Software_Security_Assessment.html

安装

获取最新版本的最简单方式是通过 crates.io:

  1. 下载、安装并配置 IDA(参见 https://hex-rays.com/ida-pro)。
  2. 安装 LLVM/Clang(参见 https://rust-lang.github.io/rust-bindgen/requirements.html)。
  3. 在 Linux/macOS 上,按如下方式安装:
    root@kitploit:~
    export IDADIR=/path/to/ida # 如果未设置,构建脚本将检查常见位置
    cargo install rhabdomancer --locked
    
    在 Windows 上,则使用以下命令:
    root@kitploit:~
    $env:LIBCLANG_PATH="\path\to\clang+llvm\bin"
    $env:PATH="\path\to\ida;$env:PATH"
    $env:IDADIR="\path\to\ida" # 如果未设置,构建脚本将检查常见位置
    cargo install rhabdomancer --locked
    

编译

或者,您也可以从源代码构建:

  1. 下载、安装并配置 IDA(参见 https://hex-rays.com/ida-pro)。
  2. 安装 LLVM/Clang(参见 https://rust-lang.github.io/rust-bindgen/requirements.html)。
  3. 在 Linux/macOS 上,按如下方式编译:
    root@kitploit:~
    git clone --depth 1 https://github.com/0xdea/rhabdomancer
    cd rhabdomancer
    export IDADIR=/path/to/ida # 如果未设置,构建脚本将检查常见位置
    cargo build --release --locked
    
    在 Windows 上,则使用以下命令:
    root@kitploit:~
    git clone --depth 1 https://github.com/0xdea/rhabdomancer
    cd rhabdomancer
    $env:LIBCLANG_PATH="\path\to\clang+llvm\bin"
    $env:PATH="\path\to\ida;$env:PATH"
    $env:IDADIR="\path\to\ida" # 如果未设置,构建脚本将检查常见位置
    cargo build --release --locked
    

使用方法

  1. 确保 IDA 已正确配置并拥有有效许可证。
  2. 如有需要,可在 conf/rhabdomancer.toml 中自定义已知不良 API 函数列表。您可以通过设置 RHABDOMANCER_CONFIG 环境变量来覆盖默认配置文件位置。
  3. 如果您的 IDA 安装在非标准位置,请确保已设置 IDADIR 环境变量。
  4. 按如下方式运行:
    root@kitploit:~
    rhabdomancer <binary_file>
    
    任何现有的 .i64 IDB 文件都将被更新;否则,将创建一个新的 IDB 文件。
  5. 使用 IDA 打开生成的 .i64 IDB 文件。
  6. 选择 View > Open subviews > Bookmarks
  7. 在 IDA 窗口中方便地查看您的结果。

[!NOTE] Rhabdomancer 还会在标记的调用位置添加注释。

兼容性

仅官方支持最新的 IDA 版本,但旧版本也可能正常工作。下表总结了每个 IDA 版本对应的最新兼容版本:

[!NOTE] 有关更多信息,请查阅 idalib-rs 文档。

致谢

本项目的开发得到了以下组织的支持:

  • HN Security
  • Hex-Rays 通过其贡献者计划

更新日志

  • CHANGELOG.md

待办事项

  • 进一步丰富已知不良 API 函数列表(参见 https://github.com/0xdea/semgrep-rules)。
  • 考虑扩大 normalize_name 中规范化的范围,以涵盖更多情况。
  • 以 VulFi 和 VulnFanatic 的风格实现一个基础规则集。
下载工具
IDA 版本最新兼容版本
v9.0.240925v0.2.4
v9.0.241217v0.3.5
v9.1.250226v0.6.2
v9.2.250908v0.7.6
v9.3.260213v0.8.1
v9.3.260327v0.9.0
v9.3.260421v0.9.3
v9.4.260714当前版本