Advertisement
Guest User

asdasdasasa

a guest
Dec 12th, 2017
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. #include <Windows.h>
  2. #include <TlHelp32.h>
  3. #include <iostream>
  4.  
  5. DWORD getBaseAddress(DWORD pid, TCHAR* n);
  6.  
  7. int main(int argc, char* argv[])
  8. {
  9. HWND hWnd = 0;
  10. DWORD pid = 0;
  11.  
  12. hWnd = FindWindow(0, "Tibia");
  13. if (hWnd)
  14. {
  15. GetWindowThreadProcessId(hWnd, &pid);
  16. if (pid)
  17. {
  18. HANDLE gHandle = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, pid);
  19. if (gHandle)
  20. {
  21. DWORD baseAddress = getBaseAddress(pid, "Tibia.exe");
  22.  
  23. std::cout << "HWND :: " << hWnd << std::endl;
  24. std::cout << "PID :: " << pid << std::endl;
  25. std::cout << "HANDLE :: " << gHandle << std::endl;
  26. std::cout << "ADDR :: " << baseAddress << std::endl;
  27.  
  28. CloseHandle(gHandle);
  29. }
  30. }
  31. }
  32.  
  33. std::cin.get();
  34. return 0;
  35. }
  36.  
  37. DWORD getBaseAddress(DWORD pid, TCHAR* n)
  38. {
  39. HANDLE module_snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pid);
  40. if (module_snapshot)
  41. {
  42. MODULEENTRY32 modEntry;
  43. modEntry.dwSize = sizeof(MODULEENTRY32);
  44.  
  45. if (Module32First(module_snapshot, &modEntry))
  46. {
  47. do {
  48. if (!strcmp(modEntry.szModule, n))
  49. {
  50. CloseHandle(module_snapshot);
  51. return (DWORD)modEntry.modBaseAddr;
  52. }
  53. } while (Module32Next(module_snapshot, &modEntry));
  54. }
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement