我试图了解堆栈溢出,当我想覆盖eip寄存器时,我在shell中键入此命令:
run $(perl -e 'print "\xb8\x06\x40\x00" x 20;')
它应该覆盖dwords 20次,但问题是最后一个十六进制数字x00不算数,因为它是一个空字节,我不知道要用它替换它,我试过很多组合,但我似乎找不到合适的。
这是输出
0x7fffffffe230: 0xf7ff74c0 0x00007fff 0xffffe643 0x00007fff
0x7fffffffe240: **0xb84006b8 0x06b84006 0x4006b840 0xb84006b8
0x7fffffffe250: 0x06b84006 0x4006b840 0xb84006b8 0x06b84006
0x7fffffffe260: 0x4006b840 0xb84006b8 0x06b84006 0x4006b840
0x7fffffffe270: 0xb84006b8 0x06b84006 0x4006b840** 0x00000000
0x7fffffffe280: 0x004006f0 0x00000000 0xf7a57870 0x00007fff
0x7fffffffe290: 0xffffe368 0x00007fff 0xffffe368 0x00007fff
0x7fffffffe2a0: 0x00000000 0x00000002 0x00400669 0x00000000
查看像0xb84006b8这样的地址,它缺少x00 ..
感谢您的帮助:)