O DDetours é uma biblioteca que permite conectar funções Delphi e API do Windows. Ele fornece uma maneira fácil de inserir e remover o gancho.
O que há de novo na versão 2.2?
- Suporte para FPC e versões mais antigas do Delphi, principalmente D7.
- Suporte para seção recursiva.
- Suporte para parâmetro/tag personalizado para cada função de trampolim.
- Consulte CHANGELOG para alterações completas.
Características :
- Suporta arquitetura x86 e x64 .
- Suporta vários ganchos para uma única função.
- Suporta Delphi 7/2005-2010/XE-Rio (Delphi 10.3).
- Suporta Lázaro/FPC.
- Suporta função recursiva dentro da função de gancho.
- Suporta métodos de interfaces de conexão por MethodName ou MethodIndex .
- Suporta patch de tabela COM.
- Suporta métodos de objetos de conexão.
- Permite chamar a função original via função Trampoline/NextHook .
- Suporte COM / Interfaces / win32api .
- Thread-safe para enganchar e desengatar.
- Endereço de 64 bits é suportado.
- A biblioteca não usa nenhuma biblioteca externa.
- A biblioteca pode inserir e remover o gancho a qualquer momento.
- A biblioteca contém a biblioteca InstDecode, que permite decodificar instruções da CPU (x86/x64).
Este projeto contém dois subprojetos: biblioteca DDetours e InstDecode *.
A Biblioteca InstDecode é uma biblioteca que pode decodificar ambas as instruções (x86/x64). Você pode considerá-lo como uma pequena rotina de desmontagem. Ele pode decodificar instruções e obter informações sobre a instrução (tamanho da instrução, deslocamento, dados imediatos, endereço de salto, ..) sem exibir mnemônicos, tornando-o muito mais rápido e de tamanho muito pequeno.
Estas duas bibliotecas foram codificadas em linguagem Pascal pura com Delphi XE7.
Consulte a página Wiki para obter mais informações sobre como usar a biblioteca.
Por favor, se você encontrar algum bug, sinta-se à vontade para reportá-lo.