hlsdk

Scriptenforcer poop

Nov 14th, 2010
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.37 KB | None | 0 0
  1. #include <Windows.h>
  2.  
  3. BYTE GetScriptenforcerValue_Sig[] = { 0x8D, 0x74, 0x24, 0x04, 0xC7, 0x44, 0x24, 0x04, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x11, 0x56, 0x50 };
  4. BYTE GetScriptenforcerValue_Patch[] = { 0x33, 0xC0, 0x90 };
  5.  
  6. #define CREATETHREAD( X ) CreateThread(NULL, NULL, X, NULL, NULL, NULL);
  7.  
  8.  
  9. BOOL DataCompare( BYTE* pData, BYTE* bMask, char * szMask )
  10. {
  11.     for( ; *szMask; ++szMask, ++pData, ++bMask )
  12.         if( *szMask == 'x' && *pData != *bMask )
  13.             return FALSE;
  14.  
  15.     return ( *szMask == NULL );
  16. }
  17.  
  18. DWORD FindPattern( DWORD dwAddress, DWORD dwLen, BYTE *bMask, char * szMask )
  19. {
  20.     for( DWORD i = 0; i < dwLen; i++ )
  21.         if( DataCompare( (BYTE*)( dwAddress + i ), bMask, szMask ) )
  22.             return (DWORD)( dwAddress + i );
  23.  
  24.     return 0;
  25. }
  26.  
  27.  
  28. DWORD WINAPI MainThread(LPVOID lpThreadParameter)
  29. {
  30.     PDWORD pGetScriptenforcerValue = (PDWORD)( FindPattern((DWORD)GetModuleHandle("client.dll"), 0x00FFFFFF, GetScriptenforcerValue_Sig, "xxxxxxxxxxxxxxxx") + 0x15 );
  31.     memcpy( pGetScriptenforcerValue, GetScriptenforcerValue_Patch, 0x03 );
  32.     return 0;
  33. }
  34.  
  35. BOOL WINAPI DllMain (HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
  36. {
  37.     switch (dwReason)
  38.     {
  39.         DisableThreadLibraryCalls((HMODULE)hDll);
  40.  
  41.     case DLL_PROCESS_ATTACH:
  42.         CREATETHREAD(MainThread);
  43.         break;
  44.  
  45.     case DLL_PROCESS_DETACH:
  46.         break;
  47.  
  48.     case DLL_THREAD_ATTACH:
  49.         break;
  50.  
  51.     case DLL_THREAD_DETACH:
  52.         break;
  53.     }
  54.     return TRUE;
  55. }
Add Comment
Please, Sign In to add comment