Сейчас на форуме: jinoweb, bartolomeo (+5 невидимых) |
![]() |
eXeL@B —› Программирование —› Как работает OpenProcess в Windows 7+ ? |
Посл.ответ | Сообщение |
|
Создано: 21 февраля 2017 18:24 · Поправил: noph · Личное сообщение · #1 Добрый день. Я с необычным вопросом, касающимся скорее уровня ring0. Опишу проблему: Есть некоторое защищённое приложение, использующее драйвер (что он делает точно не известно, через PCHunter я его вижу, но никаких ssdt/shadowssdt/object хуков нет). При этом это приложение ловит момент, когда я пытаются открыть его процесс через OpenProcess (ниже уровнем API тоже пробовал). То есть как только я делаю OpenProcess, целевое "защищённое" приложение выкидывает с ошибкой (не эксепшеном, а предупреждением о попытке взлома). В аттаче дамп этого драйвера. Вопрос вот в чём: каким образом этот процесс может ловить своё открытие другим процессом? Из usermode, без внедрения во все процессы системы, я так понял, это невозможно. Остаётся только ring0. Вопрос в том, как это обойти, имея на руках инструменты типа PCHunter и аналоги? ![]() ![]() |
|
Создано: 21 февраля 2017 18:36 · Личное сообщение · #2 |
|
Создано: 21 февраля 2017 19:17 · Поправил: deniskore · Личное сообщение · #3 Не реверсил ваш драйвер. ObRegisterCallback позволяет зарегистрировать callback который будет вызываться когда происходит вызов OpenProcess или OpenThread плюс ко всему драйвер может смотреть наличие PROCESS_VM_WRITE, а значит вы хотите писать туда, что не положено. Так же драйвера могут хукать KiSystemCall64 и контролить системные вызовы при помощи своего обработчика. ( Передаем привет антивирусам и античитерским программам работающим в нулевом кольце ![]() ![]() |
|
Создано: 22 февраля 2017 11:40 · Личное сообщение · #4 |
![]() |
eXeL@B —› Программирование —› Как работает OpenProcess в Windows 7+ ? |