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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
astaroth-deobfuscator — سكربت IDA Python لفك التعتيم عن DLL الحاقن Astaroth/Guildma | Kitploit
أدوات/GitHubGitHub/dodo-sec/astaroth-deobfuscator
التحليل الثابتالهندسة العكسيةتحليل البرمجيات الخبيثةتحليل الملفات الثنائية
GitHubdodo-sec/astaroth-deobfuscator

astaroth-deobfuscator

سكربت IDA Python لفك التعتيم عن DLL الحاقن Astaroth/Guildma

عرض المستودع
814منذ 3 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

astaroth-deobfuscator

سكربت IDA python لإزالة التعتيم عن DLL الحاقن Astaroth/Guildma

عند محاولة تحليل DLL الحاقن من حملة Astaroth/Guildma الأخيرة (بفضل هذا اليوميات من SANS ISC)، صادفت محاولة مزعجة حقاً للتعتيم.

يتم استدعاء دالة (أطلقت عليها time_waster_3000 في الصورة أدناه) أكثر من 1,000 مرة (!!!) عبر DLL. تأخذ هذه الدالة ست سلاسل نصية مكتوبة بثبات كوسائط، بالإضافة إلى word عشوائي. الدالة نفسها عبارة عن متاهة من العمليات الحسابية التي لا تخدم أي غرض عملي على حد علمي (بخلاف إضاعة وقت المحلل). إليك كيف يبدو DLLEntry مع تلك الاستدعاءات المزعجة:

DLL Entry before deobfuscation

الغرض من سكربت IDA python هذا هو إخفاء جميع كتل الكود التي تتضمن استدعاءً لهذه الدالة غير المفيدة، بالإضافة إلى وسائطها. إليك كيف يبدو DLLEntry بعد تشغيل السكربت:

DLL Entry after deobfuscation

اعتبارات مهمة

  • يعمل السكربت عن طريق العثور على استدعاء لدالة الحشو، ممثلة بـ call sub_CHANGEME في السكربت. لذلك، تحتاج إلى إعادة تسميتها في السكربت باستخدام اسم الدالة الموجود في العينة التي تتعامل معها. على سبيل المثال، تغيير إلى .

idc.print_operand(x, 0) == 'sub_CHANGEME'
idc.print_operand(x, 0) == 'sub_431000'
  • اخترت التكرار على تعليمة call sub_CHANGEME بدلاً من التكرار على عمليات دفع الوسائط. السبب بسيط: السلاسل النصية المكتوبة بثبات موجودة في أماكن متعددة عبر الثنائي؛ لذا، عندما حاولت البحث عن تعليمات الدفع التي تتضمن عناوين تلك السلاسل، لم يعثر السكربت على جميع حالات هذه البيانات غير المفيدة.

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

  • تنزيل الأداة