Адреса памяти GTA San Andreas (Criminal Russia)

Инструкции по созданию дополнений для GTA Criminal Russia
Ответить
Аватара пользователя
danilasar
Сообщения: 202
Зарегистрирован: 17 июл 2018, 09:55
Откуда: Саратов, Россия
Контактная информация:

Адреса памяти GTA San Andreas (Criminal Russia)

Сообщение danilasar » 29 июл 2018, 10:52

Доброго времени суток. Вот, нашёл на просторах Интернета список адресов памяти Grand Theft Auto Criminal Russia.
Обратите внимание! Список составлялся для gta_sa.exe версии 1.0. Могут быть различия с более поздними вариантами.
Нафига и кому вся эта фигня нужна?!!
В общем, для тех, кто не в теме или только начинает изучать тайны движка Grand Theft Auto III/Vice City/San Andreas/Criminal Russia, вопрос вполне логичный. На самом же деле, данные ниже - бесценный клад, который ищет каждый читер, каждый убийца игр модмейкер, вообще любой человек, хоть раз пытавшийся уничтожить разобрать Криминалку и Сан Андреас на запчасти. Если ближе к делу, то здесь мы указали, что, где, когда, в каком типе данных и зачем хранит Grand Theft Auto: Криминальная Россия, Russian Theft Auto (да, да, RTA тоже здесь, не удивляйтесь) и Grand Theft Auto: San Andreas. Ну а ещё короче:
Нафига это читеру? - Мы знаем где и что хранит гташка. Замечательно! Что теперь нас остановит? Отключение электричества. Достаточно лишь подменить значения и вауля! Игра пройдена на 100%, у нас 6 звёзд, миниган с бесконечными патронами и перед мордой неубиваемая, как и мы, крутая тачка! Весело? Конечно же да!
Нафига это модмейкеру? - Разработчики URM:RolePlay и аналогов всегда пытались защититься от читерства. В первую очередь, отдельная прога следит, чтобы нихто не трогал тупые святые адреса GTAURM! А если мы хотим сделать свой мультиплеер, естественно, необходима синхронизация с процессом GTA/RTA. Ну и для отладки (проверки модов) тоже может пригодиться. Например, в час ночи Останкинская телебашня должна взорваться к чёрту, а сейчас 2:03. Ждать долго, согласны? Берём и изменяем значение 0xB70153 с 2 на 0, а у 0xB70152 с 3 на 58. Вауля! Ждём 10 секунд и Останкино разрывает в клочья. Ну или всю игру (вылет) :D . Полезно? Полезно!
Неужели всё это нужно выучить?
Вы с ума сошли или как? Если мазохист - учите. Весь список ниже - справочный материал, к которому необходимо время от времени обращаться, но никак не зубрить наизусть. Хотя, запомнить основные адреса памяти игрули (деньги, розыск, время, XYZ и RotXYZ игрока) не помешало бы.
Ну и как мне базарить по этим адресам?
У программы Cheat Engine есть возможность избавиться от "пообщаться" с адресами памяти незащищённого процесса. Полюбуйтесь сами:
CE.png
CE.png (122.1 КБ) 1423 просмотра
А на идиотском очень интересном и уникальном в своём роде языке программирования C++ (это уже посерьёзнее, чем читануть через CE, согласитесь) считать данные можно одной волшебной функцией из банального WINAPI (или stdio/stdlib, точно, извините, не помню):

Код: Выделить всё

BOOL ReadProcessMemory( 
    HANDLE hProcess,
    LPCVOID lpBaseAddress,
    LPVOID lpBuffer,
    SIZE_T nSize,
    SIZE_T* lpNumberOfBytesRead
);
И записать что-нибудь туда какое-нибудь говно нужные нам данные:

Код: Выделить всё

