Ce projet crée une nouvelle DLL qui se situe entre un jeu et la DLL d'origine. De cette façon, vous pouvez intercepter tous les appels DLL.
Jeu -> Votre DLL proxy -> DLL original
Original de Kristoffer Blasiak (https://www.codeproject.com/articles/1179147/proxify-automatic-proxy-dll-generation) J'ai modifié son projet afin que la sortie correspond à mes besoins.
Ouvrez dllproxygenerator.sln avec Visual Studio et construisez-le
. Dllproxygenerator.exe "path to votre dll"
Faites attention aux DLL que vous essayez de proxy. J'ai essayé des DLL Windows publics comme D3D9 ou User32 qui fonctionnent très bien. Les DLL spécifiques au jeu avec des noms de fonction mutilés ne fonctionneront pas. Sauf que quelqu'un sait comment contrer ce problème.
Créez un nouveau projet Visual Studio DLL. Copiez les fichiers proxy générés dans votre projet.
Supprimer tous les autres fichiers comme stdafx.h
Modifiez les paramètres suivants.
Copiez votre nouveau proxy dans le répertoire du jeu. Certains jeux ont un mécanisme de charge différent. Selon la DLL que vous avez générée, il pourrait être possible que le jeu ne charge pas d'abord votre DLL, auquel cas le proxy ne fonctionne pas.