123
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.

Alternatives à Mhook pour Windows

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).
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 ...
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.
Berlioz

Berlioz

Berlioz est là pour vous fournir un environnement indépendant du cloud.
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.
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.
Idecryptit

Idecryptit

Lorsque vous mettez à jour votre iDevice, iTunes télécharge un fichier de micrologiciel.Ce fichier de firmware est un fichier ZIP générique.Si vous l'extrayez, vous trouverez de nombreux fichiers.
Smartcar

Smartcar

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