Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
SimpleVisor — Windows और UEFI के लिए न्यूनतम Intel VT-x हाइपरवाइज़र जो इंट्रोस्पेक्शन के लिए लाइव होस्ट को वर्चुअलाइज़ करता है, डायनामिक हाइपरजैकिंग, अनहाइपरजैकिंग, EPT, और VPID का समर्थन करता है। | Kitploit
उपकरण/GitHubGitHub/ionescu007/simplevisor
रिवर्स इंजीनियरिंगसुरक्षा वर्चुअलाइजेशनमालवेयर विश्लेषणहार्डवेयर सुरक्षाबाइनरी विश्लेषणपेपर और शोधलर्निंग और शिक्षा
GitHubionescu007/simplevisor

SimpleVisor

Windows और UEFI के लिए न्यूनतम Intel VT-x हाइपरवाइज़र जो इंट्रोस्पेक्शन के लिए लाइव होस्ट को वर्चुअलाइज़ करता है, डायनामिक हाइपरजैकिंग, अनहाइपरजैकिंग, EPT, और VPID का समर्थन करता है।

रिपॉजिटरी देखें
2.0k2862 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
वेबसाइट

SimpleVisor

SimpleVisor एक सरल, पोर्टेबल, Intel x64/EM64T VT-x विशिष्ट हाइपरवाइज़र है जिसके दो विशिष्ट लक्ष्य हैं: सबसे कम असेंबली कोड (10 पंक्तियाँ) का उपयोग करना, और डायनामिक हाइपरजैकिंग और अनहाइपरजैकिंग (अर्थात, होस्ट के भीतर से होस्ट स्टेट को वर्चुअलाइज़ करना) का समर्थन करने के लिए सबसे कम VMX-संबंधित कोड रखना, साथ ही EPT और VPID जैसी उन्नत सुविधाओं का भी समर्थन करना। यह वर्तमान में Windows और UEFI वातावरण दोनों पर चलता है।

परिचय

क्या आप हमेशा से जिज्ञासु रहे हैं कि हाइपरवाइज़र कैसे बनाया जाए? क्या Intel के दस्तावेज़ीकरण (सैकड़ों पृष्ठों) ने आपको निराश किया है? क्या ऑनलाइन मिले नमूनों ने चीज़ों को और अधिक भ्रमित कर दिया है, या उन्हें समझने के लिए हजारों पंक्तियों के कोड को हफ्तों तक पढ़ने की आवश्यकता पड़ी है? यदि हाँ, तो SimpleVisor आपके लिए उपयुक्त प्रोजेक्ट हो सकता है।

कोड की प्रत्येक पंक्ति को समझाने वाली विस्तृत टिप्पणियों, और विशिष्ट Windows-संबंधित या Intel-संबंधित विशिष्टताओं को छोड़कर, SimpleVisor लगभग 500 पंक्तियों के C कोड और 10 पंक्तियों के x64 असेंबली कोड का है, और यह 64-बिट Windows के प्रत्येक हालिया संस्करण पर चलने की क्षमता रखता है, तथा रनटाइम पर डायनामिक लोड/अनलोड का समर्थन करता है।

इसके अतिरिक्त, SimpleVisor Windows-विशिष्ट कार्यक्षमता के लिए एक हल्की OS-लाइब्रेरी का उपयोग करता है, जो हाइपरवाइज़र के हिस्सों को Windows-विशिष्ट हिस्सों से अलग करती है। इस पोर्टेबल डिज़ाइन का लाभ उठाते हुए, SimpleVisor का एक UEFI संस्करण भी अब उपलब्ध है। हालाँकि, ध्यान दें कि UEFI से जुड़ी समस्याओं के कारण इसमें MP वातावरण के लिए मजबूत समर्थन नहीं है, और ऑपरेटिंग सिस्टम लोड करने पर अंततः क्रैश हो जाएगा क्योंकि OS प्रोसेसर संसाधनों के अपने पुनः-कॉन्फ़िगरेशन के कारण अकार्यान्वित कोड पथों से टकराएगा। UEFI से ऑपरेटिंग सिस्टम के पूरे बूट को वर्चुअलाइज़ करना इस प्रोजेक्ट के दायरे से बाहर है।

SimpleVisor को Visual Studio 2015 Update 3 के साथ बनाया जा सकता है, और हालाँकि पुराने/नए कंपाइलरों का परीक्षण नहीं किया गया है और वे समर्थित नहीं हैं, संभावना है कि वे भी प्रोजेक्ट को बना सकते हैं। हालाँकि, विभिन्न कंपाइलर और लिंकर सेटिंग्स को वैसे ही रखना महत्वपूर्ण है जैसे आप उन्हें देखते हैं।

