
Donut obfuscator samples से inner payloads को extract और decrypt करता है, loader shellcode signatures को detect करके, DONUT_INSTANCE structure को parse करके, और DONUT_MODULE data को dump करके।
donut binary obfuscator के लिए एक कॉन्फ़िगरेशन और मॉड्यूल एक्सट्रैक्टर
donut-decryptor फ़ाइल(ों) में donut obfuscator के loader shellcode के ज्ञात हस्ताक्षरों की जाँच करता है। यदि पाया जाता है, तो यह shellcode को पार्स करके बाइनरी में एम्बेडेड DONUT_INSTANCE संरचना को खोजता, डिक्रिप्ट करता और निकालता है, और प्रासंगिक कॉन्फ़िगरेशन डेटा की रिपोर्ट करता है। यदि बाइनरी में DONUT_MODULE मौजूद है, तो इसे डिक्रिप्ट करके डिस्क पर डंप किया जाता है।
आप प्रोजेक्ट की रूट डायरेक्टरी में जाकर pip का उपयोग करके donut-decryptor इंस्टॉल कर सकते हैं:
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 हैं जिन्हें इस स्क्रिप्ट का उपयोग करके डिकोड किया जा सकता है।