Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/synacktiv/dotniet
स्थैतिक विश्लेषणरिवर्स इंजीनियरिंगबाइनरी विश्लेषण
GitHubsynacktiv/dotniet

dotNIET

IDA Pro प्लगइन जो .NET Native बाइनरीज़ में रनटाइम-रिज़ॉल्व्ड सिंबल्स को इम्पोर्ट करता है, विश्लेषण के लिए लापता इम्पोर्ट्स को पुनर्स्थापित करने हेतु SharedLibrary.dll और इसके PDB को पार्स करता है।

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

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

सभी देखें →

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

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

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

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

.NIET

Alt text

.NIET एक IDA Pro प्लगइन है। इसका उद्देश्य उन लुप्त प्रतीकों (symbols) को आयात करना है (आमतौर पर कुछ हज़ार), जिन्हें रनटाइम पर .NET Native संकलित बाइनरियों द्वारा हल किया जाता है। ये प्रतीक SharedLibrary.dll में स्थित होते हैं और इसके द्वारा निर्यात नहीं किए जाते हैं।

.NIET का परीक्षण IDA Pro 7.5 पर python 3.8 का उपयोग करके निम्नलिखित प्लेटफ़ॉर्म पर किया गया है:

  • Windows
  • Linux

यह प्लगइन वर्तमान में निम्नलिखित .NET Native फ्रेमवर्क संस्करणों का समर्थन करता है:

  • 1.3
  • 1.6
  • 1.7
  • 2.2

यदि आपको कोई अन्य संस्करण मिले तो कृपया एक issue बनाएँ।

स्थापना

इन तत्वों को अपने IDA Pro प्लगइन निर्देशिका में कॉपी करें:

root@kitploit:~
dotNIET_plugin.py
dotNIET\

निर्भरताएँ

.NIET संसाधन निर्देशिकाओं को पार्स करने के लिए pefile पर निर्भर करता है।

pefile को निम्नानुसार स्थापित किया जा सकता है:

root@kitploit:~
pip install pefile

आवश्यकताएँ

चूँकि प्रतीक SharedLibrary.dll से आयात किए जाते हैं, इसे .NIET को इसके pdb के साथ प्रदान किया जाना चाहिए (प्लगइन द्वारा इसका स्थान _NT_SYMBOL_PATH के भीतर खोजा जाता है)।

सहायक फ़ंक्शन लागू किए गए हैं ताकि .NET Native फ्रेमवर्क संस्करणों की पहचान की जा सके और यह सत्यापित किया जा सके कि SharedLibrary.dll का pdb कॉन्फ़िगर किए गए symbols पथ के भीतर मौजूद है।

उपयोग

Alt text

.NIET को शॉर्टकट Alt-Shift-N के माध्यम से या Edit/Plugins मेनू के माध्यम से लॉन्च किया जा सकता है।

लॉन्च होने पर, प्लगइन वर्तमान बाइनरी के .NET Native फ्रेमवर्क संस्करण की पहचान करने का प्रयास करता है। आपको बस सही संस्करण में SharedLibrary.dll का चयन करना है और फिर Run पर क्लिक करना है।

.NIET लक्षित dll के .NET Native फ्रेमवर्क संस्करण की पहचान करेगा और यदि संस्करण समान नहीं हैं तो एक संदेश प्रदर्शित करेगा। Major और Minor संस्करण संख्याएँ आमतौर पर केवल वही होती हैं जो मायने रखती हैं।

कार्यप्रणाली

.NIET .rdata अनुभाग के भीतर .NET Native कस्टम import descriptors तालिका की खोज करता है। ऐसा करने के लिए, यह एक Custom Header संरचना के विशिष्ट ऑफसेट्स पर पढ़ता है और फिर एक ordinals सरणी को पार्स करता है।

यह ordinals सरणी SharedLibrary.dll की कस्टम तालिका प्रविष्टियों के भीतर विभिन्न स्थानों की ओर इंगित करती है।

प्रतीक समाधान (symbol resolution) IDA Pro के हेडलेस इंस्टेंस को उसके बाइनरी idat के माध्यम से लॉन्च करके प्राप्त किया जाता है, ताकि SharedLibrary.dll के pdb को पार्स किया जा सके।

आयातित प्रतीकों की नामकरण परंपरा

प्रतीक संभव होने पर यथावत आयात किए जाते हैं, लेकिन कुछ किनारे के मामले (corner cases) सामने आ सकते हैं:

  • कभी-कभी आयातित पते केवल ऑफसेट के jmpstubs प्रतीक होते हैं या प्रतीकों के लिए एकल jmp निर्देश होते हैं। उनके प्रतीक नाम को .NIET द्वारा लक्षित फ़ंक्शन के नाम से बदल दिया जाता है, जिसमें jmp_ उपसर्ग जोड़ा जाता है।

  • .NET Native रनटाइम द्वारा हल किए गए कुछ पते कई dereference के बाद प्रतीकों की ओर इंगित करते हैं। यदि .NIET को किसी आयातित पते पर कोई प्रतीक नहीं मिलता है, तो वह तब तक dereference करने का प्रयास करता है जब तक उसे एक न मिल जाए। यदि मिल जाता है, तो deref_X को इस प्रतीक नाम के साथ जोड़ा जाता है, जहाँ X dereference की संख्या है।

  • कुछ पते EETableSection तालिका के भीतर ऑफसेट की ओर इंगित करते हैं। .NET Native में नया होने के कारण, मुझे नहीं पता कि यह (अभी तक?) क्या है, इसलिए इन पतों को EETableSection_XXX लेबल किया जाता है, XXX SharedLibrary.dll के भीतर EETableSection से ऑफसेट है।

ज्ञात सीमाएँ

  • macOS IDA Pro संस्करण पर (अभी तक) काम नहीं करता है।

  • .NIET काफी धीमा है क्योंकि इसे काफी बड़े बाइनरी के pdb को पार्स करने की आवश्यकता होती है।

  • "restore .idata" विकल्प (एक प्रकार का "undo" विकल्प) केवल आयातित प्रतीकों को अनसेट करता है। चूँकि IDA आयात के दौरान नामों को स्वचालित रूप से (automagically) प्रचारित करता है, यदि आप आयातित प्रतीकों के सभी निशान हटाना चाहते हैं तो आपको संभवतः फिर से auto-analysis चलाने की आवश्यकता होगी। एक वैकल्पिक उपाय प्लगइन चलाने से पहले डेटाबेस स्नैपशॉट बनाना हो सकता है।

  • .NIET केवल SharedLibrary.dll मॉड्यूल से प्रतीकों को पार्स करता है, हालाँकि प्रतीकों के समाधान के लिए जिम्मेदार मूल रूटीन संभवतः अन्य मॉड्यूल को पार्स करने की संभावना प्रदान करता है (मुझे नहीं पता कि SharedLibrary.dll मॉड्यूल के अलावा ऐसा वास्तव में होता है या नहीं)।

समस्या निवारण

idat का logfile %tmpdir%/dotNIETlogs.txt पर परिभाषित है।

ऐसा नाम क्यों

क्योंकि .NET Native की रिवर्स इंजीनियरिंग करना एक दुःस्वप्न है।

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