Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
obfuscation_detection — إضافة Binary Ninja لتحديد الكود المُبهم والهياكل البرمجية المثيرة للاهتمام الأخرى | Kitploit
أدوات/GitHubGitHub/mrphrazer/obfuscation_detection
التحليل الثابتالهندسة العكسيةتحليل البرمجيات الخبيثةتحليل الملفات الثنائيةتحليل البرامج الثابتة
GitHubmrphrazer/obfuscation_detection

obfuscation_detection

إضافة Binary Ninja لتحديد الكود المُبهم والهياكل البرمجية المثيرة للاهتمام الأخرى

عرض المستودع
672747منذ 3 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

كشف التعتيم (الإصدار 2.4)

المؤلف: تيم بلازيتكو

اكتشف تلقائيًا الكود المُعتم والهياكل البرمجية المثيرة للاهتمام الأخرى

الوصف:

كشف التعتيم هو إضافة لـ Binary Ninja لاكتشاف الكود المُعتم وهياكل برمجية مثيرة للاهتمام (مثل آلات الحالة) في الملفات الثنائية. بالنظر إلى ملف ثنائي، تُسهل الإضافة التحليل من خلال تحديد مواقع الكود التي قد تستحق نظرة فاحصة أثناء الهندسة العكسية.

بناءً على استدلالات متعددة، تحدد الإضافة الوظائف التي تحتوي على هياكل برمجية معقدة أو غير شائعة. قد تنفذ هذه الهياكل البرمجية

  • الكود المُعتم
  • آلات الحالة والبروتوكولات
  • اتصالات خادم القيادة والتحكم
  • إجراءات فك تشفير السلاسل النصية
  • الخوارزميات التشفيرية

توفر المنشورات التالية مزيدًا من المعلومات حول الاستدلالات الأساسية وتوضح حالات استخدامها:

  • الكشف الآلي عن تسوية تدفق التحكم
  • الكشف الآلي عن الكود المُعتم
  • التحليل الإحصائي لاكتشاف الكود غير الشائع
  • تحديد وظائف API في الملفات الثنائية

بعض حالات الاستخدام موجودة في أمثلة. علاوة على ذلك، يوضح حديث REcon "كشف الأسرار في الملفات الثنائية باستخدام استراتيجيات كشف الكود" بعض حالات الاستخدام. الشرائح متاحة هنا؛ والتسجيل متاح هنا.

الميزات الأساسية

  • يحدد الهياكل البرمجية المثيرة للاهتمام في الملفات الثنائية الكبيرة
  • يبرز التعليمات غير المحاذية في عرض الرسم البياني لـ Binary Ninja
  • تنفيذ فعال ومستقل عن البنية
  • يعمل كمهمة خلفية
  • يُوسم تلقائيًا الوظائف المُحددة بالاستدلال أو الأداة المناسبة
  • يمكن استخدامه في وضع واجهة المستخدم ووضع بدون واجهة

التثبيت

يمكن تثبيت الأداة باستخدام مدير الإضافات لـ Binary Ninja.

بالنسبة للإصدار بدون واجهة، اتبع الخطوات التالية:

root@kitploit:~
git clone https://github.com/mrphrazer/obfuscation_detection.git
cd obfuscation_detection

# install obfuscation_detection
pip install .

الاستخدام

يمكن استخدام الإضافة في واجهة المستخدم وفي وضع بدون واجهة.

واجهة المستخدم

اختر الإضافات -> كشف التعتيم لتشغيل الاستدلالات الفردية، أو الإضافات -> كشف التعتيم -> الأدوات لتشغيل كشف الأدوات الفردية. الأمر الإضافات -> كشف التعتيم -> الكل يشغل جميع الاستدلالات وجميع الأدوات معًا.

قائمة الإضافة

يتم عرض النتائج في نافذة السجل:

سجل Binary Ninja

بالنقر على عناوين الوظائف المُحددة، ينتقل Binary Ninja إلى الوظيفة المحددة.

بدون واجهة

لاستخدام الإضافة في وضع بدون واجهة، قم بتشغيل scripts/detect_obfuscation.py:

root@kitploit:~
$ python3 scripts/detect_obfuscation.py <binary>

هذا يشغل جميع الاستدلالات وجميع الأدوات. للحصول على إخراج قابل للقراءة آليًا، استخدم --json:

root@kitploit:~
$ python3 scripts/detect_obfuscation.py --json <binary>

