
Пользовательский инструмент, который обнаруживает обход DSE от EfiGuard, запрашивая бэкдор SetVariable для проверки, отключён ли PatchGuard в системах Windows.
самый тупой способ проверить, убил ли EfiGuard ваш patchguard или нет.
efiguard оставляет бэкдор SetVariable во время выполнения — мы просто обращаемся к нему из пользовательского режима с просьбой прочитать 2 байта по базе ntoskrnl. если мы получаем MZ — бэкдор жив, efiguard сделал своё дело, pg мертв.
работает только если пользователь выбрал метод обхода dse по умолчанию (DSE_DISABLE_SETVARIABLE_HOOK) — который используется по умолчанию. если вместо этого был выбран DSE_DISABLE_AT_BOOT, то хук удаляется при ExitBootServices и из пользовательского режима нечего обнаруживать.
требует прав администратора + привилегии SeSystemEnvironmentPrivilege.
cl /EHsc src/main.cpp /link ntdll.lib psapi.lib
src/main.cpp