使用 gdb 在汇编指令层面对程序注入、修改
gdb 启动程序后,打开汇编界面
layout asm
可以看到汇编代码,左边有每行指令的地址
可以使用 x/10x 0xADDRESS 这种命令去确认某个地址的指令
使用如下命令把某个地址的指令改为 0x90 NOP 气泡指令
(gdb) set {unsigned char[4]}0x401000 = {0x90, 0x90, 0x90, 0x90}
此时 layout asm 显示的汇编指令还是我们修改前的指令,我们需要重新反汇编
disassemble
再 layout asm,可以看到我们修改后的新的反汇编结果