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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
drltrace — Drltrace एक लाइब्रेरी कॉल्स ट्रेसर है जो विंडोज और लिनक्स अनुप्रयोगों के लिए है। | Kitploit
उपकरण/GitHubGitHub/mxmssh/drltrace
गतिशील विश्लेषण (सैंडबॉक्सिंग)रिवर्स इंजीनियरिंगडीबगर्समालवेयर विश्लेषणबाइनरी विश्लेषण
GitHubmxmssh/drltrace

drltrace

Drltrace एक लाइब्रेरी कॉल्स ट्रेसर है जो विंडोज और लिनक्स अनुप्रयोगों के लिए है।

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

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

सभी देखें →

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

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

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

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

Drltrace

विंडोज परीक्षण बिल्ड build status

लिनक्स परीक्षण बिल्ड Build Status

Drltrace विंडोज और लिनक्स अनुप्रयोगों के लिए एक गतिशील API कॉल ट्रेसर है। Drltrace DynamoRIO गतिशील बाइनरी इंस्ट्रुमेंटेशन फ्रेमवर्क पर आधारित है। Drltrace को मूल रूप से Derek Bruening द्वारा कार्यान्वित किया गया था और DynamoRIO और DrMemory फ्रेमवर्क के साथ वितरित किया गया था। इस रिपॉजिटरी में drltrace का एक स्वतंत्र संस्करण है जिसमें मैलवेयर विश्लेषण के लिए इसका उपयोग करने के लिए अतिरिक्त स्क्रिप्ट और सामग्री शामिल है। रिलीज़ बिल्ड यहाँ से डाउनलोड किया जा सकता है।

उपयोग

drltrace का उपयोग बहुत सरल है। उपयोगकर्ता को एक लॉग निर्देशिका और एक लक्ष्य प्रक्रिया का नाम निम्नलिखित तरीके से निर्दिष्ट करना होगा:

drltrace -logdir . -- calc.exe

बस इतना ही, उपकरण लक्ष्य प्रक्रिया में आवश्यक DLLs इंजेक्ट करेगा, इंस्ट्रुमेंटेशन शुरू करेगा और समानांतर में लक्ष्य प्रक्रिया में निष्पादित सभी लाइब्रेरी कॉल के बारे में जानकारी लॉग करेगा:

~~43600~~ msvcrt.dll!__wgetmainargs
    arg 0: 0x010d2364
    arg 1: 0x010d2368
    and return to module id:0, offset:0x193a
~~43600~~ ntdll.dll!EtwEventRegister
    arg 0: 0x002ff994
    arg 1: 0x010d1490
    and return to module id:0, offset:0x157e
~~43600~~ ntdll.dll!EtwEventSetInformation
    arg 0: 0x007b4b40
    arg 1: 0x00000033
    and return to module id:0, offset:0x15a1
~~43600~~ SHELL32.dll!ShellExecuteW
    arg 0: <null> (type=<unknown>, size=0x0)
    arg 1: <null> (type=wchar_t*, size=0x0)
    arg 2: calculator:// (type=wchar_t*, size=0x0)
    arg 3: <null> (type=wchar_t*, size=0x0)
    arg 4: <null> (type=wchar_t*, size=0x0)
    arg 5: 0x1 (type=int, size=0x4)
    and return to module id:0, offset:0x167d

आउटपुट का प्रारूप सरल है और इसे बाहरी स्क्रिप्ट द्वारा आसानी से पार्स किया जा सकता है:

