Игру Zuma 4

Хоть вопрос и не ко мне, но вставлю свои 5 копеек. Про артмани лично я узнал много после того, как начал исследовать приложения. Причем узнал от программиста 1С-ника, который долго и радостно его пользовал (не для профессиональных целей, конечно). После того как скачал, сразу же с радостью купил себе лицензионную копию, настолько оно мне облегчило жизнь.

4.21 1 1 1 1 1 (Оценок игры 623) Управление в игре: Похожие игры: Зума. Название: Зума Делюкс Год: 2003 Жанр: казуальная игра Разработчик: PopCap Games Framework Платформа: PC. Играть онлайн бесплатно в мини игру на ПК Флеш игра Зума, жанр Логические, размер флеш файла 4.9 Мб, добавлена пользователем boni 5 июня 2012.. Забавная игрушка с цветными шариками, которые нужно уничтожать при помощи шариков аналогичного цвета, вылетающих из рук мишки в центре игры, играть онлайн бесплатно 'Флеш игра Зума'. Об игре Зума - Зомби: Срочно! Зомби в линии атаки вашего дома. Малый-огонек и Водная тёлочка 4 Кристалл в Храме. Лучшие новые.

Потому как до того писал сомнительного качества приблуды, которые останавливали выполнение программы и выполняли поиск, примерно как описано у bioskiller. Пароль там «ломается» вообще без отладчиков, дизасмов и т.д., буквально на бумаге и «железной» приставке (где в ROM не посмотришь в принципе), путём сравнительного анализа паролей с минимальными отличиями. Тем более что в игре есть масса способов быстро собрать приличное количество паролей с минимальными отличиями ничего не проходя вообще — выбираем разную сложность, одинаковых гонщиков, машину, цвет = локализовали биты отвечающие за сложность. Аналогично с гонщиком, цветом машины и машиной (всего 2, но хоть что-то) — фиксируем все параметры кроме интересующего, его меняем и собираем пароли с экрана опций.

Таблица символов — классическое для сеги 5 битовое кодирование (B=0=00000, C=1=00001,!=31=11111). Деньги легко отломать используя такие факты: на трассах есть money power up дающий 1000$, гонку можно завершить досрочно в паузе (с засчитыванием поражения), если не собрать достаточно очков за все трассы, то нас кинут опять проходить текущую планету и дивизион сначала, однако обновят пароль на экране опций. Мы просто подбираем 1000$ на любой трассе и взрываемся через паузу во всех гонках пока нам не скажут что гонки окончены, идём на экран опций и получаем пароль. Деньги хранятся там достаточно своеобразно.

Понятное дело что суммы кратны 1000$, т.е. 99000$ будут храниться как 99, однако там хранится каждая десятичная цифра отдельно в виде 4х битов, что позволяет делать «заэкранные» деньги вплоть до 15.100+15., т.е. Гонщик кодируется 3мя битами, т.е.

Можно закодировать 8 гонщиков, однако на экране выбора игроков их меньше что наводит на мысли. Таким образом нашёл пасхалку от Blizzard — отсыл к замечательной игре Lost Vikings — можно гонять за викинга Olaf'а:) Ещё одна комбинация битов кодирующих гонщика вызывает забавный сбой игры — чёрный экран, однако можно выбирать опции вслепую и играть. Аналогичные сбои вызывают «нелегальные» коды цветов машины (часть из них кодирует синий цвет) и самих машин (невидимая/взрывающаяся машина). Вообщем, есть где развернуться, главное выяснить как модифицировать биты чтобы игра принимала пароль.

Первые 16 бит пароля (т.е. Целиком первые 3 символа + 1бит из 4го символа) — проверочные, остальные — информационные.

Игру

Алгоритм вычисления проверочных бит простой — xor. Если мы изменили 17й бит пароля (он же 1й информационный бит (отвечает за сложность)) на противоположный (не важно 0-1 или 1-0), то нужно изменить и 1й бит (1й проверочный). Вообщем, взяв любой верный пароль и применяя алгоритм «улучшения» можно сгенерировать любой пароль. Ну и есть куча готовых генераторов пароля (с исходниками) к этой игре на разных языках, например на (исходник «подсматривается» в тексте страницы). Вообщем-то игры на Sega с генерируемыми паролями можно разделить на 2 категории — в одних можно «ломать» пароль «на бумаге» методом анализа паролей с минимальными отличиями (Rock'n'Roll Racing, Prince of Persia, Herzog Zwei, Jurrasic Park, Road Rash 2,3, Centurion), т.к. Алгоритмы кодирования примерно похожи и зависимость между битами легко устанавливается «на глаз» при достаточно большой выборке паролей, равно как и механизм вычисления проверочных битов.

В других же играх применяются несколько более сложные алгоритмы, которые на бумаге так просто не сломаешь. Например Zero Tolerance, True Lies, Power Monger, Syndicate, Soldiers of Fortune. Вот тут и пригождается возможность ковыряться в ROM'е, отладчик (есть эмуляторы со встроенным отладчиком, например ) и дизассемблер. Ну не ерундой. В процессе разбора у меня происходит изучение asm'а, т.к. Пока постоянно подсматриваю в документацию.

Плюс всплывают всякие ньюансы, например что M68000 — «тупоконечный» процессор, а intel — «остроконечный», потому при переносе алгоритма с одного на другой циклический сдвиг влево пришлось заменять сдвигом вправо и наоборот, дабы алгоритмы давали идентичный результат. Плюс приятно самому обнаруживать скрытые возможности в игре. Хоть порой и кажется, что всё ломано-переломано, однако это не совсем так.

Зума

Игру Zuma 400

Вот например в которой автор нашёл «секретный» пароль, не опубликованный в интернете. Сам не так давно на жёстко «зашитые» пароли в Power Monger, которые не гуглятся. Да, написал Dll используя Microsoft Detours. Потом с помощью CreateRemoteThread инжектил в процесс. По поводу DllMain Вы тоже угадали. Что касается декларации, то дело обстоит таким образом: Microsoft Detours вставляет своего рода трамплин(в их терминологии) в код процесса. Трамплин выглядит примерно как jmp hookfunctionaddres, заменяя им 5 байт кода исследуемой программы.

Игра Лягушка Зума

Я объявляю функцию как naked, чтобы компилятор не генерировал для нее ненужного, типа выхода по ret. Пишу там все что мне надо, затем перехожу джампом обратно. Это позволяет перехватить не только в начале функции, а вообще где угодно в коде. Адрес кода который перехватывается взялся из цикла где перебираются шарики. (последний скрин перед видео). Вспомнил своё самое начало двухтысячных. Правда не с играми возился, а с софтом, ибо инета не было и денег у школьника не было, но очень хотелось (: Никогда не забуду свой самый первый опыт — поиск серийника UniVBE.

Игру Zuma 4 0

Россыпь серийников просто была вшита в бинарик (: Hiew и внимательность сделали своё дело! Правда потом такой халявы уже не обламывалось А ещё вспомнил как пользовался программой типа артмани (или именно ею, много тогда таких было) и одим солдатиком в StarCraft валил армии. Бессмертие — оно такое!