This level advances from format2 and shows how to write more than 1 or 2
bytes of memory to the process. This also teaches you to carefully control what
data is being written to the process memory.
#include <stdlib.h>#include <unistd.h>#include <stdio.h>#include <string.h>inttarget;voidprintbuffer(char*string){printf(string);}voidvuln(){charbuffer[512];fgets(buffer,sizeof(buffer),stdin);printbuffer(buffer);if(target==0x01025544){printf("you have modified the target :)\n");}else{printf("target is %08x :(\n",target);}}intmain(intargc,char**argv){vuln();}