يحتوي الحمولة JSON على جميع النتائج تحت مفتاح detections. كل كشف له id ثابت للأتمتة و name قابل للقراءة. كل نتيجة وظيفة موسومة تتضمن نوع الوسم ووصفًا يستخدمه إضافة Binary Ninja.

لتشغيل استدلال آلة الحالة فقط في وضع بدون واجهة، استخدم scripts/detect_state_machine.py:

root@kitploit:~
$ python3 scripts/detect_state_machine.py [--json] <binary>

استدلالات الكشف

تنفذ الإضافة استدلالات كشف متعددة لاكتشاف هياكل برمجية مختلفة. في ما يلي، نصف الاستدلالات الفردية بإيجاز ونشرح استخدامها.

الكتلة الأساسية الكبيرة

يحدد استدلال الكتلة الأساسية الكبيرة أعلى 10٪ من الوظائف التي تحتوي على أكبر متوسط لعدد التعليمات لكل كتلة أساسية. يسمح باكتشاف

  • الكود غير الملفوف
  • التطبيقات التشفيرية
  • إجراءات التهيئة
  • التعتيم الحسابي / المنطق المختلط البولياني الحسابي

الوظيفة المعقدة

يحدد استدلال الوظيفة المعقدة أعلى 10٪ من الوظائف ذات الرسوم البيانية الأكثر تعقيدًا لتدفق التحكم (بناءً على التعقيد الحلقيم). يسمح بتحديد

  • إجراءات التوزيع المعقدة والبروتوكولات
  • آلات الحالة
  • الوظائف المُعتمة باستخدام المسندات غير الشفافة

آلة الحالة

يستخدم استدلال آلة الحالة خصائص نظرية الرسوم البيانية لتحديد الوظائف التي تنفذ آلات الحالة. عادةً، يمكن تمثيل آلات الحالة هذه كتعليمات switch يتم توزيعها في حلقة. يسمح الاستدلال بتحديد

  • توزيع بروتوكولات الشبكة
  • منطق تحليل الملفات
  • اتصالات خادم القيادة والتحكم / توزيع الأوامر
  • تسوية تدفق التحكم

تسلسل التعليمات غير الشائع

يقوم استدلال تسلسل التعليمات غير الشائع بتحليل إحصائي لتحديد أعلى 10٪ من الوظائف التي تنحرف أنماط كودها عن مرجع مُحسوب مسبقًا. بهذه الطريقة، يسمح الاستدلال بتحديد

  • التطبيقات التشفيرية
  • الاستخدام المكثف للحساب ذو الفاصلة العائمة
  • التعتيم الحسابي / المنطق المختلط البولياني الحسابي
  • أنماط التعتيم العامة

التعليمات المتداخلة

يحدد استدلال التعليمات المتداخلة الوظائف ذات التعليمات غير المحاذية (بتات التعليمات مشتركة بين تعليمتين مختلفتين). يحدد الاستدلال

  • التفكيك المكسور (مثل بيانات موسومة ككود)
  • المسندات غير الشفافة التي تقفز إلى تعليمات أخرى

إذا تم استخدام الاستدلال في واجهة المستخدم لـ Binary Ninja، يتم أيضًا إبراز التعليمات المتداخلة في عرض الرسم البياني.

الوظيفة الأكثر استدعاءً

يحدد استدلال الوظيفة الأكثر استدعاءً أعلى 10٪ من الوظائف التي تحتوي على أكبر عدد من الاستدعاءات من وظائف مختلفة. بهذه الطريقة، يمكن للاستدلال تحديد

  • إجراءات فك تشفير السلاسل النصية
  • وظائف المكتبات في الملفات الثنائية المرتبطة بشكل ثابت

تردد الحلقات

يحدد الاستدلال الوظائف التي تحتوي على عدد كبير من الحلقات. قد تنفذ هذه الأنواع من الوظائف

  • منطق تحليل معقد لتنسيقات البيانات المهيكلة
  • عمليات حسابية خوارزمية مكثفة

يساعد الاستدلال أيضًا في تحديد اختناقات الأداء المحتملة.

الحلقة غير القابلة للاختزال

يحدد الاستدلال الوظائف ذات هياكل الحلقات النادرة والمعقدة التي تشير عادةً إلى

  • تحسينات المترجم العدوانية
  • لغة التجميع المكتوبة يدويًا
  • استخدام تعليمات goto
  • الكود المُعتم

