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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
thematrix — एक PE लोडर और Windows API ट्रेसर। मैलवेयर विश्लेषण में उपयोगी। | Kitploit
उपकरण/GitHubGitHub/enkomio/thematrix
गतिशील विश्लेषण (सैंडबॉक्सिंग)रिवर्स इंजीनियरिंगडीबगर्समालवेयर विश्लेषणAPI सुरक्षा
GitHubenkomio/thematrix

thematrix

एक PE लोडर और Windows API ट्रेसर। मैलवेयर विश्लेषण में उपयोगी।

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

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

सभी देखें →

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

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

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

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

TheMatrix

यह प्रोजेक्ट मैलवेर विश्लेषण प्रक्रिया को आसान बनाने के लिए बनाया गया था। उद्देश्य एक एक्टिवेटर बाइनरी बनाना है जिसका काम उपयोगकर्ता द्वारा परिभाषित बाइनरी को लोड करना और Win32 API हुक का उपयोग करके निष्पादन की निगरानी करना है। प्रासंगिक डेटा तब डिस्क पर सहेजा जाता है। कोड x86 और x64 दोनों बाइनरी को सपोर्ट करता है।

Doc

मैंने एक ब्लॉग पोस्ट लिखा है जिसमें बताया गया है कि यह कैसे काम करता है: http://antonioparata.blogspot.com/2022/06/thematrix-process-inspection-tool-aimed.html

Usage

नई बाइनरी की निगरानी करने के लिए एक activator बनाना आवश्यक है। एक्टिवेटर उपयोगकर्ता इनपुट बाइनरी को लोड और मॉनिटर करेगा। एक्टिवेटर बनाने के लिए -add विकल्प का उपयोग करें। उपयोग का एक उदाहरण निम्नलिखित है:

root@kitploit:~
c:\>TheMatrix.exe -add c:\path\to\my\binary.dll
Activator file created
c:\>regsvr32.exe TheMatrix.build.dll

यह कमांड एक नई PE फ़ाइल बनाएगा जो एक्टिवेटर का प्रतिनिधित्व करता है। एक्टिवेटर इनपुट बाइनरी के समान फ़ॉर्मेट (DLL या EXE) होगा।

एक बार बन जाने पर, आप इसे अपने पसंदीदा तरीके से चला सकते हैं (DLL के लिए सुझाया गया तरीका rundll32.exe उपयोगिता का उपयोग करना है)।

निष्पादन के दौरान, निगरानी किए गए फ़ंक्शन द्वारा उत्पन्न डेटा ./Desktop/thematrix/[process ID]/ पर सहेजा जाता है (यह utility.c में लागू log_data फ़ंक्शन पर निर्भर करता है)।

सीमाएं:

  • प्रोजेक्ट विशिष्ट APIs (जैसे GetModuleHandle, ...) को सही ढंग से काम करने की अनुमति देने के लिए PEB.Ldr संरचना को संशोधित करता है। यदि आप WOW64 सिस्टम (x64 OS पर x86 बाइनरी) पर एक्टिवेटर चलाते हैं, तो केवल x86 PEB.Ldr संशोधित होता है (WOW64 प्रक्रियाओं में x86 और x64 दोनों PEB होते हैं)। जब CPU x64 पर स्विच करता है, तो Windows Native APIs (ntdll.dll) PEB.Ldr के x64 संस्करण का उपयोग करेंगे। इसका तात्पर्य है कि एक्टिवेटर ठीक से काम नहीं कर सकता है। सुनिश्चित करने के लिए कि x86 काम करता है, बाइनरी को x86 OS पर चलाएँ।

  • नवनिर्मित फ़ाइल सभी विधियों को निर्यात नहीं करती है और इसमें मूल फ़ाइल संसाधन शामिल नहीं हैं। इससे संभावित त्रुटियाँ हो सकती हैं, उदाहरण के लिए यदि कोई DLL GetModuleFileName -> LoadLibrary -> FindResource कॉल करता है। यह कोड पथ मूल TheMatrix DLL को लोड करेगा जिसमें वांछित संसाधन नहीं है।

Customization

मॉनिटर में नए फ़ंक्शन जोड़ना एक आसान काम है, कृपया hooks.c फ़ाइल में Kernel32.dll और bcrypt.dll हुक के कुछ उदाहरण देखें। नया हुक जोड़ने के लिए hook_add फ़ंक्शन को कॉल करना पर्याप्त है। नीचे हुक निर्माण का एक उदाहरण दिखाया गया है:

root@kitploit:~
LPVOID __stdcall hook_BCryptEncrypt(BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID* pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG* pcbResult, ULONG dwFlags)
{
   // save plain data
   if (cbInput) {
   	char name[MAX_PATH] = { 0 };
   	snprintf(name, sizeof(name), "BCryptEncrypt_%llx_%d", (uint64_t)pbInput, cbInput);
   	log_data(cbInput, pbInput, name);
   }	

   LPVOID ret = call_original(
   	hKey,
   	pbInput,
   	cbInput,
   	pPaddingInfo,
   	pbIV,
   	cbIV,
   	pbOutput,
   	cbOutput,
   	pcbResult,
   	dwFlags
   );
   return ret;
}
 
hook_add("Bcrypt.dll", "BCryptEncrypt", hook_BCryptEncrypt);

फ़ंक्शन का हुक किए गए फ़ंक्शन के समान हस्ताक्षर होना चाहिए। फ़ंक्शन call_original का उपयोग मूल फ़ंक्शन को कॉल करने के लिए किया जाता है। मूल फ़ंक्शन इनपुट पैरामीटर के साथ इस फ़ंक्शन को कॉल करना पर्याप्त है, फ्रेमवर्क आपके लिए सही फ़ंक्शन को कॉल करने का सारा भारी काम करेगा ;) call_original फ़ंक्शन का कॉल उसी थ्रेड में किया जाना चाहिए जो हुक को निष्पादित कर रहा है, अन्यथा प्रक्रिया क्रैश हो जाएगी।

TODO

  • CreateProcessInternalW को हुक करें, CreateProcessW के बजाय
  • PEB64 को संशोधित करें जब प्रक्रिया WOW64 में निष्पादित हो रही हो
टूल डाउनलोड करें