Показать сообщение отдельно
  #2  
Старый 17.11.2012, 19:41
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Кэп подсказывает, что HP - поле какого-то класса. Как следствие из того, что адреса разные, класс выделяется динамически. Поскольку HP используется постоянно, логично предположить, что до класса, содержащего HP, можно добраться, отталкиваясь от какой-то глобальной переменной. А вот определить, как именно - вариант только один: реверсить код игры. По идеи будет либо глобальный указатель на этот класс, либо массив таких указателей, либо список таких указателей, либо указатель на класс, в котором есть: указатель на этот класс, либо массив таких указателей, либо ......
Когда делал патч к одной игре, вытащил из игры небольшое API, позволяющее добраться до классов игроков и юнитов по их ID, также зареверсил формат плеера и юнита, после чего можно было делать все, что угодно. Естественно, все эти "API" функции были методами каких-то классов.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием