gpt4 book ai didi

c - 您在缓冲区溢出段错误中看到的地址是什么?

转载 作者:行者123 更新时间:2023-11-30 16:17:46 26 4
gpt4 key购买 nike

所以基本上每次我溢出缓冲区时,我都会看到这个:

 Program received signal SIGABRT, Aborted.                                 
0x00007ffff7a47c37 in __GI_raise (sig=sig@entry=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory
.

我的问题是:0x00007ffff7a47c37是什么?

它与RSPRBP相距甚远,并且在程序抛出段错误之前,如果我这样做:

(gdb) break 12
(gdb) x/x $rip
0x400654 <main+94>: 0xe0558d48

似乎也没有RIP。

我的代码:

#include <stdio.h>

int main(int argc, char *argv[])
{
int dummy;
int* rip = &dummy;
printf("%p\n", rip);
int *ret;
char buf[20];
strcpy(buf, argv[1]);
ret = buf;
printf("%p:%s\n", ret, buf);

return 0;
}

我将脚本运行为 run $(perl -e 'print "A"x40')

最佳答案

这是argv变量的内存地址。

关于c - 您在缓冲区溢出段错误中看到的地址是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56176624/

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