Voltron:功能强大、可扩展的调试器用户界面工具包
关于Voltron
Voltron是一款功能强大的可扩展调试器UI工具包,该工具基于Python开发,旨在通过引入程序视图来提升和改善各种调试器(LLDB、GDB、VDB和WinDbg)的用户体验。Voltron可以通过调试器来获取和显示数据,并通过在其他TTY中运行这些视图来帮助构建一个定制的调试器用户界面,以满足广大安全测试人员的需求。
Voltron并不能作为调试工具的替代品,只是现有工具的一个扩展补充组件。除此之外,Voltron还允许我们自定义扩展CLI调试器。
工具内置视图可用于:
注册表 反汇编 堆栈 内存 断点 回溯
工具支持
Voltron支持LLDB、GDB、VDB和WinDbg/CBD,可以在macOS、Linux和Windows平台上运行。并支持下列系统架构:
lldb |
gdb |
vdb |
windbg |
|
---|---|---|---|---|
x86 |
✓ |
✓ |
✓ |
✓ |
x86_64 |
✓ |
✓ |
✓ |
✓ |
arm |
✓ |
✓ |
✓ |
✗ |
arm64 |
✓ |
✗ |
✗ |
✗ |
powerpc |
✗ |
✓ |
✗ |
✗ |
工具安装
当前版本的Voltron仅支持在macOS和Debian操作系统汇总使用安装脚本进行安装,我们需要使用下列命令将该项目源码克隆至本地,并完成工具的安装:
$ git clone https://github.com/snare/voltron
$ cd voltron
$ ./install.sh
默认配置下,安装将本将会把Voltron安装到用户的“site-packages”目录下,如果你想要安装到系统“site-packages”目录中,可以使用-s选项:
$ ./install.sh -s
我们还可以将其安装到虚拟环境中(仅支持LLDB):
$ ./install.sh -v /path/to/venv -b lldb
工具使用
如果你的调试器提供了初始化脚本,可以直接配置其在启动时(entry.py入口点脚本)加载Voltron。比如说在macOS上,脚本路径为“/Library/Python/2.7/site-packages/voltron/entry.py”,install.sh脚本会将其添加进GDB和LLDB的相关路径中。
LLDB:
command script import /path/to/voltron/entry.py
GDB:
source /path/to/voltron/entry.py
然后启动你的调试器,并初始化Voltron:
$ lldb target_binary
如果是旧版本的LLDB,则需手动调用初始化命令:
$ lldb target_binary
(lldb) voltron init
GDB:
$ gdb target_binary
VDB:
$ ./vdbbin target_binary
> script /path/to/voltron/entry.py
在其他终端窗口中,我们就可以使用下列命令来查看UI视图了:
$ voltron view register
$ voltron view stack
$ voltron view disasm
$ voltron view backtrace
工具截图
LLDB
GDB
WinDbg
VDB(Vivisect)
项目地址
https://github.com/snare/voltron