Обход позволяет перехватить любую функцию.Он помещает jmp в адрес, который вы указываете, создавая батут для вашего кода.Наконец, вы вызываете старую функцию, если хотите это сделать.Чтобы использовать Detours, вы должны внедрить свой код в процесс, который вы хотите перехватить.
Чтобы упростить этот процесс, вы можете использовать Deviare API Hook , который выполняет весь процесс инъекции, и вы можете использовать перехватприложения из любого языка программирования, поддерживающего технологию COM, включая .NET, Delphi, C ++, Python и т. д. После загрузки пакета вы найдете в нем несколько примеров.Существует консоль с именем DeviareCSharpConsole, которая позволяет перехватывать любой API-интерфейс любого процесса, показывающего полную информацию трассировки стека.
Это способ зацепка Deviare API , но вам нужно это сделать, если выхотите создать приложение, которое перехватывает другой процесс:
![Deviare API Hook Design](https://i.stack.imgur.com/Ol2kS.jpg)
В целевом процессе должен быть создан агент для перехвата API-интерфейсов, которые вы хотите.Для перехвата этих API вы можете использовать Detours, но вам нужно кодировать персонал IPC, который не включен в эту библиотеку.
Если вам нужно написать код внутри целевого процесса, используя Deviare API Hook , выможно использовать Deviare Custom Hooks .Эта функция позволяет перехватывать API и обрабатывать обработанные параметры асинхронно.