Остановка приложения на основе его исполняемого файла - PullRequest
0 голосов
/ 17 февраля 2010

Я бы хотел настроить сервис для запуска, который определяет, когда приложение пытается запустить приложение, и на основе его исполняемого файла (вероятно, я просто хэширую файл и сохраню список заблокированных хэшей приложения, чтобы упростить его) Останови все это вместе. В идеале я хотел бы сделать это с помощью C #, но я был бы открыт для использования других платформ, если это имеет больше смысла.

Я думал о подключении к какому-либо событию «запуск / запуск процесса» и использовании идентификатора запускаемого процесса для определения пути к исполняемому файлу (я знаю, как выполнить вторую часть, как только идентификатор процесса), а затем посылает какой-то сигнал уничтожения, если приложение находится в списке заблокированных. Я начал изучать этот процесс некоторое время назад, но ответ, который я получил на на этот вопрос , наводит на мысль о недостатке такого подхода.

Неужели это действительно неосуществимый способ решения этой проблемы? Может кто-нибудь предложить лучший маршрут?

Ответы [ 2 ]

1 голос
/ 17 февраля 2010

Windows не предоставляет прямой способ генерировать какие-либо уведомления, когда процесс собирается начать. Вы можете узнать, что это началось, как показано в моем посте с кодом WMI. Технически возможно внедрить DLL во все запущенные процессы и отклонить вызов API CreateProcess (). Если не считать того, что это потенциально очень дестабилизирует, также невозможно написать такой код на языке C #. Вы не можете инициализировать CLR.

Это не какой-то недосмотр, что такого рода функции недоступны. Это будет довольно легко эксплуатируемая дыра в безопасности.

...