المرحلة الأولى — أساسيات اللغة
8 دروسمن مراحل الترجمة إلى المصفوفات والسلاسل النصية: البنية التي يُبنى عليها كل ما بعدها، وكل مفهوم مربوط بأثره في الـ binary.
0x00
المراحل التي يمر بها الكود
3 دقائق قراءة
المراحل الأربع لتحويل كود C إلى ملف تنفيذي — Preprocessor وCompiler وAssembler وLinker — وأثر كل مرحلة على شكل الـ binary.
0x01
هيكلية البرنامج
3 دقائق قراءة
هيكلية برنامج C الأساسية: التضمين include والدالة main والتعليقات والمتغيرات العامة والدوال — وأثر كل جزء منها في الـ binary.
0x02
المتغيرات والثوابت
4 دقائق قراءة
تعريف المتغيرات وقواعد تسميتها، والثوابت عبر const و#define، والفرق الجوهري بينهما وقت الترجمة وفي الذاكرة.
0x03
أنواع البيانات ومحددات التنسيق
3 دقائق قراءة
أنواع البيانات وأحجامها الحقيقية على x86/x64، ومحددات التنسيق في printf/scanf — وربطها بأحجام العمليات في الـ assembly.
0x04
سلاسل الهروب
3 دقائق قراءة
سلاسل الهروب والحرف المنهي null (0x00): كيف تخزن النصوص فعلياً ولماذا تنتهي النصوص داخل الـ binaries بصفر.
0x05
الجمل الشرطية
4 دقائق قراءة
if وelse وswitch والعامل الثلاثي — وكيف تتحول إلى cmp وقفزات شرطية وجداول قفزات في الـ disassembly.
0x06
الحلقات التكرارية
4 دقائق قراءة
while وdo-while وfor والحلقات المتداخلة — والبصمة التي تعرف بها الحلقة في الـ assembly: القفزة العكسية.
0x07
المصفوفات والسلاسل النصية
5 دقائق قراءة
المصفوفات والسلاسل في الذاكرة، دوال string.h الخطيرة، وعلاقتها المباشرة بثغرات Buffer Overflow.
المرحلة الثانية — الدوال والذاكرة
5 دروسقلب السلسلة: الدوال والمؤشرات والعوامل البتية، ثم بنية Stack وHeap حتى التخصيص الديناميكي وثغراته.
0x08
الدوال
5 دقائق قراءة
الدوال بأنواعها ودوال الذاكرة والإدخال المهمة للمحلل، وبنية Prologue وEpilogue واتفاقيات الاستدعاء في الـ assembly.
0x09
المؤشرات وإدارة الذاكرة
7 دقائق قراءة
المؤشرات بأنواعها وحسابات العناوين وأقسام الذاكرة الخمسة — وموقع المؤشرات من الثغرات الشهيرة.
0x10
العوامل البتية
6 دقائق قراءة
العوامل البتية وعوامل الزيادة والنقصان — اللغة المشتركة بين C والـ assembly وأنماط فك تشفير XOR.
0x11
الذاكرة الظاهرية: Stack مقابل Heap
8 دقائق قراءة
بنية الـ Stack Frame والسجلات واتفاقيات الاستدعاء، وChunks الـ Heap — الميدانان الأساسيان للاستغلال.
0x12
التخصيص الديناميكي
9 دقائق قراءة
malloc وcalloc وrealloc وإدارة Bins وtcache — وثغرات سوء التخصيص: Heap Overflow وUAF وDouble Free.
المرحلة الثالثة — مستوى منخفض وأنواع متقدمة
6 دروسدخول الـ Assembly فعلياً: التمرير بالمرجع، النطاقات وstatic، الهياكل والاتحادات، والمعالج المسبق.
0x13
التمرير بالمرجع والقيمة
9 دقائق قراءة
التمرير بالقيمة والمرجع بتتبع كامل في Assembly x86-64 — والقاعدة الذهبية لتمييز mov عن lea.
0x14
الدوال — الجزء الثاني
8 دقائق قراءة
نطاق المتغيرات وملفات الرأس وstatic والعودية — بتتبع كامل لإطار المكدس خطوة بخطوة.
0x15
المعدلات
4 دقائق قراءة
معدلات الإشارة والحجم والتخزين signed/short/static، وتمثيل الأعداد السالبة بتعويض الاثنين.
0x16
الهياكل Struct
4 دقائق قراءة
الهياكل وtypedef وعامل السهم، وعملية Padding والمحاذاة — وكيف يتحول struct إلى خريطة إزاحات في التحليل.
0x17
الحقول البتية والاتحادات والتعداد
4 دقائق قراءة
Bit Fields وUnions وEnums — ثلاث أدوات يومية في قراءة الـ binaries وأنماطها الواضحة في الـ assembly.
0x18
المعالج المسبق
5 دقائق قراءة
توجيهات المعالج المسبق: الماكروز والترجمة الشرطية و#pragma pack — وما يتركه كل منها في الـ binary.