Принцип понял, однако возникла некоторая проблема.
Нашёл указатель второго уровня:
"Main.exe"+0012F320
50C
1C0
Определил базовый адрес программы:
0x1012F454
И пытаюсь прочитать значение переменной, отвечающей за монеты таким образом:
get_value - имеет неверное значение или 0
В Cheat Engine другое значение.
Кстати, при проверке в Cheat Engine адреса 0x1012F454 + 0x0012F320 и адреса 0x400000 + 0x0012F320 выдаёт неверные значения, не то, которое выдаётся при "Main.exe"+0012FDB4.
Всё-таки, мне кажется, что-то не так с базовым адресом.
Высчитывается 1-ое значение - базовый адрес + первый офсет(0x0012F320).
Прибавляем к нему 50C - 2-ой офсет - и всё - 0 в значении, хотя в cheat engine наше п олученное значение - представлено как значение, а есть ещё и адрес, который хранит это значение, 00270000. И прибавляя к нему 50C, в Cheat Engine можно выйти на 2-ое значение. Как выйти на этот адрес?
Последний раз редактировалось mraklbrw; 26.12.2016 в 19:45.
Причина: Добавлено сообщение
Ну как сказать - высчитывается значение 1431787091. А нужен адрес(он меняется раз от раза - то 00240000, то 00270000, может ещё какой).
Т.к. дальше прибавление к 1431787091 второго офсета ничего не даёт - т.е. 0.
А в Cheat Engine видно, что именно к адресу (00240000) прибавляется второй офсет.
Я не оказываю услуги гаранта!
База данных кидал: blacklist.rf-cheats.ru
Обязательно проверяйте человека через чёрный список прежде чем совершать с ним сделку.
Я не оказываю услуги гаранта!
База данных кидал: blacklist.rf-cheats.ru
Обязательно проверяйте человека через чёрный список прежде чем совершать с ним сделку.
Хендл игры "Master of Defense by Voodoo ..."?
P.s. Знаю, что туплю, но я новичок в этом вопросе и пока не врубаюсь.
И, т.к. каждый раз баз. адрес + 1 офсет = разное значение, выходит, что базовый адрес динамический?
На С++ я то не могу написать Main.exe + <офсет>.
Последний раз редактировалось mraklbrw; 27.12.2016 в 12:26.