SimpleVisor का वर्तमान में निम्नलिखित प्लेटफ़ॉर्मों पर सफलतापूर्वक परीक्षण किया गया है:

  • Haswell प्रोसेसर पर Windows 8.1 (कस्टम डेस्कटॉप)
  • Sandy Bridge प्रोसेसर पर Windows 10 Redstone 1 (Samsung 930 लैपटॉप)
  • Skylake प्रोसेसर पर Windows 10 Threshold 2/Redstone 1 (Surface Pro 4 टैबलेट)
  • Skylake प्रोसेसर पर Windows 10 Threshold 2 (Dell Inspiron 11-3153 w/ SGX)
  • VMWare Workstation 11, लेकिन EPT के बिना (VMWare 1GB EPTs का समर्थन नहीं करता)
  • Asus Maximus VII Extreme मदरबोर्ड पर UEFI 2.4 (कस्टम डेस्कटॉप)

इस समय, इसका Bochs पर परीक्षण नहीं किया गया है, लेकिन ऐसा कोई कारण नहीं है कि SimpleVisor ऐसे वातावरण में भी क्यों नहीं चल सकता। हालाँकि, यदि आपकी मशीन पहले से ही Hyper-V या Xen जैसे हाइपरवाइज़र के अंतर्गत चल रही है, तो SimpleVisor लोड नहीं होगा।

ध्यान रखें कि Windows के x86 संस्करण स्पष्ट रूप से समर्थित नहीं हैं, न ही Nehalem माइक्रोआर्किटेक्चर से पहले के प्रोसेसर, और न ही Windows 7। बाद वाले दो के लिए समर्थन जोड़ना आसान है और यह कुछ फोर्क्स में मौजूद है।

प्रेरणा

बहुत सारे हाइपरवाइज़र प्रोजेक्ट या तो अत्यधिक जटिल हैं ([Xen][1], KVM, VirtualBox) और/या क्लोज़्ड-सोर्स (VMware, Hyper-V), साथ ही Linux-आधारित विकास या सिस्टम की ओर अत्यधिक केंद्रित हैं। इसके अतिरिक्त, उनमें से अधिकांश (Hyper-V के अलावा) स्पष्ट रूप से वर्चुअल मशीनों के निष्पादन को सक्षम करने के उद्देश्य से बनाए गए हैं, न कि किसी जीवित, चल रहे सिस्टम के वर्चुअलाइज़ेशन के लिए, ताकि उस पर इंट्रोस्पेक्शन या अन्य सुरक्षा-संबंधित कार्य किए जा सकें।

हालाँकि, कुछ प्रोजेक्ट भीड़ से अलग हैं, जैसे Joanna का मूल [Blue Pill][2], या [VirtDbg][3] और [HyperDbg][4] जैसे प्रोजेक्ट। दुर्भाग्य से, इनमें से अधिकांश अब काफी पुराने हो चुके हैं, और कुछ केवल x86 प्रोसेसरों पर कार्य करते हैं, और Windows 10 जैसे नए ऑपरेटिंग सिस्टम का समर्थन नहीं करते। एक अन्य काफी सरल उदाहरण, जो कुछ पहलुओं में Blue Pill के समान है, लेकिन वास्तव में "Split-TLB" के लिए EPT उपयोग का अच्छा उदाहरण प्रदान करता है, वह Jacob Torrey/AIS का [MoRE][7] है।

वास्तव में Windows-केंद्रित, आधुनिक, और समर्थित हाइपरवाइज़र प्रदान करने वाला सबसे निकटतम प्रोजेक्ट [HyperPlatform][5] है, और हम अधिक व्यापक रूप से उपयोगी शोध-प्रकार के हाइपरवाइज़र विकास के लिए एक प्रारंभिक बिंदु के रूप में इसके उपयोग की दृढ़ता से सिफारिश करते हैं। हालाँकि, एक अधिक व्यापक रूप से मजबूत सामान्य "प्लेटफ़ॉर्म" बनाने के प्रयास में, HyperPlatform भी कुछ हद तक ब्लोट से ग्रस्त है, जिससे यह समझना कठिन हो जाता है कि हाइपरवाइज़र की वास्तविक बुनियादी आवश्यकताएँ क्या हैं, और इसे कैसे प्रारंभ किया जाए। इसी तरह, STL/C++ के प्रति समान प्रेम दिखाते हुए, लेकिन एक ELF लोडर और UEFI/Linux समर्थन के साथ-साथ यूनिट टेस्ट और और भी अधिक मजबूती सहित [Bareflank][8] भी है, जो AIS से ही है। इससे आगे, आप संभवतः Xen-स्तर की जटिलता में प्रवेश कर रहे हैं।

