أساسيات التفكيك
Ghidra وIDA
أساسيات التفكيك درس مجاني في Ethical Hacking Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ethical Hacking Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.
ما التفكيك؟
يحوّل التفكيك التعليمات البرمجية الآلية للملف الثنائي إلى تعليمات Assembly سهلة القراءة. ويتيح لك قراءة ما سينفذه CPU بالضبط.
وهذا ضروري عند عدم توفر التعليمات البرمجية المصدرية، كما هو الحال دائماً مع البرمجيات الخبيثة.
التفكيك مقابل إلغاء الترجمة
ينتج التفكيك تعليمات Assembly. أما إلغاء الترجمة فيتقدم خطوة أخرى، إذ يعيد بناء شيفرة شبه برمجية تقريبية عالية المستوى شبيهة بلغة C.
تكون الشيفرة شبه البرمجية أسرع في القراءة، بينما Assembly دقيقة. ويستخدم المحللون كلتيهما، ويتنقلون بينهما حسب الحاجة.
Ghidra
إن Ghidra حزمة مجانية مفتوحة المصدر للهندسة العكسية من NSA. وهي تفكك العديد من البنى، وتتضمن مترجمًا عكسياً قوياً.
يجعل سعرها وإمكاناتها منها أداة البداية المفضلة لدى معظم المحللين.
IDA Pro
إن IDA Pro هو المعيار التجاري الراسخ منذ زمن طويل، والمعروف بأداة التفكيك القوية ومترجم الشيفرة العكسي (باستخدام إضافة Hex-Rays).
يُعد كل من IDA Free وأدوات أخرى مثل Binary Ninja وradare2/Cutter بدائل شائعة.
تحميل الملف الثنائي
تستورد العينة إلى الأداة، التي تحللها تلقائياً: فتحدد الدوال والمراجع التبادلية والسلاسل النصية.
وتبني الأداة خريطة للبرنامج يمكنك التنقل فيها، بدءاً من نقطة الدخول أو عمليات الاستيراد المهمة.
قراءة Assembly
تنقل تعليمات Assembly البيانات وتجري العمليات عليها. إليك بعض تعليمات x86 الشائعة:
mov: نسخ البيانات.push / pop: عمليات المكدس.call / ret: استدعاء الدوال والعودة منها.cmp / jmp / je: المقارنة والتفرع.
mov eax, [ebp-4]
cmp eax, 0
je short loc_401050المراجع التبادلية
تُظهر المراجع التبادلية (xrefs) مواضع استخدام دالة أو سلسلة نصية. ويؤدي العثور على مراجع تبادلية لواجهة API مشبوهة مثل CreateRemoteThread إلى نقلك مباشرةً إلى التعليمات البرمجية ذات الصلة.
ويتيح لك ذلك التنقل وفقاً للسلوك بدلاً من قراءة البرنامج من أوله إلى آخره.
تتبّع استدعاءات API
تكشف استدعاءات Windows API المستوردة عن الهدف. إن رؤية VirtualAlloc ثم WriteProcessMemory ثم CreateRemoteThread تمثل تسلسلاً كلاسيكياً لـحقن العمليات.
ويُعد التعرف على هذه الأنماط جوهر الهندسة العكسية للبرمجيات الخبيثة.
عرض الرسم البياني
توفر أدوات فك التجميع عرضاً بيانياً يعرض الكتل الأساسية والتفرعات التي تصل بينها. ويعمل ذلك على تصور تدفق التحكم في الدالة، مما يجعل تتبع الحلقات والشروط سهلاً.
وهو أكثر قابلية للقراءة بكثير من قائمة التعليمات الخطية عند التعامل مع المنطق المعقد.
الدمج مع تصحيح الأخطاء
يتكامل فك التجميع الساكن جيداً مع مصحح الأخطاء. عندما تكون التعليمات البرمجية مموهة أو ذاتية التعديل، يمكنكم تعيين نقاط توقف والتنفيذ خطوة بخطوة أثناء التشغيل لرؤية التعليمات الفعلية.
ويُعد هذا الجسر إلى التحليل الديناميكي ضرورياً للعينات المضغوطة، التي يتناولها الدرس التالي.
إعادة التسمية وإضافة التعليقات
كلما فهمتم الدوال والمتغيرات، أعيدوا تسميتها وأضيفوا تعليقات في أداة فك التجميع. إن تحويل sub_401000 إلى decrypt_config يجعل بقية التحليل أسهل بكثير.
وتُعد هذه التسمية التدريجية الطريقة التي يعيد بها المحللون بناء المنطق الكامل لعينة برمجية خبيثة تدريجياً.
اختبار سريع
تذكروا الفرق بين مخرجي Ghidra الرئيسيين.
مراجعة
أصبحتم الآن تفهمون أساسيات فك التجميع:
- ينتج فك التجميع لغة التجميع، بينما تنتج إزالة التجميع شيفرة زائفة.
- تُعد أداتا Ghidra (المجانية) وIDA Pro الأداتين الرئيسيتين.
- استخدموا المراجع التبادلية وأنماط استدعاءات API (مثل تسلسلات الحقن) للتنقل وفقاً للسلوك.
- يصور العرض البياني تدفق التحكم؛ اقرنوه بمصحح أخطاء عند تحليل الشيفرة المموهة.
ستتعلمون بعد ذلك التغلب على أدوات التغليف من خلال فك التغليف.
الأسئلة الشائعة
هل درس «أساسيات التفكيك» مجاني؟
نعم — نص درس «أساسيات التفكيك» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ethical Hacking Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.
ماذا ستتعلم في «أساسيات التفكيك»؟
Ghidra وIDA تتمرن على Ethical Hacking Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ethical Hacking Academy؟
لا تُشترط خبرة سابقة. Ethical Hacking Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «أساسيات التفكيك»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ethical Hacking Academy هذا؟
نعم. كل درس في Ethical Hacking Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التحليل الساكن
- التحليل الديناميكي
- أساسيات التفكيك
- فك التغليف