计算机系统第三章 缓冲区溢出攻击

  • Post author:
  • Post category:其他


有一个专门的实验 感兴趣的同学可以看一下:


缓冲区溢出攻击实验_操作系统原理缓冲区溢出攻击实验_blackturtle的博客-CSDN博客

测试环境 如果是window/linux 64位系统返回地址也是64位 unsigned longlong 如果是 32位返回四个字节 也就是32位

#include<stdio.h>
#include<string.h>

void CopyString(char *s)
{
	char buf[20];
	strcpy(buf,s);
}

void hacked(void)
{
	while(1)
		printf("The program is hacked!\n");	
} 

int main()
{
	char badstr[] = "00001111222233334444555566667777aaaabbbbccccddddeeeef";
	unsigned long *pRIP = (unsigned long*)&badstr[40];
	*pRIP = (unsigned long long)hacked;
	printf("is nort\n");
	CopyString(badstr);
	getchar();
	
	return 0;
}

思考 为啥非得是40 才能进入黑客程序 别的值不行



版权声明:本文为qq_62260432原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。