فك التغليف
التغلب على التعمية
فك التغليف درس مجاني في Ethical Hacking Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ethical Hacking Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.
ما المقصود بالتغليف؟
يعمل التغليف على ضغط الشيفرة الحقيقية للبرنامج أو تشفيرها، ثم يضعها داخل جزء تمهيدي صغير. وعند التشغيل، يفك الجزء التمهيدي تغليف الشيفرة الأصلية في الذاكرة ثم يشغلها.
يستخدم مؤلفو البرمجيات الخبيثة التغليف لتجنب التواقيع وإعاقة التحليل الساكن.
لماذا نفك التغليف؟
يحتوي الملف الثنائي المغلف على عدد قليل من السلاسل والاستيرادات، وعلى إنتروبيا مرتفعة. وتظل الشيفرة المهمة مخفية حتى يعمل الجزء التمهيدي.
يستعيد فك التغليف الشيفرة الأصلية كي تتمكنوا من تحليلها تحليلاً ساكناً واستخراج مؤشرات الاختراق الحقيقية.
اكتشاف أداة التغليف
تحدد أدوات مثل Detect It Easy (DIE) وPEiD أدوات التغليف المعروفة باستخدام التوقيع. كما تُعد الإنتروبيا المرتفعة وجدول الاستيراد الصغير مؤشرين قويين.
تشمل أدوات التغليف الشائعة UPX وASPack وThemida.
die sample.exe
# Packer: UPX(3.96)فك تغليف UPX
تُعد UPX أداة تغليف شائعة وغير خبيثة، ويمكن إجراء هندسة عكسية لها باستخدام أداتها الخاصة. تعمل العلامة -d على فك ضغط الملف الثنائي وإعادته إلى صورته الأصلية.
تستخدم عينات كثيرة من العالم الحقيقي UPX أو نسخة معدلة قليلاً منها، لذلك تُعد هذه المحاولة الأولى المتكررة.
upx -d sample.exeفك التغليف اليدوي: الفكرة
لا يمكن التراجع عن التغليف المخصص باستخدام أداة جاهزة. بدلاً من ذلك، تتركون الجزء التمهيدي يفك التغليف بنفسه في الذاكرة، ثم تلتقطون النتيجة.
الخطة هي: تشغيل العينة تحت مصحح أخطاء، وإيقافها فور اكتمال فك التغليف، ثم تفريغ الشيفرة التي ظهرت الآن.
العثور على OEP
تمثل نقطة الدخول الأصلية (OEP) الموضع الذي ينتقل إليه التنفيذ بعد انتهاء فك التغليف. والوصول إلى OEP يعني أن الشيفرة الحقيقية أصبحت الآن في الذاكرة.
تشمل تقنيات العثور عليها مراقبة قفزة بعيدة خارج الجزء التمهيدي، أو تعيين نقطة توقف على ذاكرة يكتب فيها الجزء التمهيدي ثم ينفذها.
نقاط التوقف لفك التغليف
تتمثل إحدى الحيل الشائعة في وضع نقطة توقف عتادية على المكدس (إذ يعيد الجزء التمهيدي غالباً السجلات قبل الانتقال إلى OEP مباشرة)، أو وضع نقطة توقف على استدعاءات API الشائعة التي تستخدمها الشيفرة التي فُك تغليفها.
عندما تُفعّل نقطة التوقف عند OEP، تكون الشيفرة الأصلية قد فُك تشفيرها بالكامل.
تفريغ العملية
عند OEP، فرّغ ذاكرة العملية إلى ملف جديد. تلتقط أدوات مثل Scylla (المضمّنة في x64dbg) أو PE-sieve الصورة التي فُك تغليفها.
يحتوي التفريغ الآن على التعليمات الحقيقية، لكنه قد لا يعمل بمفرده بعد.
إعادة بناء الاستيرادات
بعد التفريغ، غالباً ما يكون جدول عناوين الاستيراد معطلاً لأن أداة التغليف حلت الاستيرادات أثناء التشغيل. ويمكن لـScylla إعادة بناء IAT حتى يصبح الملف المفرغ قابلاً للتحليل.
بعد إصلاح الاستيرادات، يمكنكم تحميل التفريغ النظيف في Ghidra أو IDA.
أشكال التمويه الأخرى
إلى جانب التغليف، تستخدم البرمجيات الخبيثة أشكالاً أخرى من التمويه، مثل السلاسل المشفرة التي تُفك أثناء التشغيل، والتعليمات غير المفيدة، وتسطيح تدفق التحكم، وفحوصات مكافحة تصحيح الأخطاء.
يُتغلب على هذه الأساليب حالةً بحالة، غالباً من خلال الجمع بين التتبع الديناميكي والقراءة الساكنة المتأنية.
التحقق من العينة التي فُك تغليفها
بعد التفريغ وإعادة بناء الاستيرادات، تحققوا من نجاح العملية بإعادة تشغيل التحليل الساكن؛ إذ يفترض أن تروا الآن عدداً أكبر بكثير من السلاسل وجدول استيراد ممتلئاً.
إذا عادت الإنتروبيا إلى طبيعتها وأصبحت واجهات API ظاهرة، فقد نجح فك التغليف وأصبحت الشيفرة الحقيقية جاهزة للتحليل.
اختبار سريع
تذكروا ما الذي تشير إليه OEP أثناء فك التغليف اليدوي.
مراجعة
أصبحتم الآن تفهمون فك التغليف:
- يخفي التغليف الشيفرة الحقيقية؛ اكتشفوه باستخدام DIE/PEiD والإنتروبيا المرتفعة وقلة الاستيرادات.
- تُفك أدوات التغليف المعروفة مثل UPX باستخدام أداة (
upx -d). - بالنسبة إلى أدوات التغليف المخصصة، شغّلوا العينة تحت مصحح أخطاء، واعثروا على OEP، ثم نفّذوا التفريغ باستخدام Scylla وأعيدوا بناء الاستيرادات.
- تُعالج أشكال التمويه الأخرى (السلاسل المشفرة ومكافحة تصحيح الأخطاء) حالةً بحالة.
لقد أكملتم دورة الهندسة العكسية للبرمجيات الخبيثة.
الأسئلة الشائعة
هل درس «فك التغليف» مجاني؟
نعم — نص درس «فك التغليف» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ethical Hacking Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.
ماذا ستتعلم في «فك التغليف»؟
التغلب على التعمية تتمرن على Ethical Hacking Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ethical Hacking Academy؟
لا تُشترط خبرة سابقة. Ethical Hacking Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «فك التغليف»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ethical Hacking Academy هذا؟
نعم. كل درس في Ethical Hacking Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.