Обнаружить любую программу, которая использует OpenProcess?

для защиты моей программы я хотел бы иметь проверку, которая обнаруживает любую программу, которая выполняет OpenProcess с моим PID? Я хочу предотвратить то, что другие программы могут легко справиться с моей программой.

Какие варианты у меня есть? (WinAPI и так далее)
Получает ли моя программа какое-либо уведомление, как только другая программа использует OpenProcess?

Спасибо

0

Решение

Какие варианты у меня есть? (WinAPI и т. Д.) Моя программа получает какие-либо
уведомление, как только другая программа использует OpenProcess?

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

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

И если вы думаете, что можете сделать это способом, который не может быть легко обойден, тогда вы вводите себя в заблуждение. Было бы ужасно трудно поместить ДРУГОЙ слой крючков в OpenProcess системный вызов, который пропускает ваше вмешательство и просто вызывает «реальный» OpenProcess, Итак, если ваша программа действительно интересна для открытия, кто-то найдет способ сделать это …

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]