P01NT
ورشة لغة C بمنظور الهندسة العكسية

C-P01NTs

ورشة أساسيات لغة C بمنظور الهندسة العكسية — تسعة عشر درساً تبدأ من مراحل الترجمة وتنتهي بالمعالج المسبق، وكل مفهوم يُربط ببصمته في الـ disassembly.

19 درساً 3 مراحل
الأساسيات

المرحلة الأولى — أساسيات اللغة

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 حتى التخصيص الديناميكي وثغراته.

متقدم

المرحلة الثالثة — مستوى منخفض وأنواع متقدمة

6 دروس

دخول الـ Assembly فعلياً: التمرير بالمرجع، النطاقات وstatic، الهياكل والاتحادات، والمعالج المسبق.