gdb过程中的一些碎碎念

gdb

  • $esp表示寄存器%esp

  • 可以在特定机器指令的地址上打断点,例如

    b *0xff3ef23f

    也可以这样:

    b *phase_1 + 22

  • 寄存器%pc%eip中存放的值貌似都是将要执行的下一条指令所在地址

    x/1i $pc可以显示将要执行的下一条指令

  • call命令会先把寄存器%ip压栈,然后把%ip赋值为调用的函数开头命令的地址

  • ret命令相当于就是pop %ip