ScyllaHide - مكافح مكافحة التصحيح في وضع المستخدم
ScyllaHide هي مكتبة usermode anti-anti-debug متقدمة مفتوحة المصدر لـ Windows (x86/x64). تكتشف البرامج الضارة والحزم التجارية أجهزة التصحيح من خلال مجموعة معروفة من استدعاءات API والعلامات؛ يقوم ScyllaHide بـ ربط تلك الوظائف حتى تُرجع “لا يوجد مصحح”، مما يسمح للمحلل بتصحيح الكود المحمي دون تنبيه تفاديه. تأتي كمكون إضافي لـ x64dbg و IDA و OllyDbg، وكذلك يمكنها الهقن في هدف.
فقط لأغراض البحث المصرح به والبرامج الضارة. ScyllaHide هي أداة بحث دفاعي؛ استخدمها على العينات والبرامج التي يُسمح لك بتحليلها.
التثبيت
| الطريقة | الكيفية |
|---|
| x64dbg | ضع ملفات DLL الإضافية في x64dbg/plugins/ |
| IDA | انسخ مكون إضافي IDA إلى مجلد plugins/ الخاص بـ IDA |
| Standalone (injector) | استخدم InjectorCLIx64.exe / InjectorGUI.exe |
| Source | بناء من مستودع x64dbg/ScyllaHide |
| التحقق | يظهر قائمة المكون الإضافي في المصحح |
ما الذي يخفيه
| التقنية | يقاوم ScyllaHide |
|---|
IsDebuggerPresent | إرجاع خطأ |
CheckRemoteDebuggerPresent | الإبلاغ عن عدم وجود مصحح |
PEB BeingDebugged flag | تم المسح |
NtGlobalFlag | معايير |
NtQueryInformationProcess | ProcessDebugPort/Flags مموّه |
| Heap flags | معايير |
NtSetInformationThread (HideFromDebugger) | محجوب |
Timing checks (GetTickCount, rdtsc) | معالج اختياري |
OutputDebugString / hardware breakpoints | معالجة/مخفية |
استخدام المكون الإضافي (x64dbg)
| الخطوة | الإجراء |
|---|
| افتح الهدف | حمّل الملف الثنائي المحمى/المحمي في x64dbg |
| الخيارات | Plugins → ScyllaHide → Options |
| اختر ملف تعريف | اختر أو ضبط ملف تعريف الربط |
| إرفاق الربطات | تمكين قبل تشغيل فحوصات مكافحة التصحيح |
| تشغيل | استمر في التنفيذ؛ الآن تمر الفحوصات |
الملفات الشخصية
| الملف الشخصي | الاستخدام |
|---|
| قوالب معينة مسبقًا | الحزم الشائعة (على سبيل المثال VMProtect أو نمط Themida) |
| مخصص | تبديل الربطات الفردية للهدف العنيد |
| حفظ/تحميل | الاحتفاظ بملف تعريف لكل عينة/حزمة |
حقن Standalone
# حقن ScyllaHide في عملية تعمل بالفعل (أو تم إطلاقها)
InjectorCLIx64.exe <pid|path> HookLibraryx64.dll <profile>
| الخيار | الغرض |
|---|
| Spawn vs attach | ابدأ الهدف تحت ScyllaHide أو الإرفاق لاحقًا |
| Hook library | DLL الذي يثبت الربطات |
| Profile | أي ربطات مكافحة تصحيح يجب تطبيقها |
سير عمل فك التغليف النموذجي
عادة ما يكون ScyllaHide جزءًا واحدًا من مجموعة أدوات فك التغليف إلى جانب أدواتها المشابهة.
| الأداة | الدور |
|---|
| ScyllaHide | هزم مكافحة التصحيح حتى تتمكن من التشغيل إلى OEP |
| x64dbg | التصحيح والوصول إلى نقطة الدخول الأصلية |
| Scylla | إعادة بناء جدول عنوان الاستيراد وتفريغ PE |
| Detect It Easy | تحديد الحزمة / التحقق من الملف المفكوك |
# المفهوم: فك تغليف عينة محمية
1. حمّل العينة في x64dbg مع تمكين ScyllaHide
2. قم بالتشغيل بعد ملخص الحزمة إلى OEP (تم تحييد مكافحة التصحيح)
3. فرّغ العملية وأعد بناء IAT مع Scylla
4. تحقق من التفريغ باستخدام Detect It Easy
ScyllaHide مقابل الأدوات ذات الصلة
| الجانب | ScyllaHide | TitanHide | الترقيع اليدوي |
|---|
| الطبقة | ربطات وضع المستخدم | برنامج تشغيل وضع النواة | فحوصات التصحيح الفردي |
| التغطية | مجموعة واسعة من API | الخفاء على مستوى النواة | فقط ما تصححه |
| الإعداد | مكون إضافي/حقن | تثبيت برنامج التشغيل | مرهق |
| الأفضل لـ | تصحيح RE اليومي | احتياجات الخفاء الأعمق | فحوصات لمرة واحدة |
الموارد