Advertisement
Guest User

Untitled

a guest
Feb 7th, 2013
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.08 KB | None | 0 0
  1. DWORD    WINAPI GetTickCount_Detour(void);                                
  2. DWORD    INITTICK = GetTickCount();
  3.  
  4. DETOUR_TRAMPOLINE(DWORD WINAPI GetTickCount_Trampoline(void),GetTickCount);    
  5.                                
  6. BOOL APIENTRY DllMain( HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
  7. {
  8.     switch(ul_reason_for_call)
  9.     {
  10.         case DLL_PROCESS_ATTACH:
  11.             // WORKS
  12.             MessageBox(NULL, "ATTACHED", NULL, MB_OK);
  13.             DisableThreadLibraryCalls(hModule);
  14.             DetourFunction((PBYTE)GetTickCount_Trampoline,(PBYTE)GetTickCount_Detour);
  15.         break;
  16.  
  17.         case DLL_PROCESS_DETACH:
  18.            MessageBox(NULL, "DETACHED", NULL, MB_OK);
  19.            DetourRemove((PBYTE)GetTickCount_Trampoline,(PBYTE)GetTickCount_Detour);
  20.            
  21.         break;
  22.     }
  23.     return true;
  24. }
  25.  
  26. DWORD WINAPI GetTickCount_Detour()
  27. {    
  28.     // NEVER COMES TO THIS POINT
  29.     MessageBox(NULL, "DETOUR", NULL, MB_OK);
  30.  
  31.     DWORD CURRENTTICK = GetTickCount_Trampoline();
  32.  
  33.     return ( INITTICK + (CURRENTTICK - INITTICK) * 250 );
  34.  
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement