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

2022-04-11 21:45:08 浏览数 (1)

关于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操作系统汇总使用安装脚本进行安装,我们需要使用下列命令将该项目源码克隆至本地,并完成工具的安装:

代码语言:javascript复制
$ git clone https://github.com/snare/voltron

$ cd voltron

$ ./install.sh

默认配置下,安装将本将会把Voltron安装到用户的“site-packages”目录下,如果你想要安装到系统“site-packages”目录中,可以使用-s选项:

代码语言:javascript复制
$ ./install.sh -s

我们还可以将其安装到虚拟环境中(仅支持LLDB):

代码语言:javascript复制
$ ./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

代码语言:javascript复制
command script import /path/to/voltron/entry.py

GDB:

代码语言:javascript复制
source /path/to/voltron/entry.py

然后启动你的调试器,并初始化Voltron:

代码语言:javascript复制
$ lldb target_binary

如果是旧版本的LLDB,则需手动调用初始化命令:

代码语言:javascript复制
$ lldb target_binary

 (lldb) voltron init

GDB:

代码语言:javascript复制
$ gdb target_binary

VDB:

代码语言:javascript复制
$ ./vdbbin target_binary

 > script /path/to/voltron/entry.py

在其他终端窗口中,我们就可以使用下列命令来查看UI视图了:

代码语言:javascript复制
$ voltron view register

 $ voltron view stack

 $ voltron view disasm

 $ voltron view backtrace

工具截图

LLDB

GDB

WinDbg

VDB(Vivisect)

项目地址

https://github.com/snare/voltron

0 人点赞