
डीबगर का पता लगाने से छिपने के लिए स्टील्थ हुक्स का उपयोग करने वाला डीबगर
GhostDebug एक Windows x64 डीबगर प्रोटोटाइप है जिसमें एक नेटिव डीबगिंग DLL और एक .NET Framework कमांड-लाइन क्लाइंट शामिल है। यह उन टार्गेट्स को डीबग करने के लिए है जो डीबगर-डिटेक्शन जाँच का उपयोग करते हैं।
डिज़ाइन की पृष्ठभूमि के लिए देखें विंडोज़ पर अनडिटेक्टेड डीबगर विकसित करना।
Visual Studio में सभी प्रोजेक्ट बिल्ड करें।
टार्गेट प्रोसेस शुरू करें। TestTarget एक साधारण उदाहरण के रूप में शामिल है।
GhostDebug/GhostDebug-CLI/bin/Release/ में एक टर्मिनल खोलें और
CLI शुरू करें:
.\GhostDebug.exe
प्रोसेस ID या प्रोसेस नाम से अटैच करें, फिर इंटरैक्टिव कमांड का उपयोग करें:
attach <pid/process name>
Attach to a process.
bp <address>
Set a breakpoint.
bp <address> <command list>
Set a breakpoint with commands that are executed automatically when it hits.
cl <address>
Clear a breakpoint.
g
Resume execution.
t
Step into one instruction.
rw <register> <value>
Queue a value to be written to a register before continuing.
help
Display the command help.
पते निरपेक्ष, मुख्य मॉड्यूल के सापेक्ष (+1234), किसी अन्य मॉड्यूल के सापेक्ष
(ntdll+1234), या प्रतीक द्वारा निर्दिष्ट (!function या
kernel32!ExitProcess) हो सकते हैं। ब्रेकपॉइंट स्वचालित रूप से कमांड भी चला
सकते हैं, उदाहरण के लिए bp 1234 rw rax 0;g।
CLI को ghostdebug-core.dll वाली निर्देशिका से चलाया जाना चाहिए, और
टार्गेट और CLI को एक ही आर्किटेक्चर (x64) का उपयोग करना चाहिए।