предотвратить загрузку крюка DLL - PullRequest
1 голос
/ 11 октября 2011

Есть ли способ установить разрешения безопасности процесса или каким-либо другим способом отключить Windows от загрузки глобальных оконных крючков DLL?Я не хочу отключать SetWindowsHookEx, я просто хочу отключить загрузку DLL в моем процессе.

1 Ответ

0 голосов
/ 11 октября 2011

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

Порядок вызова хуков, кажется, не задокументирован, но его достаточно легко проверитьметодом проб и ошибок.Просто установите несколько хуков из разных процессов и посмотрите, что вызывается первым.Наиболее вероятные случаи:

  • Первый установленный хук - первый вызываемый.Это простой вариант.Просто убедитесь, что ваш хук установлен как можно скорее.
  • Первый вызванный хук - единственный установленный последний.Этот более хитрый.Вы должны всегда быть уверены, что ваш последний установленный хук.хакерский способ сделать это - создать поток, который каждую секунду или около того удаляет хук и добавляет его снова.

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

...