حلقة فك التشفير XOR

يحدد الاستدلال الوظائف التي تنفذ عملية XOR مع ثابت داخل حلقة. بهذه الطريقة، يمكن للاستدلال تحديد

  • إجراءات فك تشفير السلاسل النصية
  • أجزاء فك تشفير الكود
  • التطبيقات التشفيرية

التعبير الحسابي المعقد

يحدد الاستدلال الوظائف التي تحتوي تعبيراتها على أكثر من عملية حسابية وعملية منطقية واحدة في نفس الوقت. بهذه الطريقة، يمكن للاستدلال تحديد

  • التعتيم الحسابي المختلط البولياني
  • إجراء التهيئة
  • التطبيقات التشفيرية

الرسم البياني الفرعي المكرر

يستخدم الاستدلال منهجية تجزئة السياق التكرارية لاكتشاف الهياكل متعددة الكتل المكررة داخل رسم تدفق التحكم لكل وظيفة. من خلال مقارنة توقيع opcode لكل كتلة مع توقيعات خلفائها، يحدد الاستدلال الرسوم البيانية الفرعية المكررة أو شبه المكررة في وظيفة واحدة. يساعد ذلك في تحديد:

  • أجزاء التعتيم مثل آلات الحالة الصغيرة أو كتل التوزيع المستنسخة عدة مرات
  • حلقات غير ملفوفة أو مضمنة تم تقديمها بواسطة تحسينات المترجم
  • منطق التفرع متعدد الاتجاهات مثل مقسمات النطاق وأشجار القرار
  • أجزاء التشفير أو التحقق من المجموع المكررة

الأدوات

تتضمن الإضافة أيضًا أدوات أضيق للوظائف ومناطق الكود المثيرة للاهتمام. تظل متاحة تحت القائمة الفرعية الأدوات؛ يقوم الأمر الكل بتشغيلها مع الاستدلالات الأوسع.

وظيفة الدخول

يحدد هذا المساعد الوظائف التي لا تحتوي على مستدعين معروفين. قد تكون هذه الوظائف

  • نقاط الدخول في الملف الثنائي
  • أهداف القفزات غير المباشرة حيث لم يتمكن المفكك من استعادة تسلسل الاستدعاءات

وظيفة الورقة

يحدد هذا المساعد الوظائف التي لا تستدعي وظائف أخرى. قد تكون هذه الأنواع من الوظائف، على سبيل المثال، وظائف

  • تم تحديدها بواسطة المترجم لتنفيذ وظائف مستخدمة عبر مواقع كود مختلفة
  • هي ترامبولين لوظائف أخرى
  • جزء من مخططات تعتيم الكود (مثل العمليات الحسابية المُحددة لتعتيم تدفق التحكم)

الوظيفة العودية

يحدد هذا المساعد الوظائف العودية — الوظائف التي تستدعي نفسها بشكل مباشر أو غير مباشر. قد تشير الوظائف العودية إلى:

  • تطبيقات خوارزمية مثل اجتياز الشجرة أو الرسم البياني
  • كود مُعتم مصمم لتعقيد التحليل الثابت
  • تطبيقات الخوارزميات الرياضية أو إجراءات التحليل المعقدة
  • ثغرات تجاوز سعة المكدس المحتملة بسبب العودية العميقة

إنتروبيا القسم

يقيم هذا المساعد الإنتروبيا لكل قسم. الإنتروبيا هي مقياس إحصائي للعشوائية بقيم تتراوح بين 0 و 8. تشير الأقسام ذات الإنتروبيا القريبة من 8 إلى درجة عالية من العشوائية وقد تشير إلى:

  • كود مضغوط أو مكبوت
  • بيانات أو كود مشفر
  • بيانات عشوائية

RC4

يكتشف هذا المساعد تطبيقات خوارزمية RC4 المحتملة من خلال استخدام علامات استدلالية مرتبطة عادةً بخوارزمية جدولة المفاتيح (KSA) وخوارزمية التوليد العشوائي الزائف (PRGA) لـ RC4. يُستخدم RC4 على نطاق واسع في البرامج الضارة لأغراض مثل:

  • فك تشفير السلاسل النصية وحمولات البيانات الأخرى
  • تعتيم اتصالات القيادة والتحكم

الاتصال

لمزيد من المعلومات، اتصل بـ @mr_phrazer.

تنزيل الأداة