....... مشوار الألف ميل يبدأ بخطوة ......
نبدأ اليوم معكم سلسلة كبيرة جداً من الدروس و التطبيقات العملية
لكسر حماية البرامج و استانا اسفج السيريالات و عمل الكراك أو الباتش و تصميم الكيجن
ثم ننتقل إلى كسر الألعاب و عمل كلمات السر و كذلك كراكات الالعاب
طبعاً هذا الموضوع ضخم جداً و صعب جداً على المبتدئين أو الأشخاص الذين ليس لديهم معرفة في لغات البرمجة و خاصة لغة التجميع و لهذا السبب سوف يتم تقسيم هذا الموضوع إلى سلسلة دروس صغيرة بحيث يستطيع المتعلم متابعة و تجريب و التدريب على كسر البرامج و الالعاب
يجب أن نعلم جميعاً بأن عملية كسر البرامج متنوعة و ليس جميع البرامج تكسر بنفس الطريقة لأن هناك عدة طرق لتشفير البرامج و بعضها سهل و بعضها أصعب من بعض
و لهذا السبب سوف نبدأ بالشرح على الطرق السهلة لكي نفهم آلية كسر البرامج ثم نبدأ بالتدريج إلى الأصعب ثم الأصعب .... و هكذا
أولاً : الأدوات و البرامج اللازمة
سوف أضع الآن بين أيديكم مجموعة من البرامج التي سوف نحتاجها في دروسنا
1. برنامج PEID + البلجن
لمعرفة نوع التشفير
2. برنامج W32Masm
3.برنامج OllyDBG
4. برنامج Ascii
جميع هذه البرامج مضغوطة على الرابط التالي
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]سوف نبدأ بالدروس فنرجوا منكم وضع هذا الموضوع في المفضلة ليسهل الوصول إليه
لأنه ستجد دروس يتم اضافتها يومياً و متجدد خلال 24 ساعة ان شاء الله
أرجو من الأخوة الذين يريديون تعلم كسر البرامج و الالعاب وضع مشاركاتهم و استفساراتهم في هذا الموضوع
و مجال المناقشة مفتوح في هذا المجال للجميع
**** الدرس الأول ***
مقدمة و مصطلحات لأبد منها
في هذا الدرس سوف نستعرض سلسلة من المصطلحات المهمة و التي يجب معرفتها قبل البدء بالعمل حتى يسهل عليك فهم الدروس التالية
دعونا نبدأ
لغة التجميع ( الاسمبلي )
عبارة عن لغة متدنية المستوى و من خلالها يتم التعامل مع الريجيسترات
فما هو الريجستري
عبارة عن مخازن صغيرة جداً يخزن المعالج بها البيانات
و هذه أشهرها و سوف نراها كثيير
EAX , EBX , ECX , EDX, ESI , EDI,ESP, >>>>> و غيرها كثييير
ماذا يحدث عند تشغيل أي برنامج ؟؟؟؟
عند تشغيل أي برنامج تتم الخطوات التالية
1. الوصول إلى البرنامج .EXE
2. حجز منطقة على الذاكرة تسمى PSP
Program Segment Prefix
3. تحميل البرنامج بعد منطقة PSP
3. تحميل المسجلات DS و ES بعنوان منطقة PSP
4. تحميل المسجل CS بعنوان شفرة العنوان و المسجل IP تستخدم لإزاحة التعليمة قيمتها = 0 في البداية
5. تحميل المسجل SS و SP
5. تسليم التنفيذ إلى البرنامج
ما هو المكدس Stack
منطقة محجوزة في الذاكرة لتخزين العناوين و المعطيات مؤقتاً تستخدمها البرامج
لاحظ أن هناك العديد من المصطلحات تركتها حتى لا يصعب عليكم المتابعة
هذا الجزء مهم جداً جداً جداً
تعليمات القفز Jumping Instructions
يتم تنفيذ البرنامج بطريقة متسلسلة أي بالترتيب و لكن قد يحتاج البرنامج للانتقال إلى جزء ما لفحص قيمة ما مثل كلمة السر أو اسم المستخدم أو الصلاحيات و لهذا يستخدم تعليمات القفز
و هي
1. JZ
اقفز إذا القيمة تساوي صفر
2.JNZ
اقفز اذا القيمة لا تساوي صفر
3.JE
اقفز الذا القيمة تساوي صفر
4.JNE
اقفز اذا القيمة لا تساوي صفر
لاحظ أن JZ نفس عمل JE
و JNZ نفس عمل JNE
التعليمة الأولى
MOV BL,83H
يعني ضع القيمة 83H في الريجستري BL
ADD BL,87H
أي ضيف القيمة 87H إلى الريجستري BL
ما هو التعليمة CMP
هذه التعليمة تستخدم للمقارنة بين قيمتين و هناك تعليمة أخرى نفس العمل و هي TEST
JMP a
يعني اقفز إلى السطر عنوانه a
إلى هنا انتهى الدرس الأول
انتظروا الدروس القادمة .....