Hooking

Em programação de computadores, o termo hooking (em português, "enganchar") cobre uma série de técnicas utilizadas para modificar ou melhorar o comportamento de um sistema operacional, aplicações ou outros componentes de software através da interceptação de chamadas de funções, mensagens ou eventos passados entre componentes de software.[1] O código que manipula tais chamadas de funções, mensagens ou eventos interceptados é chamado de "hook" (gancho).[2]

O hooking é utilizado para diversos propósitos, incluindo depuração e extensão de funcionalidade. Alguns exemplos podem ser a interceptação de mensagens de eventos de teclado ou mouse antes que eles cheguem às aplicações ou a interceptação de chamadas do sistema operacional com o objetivo de monitorar o comportamento ou modificar a função de uma aplicação de outro componente.

Também pode ser utilizado por código malicioso. Por exemplo, rootkits, pedaços de software que tentam tornar-se invisíveis fingindo a saída de chamadas de API que caso contrário revelariam sua existência, freqüentemente utilizando técnicas de hooking. Wallhack é outro exemplo de comportamento malicioso, que pode originar de técnicas de hooking. Ele é feito interceptando-se chamadas de funções de um jogo de computador e alterando o que é mostrado para o jogador, a fim de se obter uma vantagem injusta sobre outros jogadores.

Referências

Este artigo sobre computação é um esboço. Você pode ajudar a Wikipédia expandindo-o.