0

我使用缓冲区溢出并在堆栈中的 ret 地址上写入。当我用 gdb 调试它时,我了解到 eip 设置为我想要的地址。该地址是 libc 中的一个小工具。指令的操作码设置正确,但它只是不执行它们,我收到以下消息:

0xb7fa9dd8 in ?? () from /lib/i386-linux-gnu/libc.so.6

为什么?这是什么信息?

请看下面的数据:

(gdb) x $eip
 0xb7fa9dd8:    0xfff2a858

要执行的小工具是:

184dd8: 58                      pop    %eax
184dd9: a8 f2                   test   $0xf2,%al
184ddb: ff a8 00 00 00 00       ljmp   *0x0(%eax)
4

0 回答 0