Опрос на сайте
Что вы делаете с GTA?

Популярные новости

Magic - TXD Builder 0.9.1

Magic - TXD Builder 0.9.1
Полезная программа для сборки TXD файлов, которая важные параметры, такие как mip map, DXT сжатие... Кроме того, программа

Vertex Alpha в Vice City

Vertex Alpha в Vice City
То, что некогда было доступно лишь в GTA: San Andreas и выше: Vertex Alpha, а потенциально - и физический бленд текстур в

Main Menu Scene

Main Menu Scene
"Main Menu Scene" дает вам возможность создавать собственные сцены в "Главном Меню" игры с кастомными картой и скриптом, при

Rollerskates Mod

Rollerskates Mod
Модификация позволяет кататься на роликах, прямо как пляжные девушки.

[CLEO]FDVC_fix 1.1

[CLEO]FDVC_fix 1.1
Теперь FDVC работает правильно!

03 ноябрь 2014

Чтение и запись адресов GTA Vice City Часть 2


Так теперь мы поняли, для того что-бы из нашего плагина, записать значение в память нужно сделать так:

*(BYTE*)адрес = значение; //для 1 байта, целого значения
*(WORD*)адрес = значение; //для 2 байтов, целого значения
*(int*)адрес = значение; //для 4 байтов, целого значения
*(float*)адрес = значение; //для 4 байтов, вещественного значения


Для того что-бы считывать значения из памяти GTA Vice City в нашем плагине, то можно поступить так:

переменная = *(BYTE*)адрес; //для 1 байта, целого значения
переменная = *(WORD*)адрес; //для 2 байтов, целого значения
переменная = *(int*)адрес; //для 4 байтов, целого значения
переменная = *(float*)адрес; //для 4 байтов, вещественного значения


Думаю если вы разбираетесь в C++, то все будет вам понятно но все же разберем, как работает данный код. Так возьмем для примера запись в 1 байт BYTE. Изначально как мы помним из всех известных правил, выражение выполняется в скобке первым значит наш тип это типизированный указатель на BYTE, выглядит так (BYTE*) тут же мы его разыменовываем при чем по адресу и затем записываем в него значение. Для того что-бы понять весь этот процесс визуально, возьмем для примера, участок памяти 005CCB19.

Чтение и запись адресов GTA Vice City Часть 2


Если мы будем использовать такой код “*(BYTE*)адрес“, не важно для записи или чтения, то мы захватим такую область в памяти:

Чтение и запись адресов GTA Vice City Часть 2


Если “*(WORD*)адрес” то захватим эти адреса 005CCB19 и 005CCB1A:

Чтение и запись адресов GTA Vice City Часть 2


Наконец если же “*(int*)адрес” то мы захватим аж 4 адреса, так как тип 4 байта 005CCB19, 005CCB1A, 005CCB1B, 005CCB1C:

Чтение и запись адресов GTA Vice City Часть 2


Вообщем теперь более понятно, что обхватываемый участок записи, зависит от размера типа.
Ну вот собственно и все, мы научились теперь записывать и считывать свои значения в памяти GTA Vice City все достаточно просто. Напомню что VirtualProtect функция нужна будет, перед записью там, где стоит защита от записи. Перед записью и чтением, не забудь-те вызывать эту функцию, Об этой функции информация есть в интернете.

Скачать пример ASI [7,29 Kb] (cкачиваний: 23)

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Добавить свой комментарий

Полужирный Наклонный текст Подчёркнутый текст Зачёркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Вставка ссылкиВставка защищённой ссылки Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Другие материалы

Полезный плагин EASIer для 3 серий GTA

Полезный плагин EASIer для 3 серий GTA
Если у вас есть адреса памяти, нужных вам значений и вы хотели бы использовать ваши значения в играх GTA III, GTA VC, GTA

Замена переменных в GTA Vice City

Замена переменных в GTA Vice City
Иногда бывает, такие случаи, что один участок памяти (т.е переменная) используется в разных местах, для разных вещей. Но это

Подхват переменных в GTA Vice City

Подхват переменных в GTA Vice City
Сейчас в начале разберем вкратце, что же за такой подхват переменных в GTA Vice City. Например мы просто объявляем некую

Чтение и запись адресов GTA Vice City

Чтение и запись адресов GTA Vice City
В этом уроке мы научимся, записывать и считывать значения из адресов памяти игры GTA Vice City непосредственно из нашего
Ads

Группа GTA Builder
Наши партнеры

GTA FreeRunning Story