我用汇编写了一个小程序,它应该打印“AAAA”。当我直接运行它时它工作正常,但是当我在ac程序中将它作为shellcode运行时,它不起作用。请帮忙。
当我编译并执行以下代码时:
char shellcode[] = {0x31,0xc0,0xb0,0x04,0x31,0xdb,0xb3,0x01,0x68,0x41,0x41,0x41,0x41,0x89,0xe1,0x31,0xd2,0xb2,0x04,0xcd,0x80,0x31,0xc0,0xb0,0x01,0x31,0xdb,0xb3,0x01,0xcd,0x80};
int main(){
(*(void(*)())shellcode)();
return 0;
}
编译为:
$gcc -g -Wall -fno-stack-protector -z execstack code.c -o code
执行:
$./code
$
