如何在C中找到缓冲区的大小

时间:2018-09-18 09:56:59

标签: c memory

我正在使用CTF,并且有一个用C编写的软件,但是没有源代码。我正在尝试使用printf做一个libc缓冲区溢出。 GDB给了我指向shell和libc系统的指针。但是我无法在输入中找到缓冲区的大小。

我已经尝试通过手动输入足够的输入(例如50)来引起强制溢出和段错误,从而进行暴力破解。但是,当使用断点和x / 500xb $ esp单步执行每个调用函数时,在内存显示中找不到我的输入值(0x11)。如果我经历了所有的通话中断,则结束时不会出现错误(使用少于50个输入字符)。我想了解如何找到输入中读取的该缓冲区的起始内存位置和总大小。

我可以在GDB中看到带有disas main的printf命令,但是在它后面放置一个中断时,此时没有数据写入。

0 个答案:

没有答案