Ir para conteúdo
Faça parte da equipe! (2024) ×

[Delphi]Windows Hooking


AceStryker
 Compartilhar

Posts Recomendados

Introdução

Olá a todos, hoje vou tentar ensinar um pouco do que sei a respeito de Windows Hooking, tentarei ilustrar todos os procedimentos de um hook global e um hook local.Mas qual é a diferença de destes dois tipos:

 

Local Hook:

Este é o tipo de hook que só afeta o IAT do programa, ou seja, o programa e seus módulos não poderão usar determinadas funções, é este método o mais usado com os Anti-Hacks de hoje em dia...Ele baseia-se em pegar o local do código( GetProc***ress ) e modificar seus bytes para um JMP até a nova função( Aquela que será acionada quando alguém chamar a função hookada ), deste modo, quando o programa chama a função (CALL) ela se desvia(JMP) para a função hookada que retorna para o programa(RETN).Vejamos o esquema:

oR9G.png

 

Global Hook:

Esta se trata de usar a função SetWindowsHookEx() e adicionar uma função entre a chamada de um programa e o seu retorno, esta pode estar ou em uma thread ou em todas(todo o computador) porém esta nem sempre tem haver com funções, pode ser usada para muito além disso, vejamos o seguinte esquema(usaremos a hook neste exemplo que recebe as mensagens do programa):

oRdX.png

 

Local Hook

 

Agora vamos entrar com a ação de tudo, vamos começar com a local hook pelo simples motivo de que já havia começado com esta na parte de cima, vamos criar um programa simples que procure pela função que desejamos e a modifique, vejamos como fica:

 

Delphi:

É necessário se cadastrar para acessar o conteúdo.

 

Funcionou perfeitamente :), qualquer dúvida sobre local hook me avisem...

 

Global Hook

 

Este é um modo mais fácil de usar as hooks pois não precisa de tanta teoria como no outro, vamos apenas fazer nossa função de CALLBACK e adicionar o hook (SetWindowsHookEx), nada de mais...Farei em delphi também mas caso queiram que eu migre para qualquer outra linguagem me avisem que eu farei assim que possível:

É necessário se cadastrar para acessar o conteúdo.

 

Exemplo adaptado de:An Introduction to (Keyboard) Hook Procedures for Delphi developers

 

Créditos:

Os créditos vão para mim 100%, ninguém tem permissão de postar este tutorial sem antes falar comigo ;)

Link para o comentário
Compartilhar em outros sites

Ótimo post amigo... quando eu era desocupado e passava o dia criando hacks, eu procurava por esse metodo na internet toda, porém nunca achei, pelo menos nao exatamente como eu queria !! Suas explicações são bem compreensiveis e as ilustrações ajudam muito mais no entendimento... vai ajudar muito os dmais !!!

 

Abraço e obrigado pela disposição ^^

Link para o comentário
Compartilhar em outros sites

Muito bom o tutorial, e o esquema ajuda bastante.

 

Só o falho sistema de segurança do fórum, que deixa ilegível os comandos que atrapalha, mas isso não é sua culpa.

 

Realmente, esse sistema de segurança é ridículo, porque bloquear ***r?

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.