Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma comment (lib,"detours.lib")
- #include <windows.h>
- #include "detours.h"
- #include "ddraw.h"
- #pragma comment(lib,"ddraw.lib")
- DETOUR_TRAMPOLINE(HRESULT __stdcall Real_DirectDrawCreate(GUID *lpGUID,LPDIRECTDRAW *lplpDD,IUnknown *pUnkOuter), DirectDrawCreate);
- DETOUR_TRAMPOLINE(HRESULT __stdcall Real_DirectDrawCreateEx(GUID *lpGUID,LPVOID *lplpDD,REFIID iid,IUnknown *pUnkOuter), DirectDrawCreateEx);
- HRESULT __stdcall Mine_DirectDrawCreate(GUID *lpGUID,LPDIRECTDRAW *lplpDD,IUnknown *pUnkOuter)
- {
- HRESULT hr = Real_DirectDrawCreate((GUID *)DDCREATE_EMULATIONONLY,lplpDD,pUnkOuter);
- return hr;
- }
- HRESULT __stdcall Mine_DirectDrawCreateEx(GUID *lpGUID,LPVOID *lplpDD,REFIID iid,IUnknown *pUnkOuter)
- {
- HRESULT hr = Real_DirectDrawCreateEx((GUID *)DDCREATE_EMULATIONONLY,lplpDD,iid,pUnkOuter);
- return hr;
- }
- void hook()
- {
- DetourFunctionWithTrampoline((PBYTE) Real_DirectDrawCreate,(PBYTE) Mine_DirectDrawCreate);
- DetourFunctionWithTrampoline((PBYTE) Real_DirectDrawCreateEx,(PBYTE) Mine_DirectDrawCreateEx);
- }
- BOOL APIENTRY DllMain(HINSTANCE hModule, DWORD dwReason, PVOID lpReserved)
- {
- if(dwReason == DLL_PROCESS_ATTACH)
- {
- void hook();
- }
- return TRUE;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement