pwndbg配置
参考博客:gdbinit 使用(转)_如何生效gdbinit-CSDN博客
配置~/.gdbinit
介绍
-
gdbinit是一个设置后,使用gdb动态调试时,会提前进行一些操作。比如提前设置断点等。
-
也可以配置一些gdb的图形界面,以便动态调试的时候更方便
-
gdbinit一般存在于
~/.gdbinit
,如果没有该文件就直接用文本编辑器创建一个即可vim ~/.gdbinit
- gdb在启动的时候,会查找".gdbinit"这个文件,并把它的内容作为gdb命令进行解释,所以如果我把脚本命名为".gdbinit",这样在启动的时候就会处理这些命令。
- 可以使用 source script-file 来解释gdb命令脚本script-file
- 下图是gdb启动时查找.gdbinit的顺序
配置窗口与命令分离
- 效果如下图
-
配置过程如下
-
直接在主目录下
vim ~/.gdbinit
,打开该配置文件
- 打开后输入指令
set context-output /dev/pts/1
,即可。
配置gdb.attach()新建的终端
- 自从重新编译内核之后使用
gdb.attach
就会出现如下终端
- 上图的终端看得非常不舒服,字也很小,所以就想办法修改了一下设置,使得
gdb.attach()
会新建一个下图的终端
-
这里有三种方法可以修改成改终端
-
方法一:修改
.bashrc
文件,尝试使用该方法,但是会出现一些问题,不是很方便。 -
方法二:每次写exp的时候都添加上这一行代码
context.terminal = ['wt.exe', 'bash', '-c']
-
方法三:修改导入pwntools库中的
__init__.py
文件(我使用的方法,会详细介绍)
-
修改init.py文件
- 在学python导入库的时候就会知道,
from pwn import *
,就会默认去执行所导入库中的init.py
这个文件。利用这个特性就可以修改默认配置了 - 首先要找到该默认配置的文件,在终端中使用Python执行如下语句,就会找到init的路径
1 | python3.10 -c "import pwn; print(pwn.__path__)" |
- 找到该路径后就会看到init.py文件,这个文件就是我要添加内容的文件
- 添加这一行内容就可以在每次使用
gdb.attach
时启动Windows的cmd终端了
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 iyheart的博客!
评论