Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2013, 22:41   #1
malaghma
 
Регистрация: 07.01.2013
Сообщений: 8
По умолчанию Проблема при написании трейнера

Пишу трейнер для dma игры. Нашел адрес в котором хранится нужное значение потом нашел поинтер (смещение) трейнер работает пока не перезагрузишься игру. Столкнулся с проблемой адрес поинтера изменяется после перезагрузки игры был 38E39FE8 стал
25E5AFE8 в TSearch ставил бряк на адрес поинтера но там тоже значения разные появляются как быть?

Последний раз редактировалось malaghma; 07.01.2013 в 22:47.
malaghma вне форума Ответить с цитированием
Старый 07.01.2013, 22:49   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Вы берете относительный адрес, и он живет только 1 раз, берите абсолютный адрес и с ним работайте(то на что ссылается указатель).
Человек_Борща вне форума Ответить с цитированием
Старый 07.01.2013, 23:10   #3
malaghma
 
Регистрация: 07.01.2013
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Вы берете относительный адрес, и он живет только 1 раз, берите абсолютный адрес и с ним работайте(то на что ссылается указатель).
Трейнер для flash игры если что
как найти на что ссылается указатель?
malaghma вне форума Ответить с цитированием
Старый 07.01.2013, 23:28   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Код:
const
  myOffset=$00FD5B;
var
  Data:DWORD;
  oData:DWORD;
begin
  Result:=DWORD(Pointer(myOffset)^);
end;
как-то так.
Человек_Борща вне форума Ответить с цитированием
Старый 08.01.2013, 00:11   #5
malaghma
 
Регистрация: 07.01.2013
Сообщений: 8
По умолчанию

Address:=DWORD(Pointer($20059FE8));
Добавил это перед чтением значения поинтера но результата не дало тоже самое пока не обновишь работает!
malaghma вне форума Ответить с цитированием
Старый 08.01.2013, 01:27   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Ну и правиль, сам delphi не преобразует указатель в данные на которые он указывает. Знак ^ забыт.
Человек_Борща вне форума Ответить с цитированием
Старый 08.01.2013, 02:36   #7
malaghma
 
Регистрация: 07.01.2013
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Ну и правиль, сам delphi не преобразует указатель в данные на которые он указывает. Знак ^ забыт.
C этим знаком ошибка вылетает
malaghma вне форума Ответить с цитированием
Старый 10.01.2013, 15:45   #8
malaghma
 
Регистрация: 07.01.2013
Сообщений: 8
По умолчанию

ап что не кто не знает?
malaghma вне форума Ответить с цитированием
Старый 24.03.2013, 00:34   #9
malaghma
 
Регистрация: 07.01.2013
Сообщений: 8
По умолчанию

deletedeletedelete
malaghma вне форума Ответить с цитированием
Старый 24.03.2013, 00:35   #10
malaghma
 
Регистрация: 07.01.2013
Сообщений: 8
По умолчанию

deletedeletedelete1
malaghma вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с гравитацией при написании игрушки серг Gamedev - cоздание игр: Unity, OpenGL, DirectX 51 15.12.2010 17:00
Проблема при написании компонента на основе TCustomControl Flip-er Компоненты Delphi 4 28.03.2010 19:27
Возникла проблема при написании чата HelP mar4elo Работа с сетью в Delphi 12 29.11.2008 22:16
Помогите при написании WebBrowser kuzmich Компоненты Delphi 17 15.12.2007 18:58