0

我不确定我是否在针对此特定任务的正确位置发帖。但我希望有人能帮助我。

这是关于缓冲区溢出

http://nsfsecurity.pr.erau.edu/bom/Smasher.html

和:

http://nsfsecurity.pr.erau.edu/bom/StackGuard.html

你们会不会碰巧知道我怎样才能让它显示“哦,麻烦”。这是关于 Stack Guard 和 Smasher 的。

我尝试输入“D”,因为它确实提示了 ACSII 0x44,但我迷失了方向。

4

2 回答 2

0

制作教程太长了。正如Computer Systems: A Programmer's Perspective中所述,基本上您需要覆盖返回地址,以便当函数返回时(在汇编语言中ret),%pc计数器设置为某个地址(通常在堆栈上)。然后程序继续在错误的地址上执行,以便您执行其他操作。

您需要反汇编二进制文件并检查程序集。单步执行gdborntsd可能会有所帮助。

于 2013-02-16T16:04:45.843 回答
0

我知道这已经很晚了,但我刚刚发现了这个。D 必须进入缓冲区溢出。例如,HELLOHOWARD 有 D 在缓冲区溢出。

于 2016-08-24T02:01:08.000 回答