Voltron:一款功能强大的可扩展调试器UI工具包

2022-03-17
1219

关于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)

 

项目地址

Voltron:GitHub传送门

转载时必须以链接形式注明原始出处及本声明

扫描关注公众号