Protostar stack exercise#1
بسم الله الرحمن الرحيم
اللهم لا علم لنا الا ماعلمتنا
اللهم علمنا ماينفعنا وانفعنا بما علمتنا انك انت العليم الحكيم
اليوم نكمل التمرين الثاني من Protostar
الكود للتمرين الثاني :
كل اللي علينا في التمرين هذا نغير قيمة مثل التمرين السابق ولكن نغيرها الى القيمة
اللهم لا علم لنا الا ماعلمتنا
اللهم علمنا ماينفعنا وانفعنا بما علمتنا انك انت العليم الحكيم
اليوم نكمل التمرين الثاني من 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
تعليقات
إرسال تعليق