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
- ↑ Jonathan Daniel (17 de novembro de 2013). «Hooking explained: detouring library calls and vtable patching in Windows/Linux/MAC-OSX». Consultado em 28 de junho de 2019
- ↑ Binh Nguyen (16 de agosto de 2004). «Hacking-Lexicon / Linux Dictionary V 0.16». Consultado em 28 de junho de 2019.
Hook