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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/cracked5pider/ldrlibraryex
आईडीएस/आईपीएस से बचनापोस्ट-शोषणरेड टीमिंगपेलोड डेवलपमेंटArchived
GitHubcracked5pider/ldrlibraryex

LdrLibraryEx

dll को मेमोरी में लोड करने के लिए एक छोटी x64 लाइब्रेरी।

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

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

सभी देखें →

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

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

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

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

LdrLibraryEx

DLL को मेमोरी में लोड करने के लिए एक छोटी x64 लाइब्रेरी।

विशेषताएं

  • कम निर्भरताएँ और फ़ंक्शन उपयोग (केवल ntdll.dll उपयोग होता है)
  • पोजीशन इंडिपेंडेंट कोड
  • हल्का और न्यूनतम
  • उपयोग में आसान
  • मेमोरी से मॉड्यूल लोड करें
  • डिस्क से मॉड्यूल लोड करें
  • एपीआई सेट समर्थन
  • इमेज लोड कॉलबैक को बायपास करें (प्राइवेट मेमोरी का उपयोग करके)
  • डिलेड इम्पोर्ट, टीएलएस, एसईएच आदि वाली इमेज के लिए समर्थन

दस्तावेज़ीकरण

लाइब्रेरी फ़्लैग्स

फ़्लैग्स को जोड़ा जा सकता है

LIBRARYEX_NONE: डिस्क से मॉड्यूल को मेमोरी में मैप करें और एंट्रीपॉइंट निष्पादित करें।

LIBRARYEX_BYPASS_LOAD_CALLBACK: डिस्क से मॉड्यूल को प्राइवेट मेमोरी (अनबैक्ड) में मैप करें जो इमेज लोड कॉलबैक (PsSetLoadImageNotifyRoutine) को बायपास करता है।

LIBRARYEX_NO_ENTRY: मॉड्यूल के एंट्रीपॉइंट को निष्पादित न करें।

LIBRARYEX_BUFFER: मॉड्यूल को डिस्क के बजाय मेमोरी से मैप करें।

फ़ंक्शन: LdrLibrary

लाइब्रेरी को मेमोरी में लोड करने के लिए उपयोग में आसान फ़ंक्शन। पहला पैरामीटर, निर्दिष्ट फ़्लैग्स के आधार पर, या तो लोड करने के लिए एक वाइड स्ट्रिंग मॉड्यूल नाम हो सकता है या मेमोरी एड्रेस जहाँ PE स्थित है।

root@kitploit:~
/*!
 * @brief
 *  load library into memory
 *
 * @param Buffer
 *  buffer context to load library
 *  either a wide string or a buffer pointer 
 *  the to PE file to map (LIBRARYEX_BUFFER)
 *
 * @param Library
 *  loaded library pointer
 *
 * @param Flags
 *  flags
 *
 * @return
 *  status of function
 */
NTSTATUS LdrLibrary(
    _In_  PVOID  Buffer,
    _Out_ PVOID* Library,
    _In_  ULONG  Flags
);

यह उदाहरण दिखाता है कि डिस्क से (System32 पथ से) मॉड्यूल कैसे लोड करें:

root@kitploit:~
PVOID Module = { 0 };
ULONG Flags  = { 0 };

//
// mapping flags to be used by the library
//
Flags = LIBRARYEX_NONE; 

//
// map file into memory
//
if ( ! NT_SUCCESS( Status = LdrLibrary( L"advapi32.dll", &Module, Flags ) ) ) {
    printf( "[-] LdrLibraryEx Failed: %p\n", Status );
    return; 
}

printf( "[*] Module @ %p\n", Module );

यह उदाहरण दिखाता है कि मेमोरी बफर से मॉड्यूल कैसे लोड करें:

root@kitploit:~
PVOID Module = { 0 };
ULONG Flags  = { 0 };

//
// mapping flags to be used by the library
//
Flags = LIBRARYEX_NONE  | 
        LIBRARYEX_BUFFER; 

//
// read file on disk into memory
//
if ( ! ( Image = ReadFileBuffer( L"C:\\Windows\\System32\\advapi32.dll", NULL ) ) ) {
    puts( "[-] ReadFileBuffer Failed" );
    return;
}

//
// map file into memory
//
if ( ! NT_SUCCESS( Status = LdrLibrary( Image, &Module, Flags ) ) ) {
    printf( "[-] LdrLibraryEx Failed: %p\n", Status );
    return;
}

printf( "[*] Module @ %p\n", Module );

उनके एपीआई सेट के आधार पर मॉड्यूल लोड करना भी संभव है (केवल win10+ समर्थन):

root@kitploit:~
//
// map file into memory
//
if ( ! NT_SUCCESS( Status = LdrLibrary( L"api-ms-win-base-util-l1-1-0.dll", &Module, Flags ) ) ) {
    printf( "[-] LdrLibraryEx Failed: %p\n", Status );
    return;
}

printf( "[*] Module @ %p\n",  );

फ़ंक्शन: LdrLibraryEx

LdrLibraryEx कुछ फ़ंक्शनों को हुक करने की अनुमति देता है ताकि यह संशोधित किया जा सके कि लाइब्रेरी को मेमोरी में कैसे मैप किया जाना चाहिए।

root@kitploit:~
//
// mapping flags to be used by the library
// and insert the loaded module into Peb
//
Flags = LIBRARYEX_BYPASS_LOAD_CALLBACK |
        LIBRARYEX_NO_ENTRY;

//
// init LibraryEx context
//
if ( ! NT_SUCCESS( Status = LdrLibraryCtx( &Ctx, Flags ) ) ) {
    printf( "[-] LdrLibraryCtx Failed: %d\n", Status );
    goto END;
}

//
// hook function
//
Ctx.LdrLoadDll = C_PTR( HookLdrLoadDll );

//
// map file into memory
//
if ( ! NT_SUCCESS( Status = LdrLibraryEx( &Ctx, L"cryptsp.dll", &Module, Flags ) ) ) {
    printf( "[-] LdrLibraryEx Failed: %p\n", Status );
    return; 
}

नोट

यह कोडबेस x86_64-mingw के लिए लिखा और अनुकूलित किया गया है और संभवतः यह Visual Studio के तहत काम नहीं करेगा या कंपाइल नहीं होगा।

क्रेडिट

निम्नलिखित संसाधनों और परियोजनाओं को बहुत बड़ा श्रेय जाता है:

  • DarkLoadLibrary
  • MDSec: Bypassing Image loader kernel callbacks
  • ReactOS LdrLoadDll
  • Vergilius Project

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

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