Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
voltron — 可扩展的调试器UI工具包,为LLDB、GDB、VDB和WinDbg提供可自定义的寄存器、反汇编、堆栈、内存、断点和回溯视图。 | Kitploit
工具/GitHubGitHub/snare/voltron
逆向工程调试器实用工具与框架二进制分析
GitHubsnare/voltron

voltron

可扩展的调试器UI工具包,为LLDB、GDB、VDB和WinDbg提供可自定义的寄存器、反汇编、堆栈、内存、断点和回溯视图。

查看仓库
6.3k423541年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Voltron

build

Voltron 是一个用 Python 编写的可扩展调试器 UI 工具包。它旨在通过支持附加实用视图来改善各种调试器 (LLDB、GDB、VDB 和 WinDbg) 的用户体验,这些视图可以从调试器主机检索并显示数据。通过在其他 TTY 中运行这些视图,您可以构建适合自己需求的自定义调试器用户界面。

Voltron 并非旨在满足所有人的所有需求。它不是调试器 CLI 的全面替代品。相反,它旨在补充您现有的设置,并允许您根据自己的喜好扩展 CLI 调试器。如果您只想在调试器旁边的窗口中显示寄存器内容视图,您可以做到。如果您想全力以赴,得到一个看起来更像 OllyDbg 的东西,您也可以做到。

内置视图包括:

  • 寄存器
  • 反汇编
  • 栈
  • 内存
  • 断点
  • 回溯

作者的设置看起来像这样:

voltron example LLDB

任何调试器命令都可以分离成一个视图,并使用指定的 Pygments 词法分析器进行高亮:

command views

更多截图在这里。

支持

Voltron 支持 LLDB、GDB、VDB 和 WinDbg/CDB(通过 PyKD),并在 macOS、Linux 和 Windows 上运行。

WinDbg 支持仍然相当新,如果您遇到问题,请提交 issue。

支持以下架构:

lldbgdbvdbwindbg
x86✓✓✓✓
x86_64✓✓✓✓
arm✓✓✓✗
arm64✓✗✗✗
powerpc✗✓✗✗

安装

注意: 安装脚本完全支持仅 macOS 和 Debian 衍生系统。在其他 Linux 发行版上,它应该不会失败,但不会尝试安装包依赖项。如果您使用其他发行版,请查看 install.sh 以确定在运行它之前可能需要安装哪些依赖项。

下载源代码并运行安装脚本:

root@kitploit:~
$ git clone https://github.com/snare/voltron
$ cd voltron
$ ./install.sh

默认情况下,安装脚本会将 Voltron 安装到用户的 site-packages 目录中。如果您想安装到系统的 site-packages,请使用 -s 标志:

root@kitploit:~
$ ./install.sh -s

您也可以像这样安装到虚拟环境中(仅限 LLDB):

root@kitploit:~
$ ./install.sh -v /path/to/venv -b lldb

如果您在 Windows 上没有 shell、安装时遇到问题,或者更愿意手动安装,请参阅手动安装文档。

快速开始

  1. 如果您的调试器有初始化脚本(LLDB 的 .lldbinit 或 GDB 的 .gdbinit),请配置它通过导入 entry.py 入口点脚本在启动时加载 Voltron。完整路径将在 voltron 包内部。例如,在 macOS 上可能是 /Library/Python/2.7/site-packages/voltron/entry.py。install.sh 脚本会在检测到路径中有 GDB 或 LLDB 时自动将其添加到您的 .gdbinit 或 .lldbinit 文件中。

    LLDB:

    root@kitploit:~
     command script import /path/to/voltron/entry.py
    

    GDB:

    root@kitploit:~
     source /path/to/voltron/entry.py
    
  2. 启动您的调试器,必要时手动初始化 Voltron。

    在较新版本的 LLDB 上,您无需手动初始化 Voltron:

    root@kitploit:~
     $ lldb target_binary
    

    在旧版本的 LLDB 上,您需要在加载 inferior 后调用 voltron init:

    root@kitploit:~
     $ lldb target_binary
     (lldb) voltron init
    

    GDB:

    root@kitploit:~

