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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
BugChecker — SoftICE-जैसा कर्नेल डिबगर Windows 11 के लिए | Kitploit
उपकरण/GitHubGitHub/vitoplantamura/bugchecker
गतिशील विश्लेषण (सैंडबॉक्सिंग)रिवर्स इंजीनियरिंगडीबगर्सबाइनरी विश्लेषण
GitHubvitoplantamura/bugchecker

BugChecker

SoftICE-जैसा कर्नेल डिबगर Windows 11 के लिए

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

BugChecker

परिचय

BugChecker SoftICE जैसा कर्नेल और उपयोगकर्ता डिबगर है जो Windows 11 (और Windows XP भी: यह Windows XP से 11 तक के संस्करणों, x86 और x64 दोनों का समर्थन करता है) के लिए है। BugChecker को WinDbg और KD की तरह डीबग किए जा रहे सिस्टम से जुड़ने के लिए दूसरी मशीन की आवश्यकता नहीं होती है। BugChecker का यह संस्करण (20 साल पहले विकसित मूल संस्करण के विपरीत) NTOSKRNL में आंतरिक और अप्रलेखित KD API का लाभ उठाता है। KD API WinDbg/KD को कॉल करने की अनुमति देता है जैसे रीड/राइट वर्चुअल मेमोरी, रीड/राइट रजिस्टर, किसी पते पर ब्रेकपॉइंट लगाना आदि।

इसके विपरीत, मूल BugChecker, SoftICE की तरह, कई कर्नेल API (निर्यातित और निजी दोनों) को हुक करके, APIC का नियंत्रण लेकर, IPIs भेजकर, आदि द्वारा सिस्टम को "अपने कब्जे में" लेता था। यह दृष्टिकोण जटिलता को तेजी से बढ़ाता है (और सिस्टम स्थिरता को कम करता है), क्योंकि कार्यान्वयन को Windows के सभी समर्थित संस्करणों और उप-संस्करणों (फ़ंक्शन हस्ताक्षर स्तर पर) के साथ-साथ सभी संभावित समर्थित हार्डवेयर कॉन्फ़िगरेशन के साथ संगत होना चाहिए। इसके अलावा, 20 साल बाद, PatchGuard इस समाधान को असंभव बना देता है।

इसके विपरीत, BugChecker का यह संस्करण, कर्नेल में KdSendPacket और KdReceivePacket पर कॉल को इंटरसेप्ट करके, डीबग की जा रही मशीन को एक बाहरी कर्नेल डिबगर चलाने वाली दूसरी प्रणाली के रूप में प्रस्तुत करता है, लेकिन वास्तव में, सब कुछ उसी मशीन पर होता है। आमतौर पर यह KDCOM.DLL को बदलकर (जो Windows में KD API के लिए सीरियल केबल संचार लागू करने वाला मॉड्यूल है) प्राप्त किया जाता है और सिस्टम को कर्नेल डिबगिंग मोड में प्रारंभ करके प्राप्त किया जाता है। यह दृष्टिकोण (VirtualKD से प्रेरित) जटिलता को कम करता है और स्थिरता और संगतता (और पोर्टेबिलिटी, उदाहरण के लिए, ARM तक - और मॉड्यूलरिटी, क्योंकि निचले स्तर की डिबगर क्षमताएं KdXxxPacket के पीछे लागू होती हैं और एक कस्टम कार्यान्वयन से बदली जा सकती हैं) को बढ़ाता है। इसके अलावा, बूट समय पर एक कर्नेल डिबगर (हालांकि "नकली") की उपस्थिति Windows को PatchGuard को अक्षम करने का कारण बनती है।

फिलहाल, BugChecker को इनपुट के लिए PS/2 कीबोर्ड और अपना आउटपुट लिखने के लिए एक लीनियर फ्रेमबफर की आवश्यकता होती है। कृपया ध्यान दें कि कई आधुनिक लैपटॉप का अंतर्निहित कीबोर्ड अभी भी PS/2 है।

विशेषताएं

  • Windows XP से Windows 11, x86 और x64, और SMP कर्नेल के लिए समर्थन। x64 पर WOW64 प्रक्रियाओं के लिए समर्थन।
  • QuickJSPP का एकीकरण, जो QuickJS का MSVC++ पर एक पोर्ट है। QuickJS को कॉल करने से पहले, BugChecker FPU स्थिति (x86 पर) को सहेजता है और 128KB के विस्तारित स्टैक पर स्विच करता है।
  • कमांड JS एक्सप्रेशन स्वीकार करते हैं। उदाहरण के लिए, "U rip+rax*4" और "U MyJsFn(rax+2)" मान्य कमांड हैं। कस्टम फ़ंक्शन स्क्रिप्ट विंडो में परिभाषित किए जा सकते हैं। CPU रजिस्टर BugChecker द्वारा स्वचालित रूप से ग्लोबल स्कोप वेरिएबल के रूप में घोषित किए जाते हैं।
  • PDB प्रतीक फ़ाइलों के लिए समर्थन। PDB फ़ाइलों को मैन्युअल रूप से निर्दिष्ट किया जा सकता है या सिंबल लोडर उन्हें सिंबल सर्वर से डाउनलोड कर सकता है।
  • JavaScript कोड निम्नलिखित अतुल्यकालिक फ़ंक्शन कॉल कर सकता है: WriteReg, ReadMem, WriteMem।
  • ब्रेकपॉइंट में JS स्थिति हो सकती है: यदि स्थिति 0 का मूल्यांकन करती है, तो कोई "ब्रेकिन" नहीं होता है। यह "लॉगपॉइंट" और ऐसे ब्रेकपॉइंट सेट करने की अनुमति देता है जो निष्पादन के प्रवाह को बदल सकते हैं।
  • लॉग विंडो कर्नेल डिबगर को भेजे गए संदेश दिखाती है (उदाहरण के लिए DbgPrint संदेश)।
  • सिंटैक्स हाइलाइटिंग के साथ JavaScript विंडो।
  • टैब कुंजी, कुछ अंक दिए जाने पर, स्क्रीन पर सभी हेक्स संख्याओं के माध्यम से चक्र करने की अनुमति देती है, या कुछ अक्षर दिए जाने पर, उन अक्षरों वाले सभी प्रतीकों के माध्यम से चक्र करने की अनुमति देती है।
  • EASTL और C++20 कोरूटीन नए कमांड बनाना आसान बनाते हैं। अपने पुल अनुरोध भेजने के लिए स्वतंत्र महसूस करें!

