هندسة عكسية عملية: دليل البدء العملي
دليل تاريخ النشر 6 يوليو 2026

هندسة عكسية عملية: دليل البدء العملي

تعلم سير العمل الأساسي لهندسة عكسية للملفات الثنائية، من التحليل الثابت إلى تصحيح الأخطاء الديناميكي، مع نصائح عملية حول الأدوات.

هندسة عكسية هي عملية تشريح البرامج المترجمة لفهم منطقها وسلوكها والقصد منها دون الوصول إلى الكود المصدري. سواء كنت تحلل البرامج الضارة أو تدقق في الملفات الثنائية المغلقة أو تدرس تحديات CTF، فإن نفس سير العمل الأساسي ينطبق: اجمع المعلومات بشكل ثابت، ثم أكد فرضياتك بشكل ديناميكي. يرشدك هذا الدليل عبر هذا السير مع خطوات عملية غير مرتبطة بأي أداة معينة يمكنك تطبيقها على الفور.

إعداد بيئة تحليل آمنة

قبل لمس أي ملف ثنائي غير مألوف، عزل مساحة عملك. استخدم آلة افتراضية مخصصة بدون وصول شبكي إلى مضيفك، خذ لقطة من قبل التحليل، وعطّل المجلدات المشتركة ومزامنة الحافظة. الأدوات مثل Linux VM مع radare2 و Ghidra و gdb و objdump تغطي معظم الاحتياجات الثابتة والديناميكية، بينما Windows VM مع x64dbg و Process Monitor ضرورية لملفات PE. لا تحلل أبداً العينات المريبة على آلتك الأساسية، وارجع دائماً اللقطات بين الجلسات لتجنب التلوث المتبادل.

التحليل الثابت: القراءة بدون التنفيذ

ابدأ بتحديد نوع الملف والعمارة باستخدام file و readelf -h (Linux) أو محقق رأس PE (Windows). تحقق من الضغط أو التعتيم باستخدام تحليل الإنتروبيا — الأدوات مثل Detect It Easy تحدد أقسام الإنتروبيا العالية بشكل مريب التي تشير إلى الضغط أو التشفير.

بعد ذلك، حمّل الملف الثنائي في منفك تجميع مثل Ghidra أو IDA Free. ركز على:

  • الواردات والصادرات — استدعاءات API مثل CreateRemoteThread أو VirtualAllocEx تلمح إلى حقن العمليات؛ WSAStartup يشير إلى الشبكات.
  • السلاسل النصية — شغّل strings -n 8 binary لإظهار عناوين URL مشفرة مباشرة أو مسارات الملفات أو رسائل التصحيح التي تكشف الوظيفة.
  • رسوم البيانات لتدفق التحكم — عرض decompiler الخاص بـ Ghidra يحول assembly الخام إلى pseudo-C قابلة للقراءة، مما يسرع بشكل كبير فهم الحلقات والشروط.

أضف ملاحظات على أسماء الدوال كما تفهمها. إعادة تسمية sub_401020 إلى decrypt_config تجعل بقية التحليل أسهل في المتابعة على الفور.

التحليل الديناميكي: مراقبة التنفيذ

التحليل الثابت وحده لا يكفي، خاصة ضد الكود المعتم أو المضغوط. حمّل الملف الثنائي في أداة تصحيح وعيّن نقاط توقف في استدعاءات API المريبة المحددة مسبقاً. في x64dbg، التوقف عند VirtualAlloc أو WriteProcessMemory غالباً ما يكشف روتينات الفك كما تكتب الكود المفكوك في الذاكرة قبل التنفيذ مباشرة.

استخدم Process Monitor أو strace/ltrace على Linux لتسجيل نشاط الملف والتسجيل والشبكة في الوقت الفعلي. يكمل هذا العرض الخارجي العرض الداخلي من أداة التصحيح وغالباً ما يكشف السلوك الذي يصعب اكتشافه في التجميع وحده، مثل إنشاء ملفات مؤقتة أو بحث DNS.

للملفات الثنائية القابلة للشبكة، قم بتشغيلها جنباً إلى جنب مع Wireshark أو محاكي انترنت مزيف مثل INetSim لمراقبة حركة القيادة والتحكم دون السماح بوصول العينة الفعلي إلى الإنترنت.

التعامل مع حيل مكافحة التحليل

تتضمن العديد من الملفات الثنائية — خاصة البرامج الضارة — فحوصات مصممة للكشف عن أدوات التصحيح أو الآلات الافتراضية أو بيئات الاختبار. تتضمن التقنيات الشائعة استدعاء IsDebuggerPresent، والتحقق من مفاتيح التسجيل الخاصة بـ VM، أو قياس وقت التنفيذ للكشف عن المشي خطوة واحدة. عندما تكتشف هذه الفحوصات أثناء التحليل الثابت، يمكنك إصلاح القفزة الشرطية في أداة التصحيح لفرض

تم إنشاء هذه المقالة بمساعدة الذكاء الاصطناعي ونشرها في قاعدة معارف Korra Studio. هل لاحظت خطأ؟ أخبرنا.

ملاحظات العمليات

هل أنت مستعد للمزيد؟

حوّل ملاحظات العمليات هذه إلى مهارات عملية — انشرها في Segments ذات الصلة على DEFENSE_GRID.

bolt إنشاء حساب مجاني

Segments ذات الصلة

arrow_backجميع ملاحظات العمليات grid_viewاستكشف مكتبة العمليات