Что появилось в этой версии - shikardos.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Что появилось в этой версии - страница №1/1

Возрадуйтесь, о геймеры и особенно геймерши, ибо сейчас вас научат как делать совершенно потрясающие вещи в играх вроде неразумного количества патронов, денег, очков; бессмертия и многое другое… Проще говоря, это пособие по взлому игр (голос из дальнего темного угла: “и не только!”).

Итак, сначала – чем это делается. Несмотря на достаточно большой выбор садистских инструментов, с полным списком которых при желании можно ознакомиться тут http://cheatsmaximal.net/tools2.php, упоминания заслуживают лишь три – DetectiveStory (далее DS) и ArtMoney, обладающие удобством и русскоязычным (и не только) интерфейсом, и MTC, которая ни того ни другого не имеет, но традиционно считается более навороченной (хотя нужны ли все эти навороты – большой вопрос). Рекомендуется иметь самые свежие версии первых двух программ, так как они взаимодополняют друг друга. Какой из них пользоваться основную массу времени – дело вкуса. Лично я пользуюсь DS как более на мой взгляд удобной и в редких случаях – ArtMoney, так как некоторых её функций нет в DS (а в ArtMoney наоборот нет многих функций DS). Про третью программу можно вообще забыть.

Итак, я буду считать что вы уже проинсталлировали обе программы. Эта статья посвящена принципам взлома, так что если что не понятно с самими программами – вспомните священный принцип, “Если вы перепробовали абсолютно все и ничего так и не помогло, прочтите же наконец инструкцию!!!”. В случае DS инструкция разделена на собственно инструкцию и файл заметок, который вызывается из программы с помощью меню “? –> что появилось в этой версии”.

Окей, сначала зачем надо взламывать игры. Многие делают это потому, что игра кажется им слишком сложной – они её взламывают: делают себе бессмертие или же уйму денег и наслаждаются игрой. Так есть же коды! – скажете вы и будете не совсем правы, в некоторых играх кодов нет, а в других вы их просто не знаете. Наконец, не все в игре можно изменить кодами. Другие же не такие, они сначала абсолютно честно проходят игру, а потом уже её взламывают и развлекаются. Ещё есть праведники, которые якобы не приемлют никакого взлома (ну да это они так говорят) – они видимо будут читать этот материал одни и в темноте, чтобы никто их не заметил :D

