在win7下,通过下面的方法测试shellcode:
char
shellcode [] =
"..."
;
int
main (
int
argc ,
char
** argv)
{
__asm
{
lea eax , shellcode
call eax
}
return
0;
}
|
必须要也可以通过设置数据段为可执行来测试shellcode,不然shellcode所在的数据段由于受系统保护不允许被执行,导致出现异常,而测试失败。
代码如下:
#pragma comment(linker, "/section:.data,RWE") //这句话是关键,设置数据段为可执行
char
shellcode [] =
"..."
;
int
main (
int
argc ,
char
** argv)
{
__asm
{
lea eax , shellcode
call eax
}
return
0;
}