文档

参见 GitHub 上的 wiki。

常见问题

问: 为什么我在加载 Voltron 时遇到 ImportError?

答: 您可能安装了多个版本的 Python,并且使用了错误的版本安装了 Voltron。请参阅更详细的安装说明。

问: GEF?PEDA?PwnDbg?fG's gdbinit?

答: 这些都是非常棒的 GDB 扩展。这些工具主要提供用于利用任务的附加命令集,但每个工具也提供了一个“上下文”显示,包含寄存器、栈、代码等视图,类似于 Voltron。这些工具在调试器每次停止时在调试器控制台中打印它们的上下文显示。Voltron 采用不同的方法,在调试器中嵌入一个 RPC 服务器植入,并允许从其他终端(甚至 Web 浏览器,或现在与 Binary Ninja 同步)附加视图,这使得用户能够为调试器构建更干净的多窗口界面。Voltron 可以与所有这些工具很好地配合。您只需在您选择的 GDB 扩展中禁用上下文显示,并连接一些 Voltron 视图,同时仍然获得这些工具有用命令的所有好处。

错误和勘误

有关更多信息或提交问题,请参见 GitHub 上的问题追踪器。

如果您在加载 Voltron 时遇到 ImportError,请确保您已按照您平台的安装说明进行了操作。

LLDB

在较旧版本的 LLDB 上,加载调试目标后必须手动运行 voltron init 命令,因为必须加载目标后 Voltron 的钩子才能安装。Voltron 将尝试自动注册其事件处理程序,如果需要 voltron init,它将通知用户。

WinDbg

有关 WinDbg/CDB 支持的更多信息,请参见此处。

其他

作者主要使用 Voltron 与 macOS 上最新版本的 LLDB。我们将在发布前尽可能多地测试各种平台和架构,但 LLDB/macOS/x64 将是最常用的组合。希望 Voltron 不会点燃您的宠物,但效果可能因人而异。

许可证

参见 LICENSE 文件。

如果您使用此工具并且不讨厌它,请在某个会议上请我喝杯啤酒。此许可证也适用于其他贡献者——richo 绝对值得几杯啤酒作为他的贡献。

鸣谢

感谢我的前雇主 Assurance 和 Azimuth Security 给我时间处理这个项目。

向 richo 表示敬意,感谢他对 Voltron 的所有贡献。

fG! 的 gdbinit 是这个项目的原始灵感。

感谢 Willi 实现了 VDB 支持。

Voltron 现在使用 Capstone 进行反汇编,以及调试器主机内部的反汇编机制。Capstone 是一个强大的开源多架构反汇编器,下一代逆向工程和调试工具正在其上构建。请查看它。

感谢 grazfather 持续做出的贡献。

下载工具
$ gdb target_binary

VDB:

root@kitploit:~
 $ ./vdbbin target_binary
 > script /path/to/voltron/entry.py

WinDbg/CDB 仅支持通过带有 Linux 用户空间的 Bash 运行。作者使用 Git Bash 和 ConEmu 进行测试。PyKD 和 Voltron 可以在启动调试器时通过一个命令加载:

root@kitploit:~
 $ cdb -c '.load C:\path\to\pykd.pyd ; !py --global C:\path\to\voltron\entry.py' target_binary
  • 在另一个终端中(我使用 iTerm 窗格)启动一个 UI 视图。在 LLDB、WinDbg 和 GDB 上,视图会立即更新。在 VDB 上,视图在 inferior 停止(在断点处、单步后等)之前不会更新:

    root@kitploit:~
     $ voltron view register
     $ voltron view stack
     $ voltron view disasm
     $ voltron view backtrace
    
  • 设置断点并运行您的 inferior。

    root@kitploit:~
     (*db) b main
     (*db) run
    
  • 当调试器命中断点时,视图将更新以反映寄存器、栈、内存等的当前状态。视图在调试器 CLI 中执行每个命令后更新,使用调试器的“停止钩子”机制。因此,每次您单步执行,或继续执行并命中断点时,视图都会更新。