वीडियो (यूट्यूब)

Windows 11 22H2 पर, VirtualBox 7.0.4 के अंदर BugChecker का प्रदर्शन। एक JavaScript ब्रेकपॉइंट स्थिति लिखी गई है जो उपयोगकर्ता मोड थ्रेड में निष्पादन के प्रवाह को बदल देती है।

वीडियो देखें

BugChecker एक बहुत ही सीमित वातावरण में चल रहा है: एक Raspberry Pi 4 (4GB RAM), Windows XP (512MB RAM) पर QEMU के माध्यम से। एक ब्रेकपॉइंट का उपयोग उपयोगकर्ता मोड से कर्नेल तक सभी SYSENTER कॉल को लॉग करने के लिए किया जाता है। सेवा सूचकांक एक जावास्क्रिप्ट सरणी में संग्रहीत किया जाता है।

वीडियो देखें

BugChecker को सीधे बेयर मेटल पर, HP Pavilion Dv2000 पर चलाना, जो PS/2 कीबोर्ड वाला एक पुराना पीसी है। ओएस Windows 7 Home 32bit है।

वीडियो देखें

स्थापना निर्देश

परिचय

सुनिश्चित करें कि BugChecker को स्थापित और उपयोग करते समय Secure Boot अक्षम है। आमतौर पर आप इसे बाद में पुनः सक्षम कर सकते हैं। यदि आप VMware या VirtualBox का उपयोग कर रहे हैं, तो Secure Boot को वर्चुअल मशीन सेटिंग्स में अक्षम किया जा सकता है।

यदि Windows 8, 10 या 11 का उपयोग कर रहे हैं, तो लीगेसी बूट मेनू को सक्षम करने पर भी विचार करें, कमांड का उपयोग करके: bcdedit /set "{current}" bootmenupolicy legacy। यह बूट के दौरान एक सहज अनुभव की अनुमति देता है, BugChecker बूट विकल्प का चयन करने और फिर उसी समय ड्राइवर सिग्नेचर एनफोर्समेंट को अक्षम करने की अनुमति देता है।

निर्देश

पहला कदम सिंबल लोडर प्रारंभ करना है:

सिंबल लोडर

यदि आवश्यक हो, तो "Disable Display Drvs" बटन पर क्लिक करके डिस्प्ले ड्राइवरों को अक्षम करें। वही काम Windows डिवाइस मैनेजर में भी किया जा सकता है। डिस्प्ले ड्राइवरों को अक्षम करने के बाद, वे सिस्टम रीबूट के बाद भी अक्षम रहते हैं। उन्हें बाद में किसी भी समय फिर से सक्षम किया जा सकता है जब BugChecker का उपयोग नहीं कर रहे हों।

यहाँ मुद्दा यह है कि BugChecker को अपना इंटरफ़ेस खींचने के लिए 32 बिट्स-प्रति-पिक्सेल प्रारूप के साथ एक लीनियर फ्रेमबफर की आवश्यकता होती है। डिस्प्ले ड्राइवरों को अक्षम करने पर, Windows अपने UI को खींचने के लिए हार्डवेयर त्वरण को खारिज कर देता है और VGA संगतता मोड पर वापस आ जाता है। यदि बेयर मेटल या VMware पर चल रहे हैं, तो आपको डिस्प्ले ड्राइवरों को अक्षम करना चाहिए। यदि VirtualBox पर चल रहे हैं, तो आपको डिस्प्ले ड्राइवरों को अक्षम करना चाहिए या BugChecker.dat में vm_screen सेटिंग सेट करनी चाहिए, जैसा कि नीचे वर्णित है। यदि QEMU पर चल रहे हैं, तो आपको डिस्प्ले ड्राइवरों को अक्षम करने की आवश्यकता नहीं है, लेकिन "-vga std" डिस्प्ले डिवाइस निर्दिष्ट करना सुनिश्चित करें।

ध्यान दें कि VGA संगतता मोड अधिकतम स्क्रीन रिज़ॉल्यूशन को सीमित कर सकता है। VMware 1152x864 के अधिकतम रिज़ॉल्यूशन तक सीमित है। "-vga std" डिस्प्ले डिवाइस वाला QEMU इस सीमा से ग्रस्त नहीं है।

दिलचस्प बात यह है कि यदि BugChecker एक से अधिक ग्राफिक्स कार्ड वाले सिस्टम पर स्थापित है, तो केवल एक ग्राफिक्स कार्ड के डिस्प्ले ड्राइवरों को अक्षम करना संभव है, जो वह कार्ड होगा जो उस स्क्रीन से जुड़ा होगा जो BugChecker UI दिखाएगा। दूसरा कार्ड (मुख्य डिस्प्ले के रूप में सेट) अपनी सभी 2D और 3D त्वरण सुविधाओं को बरकरार रखेगा, जिसमें OpenGL और DirectX समर्थन शामिल है (नोट: VMware पर, Windows 11 और DisplayLink डिस्प्ले के साथ परीक्षण किया गया)।

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