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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.09.2009, 12:03
Wave Wave вне форума
Прохожий
 
Регистрация: 01.05.2009
Сообщения: 5
Репутация: 10
По умолчанию Запись шестнадцатиричного значения в адрес оперативной памяти. Одна странность.

Делаю трейнер для nfs most wanted, ну так для экспиремента. Беру заранее извесный адрес в оперативной памяти куда нужно внести значение, например я хочу установить значение равное 1000, с помощью инженерного калькулятора привожу в шестнадцатиричное представление и получаю: 3E8, записываю это значение по адресу, который 'отвечает' за количество денег, а в игре получаю 232 вместо 1000. Покопался и назрел вопрос! Почему, при записи значения 3E8(1000), оно урезается до E8(232)? Раньше с этим не работал.
Ответить с цитированием
  #2  
Старый 15.09.2009, 14:29
Аватар для KOOL
KOOL KOOL вне форума
Активный
 
Регистрация: 06.01.2008
Адрес: Рязань
Сообщения: 306
Версия Delphi: 2009
Репутация: 6150
По умолчанию

видимо, записывается только один байт (первый, то есть, Е8), а надо записать их 2 или 4 штуки. еще надо учесть, что в памяти порядок байт инвертируется, то есть число 03E8 в памяти валяется как E803
__________________
РГРТУ - ФВТ - Системы Автоматизированного ПРоектирования. ت
Ответить с цитированием
  #3  
Старый 16.09.2009, 12:23
Wave Wave вне форума
Прохожий
 
Регистрация: 01.05.2009
Сообщения: 5
Репутация: 10
По умолчанию

KOOL, благодарю за доп. инфу! Ну вобщем-то да, записывается 1 байт, но для функции 'writeProcessMemory' я указываю записывать 4 байта, вот в этом-то и вопрос.
Ответить с цитированием
  #4  
Старый 16.09.2009, 14:03
Аватар для KOOL
KOOL KOOL вне форума
Активный
 
Регистрация: 06.01.2008
Адрес: Рязань
Сообщения: 306
Версия Delphi: 2009
Репутация: 6150
По умолчанию

в принципе, можно последовательно записать по байту. еще неплохо было бы выложить кусок кода, где производится запись в память. там может прятаться незаметная ошибка или очепятка.
__________________
РГРТУ - ФВТ - Системы Автоматизированного ПРоектирования. ت
Ответить с цитированием
  #5  
Старый 17.09.2009, 06:12
Wave Wave вне форума
Прохожий
 
Регистрация: 01.05.2009
Сообщения: 5
Репутация: 10
По умолчанию

Вот здесь я основной код взял: http://www.chemax.ru/articles/trainer_delphi.php Можно пример как по байтам записать например 7000?
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter