Mhook

Mhook

Si vous vous aventurez dans ce domaine, vous saurez déjà que les détours de Microsoft Research définissent à peu près la référence en matière de raccordement d'API.
Si vous vous aventurez dans ce domaine, vous saurez déjà que les détours de Microsoft Research définissent à peu près la référence en matière de raccordement d'API.Pourquoi n'obtenons-nous pas rapidement une comparaison?DÉTOURS VS.MHOOK Detours est disponible gratuitement avec une licence non commerciale mais il ne prend en charge que la plate-forme x86.Les détours peuvent également être autorisés à des fins commerciales, ce qui vous offre également une prise en charge complète de x64, mais vous ne voyez les conditions de licence qu'après avoir signé un NDA.Mhook est distribué gratuitement sous licence MIT avec prise en charge de x86 et x64.Detours évite de soutenir officiellement la fixation de crochets à une application en cours d'exécution.Bien sûr, vous êtes libre de le faire - mais si vous finissez par provoquer un crash aléatoire ici ou là, vous ne pouvez que vous blâmer.Mhook était censé être en mesure de définir et de supprimer des crochets dans les applications en cours d'exécution - après tout, c'est ce dont vous avez besoin dans le monde réel.Il fait de son mieux pour éviter d'écraser du code qui pourrait être en cours d'exécution par un autre thread.Detours prend en charge le raccordement et le décrochage transactionnels;c'est-à-dire, la mise en place d'un tas de crochets en même temps avec une approche tout ou rien.Les crochets ne seront définis que si tous peuvent être définis, sinon la bibliothèque annulera toutes les modifications apportées.Mhook ne fait pas ça.Enfin, Mhook est assez paresseux lorsqu'il s'agit de gérer la mémoire des trampolines qu'il utilise.Detours alloue des blocs de mémoire selon les besoins et utilise la zone de données résultante pour stocker autant de trampolines que possible.Mhook, d'autre part, utilise un appel à VirtualAlloc par hook en cours de définition.Chaque hook a besoin de moins de 100 octets de stockage, ce qui est très coûteux, car VirtualAlloc finit par récupérer 64 Ko de l'espace d'adressage virtuel du processus chaque fois que Mhook l'appelle.(La mémoire allouée réelle sera une seule page, ce qui est également très coûteux.) En fin de compte, cela n'a probablement pas vraiment d'importance, sauf si vous définissez un très grand nombre de crochets dans une application.De plus, cela est très facile à corriger.
mhook

Alternatives à Mhook pour toutes les plateformes avec n'importe quelle licence

Playlyfe

Playlyfe

Playlyfe permet aux développeurs de concevoir, prototyper et intégrer des applications gamifiées à leurs produits / sites Web / applications mobiles en quelques minutes.
CodeMaid

CodeMaid

CodeMaid est une extension open source Visual Studio pour nettoyer, fouiller et simplifier nos C #, C ++, F #, VB, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript et TypeScript ...
WinAPIOverride

WinAPIOverride

Ce logiciel vous permet de surveiller et / ou de modifier n'importe quelle fonction d'un processus pour n'importe quelle convention d'appel (stdcall ou cdecl).
HookInjEx

HookInjEx

Application de démonstration montrant comment injecter du code dans un autre espace d'adressage de processus, puis l'exécuter dans le contexte de ce processus.
Microsoft Research Detours

Microsoft Research Detours

Microsoft Research Detours v3 Professional est une bibliothèque pour l'instrumentation de fonctions Win32 arbitraires sur des machines x86, x64 et IA64.Vous pouvez maintenant intercepter les fonctions Win32 en réécrivant le code en mémoire pour les fonctions cibles.
Deviare In-Process

Deviare In-Process

Deviare In-Process est un moteur d'interception de code pour Microsoft Windows®.Il s'agit d'une bibliothèque à double licence, GPLv3 et commerciale.Le code source est disponible sur GitHub.
apibldr.com

apibldr.com

ApiBldr est une application gratuite Visual OpenAPI Editor pour créer et mettre à jour des définitions OpenAPI (aka swagger).
CxxProf

CxxProf

CxxProf est une bibliothèque de profilage instrumentée manuelle pour C ++.Son objectif est de fournir une intégration facile dans les projets existants avec aussi peu de frais généraux que possible.
Smartcar

Smartcar

Chez Smartcar, nous permettons aux développeurs de construire l'avenir de la mobilité.
Berlioz

Berlioz

Berlioz est là pour vous fournir un environnement indépendant du cloud.
MrApi

MrApi

API Premium gratuites!Utile pour tout langage de programmation.Construit par des développeurs pour des développeurs.
Ask a Dev

Ask a Dev

Vous connaissez le sentiment.Le nettoyage du cache rafraîchit, le café rassis, des touffes de cheveux.Il doit y avoir une meilleure façon.Quelqu'un doit savoir ce que je fais mal.
dashdash

dashdash

dashdash est la feuille de calcul qui en fait plus.Beaucoup plus.Trouvez des entreprises et des personnes.Envoyer des alertes par e-mail et Slack.Automatisez votre CRM.Tout en utilisant vos compétences de feuille de calcul.
Tuple Spaces

Tuple Spaces

Espace de tuple avec temps morts et transactions.Fonctionnalités: Informatique parallèle et distribuée.Coordination des processus locaux et à distance.Passe de messages.Modèle maître-travailleur.
Featurekit

Featurekit

Featurekit est un moyen sans effort d'informer vos utilisateurs des nouvelles fonctionnalités que vous avez créées depuis leur dernière visite, afin que les fondateurs puissent passer leur temps à se concentrer sur d'autres choses.