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 todas as plataformas com qualquer licença

Playlyfe

Playlyfe

O Playlyfe permite que os desenvolvedores projetem, prototipem e integrem aplicativos gamificados aos seus produtos / sites / aplicativos móveis em questão de minutos.
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 ...
WinAPIOverride

WinAPIOverride

Este software permite monitorar e / ou modificar qualquer função de um processo para qualquer convenção de chamada (stdcall ou cdecl).
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.
apibldr.com

apibldr.com

O ApiBldr é um aplicativo Visual OpenAPI Editor gratuito para criação e atualização de definições de OpenAPI (aka swagger).
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.
Smartcar

Smartcar

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

Berlioz

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

MrApi

API Premium de graça!Útil para qualquer linguagem de programação.Criado por desenvolvedores para desenvolvedores.
Ask a Dev

Ask a Dev

Você conhece o sentimento.Atualizações para limpar o cache, café velho, mechas de cabelo.Tem que haver uma maneira melhor.Alguém deve saber o que estou fazendo de errado.
dashdash

dashdash

dashdash é a planilha que faz mais.Muito mais.Encontre empresas e pessoas.Envie email e alertas do Slack.Automatize seu CRM.Tudo usando suas habilidades de planilha.
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.
Featurekit

Featurekit

O Featurekit é uma maneira fácil de informar aos usuários sobre os novos recursos que você criou desde a última visita, para que os fundadores possam dedicar seu tempo a outras coisas.