~~[thread id]~~ [dll name]![api call name]
arg [arg #]: [value] (type=[Windows type name], size=[size of arg])
and return to module id:[module unique id], offset:[offset in memory]

-grepable तर्क का उपयोग करने पर grep के साथ पार्सिंग की जा सकती है; यह फ़ंक्शन नाम और तर्कों को एक पंक्ति में प्रिंट करता है:

~~4824~~ KERNELBASE.dll!CreateFileW {0: C:\Windows\Fonts\staticcache.dat (type=wchar_t*, size=0x0)} {1: 0x80000000 (type=DWORD, size=0x4)} {2: 0x3 (type=DWORD, size=0x4)} {3: 0x005cde8c (type=<unknown>*, size=0x0)} {4: 0x3 (type=DWORD, size=0x4)} {5: 0x80 (type=DWORD, size=0x4)}

मॉड्यूल अद्वितीय पहचानकर्ता तालिका लॉग फ़ाइल के अंत में मुद्रित की जाती है:

Module Table: version 3, count 70
Columns: id, containing_id, start, end, entry, checksum, timestamp, path
  0,   0, 0x010d0000, 0x010da000, 0x010d1b80, 0x0000f752, 0xb5fe3575,  C:\Windows\SysWOW64\calc.exe
  1,   1, 0x6d4c0000, 0x6d621000, 0x6d563940, 0x00136d65, 0x59ce1b0b,  C:\Users\Max\Downloads\drltrace\drltrace\dynamorio\lib32\release\dynamorio.dll
  2,   2, 0x73800000, 0x73975000, 0x7380dbf7, 0x00000000, 0x59ce1b0f,  C:\Users\Max\Downloads\drltrace\drltrace\bin\release/drltracelib.dll
  3,   3, 0x742f0000, 0x742fa000, 0x742f2a00, 0x0000c877, 0x0adc52c1,  C:\Windows\System32\CRYPTBASE.dll
  4,   4, 0x74300000, 0x74320000, 0x7430c9b0, 0x0002c617, 0x245970b4,  C:\Windows\System32\SspiCli.dll
  5,   5, 0x74410000, 0x74431000, 0x74416900, 0x0002a940, 0x88a53c1d,  C:\Windows\System32\GDI32.dll
  6,   6, 0x74440000, 0x74500000, 0x7446fb20, 0x000cc410, 0xd343d532,  C:\Windows\System32\RPCRT4.dll
  7,   7, 0x74500000, 0x74525000, 0x745047d0, 0x00026737, 0xa39c8991,  C:\Windows\System32\IMM32.DLL
  8,   8, 0x74550000, 0x745c7000, 0x7456e8a0, 0x00081857, 0x73b971e1,  C:\Windows\System32\advapi32.dll
  9,   9, 0x748f0000, 0x74929000, 0x748febd0, 0x00045303, 0xa58be652,  C:\Windows\System32\cfgmgr32.dll
 10,  10, 0x74930000, 0x75c78000, 0x74aa09d0, 0x01377aa6, 0x4b39926b,  C:\Windows\System32\SHELL32.dll

Drltrace आसानी से अंतर-लाइब्रेरी कॉल को फ़िल्टर कर सकता है और केवल मुख्य मॉड्यूल (या हीप) से किए गए API कॉल को प्रिंट कर सकता है, -only_from_app विकल्प निर्दिष्ट करके, जो उन अनुप्रयोगों के लिए बहुत उपयोगी है जो बड़े लॉग उत्पन्न करते हैं। अधिक सूक्ष्म नियंत्रण के लिए, -filter विकल्प उपयोगकर्ता को एक फ़िल्टर कॉन्फ़िगरेशन फ़ाइल निर्दिष्ट करने की अनुमति देता है ताकि विशिष्ट श्वेतसूचीबद्ध फ़ंक्शनों को फ़िल्टर किया जा सके, या कालीसूचीबद्ध फ़ंक्शनों को अनदेखा किया जा सके (उदाहरण के लिए filter.config फ़ाइल देखें)। Drltrace में कुछ उपयोगी बाहरी स्क्रिप्ट भी हैं जो किसी विशेष लाइब्रेरी के लिए API कॉल को फ़िल्टर करने, केवल संभावित रूप से दिलचस्प API कॉल और स्ट्रिंग को प्रिंट करने के लिए हैं।

लाइसेंस

Drltrace के मुख्य मॉड्यूल BSD के तहत वितरित किए जाते हैं।

Drltrace के लिए आवश्यक कुछ फाइलें LGPL के तहत वितरित की जाती हैं। अधिक जानकारी के लिए स्रोत फ़ाइलें देखें।

प्रेरणा

मैलवेयर विश्लेषण एक आसान काम नहीं है। Themida और Armadillo जैसे परिष्कृत सॉफ़्टवेयर पैकर्स और निश्चित रूप से मैलवेयर लेखकों द्वारा लिखे गए दर्जनों अनाम पैकर्स, साथ ही कोड और डेटा एन्क्रिप्शन, ऐसे नमूनों के स्थैतिक रिवर्स इंजीनियरिंग को काफी कठिन (कुछ मामलों में पूरी तरह से असंभव) बना देते हैं, जिससे मैलवेयर विश्लेषकों का जीवन जटिल हो जाता है। ऐसे मामले में, API कॉल ट्रेसिंग वास्तविक दुर्भावनापूर्ण इरादे को समझने में लगने वाले समय को काफी कम कर सकती है और संरक्षित दुर्भावनापूर्ण कोड के बारे में कई तकनीकी विवरण प्रकट कर सकती है।

जबकि API-हुकिंग की पारंपरिक तकनीक को कई समाधानों में सफलतापूर्वक लागू किया गया है, इस दृष्टिकोण का मैलवेयर लेखकों द्वारा अच्छी तरह से अध्ययन किया गया है और इसे आसानी से पता लगाया और/या बायपास किया जा सकता है। इसके अलावा, ये उपकरण स्वतंत्र भारी-भरकम GUI अनुप्रयोगों (मालिकाना उत्पादों के रूप में) के रूप में वितरित किए जाते हैं, जिन्हें अक्सर मौजूदा मैलवेयर विश्लेषण कार्यप्रवाह में एकीकृत करना आसान नहीं होता है।

यदि हम लिनक्स दुनिया को देखें, तो वहाँ ltrace नामक एक अद्भुत उपकरण है। एक एकल bash कमांड का उपयोग करके, हम आसानी से किसी निश्चित निष्पादन योग्य के API कॉल का पूरा ट्रेस प्राप्त कर सकते हैं।

हमारे पास विंडोज के लिए ऐसा उपकरण (लिनक्स में ltrace की तरह) क्यों नहीं है जो आधुनिक मैलवेयर द्वारा उपयोग की जाने वाली एंटी-रिसर्च चालों के प्रति भी पारदर्शी हो?

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

हालांकि, मैलवेयर विश्लेषण के लिए DBI का अनुप्रयोग अनपैकिंग ऑटोमेशन और निर्देशों, बुनियादी ब्लॉकों और फ़ंक्शन कॉल ट्रेसिंग के लिए कई प्रमाण-अवधारणाओं तक सीमित है। जहाँ तक हम जानते हैं, drltrace DBI पर आधारित API कॉल ट्रेसिंग के लिए पहला उपकरण है जिसका उपयोग व्यवहार में मैलवेयर विश्लेषण के लिए किया जा सकता है। हमने अपने wiki में कई मैलवेयर विश्लेषण उदाहरण प्रदान किए हैं जहां हमने वर्णन किया है कि कैसे drltrace ने IDA या डीबगर शुरू किए बिना कुछ ही मिनटों में परिष्कृत दुर्भावनापूर्ण नमूनों के बारे में कई आंतरिक तकनीकी विवरण प्रकट करने की अनुमति दी।

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