gpt4 book ai didi

你能解释一下这段代码吗?

转载 作者:行者123 更新时间:2023-12-02 00:16:41 27 4
gpt4 key购买 nike

所以我一直在阅读有关缓冲区溢出和 Aleph One 关于堆栈粉碎的文章。我想我什么都明白了,除了他的漏洞利用代码中的一点点:

ptr = buff;   
addr_ptr = (long *) ptr;
for (i = 0; i < bsize; i+=4)
*(addr_ptr++) = addr;

buff 和 ptr 是字符数组。 addr 持有一个堆栈指针,该指针指向堆栈开始处的内存位置。 bsize 是 buff 的大小。
它在做什么?为什么他说 i+=4?他将 addr_ptr 设置为等于什么,为什么?当我尝试打印它时,我只是得到 NULL。

这是文章的链接: http://insecure.org/stf/smashstack.html

谢谢。

最佳答案

他每次移动 4 个字节以推进一个字(8 位 * 4 字节 = 32 位字)。请注意,他在您的代码示例之后的段落中评论了他的猜测和测试方法。

他在黑暗中射击,试图溢出缓冲区。 addr_ptr 被设置为 ptr 的地址,然后在 for 循环中沿着缓冲区推送。

关于你能解释一下这段代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12718495/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com