Гость van9petryk Опубликовано 20 марта, 2018 Поделиться Опубликовано 20 марта, 2018 (изменено) Пытаюсь отладить програму. Получаю: . . Что за звери ZwContinue(), SetDebugContext(). Вроде как пишут на SO, прием анти-отладки К тому же есть в коде вызовы IsDebuggerPresent. Что такое IsDebuggerPresent это понятно, а вот ZwContinue(), SetDebugContext(), как они работают не понятно. В интернете только тот линк на SO. Сталкивался ли кто с этим? BP на IsDebuggerPresent срабатывает уже после того, как выскакивает окно уведомления об изменении регистров отладки (поэтому не думаю что он главный виновник). Приложение запускается, а отладчику возвращает код 0. Использовал OllyDbg 2.01. Изменено 20 марта, 2018 пользователем van9petryk Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 20 марта, 2018 Поделиться Опубликовано 20 марта, 2018 Используй софтварные(int 3) бряки, вместо хардварных, у тебя на скринах же все написано. 5-й поток изменил DR7 перейди по потоку и посмотри что изменяет этот отладочный регистр. http://www.logix.cz/michal/doc/i386/chp12-02.htm Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость van9petryk Опубликовано 21 марта, 2018 Поделиться Опубликовано 21 марта, 2018 (изменено) спасибо за линк, но никакой там анти-отладки нету. Хотя в основном модуле и есть вызовы IsDebuggerPresent, но они не для выявления отладчика. Я просто не правильно присоединялся к отлаживаемой програме. К играм из стима нужно присоединять отладчик когда они запущены, а я открывал в олли exe и запускал его из олли. В результате вызывалась SteamAPI.RestartAppIfNecessary, которая перезапускала все это дело отдельным процесом, и основной процес завершался. Изменено 21 марта, 2018 пользователем van9petryk Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения