Mhook

Mhook

Se você se interessa por essa área, já sabe que os desvios da Microsoft Research definem a referência quando se trata de enganchar API.
Se você se interessa por essa área, já sabe que os desvios da Microsoft Research definem a referência quando se trata de enganchar API.Por que não fazemos uma comparação rápida rapidamente?DETOURS VS.O MHOOK Detours está disponível gratuitamente com uma licença não comercial, mas suporta apenas a plataforma x86.Os desvios também podem ser licenciados para uso comercial, o que também oferece suporte completo a x64, mas você só vê as condições de licenciamento após assinar um NDA.O Mhook é distribuído gratuitamente sob uma licença MIT com suporte para x86 e x64.O desvio evita o suporte oficial da conexão de ganchos a um aplicativo em execução.Claro, você é livre para fazê-lo - mas se você acabar causando um acidente aleatório aqui ou ali, você pode se culpar.O Mhook foi criado para ser capaz de definir e remover ganchos em aplicativos em execução - afinal, é para isso que você precisa no mundo real.Faz o possível para evitar a substituição de código que pode estar em execução por outro encadeamento.Os desvios suportam o enganchar e o desengatar transacionais;isto é, definir vários ganchos ao mesmo tempo com uma abordagem de tudo ou nada.Ganchos serão definidos apenas se todos eles puderem ser definidos, caso contrário, a biblioteca reverterá quaisquer alterações feitas.Mhook não faz isso.Finalmente, Mhook é bastante preguiçoso quando se trata de gerenciar memória para os trampolins que usa.Os desvios alocam blocos de memória conforme necessário e usam a área de dados resultante para armazenar quantos trampolins forem necessários.Mhook, por outro lado, usa uma chamada para o VirtualAlloc por gancho que está sendo definido.Cada gancho precisa de menos de 100 bytes de armazenamento, o que é um grande desperdício, pois o VirtualAlloc acaba obtendo 64K do espaço de endereço virtual do processo toda vez que a Mhook o chama.(A memória alocada real será uma única página, o que também é bastante inútil.) No final, isso provavelmente não importa, a menos que você esteja configurando um número muito grande de ganchos em um aplicativo.Além disso, isso é muito fácil de corrigir.
mhook

Alternativas ao Mhook para Windows

WinAPIOverride

WinAPIOverride

Este software permite monitorar e / ou modificar qualquer função de um processo para qualquer convenção de chamada (stdcall ou cdecl).
CodeMaid

CodeMaid

O CodeMaid é uma extensão de código aberto do Visual Studio para limpeza, escavação e simplificação de C #, C ++, F #, VB, XAML, XML, ASP, HTML, CSS, MENOS, SCSS, JavaScript e TypeScript ...
HookInjEx

HookInjEx

Aplicativo de demonstração demonstrando como injetar código em outro espaço de endereçamento de processos e, em seguida, executá-lo no contexto desse processo.
Microsoft Research Detours

Microsoft Research Detours

O Microsoft Research Detours v3 Professional é uma biblioteca para instrumentar funções arbitrárias do Win32 em máquinas x86, x64 e IA64.Agora você pode interceptar as funções do Win32 reescrevendo o código na memória para as funções de destino.
Deviare In-Process

Deviare In-Process

O Deviare In-Process é um mecanismo de interceptação de código para o Microsoft Windows®.É uma biblioteca de licença dupla, GPLv3 e Commercial.O código fonte está disponível no GitHub.
Berlioz

Berlioz

Berlioz está aqui para fornecer um ambiente independente de nuvem.
CxxProf

CxxProf

CxxProf é uma biblioteca de criação de perfil instrumentada manual para C ++.Seu objetivo é fornecer fácil integração aos projetos existentes com o mínimo de sobrecarga possível.
Tuple Spaces

Tuple Spaces

Espaço de tupla com tempos limite e transações.Características: Computação paralela e distribuída. Coordenação de processos local e remoto. Passagem de mensagem. Padrão Master-Worker.
Idecryptit

Idecryptit

Quando você atualiza o seu iDevice, o iTunes baixa um arquivo de firmware.Esse arquivo de firmware é um arquivo ZIP genérico.Se você extrair, você encontrará muitos arquivos.
Smartcar

Smartcar

Na Smartcar, capacitamos os desenvolvedores a construir o futuro da mobilidade.