سلام دوستان،
من یک کده اسیب پذیر به Buffer Overrun نوشتم،و اون رو با GCC تحت Windows کمپایل کردم،
با وارد کردن 4+268 Junk تا یعنی با 272 کاراکتر میشه EIP رو overwrite کرد
#include <windows.h>
#include <string.h>
int main(int argc,char *argv[])
{
char buf[256];
strcpy(buf,argv[1]);
printf("You Entered: %s\n",buf);
return EXIT_SUCCESS;
}
حالا قرض:
داشتم کده اسیب پذیر رو Disassemble میکردم دیدم که براش 296 بایت Allocate شده
همون طور که تو عکس زیر میبینید،
حالا میخواستم دلیلشو از دوستان بپرسم؟؟؟؟
ممنون.