इस प्रोजेक्ट के बारे में
Sogen एक यूज़रस्पेस एमुलेटर है जो Windows और Linux प्रोग्राम को वास्तविक ऑपरेटिंग सिस्टम के बिना चलाता है, जिससे उनके निष्पादन पर पूर्ण दृश्यता और नियंत्रण मिलता है। OS API को फिर से लागू करने के बजाय, यह CPU और सिस्कॉल स्तर पर बाइनरी का अनुकरण करता है जबकि वास्तविक सिस्टम DLL (जैसे ntdll, kernel32, user32) चलाता है, जिससे व्यवहार वास्तविक OS से काफी मेल खाता है।
मुख्य क्षमताएँ शामिल हैं:
- **वास्तविक सिस्टम DLL**: स्टब के बजाय असली Windows सिस्टम लाइब्रेरी का उपयोग करता है।
- **हुक और रीराइट**: मेमोरी, निर्देश, सिस्कॉल और API कॉल को इंटरसेप्ट और संशोधित करें।
- **विश्वसनीय आंतरिक**: PE लोडिंग (रिलोकेशन, TLS), Windows मेमोरी प्रकार, SEH, थ्रेडिंग, रजिस्ट्री, फाइलसिस्टम और नेटवर्किंग का समर्थन करता है।
- **स्नैपशॉट और रिस्टोर**: पूर्ण स्टेट सीरियलाइज़ेशन, तेज़ इन-मेमोरी स्नैपशॉट और मिनीडंप लोडिंग।
- **क्रॉस-प्लेटफ़ॉर्म**: Windows, Linux, macOS, Android, iOS और ब्राउज़र पर चलता है, x86-64 और arm64 का समर्थन करता है।
- **निर्धारित निष्पादन**: व्यक्तिगत निर्देशों तक प्रतिलिपि योग्य रन।
यह कई CPU बैकएंड प्रदान करता है: Unicorn Engine, icicle-emu, Hyper-V (WHP), KVM और FEX। GDB प्रोटोकॉल (जैसे IDA Pro के साथ) या बिल्ट-इन ब्राउज़र डिबगर के माध्यम से डिबगिंग संभव है, जो एमुलेटर स्तर पर काम करता है ताकि एंटी-डिबग जाँच से अदृश्य रहे। नेटिव GUI ऐप और गेम सैंडबॉक्स में चल सकते हैं, 3D त्वरण के लिए GPU पैरावर्चुअलाइज़ेशन और Vulkan में DXVK अनुवाद के माध्यम से Direct3D 8/9/10/11 समर्थन के साथ।
Python बाइंडिंग `pip install sogen` के माध्यम से उपलब्ध हैं, जिसके लिए एक एमुलेशन रूट की आवश्यकता होती है (डाउनलोड करने योग्य या स्व-निर्मित)। अनौपचारिक Dart बाइंडिंग एक अलग रिपॉजिटरी में मौजूद हैं। यह प्रोजेक्ट C++ में बनाया गया है और इसमें Visual Studio के साथ Windows के लिए एक क्विक-स्टार्ट गाइड शामिल है, जिसमें सबमॉड्यूल के साथ क्लोनिंग, CMake प्रीसेट, बिल्डिंग और विश्लेषण के लिए रजिस्ट्री डंप बनाना शामिल है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.