Это код:
Код: Выделить всё
#include
#include
#include
#include
#include
#include
#include // _tcscmp
using namespace std;
DWORD GetProcId(const wchar_t* procName) {
DWORD procId = 0;
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnap != INVALID_HANDLE_VALUE) {
PROCESSENTRY32 procEntry;
procEntry.dwSize = sizeof(procEntry);
if (Process32First(hSnap, &procEntry)) {
do {
if (!_wcsicmp(procEntry.szExeFile, procName)) {
procId = procEntry.th32ProcessID;
break;
}
} while (Process32Next(hSnap, &procEntry));
}
}
CloseHandle(hSnap);
return procId;
DWORD dwGetModuleBaseAddress(const wchar_t* lpszModuleName, DWORD ProcessID) {
DWORD dwModuleBaseAddress = 0;
MODULEENTRY32 ModuleEntry32 = { 0 };
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, ProcessID);
ModuleEntry32.dwSize = sizeof(MODULEENTRY32);
if (Module32First(hSnapshot, &ModuleEntry32))
{
do
{
if (_tcscmp(ModuleEntry32.szModule, lpszModuleName) == 0) {
dwModuleBaseAddress = (DWORD)ModuleEntry32.modBaseAddr;
break;
}
} while (Module32Next(hSnapshot, &ModuleEntry32));
}
CloseHandle(hSnapshot);
return dwModuleBaseAddress;
}
int main() {
HWND OpenWindow = FindWindowA(0, "GTA: San Andreas");
DWORD pid;
DWORD x_coord = 0x12E3FBF0, y_coord = 0x12E3FBF4, z_coord = 0x12E3FBF8;
if (OpenWindow != 0) {
GetWindowThreadProcessId(OpenWindow, &pid);
HANDLE pidconnect = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
DWORD hpoffset = 0x540;
cout
Подробнее здесь: [url]https://stackoverflow.com/questions/78282451/i-have-problem-to-receive-static-base-address[/url]