
एक तकनीक जो NTDLL unhooking और hellsgate gate वेरिएंट्स को मिलाती है
एक userland EDR bypass तकनीक जो आपको इच्छानुसार unhooked और hooked ntdll.dll के बीच स्विच करने की अनुमति देती है। मैंने इसे कैसे बनाया, यह यहाँ पाया जा सकता है।
आप बस .h और .c फ़ाइल को अपने प्रोजेक्ट में drag and drop कर सकते हैं, सुनिश्चित करें कि आप CRT functions के लिए header file definition को संपादित करें जिन्हें या तो आपके द्वारा पुनः कार्यान्वित किया जाना चाहिए या जो भी आप चाहें उसका उपयोग करके। आपको .c फ़ाइल के अंदर switch_memory_protection फ़ंक्शन को भी संपादित करना होगा क्योंकि प्रोजेक्ट के सही ढंग से काम करने के लिए आपको इसे स्वयं कार्यान्वित करना होगा।
यहाँ lib का उपयोग करने का एक snippet दिया गया है:
struct hook_cache *cache = 0;
cache = ntdll_reconstruction_init();
if (cache == 0)
// Throw Error!
while (1) {
// Do whatever
cache = ntdll_reconstruction_flip(cache); // Back to hooked stub
if (cache == 0)
// Throw Error!
Sleep(1234);
cache = ntdll_reconstruction_flip(cache); // Back to clean stub
if (cache == 0)
// Throw Error!
}