Как перехватить любое запускаемое приложение?
|
|
electrik | Дата: Четверг, 23.03.2017, 16:29 | Сообщение # 1 |
Полковник
Группа: Друзья
Сообщений: 182
Статус: Offline
| Тут понадобилось перехватывать любое запускаемое приложение. это не для вирусов, а есть задумка разработать спец приложение для доступности других приложений. идея такова, стартует приложение, а моя программа определяет что это за приложение и запускает соответствующий скрипт или конфиг. мониторить снимками, кажется глупо, наверное проще словить событие о том, что запускается программа и выяснить её название.
|
|
| |
DarkDemon | Дата: Понедельник, 03.04.2017, 22:54 | Сообщение # 2 |
Полковник
Группа: Друзья
Сообщений: 200
Статус: Offline
| Тут, наверное, без влезания в ядро системы никак. Список запущенных получить можно(через коллбек функцией EnumWindows), но он довольно медленно обновляется. Т.е. получаешь список программ, если новая появляется - сразу терминируешь, через консоль(SHELL, команда TASKKILL), это конечно адский костыль, да и если вдруг вирус - то всё равно он успеет отработать, т.е. если цель всё таки оградить себя от запуска того, чего не следует - такой метод не подойдёт.
|
|
| |
zamabuvaraeu | Дата: Понедельник, 13.04.2020, 04:07 | Сообщение # 3 |
Подполковник
Группа: Друзья
Сообщений: 149
Статус: Offline
| В шиндоуз нет событий или уведомлений о запусках процесса. Придётся самостоятельно получать список ID всех процессов через EnumProcesses, открывать каждый процесс из списка и получать информацию о процессе. Точно также это делают диспетчер задач, процесс експлорер, процесс хакер и им подобные.
|
|
| |