|
includ-ы остались с прошлых проектов
Пробовал
DWORD Base_Adress = 0x1012F454;
и
DWORD Base_Adress = 0x400000
ReadProcessMemory(phandle, (LPVOID)(Base_Adress + value_1), &get_value, sizeof(get_value), 0);
get_value - имеет неверное значение или 0
В Cheat Engine другое значение.
Кстати, при проверке в Cheat Engine адреса 0x1012F454 + 0x0012F320 и адреса 0x400000 + 0x0012F320 выдаёт неверные значения, не то, которое выдаётся при "Main.exe"+0012FDB4.
Всё-таки, мне кажется, что-то не так с базовым адресом.
Добавлено через 31 минуту
DWORD Base_Adress = 0x140CE0; // Базовый адрес п рограммы(игры)
//DWORD Base_Adress = 0x1012F454;
//DWORD Base_Adress = 0x00000000;
DWORD pid;
DWORD value_1 = 0x0012F320; // Первое смещение
DWORD get_value;
DWORD get_value_2;
DWORD get_value_3;
int main()
{
HWND hwnd = FindWindowA(0, ("Master of Defense by Voodoo Dimention (c) 2006 "));
GetWindowThreadProcessId(hwnd, &pid);
if (hwnd)
cout << "process id: " << pid << endl;
else
cout << "Window isn't found." << endl;
HANDLE phandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
ReadProcessMemory(phandle, (LPVOID)(Base_Adress + value_1), &get_value, sizeof(get_value), 0); // Получаем 1-ое значение
cout << get_value << endl; // 1431...
DWORD adres_2 = get_value + 0x50C;
cout << "adr2 = " << adres_2 << endl;
ReadProcessMemory(phandle, (LPVOID)adres_2, &get_value_2, sizeof(get_value_2), 0); // Получаем 2-ое значение
cout << get_value_2 << endl;
DWORD adres_3 = get_value_2 + 0x1C0;
cout << "adr3 = " << adres_3 << endl;
ReadProcessMemory(phandle, (LPVOID)adres_3, &get_value_3, sizeof(get_value_3), 0); // Получаем 3-ое значение
cout << get_value_3 << endl;
cin.get();
cin.get();
return 0;
}
Высчитывается 1-ое значение - базовый адрес + первый офсет(0x0012F320).
Прибавляем к нему 50C - 2-ой офсет - и всё - 0 в значении, хотя в cheat engine наше п олученное значение - представлено как значение, а есть ещё и адрес, который хранит это значение, 00270000. И прибавляя к нему 50C, в Cheat Engine можно выйти на 2-ое значение. Как выйти на этот адрес?
Последний раз редактировалось mraklbrw; 26.12.2016 в 19:45.
Причина: Добавлено сообщение
|