Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include <TlHelp32.h>
- #include <iostream>
- DWORD getBaseAddress(DWORD pid, TCHAR* n);
- int main(int argc, char* argv[])
- {
- HWND hWnd = 0;
- DWORD pid = 0;
- hWnd = FindWindow(0, "Tibia");
- if (hWnd)
- {
- GetWindowThreadProcessId(hWnd, &pid);
- if (pid)
- {
- HANDLE gHandle = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, pid);
- if (gHandle)
- {
- DWORD baseAddress = getBaseAddress(pid, "Tibia.exe");
- std::cout << "HWND :: " << hWnd << std::endl;
- std::cout << "PID :: " << pid << std::endl;
- std::cout << "HANDLE :: " << gHandle << std::endl;
- std::cout << "ADDR :: " << baseAddress << std::endl;
- CloseHandle(gHandle);
- }
- }
- }
- std::cin.get();
- return 0;
- }
- DWORD getBaseAddress(DWORD pid, TCHAR* n)
- {
- HANDLE module_snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pid);
- if (module_snapshot)
- {
- MODULEENTRY32 modEntry;
- modEntry.dwSize = sizeof(MODULEENTRY32);
- if (Module32First(module_snapshot, &modEntry))
- {
- do {
- if (!strcmp(modEntry.szModule, n))
- {
- CloseHandle(module_snapshot);
- return (DWORD)modEntry.modBaseAddr;
- }
- } while (Module32Next(module_snapshot, &modEntry));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement