Как взламывать игры Playstation 1, 2 ..и других игр запущенных через эмулятор c помощью ArtMoney?
Прежде всего необходимо понять саму сущность взлома и сущность взлома через ArtMoney. Скажу сразу взлом в данном случае это изменение параметров памяти. Так как это цифровая техника значит мы будем взламывать цифры. 0...и тд не 10101010100001000111 - двоичное преобразование нас совсем не интересует. Более подробно о взломе и тп можно почитать на официальном сайте ArtMoney.
Итак, для взлома необходимо осуществить поиск значения жизней, патронов, событий. зачастую разработчики не мудрят с вычислением и эти данные как правило очевидны в HUD-ax например. Жизнь в виде полоски всё равно имеют числовые значения для расчёта положения полоски. Как правило 100 (100%) , 200 (200%), 150 (150%) иногда значения нужно делить по палам если есть по мимо жизней ещё и броня. ( такие подходы определяются путём долгих проб).
Затем нужно определиться с какими типами значений (по весу) нам нужно работать. Вот небольшая таблица:
----------------------------------------------------------------------------------------------------------------------------------- Тип Диапазон Примечание Целое 1 байт от 0 до 255 Обычно жизнь,количество предметов если их мало Целое 2 байта от 0 до 65535 Обычно жизнь,количество предметов, ресурсы Целое 3 байта от 0 до 16777215 Используются в играх под эмуляторами
Целое 4 байта от 0 до 4294967295 Обычно деньги Целое 8 байт от 0 до 18446744073709551616 Деньги если они измеряются миллиардами С точкой 4 байта от 1.5e-45 до 3.4e+38 Используются в некоторых играх, особенно компании Microsoft
С точкой 6 байта от 2.9e-39 до 1.7e+38 Используется в DOS играх, сделанных на Turbo Pascal С точкой 8 байта от 5.0e-324 до 1.7e+308 Используется в играх Macromedia Flash С точкой 10 байта от 3.4e-4951 до 1.1e+4932 Используется только в математических программах -------------------------------------------------------------------------------------------------------------------------------------
Зелёным цветом я отметил те значения, которые мы будем использовать для поиска. Сюда можно ещё добавить в 1 байтовом значении также могут быть значения True(значение истенно) и False(значение ложно). Такие значения как правило отвечают за режимами, например: Syphon Filter, значение миссия провалена или нет 1 или 0. true или false. 3 байта хотя и включено в таблицу но в PSX редко где используется, так как у плехи ячейки памяти максимум по 2 байта в диапазоне от 00 до FFFF.
*Итак выбрали значение и начинаем поиск..... после поиска нам нужно разобраться в этой куче значений, для этого меняем текущее значение в игре жизней (получаем повреждение), тратим патроны, берём какой нибудь предмет. после используем кнопку "Отсеять" и вписываем туда изменившееся значение. Проделываем операцию отсеивания несколько раз пока не останется пару значений. После, можно поменять значения на новые и заморозить (т.е всегда будет таким на протяжении всей игры) поставив крестик над значением в таблице.
*Немного о взломе PSX игр и Syphon Filter. хотя смысл взлома довольно ясный, я всё-таки расскажу о некоторых аспектах взлома при поиске значений режимов, предметов и других значений. например, провал миссии в Syphon Filter является числом 1. значит искать надо 0, а после провала отсеивать 1. Чтобы зафиксировать это значение с самого начала миссии значение сразу надо установить и заморозить на цифре 1.(провала миссии при этом не будет)
другие значения режимов или слоты оружия могут быть от 3 до FFFF (65535) так например "прибор ночного видения" будет 25, а стандартный режим 9 1 - затемнение экрана как на паузе.
*Маленькая палочка-выручалочка в поисках неизвестных значений. В профессиональной версии ArtMoney(vPRO) есть замечательная функция "поиска неизвестного значения" и отсев на уровне изменилось, уменьшилось, увеличилось или не изменилось
*Перейдём к практике на примере взлома игры Syphon Filter PSX запускаем игру на эмуляторе ePSXe 1.7.0 и выбираем Миссия 6: "Приёмная экспо центра" (Expo Center Reception). Загрузилось, делаем Быстрый Сейв с помощью клавиши F1 . После запускаем ArtMoney. Мы будем работать в профессиональной версии, так как там можно локализовать область значений памяти до 2мегабайт, что полностью соответствует памяти самой Playstation + смещение оффсета становится с 00XXXXXX на 80XXXXXX , что полностью соответствует адресам памяти Playstation.
итак, настроим эмулятор. будем искать одно байтовое значение 0 (false) до провала миссии.
затем делаем провал (убиваем Фагана)
после этого отсеиваем значение 1 (true)
Итак у нас получилось около 192 значений, затем возвращаемся опять в тот момент когда провала миссии у нас нет. Для этого воспользуемся нашим сохранением и жмём F3. Потом отсеиваем значение 0, проваливаем миссию и отсеиваем 1, потом опять F3 и тд. пока у нас не останется самое минимальное количество значений.
в итоге у меня путём отсеивания несколько раз получилось 14 значений, но как узнать какое значение из них именно наше? Путём проб и ошибок. При провале миссии выделите и заморозите все значения на 1. После жмите F3 загружайтесь и проверяйте несколько раз сработало или нет и параллельно снимайте галочки с замороженных значений чтобы определить точно какое из них отвечает за провал миссии. В моём варианте оказался адрес 00A62B44 или 80116B24 по эмулятору.
Итак, заморозим и проверим!
Вот так я прикончил Фагана, а никто "и усом не двинет".
Привет! Хотел подсказать кое-что: 1. У первой PlayStation есть ячейки и 3 байта, и 4 байта целое. Вот с точкой нету. 2. У Nintendo 64 есть с точкой 4 байта, с точкой 8 байт 3. У PS2, DreamCast, GameCube и выше есть всё. У Nintendo DS из переменных с точкой только 4 байта 4. Искать нулевой значение на первом шаге не рекомендуется. Лучше сделать квиксейв в момент провала миссии, далее искать 1, после отсеивать на 0, когда миссия не провалена.
Советую посмотреть этот сайт (на английском, но думаю, для Вас это не проблема): http://gamehacking.org/ И наши видео по ArtMoney http://tv-games.ru/pages/Artmoney/Video.html Поддержка эмуляторов на офсайте: http://www.artmoney.ru/r_download_emul.htm Сорри, если что - не спам:) Буду рад видеть Вас на форуме tv-games.ru.