| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Отслеживание появления нового процесса |
| Автор: DoZENT 15.1.2007, 17:14 |
| Внедрил библиотеку во все процессы системы, теперь отслеживаю появление новых процессов через перехват ZwCreateThread и ZwResumeThread. Все нормлально перехватывается, я получаю хэндл нового процесса, в который необходимо внедрить библиотеку. Но ведь когда я буду это делать, получается, что внедрять будет не мой процесс, а тот, который перехватил функцию (извиняюсь за каламбур |
| Автор: W4FhLF 17.1.2007, 13:17 |
| А сейчас ты не сплайсчинг используешь? И почему надо использовать его? |
| Автор: DoZENT 17.1.2007, 16:15 | ||
Сейчас я использую библиотеку advApiHook, а в ней по-моему не сплайсинг используется. Чтобы было понятней: как делать inject библиотеки "не от лица" чужого приложения? |
| Автор: W4FhLF 17.1.2007, 18:27 |
| В advApiHook сплайсинг. Инжект сам по себе подразумевает внедрение чего-то во что-то от лица чужого приложения. |
| Автор: DoZENT 17.1.2007, 19:46 | ||
Это почему? Я же могу и от лица своего приложения внедрить. Когда я внедряю модуль от своего лица, касперский спрашивает разрешение на это дело. А если каждый процесс, в который я внедрил свою библиотеку начнет делать то же самое с каждым запущенным им приложением, то что начнется?? Касперский каждые 20 секунд орать будет |
| Автор: W4FhLF 17.1.2007, 20:21 |
| Я что-то не пойму. Зачем каждому процессу в каждый созданный процесс что-то там инжектить? Инжектить будет тот процесс в котором сработал перехват, т.е. от контекста которого запускают новый процесс. Непонятно, в чём вообще вопрос? |
| Автор: DoZENT 17.1.2007, 20:38 | ||
Да. Теперь представь, что каждый процесс запустил по программе. При этом касперский НА КАЖДЫЙ ИНЖЕКТ (если запускающая программа не в списке исключений) будет спрашивать разрешение. Мой вопрос в том, как этого избежать. Возможно ли перехватывать создание новых процессов ИЗ МОЕГО ПРИЛОЖЕНИЯ. Т.е. без инжекта в другие процессы. Я так подозреваю что нет, поэтому спрашиваю какие пути еще есть |
| Автор: dumb 17.1.2007, 22:29 |
все зависит от конечной цели твоего перехвата. хуки непосредственно создание процесса не отлавливают, но с их помощью можно отследить это по различным проявлениям(создание окна/очереди сообщений/итд). хуки ориентированы на GUI-приложения, т.е. с большинством консольных не работает. |
| Автор: DoZENT 18.1.2007, 14:53 | ||
Это понятно, но их установка ведь внедряет модуль во все процессы системы? И по-моему при этом касперский не ругается |
| Автор: dumb 18.1.2007, 18:26 |
во все gui-процессы. где-то видел, что и csrss-процессы хукаются, но на практике такого не видел если включен контроль компонентов, то выскажется. но контроль компонентов обычно выключен, либо народ не особо "втыкает", что там написано и жмет "ок"... |