type
status
date
slug
tags
summary
category
icon
password
gdb_python
然后可以在gdb里面使用gdb脚本
使用方法:
几个api使用:
- 使用gdb内部的指令:
- 获取寄存器:
其实感觉只需要
gdb.execute,配合gdb原生的指令,就可以愉快开始hook了,甚至可以轻松把调试过程都记录下来,确实好东西比如这样:
一些其他的tips:
从AT&T语法切换到intel语法:
echo 'set disassembly-flavor intel' >> ~/.gdbinit
使用gdb自带的指令
gdb -x script.gdb ./filescript.gdb条件断点,eg.在断点处打印$rax或执行一些需要的操作;类似idapythonprint(get_reg_value('rax'))
补:这里有一个issue,dbg或者gef用的时候会调用一个有bug的gdb api,有需要
continue的时候用pi gdb.execute("continue")note(断点相关):
- 使用
ignore命令,指定一个断点被跳过的次数:
eg:
- 条件触发断点:
eg.
- 设置断点次数限制
让断点仅触发一定次数后自动删除:
eg.
- 作者:moyaoxue
- 链接:https://moyaoxue.de/article/14425ac9-6ea8-80ca-8837-c1246c73408d
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

