الفريق العربي للهندسة العكسية

نسخة كاملة : قدمة شاملة عن أداة x64dbg وأهم مميزاتها في تحليل البرامج
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
? المقدمة

تُعدّ أداة x64dbg واحدة من أقوى وأشهر الأدوات المفتوحة المصدر في مجال تحليل البرمجيات (Reverse Engineering) و تنقيح البرامج (Debugging) على بيئة Windows.
وقد أصبحت الأداة الخيار الأول للكثير من الباحثين الأمنيين بسبب سهولة استخدامها، وواجهتها الرسومية الواضحة، ودعمها الواسع لكل من البرامج 32-بت و64-بت، بالإضافة إلى مجتمع نشط يقوم بتطويرها باستمرار.
في هذا التقرير نستعرض أهم خصائص x64dbg وكيف يمكن الاستفادة منها في تحليل البرامج، اكتشاف الخبايا، تتبع السلوك، أو حتى فك الحماية (Unpacking).

? أولاً: واجهة x64dbg — البساطة والقوة

تتميز الأداة بواجهة سهلة الفهم حتى للمبتدئين، وتنقسم إلى عدة نوافذ رئيسية:
? 1. نافذة التعليمات (CPU)تعرض:
  • التعليمات المنفذة (Disassembly)
  • سجلات المعالج (Registers)
  • الـ Flags
  • الـ RIP/EIP
  • تعليمات القفز
وهي القلب الأساسي لأي عملية تحليل.
? 2. Memory Mapتعرض جميع مناطق الذاكرة الخاصة بالبرنامج:
  • الكود
  • البيانات
  • الـ heap
  • مكتبات الـ DLL المربوطة
  • الحمايات مثل DEP / ASLR
من خلالها يمكن تحديد موقع الـ ImageBase والبحث عن أنماط معينة داخل الذاكرة.
? 3. Call Stackتُستخدم لمعرفة سلسلة الاستدعاءات (Functions Call Flow) وتتبع نقطة الخلل أو الوصول للـ OEP بعد الـ unpacking.
? 4. Scriptsx64dbg يحتوي على محرك سكريبت يسمح بتنفيذ أوامر آلية (مثل OllyScript)، وهي ميزة قوية لتجاوز الحمايات أو تكرار نفس الخطوات بسرعة.

? ثانياً: أنواع Breakpoints في x64dbg

توفر الأداة مجموعة واسعة من نقاط التوقف:
? 1. Breakpoint Software (INT 3)الأشهر والأكثر استخداماً.
? 2. Hardware Breakpoint (على الذاكرة)يُستخدم لتتبع الكتابة على عنوان معيّن (Write Access) أو القراءة (Read Access).
مفيد للغاية في تحليل الـ unpackers أو بحث عن المفاتيح المشفرة.
? 3. Memory Breakpointsتوقف عند تغيير حماية صفحة معينة (مثل VirtualProtect أو NtProtectVirtualMemory).
? 4. Breakpoint on DLL Loadلمراقبة متى يتم تحميل any DLL مثل:
  • kernel32.dll
  • wininet.dll
  • user32.dll
وهذه مهمة جداً في تحليل البرامج الخبيثة أو البرمجيات المحمية.

? ثالثاً: أدوات البحث الفعالة داخل x64dbg

تحتوي الأداة على عدة أدوات بحث تساعد في إيجاد المطلوب بسهولة:
? 1. Search for Stringللعثور على الرسائل النصية أو الـ error messages داخل الملف.
? 2. Search for Commandللبحث عن تعليمات مثل:
 
push call lea xor getprocaddress 
? 3. Search for Pattern (Signature Matches)مفيد في اكتشاف:
  • خوارزميات التشفير
  • الـ Shellcodes
  • الـ Packers المعروفين

? رابعاً: خاصية Trace (التحليل الديناميكي العميق)

ميزة قوية جداً تسمح بتسجيل:
  • كل تعليمات البرنامج أثناء التنفيذ
  • القيم في السجلات
  • التغيّرات على الذاكرة
مما يساعد في كشف السلوك الحقيقي للبرنامج أو تحليل محاولات إخفاء الكود.

? خامساً: Patching وتعديل التعليمات

x64dbg يسمح بتعديل البرنامج مباشرة من الواجهة:
✔ تعديل التعليمات (Assemble)
✔ استبدال الـ jumps
✔ تغيير القيم داخل الذاكرة
✔ حفظ النتيجة داخل ملف جديد (Patch File)
هذه الميزة مفيدة جداً في:
  • تعطيل الرسائل المزعجة
  • تجاوز الشيكات
  • اختبار نظريات أثناء التحليل

? سادساً: دعم الإضافات (Plugins)

يمكن توسيع وظائف x64dbg عبر العديد من الإضافات ومنها:
  • Scylla لإصلاح الـ Import Table بعد الـ unpacking
  • xAnalyzer لتحليل البرنامج تلقائياً
  • Labeless للربط مع IDA Pro
  • TitanHide لإخفاء الـ debugger

? سابعاً: مجتمع نشط وتحديثات متواصلة

أحد أسباب قوة x64dbg هو وجود مجتمع كبير يساهم في:
  • إصلاح الأخطاء
  • إضافة أدوات جديدة
  • توفير شروحات
  • تحسين الأداء باستمرار
وهذا يجعله من أقوى الأدوات المجانية في عالم الـ reversing.

? الخاتمةأداة x64dbg

تستحق أن تكون في حقيبة أي باحث أمني أو محلل برمجيات.
فهي تجمع بين القوة والسهولة، وتناسب المبتدئين والمحترفين على حد سواء.
سواء كنت تريد تحليل برنامج، أو فهم حماية، أو تتبع سلوك ملف خبيث، فإن x64dbg يوفر لك كل ما تحتاجه وأكثر.
إذا كان لديك اهتمام بالغوص في عالم الـ Reverse Engineering، فابدأ بالتجربة على x64dbg وستجد أن الأداة تفتح لك باباً واسعاً من الإمكانيات.