Advertisement
Guest User

Untitled

a guest
May 28th, 2014
395
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. -----------------------------------------
  3. * Game hacking QTS ( Quickie Tip Series )
  4. * no. 30 - Finding a dll module and obtaining its size
  5. -----------------------------------------
  6. * Author: SEGnosis  
  7. * Thanks to:
  8. * bitterbanana      - No known site
  9. * Drunken Cheetah   - No known site
  10. * fatboy88      - No known site
  11. * Geek4Ever         - No known site
  12. * learn_more        - www.uc-forum.com
  13. * Novocaine         - http://ilsken.net/blog/?page_id=64
  14. * Philly0494        - No known site
  15. * Roverturbo        - www.uc-forum.com
  16. * SilentKarma       - www.halocoders.com - offline
  17. * Strife        - www.uc-forum.com
  18. * Wieter20      - No known site
  19. */
  20.  
  21.  
  22. //----------------------------------//
  23.  
  24. // This function takes in the dll name and returns the base address
  25. // It will wait until the module exists, so put it in a thread
  26. DWORD GetModuleAddress(char* szModule)
  27. {
  28.     DWORD dwAddress;
  29.  
  30.  
  31.     while(true)
  32.     {
  33.         dwAddress = (DWORD)GetModuleHandle(szModule);
  34.  
  35.         if(dwAddress != NULL)
  36.             break;
  37.         else
  38.             Sleep(250);
  39.     }
  40.  
  41.     return dwAddress;
  42. }
  43.  
  44. // This function takes in a module name
  45. // It then iterates through the modules and returns the matching module's size
  46. DWORD GetModuleSize(char* module)
  47. {
  48.  DWORD dwSize;
  49.  
  50.  HANDLE hSnap;
  51.  
  52.  MODULEENTRY32 xModule;
  53.  
  54.  
  55.  hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, GetCurrentProcessId());
  56.  
  57.  xModule.dwSize = sizeof(MODULEENTRY32);
  58.  
  59.  if (Module32First(hSnap, &xModule) != FALSE)
  60.  {
  61.     while (Module32Next(hSnap, &xModule))
  62.     {
  63.        if (strcmp((char*)xModule.szModule, module) == 0)
  64.        {
  65.           dwSize = xModule.modBaseSize;
  66.           break;
  67.        }
  68.     }
  69.  }
  70.  
  71.  CloseHandle(hSnap);
  72.  
  73.  return dwSize;
  74. }
  75.  
  76.  
  77. //----------------------------------//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement