• XSS.stack #1 – первый литературный журнал от юзеров форума

Хукнуть функцию ShowWindow

Exfazo

(L3) cache
Забанен
Регистрация
29.01.2021
Сообщения
268
Решения
1
Реакции
37
Пожалуйста, обратите внимание, что пользователь заблокирован
Всем привет, я хукаю функции ShowWindow, что бы пользователь не видел окно при запуске процесса. Конечно я могу просто вызвать ShowWindow со своего процесcа, но это происходит не сразу, окно успевает появится, а потом оно исчезает. Короче запускаю я приложение, ставлю хук на ShowWindow, и вроде как работает, однако я начал тестить над другими приложениями, и тут было такое приложение, которое хер знает зачем перезапускается при старте. В итоге я теряю pid, и получается я сталю хук. на приложение которое в итоге закрывается, а тем временем окно создается в другом процессе. Я не знаю как правильно быть в такой ситуации. Если что заранее я не знаю будет процесс пораждать новый процесс или нет
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Хук на NtCreateProcess, не? Плюс можно поставить глобальный хук на ивент создания окна в оконной подсистеме: SetWinEventHook на EVENT_OBJECT_CREATE, он синхронный вроде, но я не возьмусь гарантировать, что окно не промелькнет, надо тестить.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Хук на NtCreateProcess
А вдург приложение будет вызывать подпроцессы? Например в браузерах.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
А вдург приложение будет вызывать подпроцессы? Например в браузерах
Ну рекурсивно в хуке NtCreateProcess инжектишься и хукаешь все порождаемые процессы.
 
Запускай приложение на "новом" десктопе, так все хвнц делают и не парятся. Все дочерние процессы также будут на этом десктопе, если там конечно нет определенных изъебов.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Хук на NtCreateProcess, не? Плюс можно поставить глобальный хук на ивент создания окна в оконной подсистеме: SetWinEventHook на EVENT_OBJECT_CREATE, он синхронный вроде, но я не возьмусь гарантировать, что окно не промелькнет, надо тестить.
Попробовал поставить хук, но ничего не приходит
C:
void CALLBACK WinEventProcCallback(HWINEVENTHOOK hWinEventHook, DWORD dwEvent, HWND hwnd, LONG idObject, LONG idChild, DWORD dwEventThread, DWORD dwmsEventTime)
{
    MessageBoxA(NULL, "123", "123", MB_OK);
}
int _tmain(int argc, _TCHAR* argv[])
{
HWINEVENTHOOK hEvent = SetWinEventHook(EVENT_OBJECT_CREATE, EVENT_OBJECT_CREATE, NULL, WinEventProcCallback, 0, 0, WINEVENT_OUTOFCONTEXT);
}
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Попробовал поставить хук, но ничего не приходит
Я не вижу в коде, что ты проверяешь, поставился у тебя хук вообще или нет.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я не вижу в коде, что ты проверяешь, поставился у тебя хук вообще или нет.
hEvent не ноль
 
Пожалуйста, обратите внимание, что пользователь заблокирован
hEvent не ноль
Ну я не помню, в каком потоке она должна отрабатывать ивенты, для OUTOFCONTEXT в том же потоке, что создал хук, наверное. В любом случае в том коде, который привел основной поток выходит, что приводит к ExitProcess в CRT, какие ты ивенты предполагаешь поймать, если ловить некому? Возможно, еще нужно COM инициализировать предварительно.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Возможно, еще нужно COM инициализировать предварительно.
CoInitialize(NULL);добавил ничего
Вообще в гугле не найду ответа
 
Пожалуйста, обратите внимание, что пользователь заблокирован
CoInitialize(NULL);добавил ничего
Вообще в гугле не найду ответа
Полный код приведи.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я уже решил. Ещё нужно было добавить цикл обработки сообщений.
Я писал об этом как бы:
Ну я не помню, в каком потоке она должна отрабатывать ивенты, для OUTOFCONTEXT в том же потоке, что создал хук, наверное.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я писал об этом как бы:
Все равно в самой CALLBACK функции, я вызываю ShowWindow(hwnd, SW_HIDE);, и окно успевает появится и исчезнуть, так что пока что с хуком ShowWindow работает
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх