gdb python

在对某些linux设备进行调试的时候,像pwngdb,gef这种扩展无法正常加载,但是可以使用预编译的gdb,问题就是界面很垃圾,你看不到执行的指令

这时可以通过执行x/10i $rip查看指令,然后ni执行当前指令,但是这样还是很麻烦

我们可以通过自定义python代码来完成自定义命令

python
class SetCustomerCommand2(gdb.Command):
    def __init__(self):
        super(SetCustomerCommand2, self).__init__("zz", gdb.COMMAND_USER)
    def invoke(self, arg, from_tty):
        gdb.execute("set disassembly-flavor intel")
        gdb.execute("ni")
        gdb.execute("x/10i $rip")
SetCustomerCommand2()
end

直接在gdb中将上面的代码粘贴进去回车,即可,成功之后fk命令就相当于

ni
x/10i  $rip