Показать сообщение отдельно
Старый 26.12.2016, 19:14  
mraklbrw
Освоившийся
Аватар для mraklbrw
OFFLINE
Регистрация: 25.12.2016
Возраст: 27
Сообщений: 40
Благодарностей:
0 всего
Мнения: -22
Репутация: 1

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. Причина: Добавлено сообщение
 
Ответить с цитированием