Как правило, эти продукты перехватывают функции, чтобы получить РУЧКУ для процесса, такого как OpenProcess или NtOpenProcess. Они также подключают функции CreateRemoteThread и распределение памяти в удаленном процессе: VirtualAlloc и VirtualProcect.
Некоторые AV также перехватывают функцию SetWindowsHookEx для обнаружения глобальных перехватов, чтобы избежать регистрации ключей.
Подключая эти API, они могут управлять тем, какие модули (или библиотеки DLL) могут получать доступ к удаленным процессам, и разрешать доступ только тем из них, которые пользователь знает.
Вы можете использовать HookShark, чтобы увидеть, какие функции пользовательского режима перехватываются каждым AV-продуктом.
Для создания собственных пользовательских хуков вы можете использовать библиотеку обходов, но вам необходимо разработать агент для запуска ваших внутренних хуков, а затем связаться с агентским сервером.
Вы также можете использовать Deviare API Hook , который является фреймворком, который собирает весь сложный персонал, чтобы вы могли кодировать свои хуки в своем собственном процессе, используя любой язык программирования.