-
-
[求助]shellcode执行问题。
-
发表于: 2010-8-1 14:41 3158
-
void why_here()
{
char* p = new char[6];
memset(p,0,6);
p[0] = 'a';
p[1] = 'b';
p[2] ='m';
p[3] = 'i';
p[4] = 'n';
p[5] = '\0';
printf(p);
}
typedef void (* FN)();
int _tmain(int argc, _TCHAR* argv[])
{
unsigned char buff[]="\x6a\x06\xe8\xd4\x00\x00\x00\x33\xc9\x89\x08\x66\x89\x48"
"\x04\x50\xc6\x00\x61\xc6\x40\x01\x62\xc6\x40\x02\x6d\xc6\x40\x03\x69\xc6"
"\x40\x04\x6e\x88\x48\x05\xff\x15\xa8\x20\x40\x00\x83\xc4\x08\xc3";
FN f = (FN)&buff;
f();
system("pause");
}
程序中buff存的是why_here对应的机器码。
执行到红色区域就死了!!求各位大大帮帮我这菜鸟。。
{
char* p = new char[6];
memset(p,0,6);
p[0] = 'a';
p[1] = 'b';
p[2] ='m';
p[3] = 'i';
p[4] = 'n';
p[5] = '\0';
printf(p);
}
typedef void (* FN)();
int _tmain(int argc, _TCHAR* argv[])
{
unsigned char buff[]="\x6a\x06\xe8\xd4\x00\x00\x00\x33\xc9\x89\x08\x66\x89\x48"
"\x04\x50\xc6\x00\x61\xc6\x40\x01\x62\xc6\x40\x02\x6d\xc6\x40\x03\x69\xc6"
"\x40\x04\x6e\x88\x48\x05\xff\x15\xa8\x20\x40\x00\x83\xc4\x08\xc3";
FN f = (FN)&buff;
f();
system("pause");
}
程序中buff存的是why_here对应的机器码。
执行到红色区域就死了!!求各位大大帮帮我这菜鸟。。
赞赏
看原图
赞赏
雪币:
留言: