Artigo Clube Delphi 70 - API Hooking

Artigo da Revista Clube Delphi Edição 70.

Esse artigo faz parte da revista Clube Delphi Edição 70. Clique aqui para ler todos os artigos desta edição

 

Atenção: por essa edição ser muito antiga não há arquivo pdf para download desta revista. os artigos disponíveis somente em doc.

API Hooking

Parte III – Monitorando cópia, execução e exclusão de arquivos

 

No primeiro artigo desta série (edição 68), fomos, apresentados à técnica de API Hooking. Vimos do que se trata, tivemos noções de como ela funciona etc. Na segunda parte (edição 69), aprendemos sobre o conceito de IPC (Inter Process Communication), que nos permite fazer uma DLL conversar com um aplicativo executável.

Agora, na terceira e última parte desta série, iremos desenvolver uma aplicação completa usando o que aprendemos, para sabermos bem do que ela é capaz de fazer. Resolvi dar esse desfecho à trilogia porque a maioria dos programadores desconhece a técnica de API Hooking. E, quando ficam sabendo do que se trata, inicialmente não percebem o quanto ela é avançada.

Eis o que faremos: um aplicativo que monitore as ações dos sistema operacional sobre arquivos, mais especificamente em programas executáveis. O usuário irá criar uma lista de aplicativos protegidos e, com base nela, nosso software irá vigiar o sistema e bloquear alterações no arquivo.

 

Uma tarefa cansativa

O leitor que acompanhou esta série deve ter notado que a codificação das DLL’s usadas no processo de hooking, dependendo de quais API’s serão “hookadas”, pode tornar-se bastante trabalhosa. Para cada API, devemos ter uma variável de função e um callback, que são clones da declaração da API original. Para a função CreateProcess, por exemplo, precisaríamos escrever duas vezes seus parâmetros." [...] continue lendo...

Artigos relacionados