
يستخرج ويفك تشفير الحمولات الداخلية من عينات Donut obfuscator عبر اكتشاف توقيعات shellcode الخاصة بالمحمّل، وتحليل بنية DONUT_INSTANCE، واستخراج بيانات DONUT_MODULE.
مستخرج الإعدادات والوحدات لـ مشوّش الملفات الثنائية donut
يتحقق donut-decryptor من الملف (أو الملفات) بحثًا عن التوقيعات المعروفة لشيفرة shellcode الخاصة بمحمّل مشوّش donut. في حال العثور عليها، يقوم بتحليل شيفرة shellcode لتحديد موقع بنية DONUT_INSTANCE المضمّنة في الملف الثنائي وفك تشفيرها واستخراجها، ثم الإبلاغ عن بيانات الإعدادات ذات الصلة. وإذا كانت بنية DONUT_MODULE موجودة في الملف الثنائي، فسيتم فك تشفيرها وتفريغها على القرص.
يمكنك تثبيت donut-decryptor للاستخدام عبر الانتقال إلى الدليل الجذر للمشروع واستخدام pip:
cd /path/to/donut-decryptor
python -m pip install .
بعد التثبيت، يتوفر سكربت سطر أوامر. للحصول على تعليمات الاستخدام استخدم:
donut-decryptor --help
يستخدم هذا المشروع Hatch لإدارة المشروع، وRuff للفحص والتنسيق، وmypy للتحقق من الأنواع.
ثبّت Hatch:
pip install hatch
hatch run test
hatch run test-cov # with coverage
hatch run lint:style # check style
hatch run lint:fmt # format code and fix issues
hatch run lint:typing # run mypy type checking
hatch run lint:all # run all checks
الملفات الموجودة في دليل samples هي ملفات 7z محمية بكلمة مرور باستخدام كلمة المرور infected، وجميعها تحتوي على donuts يمكن فك تشفيرها باستخدام هذا السكربت.