BOOL WriteProcessMemory(
    HANDLE hProcess,
    LPVOID lpBaseAddress,
    LPCVOID lpBuffer,
    SIZE_T nSize,
    SIZE_T* lpNumberOfBytesWritten
);
Именно через неё уже можно составить кусок кода для суицидника части программы вроде мультиплеера.
Основные адреса
  • 0xA49D54 - [dword] Таймер для миссий с автомобилями/самолетами (в ms)
  • 0xA51974 - [dword] Таймер для миссий с лодками/мотоциклами (в ms)
  • 0xA51A3C - Таймер для гонок Bloodring
  • 0xB7CE50 - [dword] Деньги
  • 0xBAA420 - Уровень розыска
  • 0x8CDEE4 - [dword] Максимальный уровень розыска
  • 0xB79038 - [dword] Сколько дней прошло в игре
  • 0xB70153 - [byte] Текущий час
  • 0xB70152 - [byte] Текущая минута
  • 0xB7014E - [byte] Текущий день недели (1 до 7)
  • 0x8CB7A5 - [byte] Текущая радиостанция - ID
  • 0xB700F0 - [dword] Текущий автомобиль - ID (из vehicle.ide) - не для мотоциклов
  • 0x863984 - [float] Гравитация (стандартное значение - 0.008)
  • 0xB7CB84 - [dword] Глобальный таймер в ms (миллисекунды)
  • 0xB7CB64 - [float] Скорость игры в процентах
  • 0xB70158 - [dword] Таймер, привязанный к погоде и времени в ms
  • 0xB7015C - [dword] Количество миллисекунд в одной игровой секунде (по умолчанию - 1000)
  • 0xB7CEE4 - [byte/boolean] Вкл/выкл бесконечный бег
  • 0xB7CEE6 - [byte/boolean] Является ли игрок огнеупорным
  • 0x96C009 - [byte/boolean] Является ли перекраска бесплатной (pay'n'spray)
  • 0xA444A4 - [byte/boolean] Радар серый
  • 0x8D2530 - [float] Плотность движения пешеходов
  • 0x8A5B20 - [float] Плотность движения транспорта
  • 0xB6F065 - [byte/boolean] Широкий экран (вид во время катсцен в миссиях, это не опция дисплея)
  • 0xA4A948 - Очки в миссий Лоурайдер (Танцы на машинах)
  • 0xA4EC20 - Очки в мини игре танцев
  • 0xB790B8 - [byte] Число фотографий разных мест (4 bytes)
  • 0xA9AD74 - [byte] Число закрашенных граффити (4 bytes)
  • 0xB791E4 - [byte] Число найденных подков (4 bytes)
  • 0xB791EC - [byte] Число найденных ракушек(4 bytes)
  • 0x716642 - [float] Изменить тяжёлые облака (?)
  • 0x716655 - [float] Отключить тяжёлые облака (?)
  • 0xB79078 - [byte] Количество подброшенных в такси людей (число используется в статусах, 4 байта)
  • 0xA49C30 - [byte] Количество подброшенных в такси людей (число используется для выдачи наград игроку, 4 байта)
  • 0xB79040 - [byte] Количество сохранений (4 bytes)
  • 0xA49EFC - [dword] Прогресс с Denise
  • 0xA49F00 - [dword] Прогресс с Michelle
  • 0xA49F04 - [dword] Прогресс с Helen'ой
  • 0xA49F08 - [dword] Прогресс с Barbar'ой
  • 0xA49F0C - [dword] Прогресс с Katie
  • 0xA49F10 - [dword] Прогресс с Millie
  • 0xB79108 - Количество свиданий с девушками
  • 0xB79100 - Текущее количество подружек
  • 0xB79104 - Количество неудачных свиданий
  • 0xB79110 - Количество удачных свиданий
  • 0xB79060 - Найдено уникальных прыжков
  • 0xB79064 - Исполнено уникальных прыжков
  • 0xBA6774 - Цель на карте
    • 0 = Отключена
    • 1 = Включена
  • 0xB6F5F0 - Указатель игрока (CPed)
  • 0xB7CD98 - Указатель игрока, прямое смещение на начало пула пешеходов (педов) (CPed)
  • 0xB74498 - Наибольшее количество педов (обычно 140)
  • 0xB74490 - Содержит указатель на указатель. Этот указатель:
    • +0 = Содержит указатель на первый элемент в пуле CPed
    • +4 = Содержит указатель на карту байтов, которая обозначает, какие элементы используются в пуле CPed
    • +8 = [dword] Максимальное число элементов в пуле CPed
    • +12 = [dword] Текущее число элементов в пуле CPed
  • 0x86329C - список доступных имён команд (?)
  • 0xC17054 - HWND на главное окно игры
  • 0xC97C28 - IDirect3DDevice9 pointer
  • 0xB7C4D0 - [word] Цвет "ядра" солнца, R
  • 0xB7C4D2 - [word] Цвет "ядра" солнца, G
  • 0xB7C4D4 - [word] Цвет "ядра" солнца, B
  • 0xB7C4D6 - [word] Цвет солнца, R
  • 0xB7C4D8 - [word] Цвет солнца, G
  • 0xB7C4DA - [word] Цвет солнца, B
  • 0xC1CC18 - [byte] Создание эффектов света для автомобилей:
    • 0 = Включено
    • 1 = Отключено
  • 0xA444A0 - Включён ли HUD опкодом 0826:
    • 0 - выключен
    • 1 - включён
  • 0xC813E0 - [float] Скорость ветра по оси X
  • 0xC813E4 - [float] Скорость ветра по оси Y
  • 0xC813E8 - [float] Скорость ветра по оси Z
    Статистика игрока
  • 0xB793D4 - [float] Фигура
  • 0xB793D8 - [float] Выносливость
  • 0xB793DC - [float] Мышцы
  • 0xB793E0 - [float] Здоровье
  • 0xB793E4 - [float] Сексуальность
  • 0xB79496 - [float] Пистолет
  • 0xB79498 - [float] Пистолет с глушителем
  • 0xB7949C - [float] Пустынный орел
  • 0xB794A0 - [float] Дробовик
  • 0xB794A4 - [float] Обрез
  • 0xB794A8 - [float] Дробовик SPAS 12
  • 0xB794AC - [float] Пистолет-пулемет
  • 0xB794B0 - [float] SMG
  • 0xB794B4 - [float] AK47
  • 0xB794B8 - [float] M4
    Экспорт в файл статистики (stats.html)
  • 0x8663A0 - Имя файла (по умолчанию: 'stats.html')
  • 0x86636C - Название файла (по умолчанию: '<title>Grand Theft Auto San Andreas Stats</title>')
    Читы
    [byte]Может быть включен (1) или выключен (0). На самом деле это boolean.
  • 0x969130 - Набор оружия 1
  • 0x969131 - Набор оружия 2
  • 0x969132 - Набор оружия 3
  • 0x969133 - Здоровье+Броня+250K
  • 0x969134 - Увеличить уровень розыска на 2 звезды
  • 0x969135 - Очистить уровень розыска
  • 0x969136 - Солнечная погода
  • 0x969137 - Очень солнечная погода
  • 0x969138 - Плохая погода
  • 0x969139 - Дождевая погода
  • 0x96913A - Туманная погода
  • 0x96913B - Часы идут быстрее
  • 0x96913C - Ускорить игровой процесс
  • 0x96913D - Замедлить игровой процесс
  • 0x96913E - Люди атакуют друг друга с клюшками для гольфа
  • 0x96913F - Have Bounty on Head
  • 0x969140 - Все вооружены
  • 0x969141 - Создать Rhino (Не работает)
  • 0x969142 - Создать Bloodring Banger (Не работает)
  • 0x969143 - Создать Rancher (Не работает)
  • 0x969144 - Создать Racecar A (Не работает)
  • 0x969145 - Создать Racecar B (Не работает)
  • 0x969146 - Создать Romero (Не работает)
  • 0x969147 - Создать Stretch (Не работает)
  • 0x96914A - Взорвать все машины
  • 0x96914B - Оставить от машин лишь колеса (невидимые машины)
  • 0x96914C - Лёгкая управляемость транспортным средством
  • 0x96914D - Суицид
  • 0x96914E - Все светофоры зеленые
  • 0x96914F - Все водители агрессивные
  • 0x969150 - Все машины розовые
  • 0x969151 - Все машины черные
  • 0x969153 - Летающие лодки
  • 0x969154 - Толстый Карл
  • 0x969155 - Карл максимально накачанный
  • 0x969156 - Карл становится худым
  • 0x969157 - Элвисы повсюду
  • 0x969158 - Педы атакуют с ракетниц
  • 0x969159 - Пляжная тема
  • 0x96915A - Члены банды повсюду
  • 0x96915B - Банды контролируют улицы
  • 0x96915C - Тема "ниндзя"
  • 0x96915D - Магнит на девушек лёгкого поведения
  • 0x96915E - По улицам ездят дешевые авто
  • 0x96915F - По улицам ездят быстрые авто
  • 0x969160 - Машины могут летать
  • 0x969161 - Высокий прыжок на BMX
  • 0x969162 - Создать Hydra (Не работает)
  • 0x969163 - Создать Vortex Hovercraft (Не работает)
  • 0x969164 - Режим танка
  • 0x969165 - Все машины имеют нитро
  • 0x969166 - Машины летают при столкновениях
  • 0x969167 - Всегда полночь
  • 0x969168 - остановить время - Оранжевое небо
  • 0x969169 - Гроза
  • 0x96916A - Песчаная буря
  • 0x96916C - Мега-прыжки
  • 0x96916D - Бесконечное здоровье
  • 0x96916E - Бесконечный воздух (под водой)
  • 0x96916F - Дать парашют
  • 0x969170 - Дать реактивный рюкзак
  • 0x969171 - Полиция вас не видит
  • 0x969172 - Шесть звезд уровня розыска
  • 0x969173 - Мега удар
  • 0x969174 - Всегда сытый
  • 0x969175 - Хаос-режим
  • 0x969176 - Тема "дурдом"
  • 0x969177 - Замедлить игровой процесс
  • 0x969178 - Бесконечные патроны, без перезарядки
  • 0x969179 - Стреляешь во время езды
  • 0x96917A - Пустынный трафик
  • 0x96917B - Трафик сельской местности
  • 0x96917C - Нанять в банду любого (с пистолетом)
  • 0x96917D - Тема сельской местности
  • 0x96917E - Нанять в банду любого (с гранатометом)
  • 0x96917F - Максимальное уважение
  • 0x969180 - Максимальная сексуальность
  • 0x969181 - Максимальная выносливость
  • 0x969183 - Мастер во всем оружии
  • 0x969184 - Создать Hunter (Не работает)
  • 0x969185 - Создать Quad (Не работает)
  • 0x969186 - Создать Tanker Truck (Не работает)
  • 0x969187 - Создать Dozer (Не работает)
  • 0x969188 - Создать Stunt Plane (Не работает)
  • 0x969189 - Создать Monster (Не работает)
    • [dword]
      • 0x96918C - Были когда-нибудь использованы читы или нет
      • 0xBAA472 - Используются ли читы за текущий сеанс игры
      • 0xB79044 - Сколько раз были использованы читы
    • [byte]
      • 0x96918C - 'Чит' статус:
        • 0 = выключен
        • 1 = включен
    Графика
  • 0xBA6784 - [dword] Яркость
  • 0xBA6792 - [byte] Легенда
  • 0xBA676C - [byte] Режим радара
  • 0xBA6769 - [byte] Hud-режим
  • 0xBA678C - [byte] Субтитры
  • 0xBA6788 - [float] Дистанция прорисовки
  • 0xBA6794 - [byte] Ограничитель кадров
  • 0xBA6793 - [byte] Широкий экран
  • 0xA9AE54 - [byte] Качество эффектов
  • 0xBA680C - [byte] Мип-маппинг
  • 0xBA6814 - [byte] Сглаживание:
    • 1 = 0x (off)
    • 2 = 1x
    • 3 = 2x
    • 4 = 3x
  • 0xBA6820 - [byte] Значения разрешений:
    • 11 = 640x480
    • 12 = 800x400
    • 13 = 800x600
    • 15 = 1024x768
    Звук
  • 0xBA6798 - [byte] Громкость Радио [от 0 до 64]
  • 0xBA6797 - [byte] Громкость Аудио [от 0 до 64]
  • 0xBA6799 - [byte] Радио Эквалайзер
  • 0xBA6795 - [byte] Автонастройка Радио
  • 0xBA67F8 - [byte] Режим проигрывания пользовательской музыки:
    • 0 = радио
    • 1 = случайно
  • 0xBA680D - [byte] Автоматическое сканирование пользовательской музыки
  • 0xBA679A - [byte] ID текущей радиостанции:
    • от 1 до 12 (ниже смотрите список радиостанций и их ID)
      • 1 = "Playback FM"
      • 2 = "K Rose"
      • 3 = "K-DST"
      • 4 = "Bounce FM"
      • 5 = "SF-UR"
      • 6 = "Radio Los Santos"
      • 7 = "Radio X"
      • 8 = "CSR 103.9"
      • 9 = "K-JAH West"
      • 10 = "Master Sounds 98.3"
      • 11 = "WCTR Talk Radio"
      • 12 = "Плеер пользовательской музыки"
      • 13 = "Радио выключено"
    Управление
  • 0xBA6818 - [byte] значения:
    • 0 = мышь + клавиатура
    • 1 = джойстик
  • 0xB6EC1C - [float] Чувствительность мыши
  • 0xC1CC02 - [byte] Управление транспортом при помощи мышки
  • 0xC1CC03 - [byte] Инверсия мыши по вертикали
  • 0xB6EC2E - Управление:
    • 0 = джойстик (включается автоприцел, причем не обязательно иметь джойстик)
    • 1 = мышь + клавиатура
    Интерфейс
  • 0x866B74 - [float] Ширина радара (ось X)
  • 0x866B78 - [float] Длина радара (ось Y)
  • 0xBAB22C - [byte] Строка здоровья/цвет противника/красный маркер/любой красный текст (RGBA, 4 байта)
  • 0xBAB230 - [byte] Цвет денег/цвет названия машины/любой зелёный текст (RGBA, 4 байта)
  • 0xBAB238 - [byte] Белый цвет (RGBA, 4 байта)
  • 0xBAB240 - [byte] Main menu title border (RGBA, 4 байта)
  • 0xBAB244 - [byte] Уровень розыска/жёлтый цвет (RGBA, 4 байта)
  • 0xBAB24C - [byte] Цвет названия радиостанции (RGBA, 4 байта)
Примечания
  • Если задать максимальное значение в адресах некоторых статистических данных, то игра покажет сообщение и выдаст бонусы (например, за все найденные ракушки).
  • Значения 0x716642 и 0x716655 изначально равны 200. Если изменить одно из них на 100 000 вы получите очень малую облачность. Если поставить оба на 100 000, облака исчезнут.
  • Шесть адресов для девушек используются только с оригинальным main.scm. Установка значения на 100 (100%) даст вас 100 прогресс с опр. девушкой и разблокирует её подарки.
  • Если значение адреса 0x96918C является 1, то при сохранении вы получите предупреждения о использовании читов и не сможете продолжить игру после 50% пройденного.
  • Естественно, настройки графики зависят от графического драйвера или аппаратных средств.
  • На самом деле, с адресом 0xBA6820 ситуация сложнее. До значения 15 (где 15 - максимальное разрешение, доступное видеокартой) все разрешения идут с глубиной 16 бит, далее до значения 22 - с глубиной 32 бита
  • Цвета интерфейса записываются в шестнадцатеричном формате (0x000000 - чёрный, 0xFFFFFF - белый, 0xFF0000 - красный, 0x00FF00 - зелёный, 0x0000FF - синий, 0x555555 - серый и так далее)

Ответить