Гость
У меня проблема с получением статического базового адреса [закрыто]
Сообщение
Гость » 09 апр 2024, 11:52
Я не могу получить базовый модуль и статический адрес для экземпляра программы gta san, в любом случае я могу получить динамический. Я уже пытался найти ресурсы из неизвестных читов, stackoverflow и github и взять пример. Никаких различий, когда я хочу, чтобы игра вводила каждый раз, когда я не хочу снова включать адрес, чтобы базовый адрес мог работать без повторного изменения адреса.
Это код:
Код: Выделить всё
#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]
1712652734
Гость
Я не могу получить базовый модуль и статический адрес для экземпляра программы gta san, в любом случае я могу получить динамический. Я уже пытался найти ресурсы из неизвестных читов, stackoverflow и github и взять пример. Никаких различий, когда я хочу, чтобы игра вводила каждый раз, когда я не хочу снова включать адрес, чтобы базовый адрес мог работать без повторного изменения адреса. Это код: [code]#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]