DetoursNT est un projet simple avec un seul objectif - faites des détours dépendants uniquement de NTDLL.DLL sans aucune modification du code d'origine.
NTDLL.DLLCe référentiel a joint le référentiel GIT original de détours de Microsoft en sous-module. Par conséquent, le code d'origine n'a en aucun cas été touché.
La dépendance NTDLL uniquement a été obtenue en créant un fichier d'en-tête C Detoursnt.h qui a été inclué par la force ( /FI commutateur de MSVC) en chaque unité de compilation des détours. Cet en-tête se moque des fonctions de KERNEL32.DLL à l'implémentation personnalisée définie dans detoursnt.cpp.
Je voudrais remercier les auteurs de projets suivants:
KERNEL32.DLLNTDLL.DLLÉtant donné que le code source des détours d'origine est joint en tant que sous-module GIT, vous ne devez pas oublier de le récupérer:
git clone --recurse-submodules https://github.com/wbenny/DetoursNT
Après cela, compiler les détoursNT à l'aide de Visual Studio 2017. Le fichier de solution est inclus. Aucune autre dépendance n'est requise.
Après avoir frappé F7 dans Visual Studio et que tout soit compilé, vous pouvez vérifier que SampleHookDLL.dll dépend en effet uniquement de NTDLL.DLL :

Cette DLL d'accrochage accroche uniquement la fonction NtTestAlert à des fins démonstratives. Dans ce référentiel, il existe également Sample de projet. Le seul but est d'appeler LoadLibrary(TEXT("SampleHookDLL.dll")) , NtTestAlert() et FreeLibrary() pour vous montrer que le crochet fonctionne.

Ce logiciel est open-source sous la licence MIT. Voir le fichier licence.txt dans ce référentiel.
Les détours sont autorisés sous licence MIT (une copie de la licence est incluse dans le sous-module GIT séparé)
Si vous trouvez ce projet intéressant, vous pouvez m'acheter un café
BTC 3GwZMNGvLCZMi7mjL8K6iyj6qGbhkVMNMF
LTC MQn5YC7bZd4KSsaj8snSg4TetmdKDkeCYk