Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Антидебаг

  • Автор темы Автор темы hvzzzz
  • Дата начала Дата начала
Новичок
Новичок
Статус
Оффлайн
Регистрация
28 Ноя 2024
Сообщения
1
Реакции
0
что делать если программа обнаруживает дебаггер и закрывается. пытался найти по строкам (Terminate, Process, Debugger) не помогло, scyllahide присутствует
 
If no anti-BP technique is in place, I would start placing breakpoints on API (TerminateProcess, ExitProcess, ExitThread, ecc.) and, if/when the BP breaks, I would look at the call stack and check the caller (recursively if needed).

Unfortunately you didn't write target information (like compiler, protection applied, PE sections, entrypoint "look", ecc.) so it's "hard" for you to have a "good" reply.
Try to add some more information on the target you're working at and describe what you already did to overcome the issue you're facing. Someone might be able to give you a hint or two.
 
Незнаю актуально ли но может кому-то будет полезно
Хитрый обход защиты:

Бери 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), потом добавляй по одной, чтобы понять, где она триггерит.


Скриншотов, к сожалению, предоставить не могу, так как доступа к ПК не имею, а решение, которое может быть полезным, вполне.

если что-то нужно пояснить сделаю
что за набор рандомных слов
 
Назад
Сверху Снизу