بسم الله، والسلام عليكم ورحمة الله وبركاته.
هذه المدونة ليست مقالات متفرقة تقرؤها بأي ترتيب، بل منهج واحد متدرّج يقودك من سؤال «كيف يعمل المعالج؟» حتى تفكك برنامجاً حقيقياً بنفسك. هذه الصفحة هي خريطة الطريق.
ولكثرة استخدام الذكاء الاصطناعي في الأونة الأخيرة، كان ولا بد من إيضاح كيفية استخدامه للطلاب؛ لذلك لا بد أن تبدأ رحلتنا بمقال كيف تستخدم الذكاء الاصطناعي؟.
صُممت السلاسل بشكل مترابط؛ فكل سلسلة تُعِدّك للتي بعدها، وحاولت قدر الإمكان إدخال أمثلة عملية في سلسلتَي معمارية الحاسوب وأنظمة التشغيل — فهما نظريتان بحتتان — كي لا يملّ الطالب من دراستهما.
وما أريد إيضاحه أن هذه السلاسل لا تغنيك عن قراءة الكتب الأصلية الخاصة بها، ولكن إن شاء الله تكون ذات نفع كبير يوصلك إلى الإلمام بالمصطلحات بنسبة تسعين بالمئة، وكل سلسلة لها مرجع أساسي اعتُمد عليه في الشرح. كما تمت ترجمة السلاسل إلى اللغة الإنجليزية باستخدام الذكاء الاصطناعي، فإن وجدت أي أخطاء فاعذرونا.
قبل البدء بسلاسل C وAssembly ونوقطة-الدخول: يجب عليك تثبيت آلة افتراضية ونظام Windows 10، وتنزيل مترجم gcc وأداة IDA والأدوات المذكورة في ورشة نوقطة-الدخول.
المسار الكامل
| # | السلسلة | الدروس | الحالة |
|---|---|---|---|
| 1 | معمارية الحاسوب | 8 | متاح |
| 2 | أنظمة التشغيل | 7 | متاح |
| 3 | ورشة لغة C | 19 | متاح |
| 4 | لغة التجميع Assembly | 7 + 3 حلول معامل | متاح |
| 5 | نوقطة-الدخول | 11 + معملان | متاح |
1 · معمارية الحاسوب (Arch-P01NTs)
أساس كل ما بعدها: كيف يُنظَّم الحاسوب من الداخل — المعالج وبنيته، مجموعة التعليمات (ISA)، أنماط العنونة، الذاكرة المخبئية والرئيسية، نظام الإدخال والإخراج، ووصلات النقل. ستكتب كود C وترى أثره في الـ Assembly منذ الدرس الأول.
→ ابدأ بدرس 0x0 — معمارية وتنظيم الحاسوب
2 · أنظمة التشغيل (OS-P01NTs)
الطبقة التي تعيش برامجك داخلها: بنية النظام واستدعاءات النظام، المقاطعات، العمليات والخيوط والجدولة، إدارة الذاكرة الافتراضية، وواجهة نظام الملفات. بدونها سيبقى الكثير مما تراه في المفكك سحراً غير مفسَّر.
→ ابدأ بدرس 0x0 — البنية الأساسية لأنظمة التشغيل
3 · ورشة لغة C (C-P01NTs)
اللغة الأقرب إلى الآلة التي يحللها المهندس العكسي يومياً، تُدرَّس هنا بعين الـ RE: كل مفهوم مربوط بأثره في الـ binary — مراحل الترجمة، المؤشرات والذاكرة، الستاك مقابل الهيب، التخصيص الديناميكي وثغراته، وصولاً إلى المعالجة المسبقة.
→ ابدأ بدرس 0x00 — مراحل تحويل الكود إلى ملف تنفيذي
4 · لغة التجميع (Asm-P01NTs)
الجسر العملي بين لغة C والهندسة العكسية، بالكتابة الحية داخل IDA Pro: المسجلات وإطار الستاك واتفاقيتا الاستدعاء cdecl/stdcall، تعليمات السلاسل وبادئات التكرار، جداول القفز، وإعادة بناء البنيات — ومعامل حقيقية بحلولها التفصيلية. وهي شرط عملي قبل دخول الورشة.
5 · نوقطة-الدخول (الهندسة العكسية)
محطة الوصول: عقلية المهندس العكسي، معمارية Windows وتنسيق PE، التعرف على تركيبات C داخل الـ Assembly، دورة الهجوم السيبراني، أدوات التحليل الساكن والديناميكي — وتنتهي بمعملين عمليين تعمل عليهما بنفسك.
→ ابدأ بدرس 0x1 — مقدمة في الهندسة العكسية
قواعد الدراسة الثلاث
- المعامل داخل آلة افتراضية معزولة فقط — لا استثناءات، مهما بدت العينة بريئة.
- أعد التنفيذ بنفسك: اكتب الكود وشغّله وحلّله بيدك، فالقراءة وحدها وهم تعلم.
- اطلب تلميحات لا حلولاً: الصراع مع المشكلة هو التعلم نفسه؛ وكل ما يغذيك بالإجابة الجاهزة يسرق منك هذه الصراعة.