Теперь – что в игре можно взломать и как это происходит в упрощённом виде. Взломать можно как правило все что выражается числом или текстом, будь то количество денег, патронов, проценты хелса, время, имя игрока или надписи на кнопках, или что угодно ещё. Как это происходит: программа – взломщик спрашивает у вас в какой программе и что искать. Выбрав свою игру из списка запущенных на данный момент программ, вы приступаете к первому поиску – сообщаете программе что ей нужно искать; скажем, если у вас на счету $123456, то вы ищете 123456. Программа запоминает те места (далее - адреса) в памяти игры, где лежит это число – обычно таких мест получается довольно много. Затем, нам нужно определить по какому конкретно адресу из этой кучи лежат наши [не]праведно заработанные баксы. Для этого число баксов каким-нибудь образом изменяется – скажем, вы можете заработать ещё или же потратить, вот скажем теперь у вас $100000 – и в программе-взломщике выполняется уже отсев: вы говорите ей, что теперь надо отсеивать 100000. Программа смотрит по всем тем адресам что она запомнила (она ну оч-чень терпеливая) и находит те из них, где лежит теперь уже 100000. Вышеописанная операция повторяется, пока количество найденных адресов не перестанет уменьшаться при отсевах (стоит выполнить около пяти для полной уверенности что число адресов перестало уменьшаться) или, в идеальном случае, пока их не останется один-два. Тогда можно вопить “урра!!!” на весь дом и сообщать программе-взломщику, что именно с этими адресами мы хотим иметь дело. Теперь-то наконец можно творить с баксами всё что попало: например сделать их совсем-совсем много (лучше не превышайте числа 2'000'000'000 – или если быть точным 2’147’483’647 - во избежание разных недоразумений с игрой, вы можете скажем получить отрицательное количество баксов) или заморозить число – тогда сколько бы ни тратили, все баксы останутся при вас! Если вы искали текст (отсев при этом как правило не требуется), то можно скажем заменить надписи на кнопках на те, что вам больше нравятся (меня конечно никто не послушает, но я все равно прошу – обойдитесь цензурными словами ;-D )
Теперь самое важное – рассмотрим различные приемы взлома того что взламываться почему-то не желает или же вообще не понятно как это можно взломать.
Часть 1, когда не понятно как искать.

1. Интересующее нас число представлено процентной полоской. Тут все не так плохо как кажется. Делаем прикидку на глаз сколько там процентов и ищем диапазоном (ещё раз напоминаю, читайте инструкцию к программе). Скажем, полоска показывает хелс и на глаз там процентов 50 – отлично, ищем в диапазоне скажем от 40 до 60 (чтобы не ошибиться), затем таким же образом отсеиваем. Если не удаётся найти – попробуйте искать числа с дробной точкой (в ArtMoney это и надо выбрать, в DS – последовательно испытать типы данных float и double, которые отвечают за дробные числа), в данном случае диапазон от 0.4 до 0.6

2. Поиск неизменяемых значений. Пусть например у вашего персонажа много параметров и один из них - например удача - не изменяется, а потому и найти его вы не можете. Делаем так: находим любой другой параметр персонажа, скажем силу, после чего ищем рядом с ним адрес, содержащий искомое численное значение удачи (пользуйтесь например функцией просмотра памяти). Этот метод срабатывает так как абсолютное большинство игр хранят все параметры рядом друг к другу. Этот же метод касается например патронов от разных видов оружия или различных ресурсов в игре Герои3.

3. Теперь рассмотрим поиск наличия. Например, вы заранее нашли адрес с патронами от супермощной пушки, найденной на последнем уровне. И вот вы начинаете игру заново, предвкушая как будете рвать на сувениры первоуровневых тараканов из своей модной ракетницы с ядерными зарядами, ставите себе много патронов и обнаруживаете... что у вас не из чего стрелять! Самое время узнать, что почти всегда программисты (даже такие извращенцы как я) хранят в памяти значение типа "целое 1 байт" (или, что то же самое, "char"), равное нулю в случае отсутствия чего-то и не-нулю (как правило 1) в случае присутствия этого. Вы уже наверняка догадались как теперь нужно поступить. Всё правильно, загружаем сейв где у вас есть ракетница и ищем однобайтовое значение, равное 1. Потом возвращаемся туда где её нет и отсеиваем 0. Снова 1, снова 0 и так до победного.

Есть еще одна весёлая возможность, программа зарегистрирована = 1, нет = 0. Так сделано много программ, которые требуют регистрации. Улавливаете? Вся сложность в том, чтобы найти это значение, ведь оно не изменяется. Но в некоторых случаях это сделать всё же удаётся. Пример - всем известный скринсейвер с рыбками, "Sanches Aquarium". Фишка в том, что он позволяет временную регистрацию. Всё верно вы поняли, запускаем его и ищем однобайтовый ноль. Временно регистрируем и отсеиваем 1. Закрываем его, снова открываем (в программе-взломщике снова выберите для взлома скринсейвер, в DS так точно можно) и повторяем вышеописанные пункты до необходимого результата. Впрочем, этот способ взлома программ бесполезен, так как не дает постоянной регистрации и срабатывает очень редко. Вы дальше читайте ;)

4. Поиск текста (тут вас несомненно ждет нехилая заначка!). Производится он вполне обычным образом, но тут лучше использовать DS. Отсев как правило бесполезен. Поэтому методика отсева такая: переносим все адреса в готовые и по очереди смотрим память по этим адресам (в DS надо кликнуть по адресу правой кнопкой мыши и выбрать соответствующий пункт), удаляя явно не те адреса, то есть когда найденная строка находится внутри другой строки. После этого текст можно изменить на любой другой, НИ В КОЕМ СЛУЧАЕ не превосходящий оригинал по длине. Если новый текст короче, попробуйте дополнить его пробелами.



Часть 2, Что делать если ничего не нашлось.

1. Возможно, нужно искать числа на единицу больше или меньше. Известно, что у всех программистов, в частности у меня, счёт начинается с нуля а не с единицы как у здоровых людей, а посему у вас может быть не три жизни как кажется а четыре - включая нулевую.

