开始看较低层次的东西,可能只是我不明白的错误。缓冲区溢出教程:注册表"esp"无效?



我偶然发现了一个简单的缓冲区溢出(嘿,你知道什么?)教程,并认为我可以尝试一下。该视频大约20分钟长,但非常有趣,如果您不熟悉这些内容,我建议您观看。这是网址:

http://www.securitytube.net/video/1752

我的问题出现在 14:17 左右,此时他输入一个命令来查找堆栈指针,但我输入相同的命令,使用几乎相同的代码(不同的内存位置)并得到这个:

(gdb) i r esp
 Invalid register `esp'

我真的不知道为什么会发生这种情况,我还不知道它是如何工作的。我是否覆盖了堆栈指针或其他东西?我实际上是通过Windows 7上的Virtual Box运行linux的,最新版本是Backtrack linux。

您需要在寄存器前面加上"$",即

i r $esp

当您使用的是 64 位 gdb 时,寄存器名称为 $rsp

最新更新