
x86-64 PE के लिए एक bin2bin कोड वर्चुअलाइज़र
मेरे पसंदीदा खेलों में से एक के नाम पर, "nocturne" एक bin2bin x86-64 PE कोड वर्चुअलाइज़र और बाइनरी रीराइटर है।
Nocturne वर्चुअलाइज़र का उपयोग करने के लिए, "nocturne_sdk.hpp" को core/ से कॉपी करें और अपने प्रोजेक्ट में शामिल करें।
#include "nocturne_sdk.hpp"
VIRTUALIZE int secret(int x) {
if (x % 2 == 0) {
return x / 2;
} else {
return x * 3 + 1;
}
}
VIRTUALIZE_MARK(secret);
इसके बाद, CLI निष्पादन योग्य चलाएँ।
cli.exe -i <input.exe> -o <output.exe>
उदाहरण:
cli.exe -i example.exe -o example_protected.exe
डिफ़ॉल्ट रूप से, CLI auto मोड का उपयोग करता है।
या, स्पष्ट रूप से:
cli.exe -i <input.exe> -o <output.exe> --mode auto
उदाहरण:
cli.exe -i example.exe -o example_protected.exe --mode auto
मार्करों को स्कैन करने के लिए:
cli.exe -i <input.exe> -o <output.exe> --mode markers
उदाहरण:
cli.exe -i example.exe -o example_protected.exe --mode markers
या, यदि आप SDK के बिना किसी बाइनरी के विशिष्ट खंडों को वर्चुअलाइज़ करना चाहते हैं:
cli.exe -i <input.exe> -o <output.exe> --mode rva <start_rva> <end_rva>
उदाहरण:
cli.exe -i calc.exe -o calc_vmp.exe --mode rva 0x1600 0x1864
वर्चुअलाइज़ेशन से पहले:

वर्चुअलाइज़ेशन के बाद:

अस्पष्टीकृत डिस्पैचर लूप:

LIEF
Zydis
argparse
सबसे पहले, यह अधिकतर एक POC परियोजना है। कृपया इसके अत्यधिक स्थिर होने की उम्मीद न करें। फिर भी, मैं समय के साथ इसमें अधिक सुविधाएँ/सुधार जोड़ता रहूँगा।
यदि कोई ऐसी सुविधाएँ / हैंडलर हैं जिन्हें आप लागू करवाना चाहते हैं, तो मैं आपसे अनुरोध करता हूँ कि एक issue खोलें। मैं सभी और किसी भी योगदान का स्वागत करता हूँ।
यह परियोजना स्रोत-उपलब्ध है, ओपन सोर्स नहीं।
स्रोत कोड PolyForm Noncommercial License 1.0.0 के तहत उपलब्ध है।
आप इस सॉफ़्टवेयर का उपयोग, अध्ययन, संशोधन और साझा कर सकते हैं केवल गैर-वाणिज्यिक उद्देश्यों के लिए, लाइसेंस की शर्तों के अधीन।
वाणिज्यिक उपयोग, उद्यम उपयोग, आंतरिक कंपनी उपयोग, उत्पादन व्यावसायिक उपयोग, होस्ट की गई सेवाएँ, भुगतान वाले उत्पाद, क्लाइंट कार्य, परामर्श कार्य, या संगठनात्मक तैनाती बिना किसी अलग लिखित लाइसेंस के अनुमत नहीं है।
वाणिज्यिक या उद्यम लाइसेंस के लिए, संपर्क करें: [email protected] / @nodiuus