我正在尝试运行缓冲区溢出示例来运行一些代码,但问题是当我尝试运行代码只是为了获得缓冲区溢出时,Windows 会提示“程序已停止工作,Windows 正在检查程序的解决方案。因此,当我尝试确保它仅溢出一个字节时。程序只是运行,但不会暂停命令窗口以让我看到分段错误错误地址。据我所知我需要为了改变它并让它运行我想要的窗口作为传递的参数。这是一个简单的程序。
#define BUF_LEN 5
int main(int argc, char **argv)
{
char buf[BUF_LEN];
if (argc > 1)
{
strcpy(buf, argv[1]);
}
return 0;
printf(buf);
system("pause");
}