Ошибка вызова TerminateProcess в C # - PullRequest
0 голосов
/ 21 февраля 2011

Я обнаружил, что некоторые программы могут подключать TerminateProcess API, так что вы не можете использовать какой-либо фрагмент кода, который вызывает API. Как еще можно убить такой процесс с помощью C #? Нечто похожее на продвинутый манипулятор процесса.

1 Ответ

2 голосов
/ 21 февраля 2011

Вы можете просто обойти крючок.Вы знаете, получите адрес загрузки dll, найдите функцию в таблице экспорта и вызовите ее напрямую.

В качестве альтернативы вы можете написать драйвер устройства, который удаляет процесс из списка процессов ОС.Это предотвратит его планирование.

Если говорить более серьезно, учтите тот факт, что .NET плохо подходит для разработки антивирусного программного обеспечения.Вам придется заходить на более низкие уровни программного обеспечения так часто, что я не думаю, что .NET будет полезным.Он может служить интерфейсом для AV-ядра, но это все, для чего я бы его использовал.

...