
एन्क्रिप्टेड PE Loader जनरेटर
Huan एक एन्क्रिप्टेड PE लोडर जनरेटर है जिसे मैंने PE फ़ाइल संरचना और PE लोडिंग प्रक्रियाओं को सीखने के लिए विकसित किया है। यह चलाए जाने वाले PE फ़ाइल को हर बार अलग-अलग कुंजियों के साथ एन्क्रिप्ट करता है और इसे लोडर बाइनरी के एक नए सेक्शन में एम्बेड करता है। वर्तमान में, यह 64 बिट PE फ़ाइलों पर काम करता है।
सबसे पहले, Huan दी गई PE फ़ाइल को पढ़ता है और इसे CBC मोड AES-128 एन्क्रिप्शन एल्गोरिथम से एन्क्रिप्ट करता है। एन्क्रिप्शन के लिए, मैंने Tiny AES in C का उपयोग किया और इस लाइब्रेरी की आवश्यकता के लिए एक पैडिंग कोड तैयार किया। जब एन्क्रिप्शन पूरा हो जाता है, तो यह Visual Studio कंपाइलर (MsBuild.exe) का उपयोग करके लोडर को कंपाइल करता है और एक एक्जीक्यूटेबल बनाता है। उसके बाद, यह उस एक्जीक्यूटेबल पर एक सेक्शन (जिसे .huan कहा जाता है) बनाता है, और एन्क्रिप्टेड सामग्री, आकार की जानकारी, IV और सममित कुंजी एम्बेड करता है। दोनों कुंजियाँ लोडर की प्रत्येक प्रतिलिपि के लिए यादृच्छिक रूप से बनाई जाती हैं। इस सेक्शन का लेआउट नीचे देखा जा सकता है।
जब लोडर को निष्पादित किया जाता है, तो यह पहले Process Environment Block को पढ़कर अपना इमेज बेस प्राप्त करता है। इमेज बेस जानने के बाद, यह .huan सेक्शन खोजने के लिए अपनी लोड की गई प्रतिलिपि को पार्स करता है। फिर, यह पूरी सामग्री को डिक्रिप्ट करता है, इसे बफर करता है, और बाइनरी को लोड करता है जो मेमोरी पर निर्भर करती है।
केवल अधिकृत सुरक्षा परीक्षण के लिए। स्पष्ट अनुमति के बिना सिस्टम के खिलाफ इस उपकरण का दुरुपयोग अवैध है।