DDetours — это библиотека, позволяющая подключать функции API Delphi и Windows. Он обеспечивает простой способ вставлять и снимать крючок.
Что нового в версии 2.2?
- Поддержка FPC и более старых версий Delphi, особенно D7.
- Поддержка рекурсивного раздела.
- Поддержка пользовательских параметров/тегов для каждой функции батута.
- См. CHANGELOG для полных изменений.
Функции :
- Поддерживает архитектуру x86 и x64 .
- Поддерживает несколько перехватчиков для одной функции.
- Поддерживает Delphi 7/2005–2010/XE-Rio (Delphi 10.3).
- Поддерживает Lazarus/FPC.
- Поддерживает рекурсивную функцию внутри функции перехвата.
- Поддерживает перехват методов интерфейсов по MethodName или MethodIndex .
- Поддерживает исправление vtable COM.
- Поддерживает перехват методов объекта.
- Позволяет вызывать исходную функцию через функцию Trampoline/NextHook .
- Поддержка COM / Интерфейсы / win32api .
- Безопасный для подсоединения и отсоединения.
- Поддерживается 64-битный адрес.
- Библиотека не использует никакую внешнюю библиотеку.
- Библиотека может вставлять и удалять перехватчик в любое время.
- Библиотека содержит библиотеку InstDecode, которая позволяет декодировать инструкции процессора (x86/x64).
Этот проект содержит два подпроекта: библиотеку DDetours и InstDecode *.
Библиотека InstDecode — это библиотека, которая может декодировать обе инструкции (x86/x64). Вы можете рассматривать это как небольшую процедуру дизассемблера. Он может декодировать инструкцию и получать информацию о ней (размер инструкции, смещение, непосредственные данные, адрес перехода и т. д.) без отображения мнемоники, что делает ее очень быстрой и очень маленькой по размеру.
Эти две библиотеки были написаны на чистом языке Паскаль с помощью Delphi XE7.
Посетите страницу Wiki для получения дополнительной информации о том, как использовать библиотеку.
Пожалуйста, если вы обнаружите какую-либо ошибку, не стесняйтесь сообщить об этом.