2. Ecли вы искали текст, то попробуйте поискать его в UNICODE формате (или в DOS формате, если вы ищете русские буквы в старых DOS-играх)

3.(в случае DS) Попробуйте искать значение в виде "short" если оно не превышает 65535 или в виде "char" если оно не превышает 255. Помните, что если число дробное, то его надо искать в виде "float" или "double".

4. Если после перезагрузки найденные ранее адреса содеджат странные значения или не действуют как должны, найдите для них указатели. Что такое указатели и как их искать отлично написано в инструкции.

5. Случай вредных разработчиков, предусмотревших наше вмешательство и стремящихся омрачить нашу жизнь. Я например встречался со случаем, когда количество баксов хранилось в памяти умноженное на 10 – например игра говорит что у вас $10 а хранит в памяти 100. Лучше всего с этим бороться с помощью поиска неизвестных/кодированных значений (на данный момент поддерживается только в ArtMoney). Отличие от обычного поиска в том что вы не говорите взломщику что ищете, а только говорите увеличилось оно или уменьшилось, либо же вообще – изменилось или нет. Поиск таким методом отнимает очень много времени. Наилучшая на мой взгляд стратегия такова: сначала выполняете первый поиск, затем меняете значение и отсеиваете его как увеличившееся / уменьшившееся / изменившееся – в зависимости от конкретного случая. Затем переходите в игре например в другую комнату, НЕ МЕНЯЯ значения и отсеиваете неизменившееся. Затем по очереди отсеиваете изменившееся (увеличившееся, уменьшившееся) и неизменившееся.

6. Случай, когда надо подумать головой. Скажем, если вы ищете время, то скорее всего ваши попытки найти отдельно минуты и секунды ни к чему не приведут. Попробуйте например искать количество секунд, то есть 60*минуты + секунды. Ещё пример: в GTA3: ViceCity патроны в обойме взламываются легко, а вот запас патронов – нет. На самом деле хитрые разработчики хранят две вещи: сколько у вас в обойме и сколько ВСЕГО, то есть чтобы взломать запас надо сложить патроны в обойме и запас и искать уже это число.
Часть 3, Прочее

1. В DS есть функция сохранения игры, впрочем на момент написания статьи немного ограниченная. Работает она только под WinME, Win2000, WinXP и более новых системах. Она позволит вам сохраняться где попало, но к сожалению только в рамках одного запуска игры (это значит что закрыв игру вы теряете все сэйвы от нее) и нередко всего лишь в рамках одного уровня. Казалось бы, что это дает? А вот что. Во-первых, в некоторых играх сохраняться можно лишь в специально отведенных местах или ограниченное количество раз – а так хочется сохраниться где не положено!.. Или же все еще хуже и сохранение вообще не предусмотрено. Примеры – Quake3, Unreal Tournament и даже... Обычный сапер! Вот в последнем нас поджидает эффектный сюрприз... Запустите игру. Кликните куда-нибудь один раз, в первой клеточке мины нет никогда. Сохраните игру. Вот теперь взорвитесь, то есть намеренно кликайте куда попало пока не попадете на мину. Отлично. Важный момент: разместите окна DS и сапера так, чтобы они не накрывали друг друга. Теперь загружайтесь. Казалось бы ничего не изменилось? Не спешите разочаровываться. На самом деле игра загрузилась, просто сапер об этом еще не знает :) Вы можете спокойно отметить все мины, щелкнув по ним как обычно правой кнопкой мыши – они нарисованы на экране, но на самом деле еще не открыты! Отметив все мины, сверните окошко сапера (или загородите его другим) и разверните назад – все лишнее при этом очистится и вы сможете открыть пустые клетки, это необходимо для победы. Можете спорить с друзьями что откроете все мины в сапере со второго раза! Почему со второго? Потому что в первый раз, до загрузки, вы все же взорвались.



2. Опять же, в DS можно ставить игру на паузу сочетанием клавиш – это удобно, так как не все игры ставятся на паузу, а иногда хочется просто попить чаю :)
Ну вот и все на сегодня. Теперь всем кто того не хочет больше не придется терпеть безобразия вроде нехватки патронов и денег... Засим и прощаюсь.
По любым возникшим вопросам смело обращайтесь ко мне, homo_programmatis@rt.mipt.ru
HOMO_PROGRAMMATIS aka Милославский Александр Игоревич