Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.11.2012, 19:32
MagicKey MagicKey вне форума
Прохожий
 
Регистрация: 17.11.2012
Сообщения: 1
Репутация: 10
По умолчанию Считывание Динамических значений памяти

Всем привет!
Суть проблемы заключается в следующем:
Нужно считать значение HP из игры, ищем адрес в котором хранится значение, получаем его, все ок. Запускаем игру заново, адрес с ХП уже другой, собственно как вычислить текущий адрес с хп? вот примеры адресов с ХП :
0CBE2628
0CBEDA28
0CAB2928
0CBD2928
0CCD1728
0CAB2C28
0CABDD28
0CAADD28
Ответить с цитированием
  #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.

Последний раз редактировалось Bargest, 17.11.2012 в 19:48.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:04.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter