
Отладчик, использующий скрытые хуки для маскировки от обнаружения отладчиков.
GhostDebug — это прототип отладчика для Windows x64, состоящий из нативной отладочной DLL и клиента командной строки на .NET Framework. Он предназначен для отладки целей, использующих проверки обнаружения отладчика.
Подробнее о разработке см. Разработка необнаруживаемого отладчика в Windows.
Соберите все проекты в Visual Studio.
Запустите целевой процесс. TestTarget включён в качестве простого примера.
Откройте терминал в GhostDebug/GhostDebug-CLI/bin/Release/ и запустите
CLI:
.\GhostDebug.exe
Подключитесь по идентификатору процесса или имени процесса, затем используйте интерактивные команды:
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).