Este projeto cria uma nova DLL que fica entre um jogo e a DLL original. Dessa forma, você pode interceptar todas as chamadas de DLL.
Jogo -> sua dll proxy -> DLL original
Original de Kristoffer Blasiak (https://www.codeproject.com/articles/1179147/proxify-automatic-proxy-dll-generation) Modifiquei seu projeto para que a saída atenda às minhas necessidades.
Aberto dllproxygenerator.sln com o Visual Studio e construa -o
. DllProxyGenerator.exe "caminho para your dll"
Cuidado com o que você tenta proxy. Eu tentei DLLs públicos do Windows como D3D9 ou User32, que funcionam muito bem. DLLs específicos do jogo com nomes de funções mutilados não funcionam. Exceto que alguém sabe como combater esse problema.
Crie um novo projeto Visual Studio DLL. Copie os arquivos proxy gerados em seu projeto.
Remova todos os outros arquivos como stdafx.h
Altere as seguintes configurações.
Copie seu novo proxy dentro do diretório do jogo. Alguns jogos têm um mecanismo de carga diferente. Dependendo de qual DLL você gerou, pode ser possível que o jogo não carregue sua DLL primeiro, caso em que o proxy não funciona.