c嵌入汇编指令与strcpy缓冲区溢出测试怎么弄?
AeNet 2016-02-15 10:51:46 #include <stdio.h>
#include <string>
char name[] = "abcdefg12345678"; //大于8位 字符串
void a(char* name)
{
char output[8];
strcpy(output, name);
printf("%s\n", output);
}
void main()
{
a(name);
_asm
{
mov eax,0xCC
mov byte ptr ds:[00401A2C],eax
call 00401A2C
}
}
C中插入汇编代码,mov byte ptr ds:[00401A2C],eax 总出错
1.嵌入汇编中 如何操作内存?这个内存地址 是我随机选的 用来保存一个断点指令CC,然后代替getchar()/system("pause")带暂停下控制台.不知道我的这种想法能否实现
2.此程序 我是模仿<挖0day>想用来测试 strcpy函数缓冲区溢出攻击的,但VS立即弹出了栈溢出。而且我VS写的程序 拖到虚拟机XP上 直接弹出无效win32程序。不知道该怎么做这个缓冲区攻击实验? 《挖0day》书上是用vc++6.0写的
求各位大神指点迷津~!!!