在调试时有时候需要不同功能,在gdb下需要安装两个工具pwndbg和peda,可惜这两个不兼容
pwndbg在调试堆的数据结构时候很方便
peda在查找字符串等功能时方便
安装pwndbg:
git clone https://github.com/pwndbg/pwndbg
cd pwndbg
./setup.sh
安装peda:
git clone https://github.com/longld/peda.git ~/peda
安装gef:
# via the install script
$ wget -q -O- https://github.com/hugsy/gef/raw/master/scripts/gef.sh | sh
# manually
$ wget -O ~/.gdbinit-gef.py -q https://github.com/hugsy/gef/raw/master/gef.py
$ echo source ~/.gdbinit-gef.py >> ~/.gdbinit
切换gdb的调试工具pwndbg或peda:
vim ~/.gdbinit
source ~/peda/peda.py
把第二行添加到gdbinit的配置文件中去,把pwndbg的注释掉,即可切换为peda
选中gef的话,即添加一行:
source ~/.gdbinit-gef.py
并把其他两行注释掉即可