Protostar stack exercise#1

بسم الله الرحمن الرحيم

اللهم لا علم لنا الا ماعلمتنا

اللهم علمنا ماينفعنا وانفعنا بما علمتنا انك انت العليم الحكيم


اليوم نكمل التمرين الثاني من Protostar

الكود للتمرين الثاني :




 1#include <stdlib.h>
 2#include <unistd.h>
 3#include <stdio.h>
 4#include <string.h>
 5
 6int main(int argc, char **argv)
 7{
 8  volatile int modified;
 9  char buffer[64];
10
11  if(argc == 1) {
12    errx(1, "please specify an argument\n");
13  }
14
15  modified = 0;
16  strcpy(buffer, argv[1]);
17
18  if(modified == 0x61626364) {
19    printf("you have correctly got the variable to the right value\n");
20  } else {
21    printf("Try again, you got 0x%08x\n", modified);
22  }
23}


كل اللي علينا في التمرين هذا نغير قيمة مثل التمرين السابق ولكن نغيرها الى القيمة
 
0x61626364
 
 
ومعناها بالهيكس abcd مثل ماعرفنا ان المتغير buffer ياخذ 64 بايت 

واللي يدخل بعد البياتات هذي هو اللي راح يظهر لنا ولكن الذاكرة تاخذ الحروف بالعكس
 او مايسمى بـlittle endian 
 
 
 
 

تعليقات

المشاركات الشائعة من هذه المدونة

CRLF injection [\r\n Carriage Return]

Study in Nosql-Injection-Mongodb