इस प्रोजेक्ट का स्पष्ट लक्ष्य, जैसा कि ऊपर कहा गया है, नकारात्मक दुष्प्रभावों का कारण बने बिना किसी भी तरह से कोड को न्यूनतम करना था, और 'बेयर-मेटल' आवश्यकताओं पर ध्यान केंद्रित करना था। इसमें शामिल हैं:

  • असेंबली कोड के उपयोग को न्यूनतम करना। यदि __lgdt intrinsic की कमी और एक Windows API के व्यवहार के लिए वर्कअराउंड न होता, तो हाइपरवाइज़र के एंट्री पॉइंट के केवल पहले 4 निर्देशों के लिए असेंबली की आवश्यकता होती। जैसा कि स्थिति है, प्रोजेक्ट में 3 फ़ंक्शनों में फैले कुल 10 निर्देश हैं। यह अन्य हाइपरवाइज़र प्रोजेक्ट्स से एक बड़ा अंतर है, जिनमें अक्सर कई सौ पंक्तियों का असेंबली कोड होता है। इस परिणाम को प्राप्त करने के लिए विभिन्न OS-विशिष्ट ट्रिक्स और कंपाइलर शॉर्टकट्स का उपयोग किया जाता है।
  • उन त्रुटियों के लिए जाँच कम करना जिनके होने की संभावना नहीं है। एक उचित रूप से कॉन्फ़िगर किए गए, और विश्वसनीय, इनपुट डेटा को देखते हुए, उदाहरण के लिए vmx_vmwrite और vmx_vmread जैसे निर्देश कभी विफल नहीं होने चाहिए।
  • x86 के लिए समर्थन हटाना, जो मामलों को जटिल बनाता है और 64-बिट फ़ील्ड्स के आसपास विशेष हैंडलिंग का कारण बनता है।
  • सभी संभावित VM-Exits को केवल Intel द्वारा आर्किटेक्चरली परिभाषित न्यूनतम (CPUID, INVD, VMX Instructions, और XSETBV) तक स्पष्ट रूप से कम करना। यह जानबूझकर हाइपरवाइज़र को यथासंभव छोटा रखने के लिए किया गया है, साथ ही इनिशियलाइज़ेशन कोड को भी।
  • VMCALL के लिए कोई समर्थन नहीं। कई हाइपरवाइज़र VMCALL का उपयोग हाइपरवाइज़र से बाहर निकलने के तरीके के रूप में करते हैं, जिसके लिए असेंबली प्रोग्रामिंग (कोई intrinsic नहीं है) और अतिरिक्त एग्ज़िट हैंडलिंग की आवश्यकता होती है। SimpleVisor इसके बजाय CPUID ट्रैप का उपयोग करता है।
  • हाइपरवाइज़र के विकास को सरल बनाने के लिए कम-ज्ञात OS फ़ंक्शनों पर निर्भर रहना, जैसे Windows पर Generic DPCs और hibernation contexts, या UEFI पर PI MP प्रोटोकॉल।
  • EPT/VPID का बहुत सरल तरीके से समर्थन करना, ताकि सुविधा के सबसे सरल संभव कार्यान्वयन का एक ठोस आधार प्रदर्शित किया जा सके।
  • OS-विशिष्ट रूटीनों की पोर्टेबिलिटी और अलगाव।

एक अन्य निहित लक्ष्य हार्डवेयर सुविधाओं में नवीनतम का समर्थन करना था, क्योंकि [Bochs][6] में भी हमेशा नवीनतम Intel VMX निर्देश और/या परिभाषाएँ नहीं होती हैं। ये अक्सर "vmcs.h" और "vmx.h" जैसी हेडर फ़ाइलों में पाई जाती हैं जिन्हें विभिन्न प्रोजेक्ट्स में विभिन्न स्तरों की परिभाषा के साथ रखा जाता है। उदाहरण के लिए, Xen master में कुछ अप्रकाशित VM Exit कारण हैं, लेकिन कुछ प्रकाशित कारण नहीं हैं, जो Bochs में हैं, हालाँकि इसमें अप्रकाशित वाले नहीं हैं! ऐसा ही एक उदाहरण 1GB EPT एंट्रीज़ का उपयोग है, जिसे उदाहरण के लिए VMWare सही ढंग से वर्चुअलाइज़ नहीं करता।

अंत में, SimpleVisor एक शैक्षिक उपकरण होने के लिए है -- इसमें कोड की प्रत्येक पंक्ति के पीछे के सभी तर्क को समझाने वाली विस्तृत टिप्पणियाँ हैं, और विशिष्ट Windows या Intel VMX युक्तियाँ और ट्रिक्स जो इसे अपना वांछित परिणाम प्राप्त करने में सक्षम बनाती हैं। विभिन्न बग्स या खराब तरीके से प्रलेखित व्यवहारों को स्पष्ट रूप से उजागर किया गया है।

Windows पर इंस्टॉलेशन

चूँकि x64 Windows को सभी ड्राइवरों के हस्ताक्षरित होने की आवश्यकता होती है, आपको SimpleVisor बाइनरी को टेस्टसाइन करना होगा। Visual Studio प्रोजेक्ट फ़ाइल को "Driver Signing" विकल्पों का उपयोग करके और अपने स्वयं के प्रमाणपत्र के साथ "Test Sign" सक्षम करके ऐसा करने के लिए सेटअप किया जा सकता है। UI से, आप अपना स्वयं का भी उत्पन्न कर सकते हैं।

टूल डाउनलोड करें