Незнаю актуально ли но может кому-то будет полезно
Хитрый обход защиты:
Бери ScyllaHide, врубай все галки (PEB, NtQuery, NtSet), цепляй через InjectorCLI. Если не работает, смотри вручную IsDebuggerPresent и NtQuery в x64dbg на Entry Point. Если и это не помогает — включай TitanHide, ловишь всякую kernel mode защиту. Защита может хукать функции в ntdll.dll, поэтому скачай чистую ntdll.dll из C:\Windows\System32, подмени её в памяти через инжектор. Если хочешь использовать Fake PEB — копируешь PEB в буфер, подправляешь флаги (BeingDebugged, NtGlobalFlag) и подменяешь указатель. Если используешь Cheat Engine как бы смешно не звучало:) или x64dbg, переключайся на VEH (Vectored Exception Handler) вместо стандартного Windows Debugger — это будет менее заметно. Если программа не запускается, подменяешь PID на фейковый через инжектор и цепляешь дебаггер к обманке. Если это не помогает, пробуй TitanHide или ручками через PEB (BeingDebugged), патчишь по ходу. Если замечаешь, что GetTickCount, QueryPerformanceCounter, или RDTSC сравнивают время — это антидебаг защита. ScyllaHide может патчить, но если нет — ищи вызовы и заменяй их на NOP (заполняй 90h). Или делай инъекции через CLI в ScyllaHide. Запускаешь ScyllaHide плагин, убедись, что он грузится с дебаггером (плагины HookLibrary.dll и плагин для твоего дебаггера должны быть в папке плагинов). Включаешь все галки: PEB (Process Environment Block) — убирает флаг BeingDebugged, NtQueryInformationProcess — блокирует проверки на дебаггер, NtSetInformationThread — для ThreadHideFromDebugger, OutputDebugString — если программа спамит дебаг сообщения, GetTickCount и QueryPerformanceCounter — против тайминг-чеков. Если программа всё равно не работает, начни с базовых галок (PEB + NtQuery), потом добавляй по одной, чтобы понять, где она триггерит.
Скриншотов, к сожалению, предоставить не могу, так как доступа к ПК не имею, а решение, которое может быть полезным, вполне.
если что-то нужно пояснить сделаю