在调试时有时候需要不同功能,在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

并把其他两行注释掉即可