الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اختراق برنامج بسيط جداً مكتوب بلغة C

مغلقمُجاب
بدأه مصطفى 36a2 في 19 أغسطس 2013 · 2 رد · 3,601 مشاهدة · في قسم أمن المعلومات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

برنامج لاحقته exe  ... هو عبارة عن بضعة كيلو بايتات..يمكن تلخيص محتواها بما يلي :
1- معلومات عن البرنامج ..
2-بيانات يستخدمها البرنامج ...
3-التعليمات التي سينفذها البرنامج ...
بغض النظر كيف سيتم ترميز هذه الأمور داخل البرنامج ...يجب أن تعرف أن أي سلسلة نصية معرفة داخل البرنامج سيتم حفظها كما هي في البرنامج 
مثال عملي بسيط ... 

بفرض أننا كتبنا البرنامج التالي بلغة C:
 

اقتباس
#include<stdio.h>
int main()
{
char *string="Hello World!";
printf(string);
getchar();
return 0;
}

 

وبعد أن نقوم بترجمة البرنامج وإنتاج ملف exe  ... اتبع مايلي :
افتح برنامج Notepad++  ( حمله إن لم يكن لديك )
اسحب ايقونة ملف الexe  وأفلتها داخل برنامج الnotepad++
سيفتح البرنامج كنص ...
والآن قم بالبحث عن عبارة Hello World  ... وستجدها في الأسفل مع البيانات المخزنة :) ... إذا لم تجدها اضغط ctrl+f واكتبها وسيبحث عنها النوتباد 
هل وجدتها :)
يمكنك تغييرها إلى أي عبارة بنفس الطول .... انتبه  : نفس الطول تماماً وإلا لن يعمل البرنامج ... والآن شغل البرنامج ... وسترى التعديل الذي قمت به :)

والآن لننتقل إلى الموضوع الرئيسي ... 
بطريقة مماثلة ... سأكتب برنامج يطلب منك إدخال كلمة سر ... وإذا كانت صحيحة يطبع عبارة معينة ...
المطلوب منك كتابة هذه العبارة هنا في مشاركة لتدل على أنك نجحت :) ... وإن لم تنجح فلا بأس في مناقشة الموضوع ...
بالتوفيق :)

البرنامج في المرفقات 

 

easy hack.rar

2
#2 أفضل إجابة

السلام عليكم أخي مصطفى :)

 

بالمناسبة فكلمة المرور هي ThePassword:) ، لكنني قررت أن أخترق البرنامج بعمل باتش ساحق ماحق ... إليك الطريقة :)

 

* - أولا : إليك كلمة المرور أين تقبع ***

 

341728383.jpg

 

و إليك الآن طريقة برمجة الباتش الماحق :)

 

767801367.png

 

بعد أن عرفنا العنوان 004010B2 ، سنقوم بفتح برنامج WDasm لمعرفة الأوفست Offset كالتالي :

 

783209327.png

 

- الأوفست هو : 10B2h، إذن ما علينا سوى برمجة الباتش...

 

* - ثانيا : سورس كود الباتش البسيط :)

#include <stdio.h>
#include <stdlib.h>

#define JE 	0x74
#define OFFSET	0x10B2

int main()
{
char byte[2]={JE,0x15};
FILE  *patch;
patch=fopen("easy hack.exe","r+b");
fseek(patch,OFFSET,SEEK_SET);
fwrite(&byte,sizeof(byte),sizeof(byte),patch);
fclose(patch);

return 0;
}

إليك البرنامج بعد الباتش :

 

221083406.png

 

و الآن أصبح برنامجك في خبر كان ههههههههه :)

 

إلى اللقاء ...

 

easy hack_patch.zip

1
rS3eY.png
#3

ما شاء الله عليك أخي حمزة :)
ولكن لا أزال مصراً على أن تكتب ما يطبعه البرنامج :) ... ربما هذه هي الخدعة الوحيدة هنا :)
بارك الله فيك ..

هذا الموضوع مغلق.

مواضيع مشابهة