使用缓冲区溢出覆盖时EIP显示错误值

时间:2016-03-16 17:39:01

标签: stack buffer overflow exploit eip

我正在学习如何编写堆栈缓冲区溢出,我一直在学习如何利用易受攻击的C程序的基本教程,用户输入一个字符串并将其存储在10个字符的缓冲区中。

本教程解释说,当您在缓冲区上输入足够的字符时,您将写入EIP寄存器。例如,输入“AAAAAAAAAAAAAAAAAAAAAAAAA”会使EIP的值为0x41414141。但是,当我试图按照教程并输入相同数量的“A”时,我的EIP值为0x41414140。我很困惑最后的0来自哪里以及为什么它取代应该存在的1。

如果有人遇到过这个问题,请解释我如何解决它。感谢。

0 个答案:

没有答案