Ломать не строить: действуем. Часть 2

Posted by Anuriel on июля 30, 2001 - 00:00

Вы, конечно, читали мою предыдущую статью из "читерской" серии в прошлом номере "ВР"? Как нет? Тогда бегом читать — или к нам на сайт (http://www.nestor.minsk.by/vr) или в бумажном варианте. А если "да", то вы помните, что там было довольно много нудной (правда, небесполезной!) теории — все, эта самая теория закончилась, закончилась в прошлой статье. Теперь мы переходим к практике!

Сегодня будем заниматься прописыванием некоторых значений по некоторым адресам с использованием некоторых шестнадцатеричных редакторов для получения некоторых полезных эффектов в игрушках. Ну, а тех некоторых индивидов, кому непонятно, что это такое, я с радостью отсылаю в предыдущую статью. Также мы рассмотрим некоторые небесполезные начинающему гейм-крякеру программки. Неплохо было бы запастись Интернетом — для каждой программы, описанной ниже, я буду давать ссылку на сайт в Интернете, откуда ее можно скачать. Ну, что, надеюсь, с Интернетом проблем нет? Кто сказал "есть"? Тем, у кого Интернета нет и в ближайшем квартале не предвидится, советую приобрести диски с набором разнообразного "софта" по теме. Также некоторые шестнадцатеричные редакторы могут "пробегать" и на серьезных сборниках софта вроде "Минска Platinum" и т.п. Короче, кто ищет, тот всегда найдет.

Итак, для работы сегодня будут использоваться: UltraEdit 32 8.10 ( http://www.ultraedit.com ), HEdit ( http://www.yurisw.com/hedit/), Hex Work-shop 3.02 ( http://www.bpsoft.com ) — эти три программки, в принципе, взаимозаменяемы и достаточно достать лишь одну. На мой взгляд, самая "навороченная" — Hex Workshop, потом UltraEdit, потом Hedit, но не стоит гнаться за навороченностью, ибо программки будут использоваться не для сложного хакинга, а для банальной замены байт по некоторым адресам. Также чуть ниже будет рассмотрен взлом игр с помощью программки ArtMoney ( http://artmoney.boom.ru ) — эта прекрасная русскоязычная программа позволяет легко и просто ломать игры для получения бесконечных денег и ресурсов. Для опытов с шестнадцатеричным редактированием будем использовать игрушки Starcraft, Mortal Kombat 4, DX Ball 2 и Mechwarrior 3. ArtMoney проверим на Heroes Of Might And Magic 3, StarCraft, GTA2 и Emperor. Все это лишь примеры, так что в будущем, глядя на мои изыскания, вы сможете ломать игры ArtMoney-ем самостоятельно, безо всякой левой помощи. Итак, поехали.

Сначала разберемся со StarCraft. Пользователи полных версий наверняка сталкивались с такой проблемой, как непризнаваемость StarCraft-ом диска под Win98. Чтобы решить ее, обычно просто заменяли файлик cdfs.vxd из папки windows\system\iosubsys на такой же из под Win95. Мы же поступим по-другому — будем править файл storm.dll (в директории со StarCraft-ом). Чтобы излечить "стар" от проблемы нераспознавания диска под Win98, нужно в storm.dll последовательность C1 E9 10 33 C8 поменять на 66 B9 00 1F 90. 

Открываем редактор (любой из вышеперечисленных). Теперь, идем в File/Open (эта менюшка есть в каждой программе) и открываем storm.dll в папке со StarCraft-ом. Теперь последовательность действий для UltraEdit-а: нажимаем Alt+F3 и в открывшемся окошке в поле "Find What" пишем "C1 E9 10 33 C8". Больше никаких кнопочек не трогаем, нажимаем "Find Next". Теперь вы должны увидеть подсвеченную желтым строчку, а на ней черным выделена искомая последовательность. Обычно она находится по адресу 000188e0h (адрес слева, перед двоеточием, на каждой строке). Щелкаем мышкой по первому "C1" значению и начинаем просто набирать с клавиатуры "66B9001F90" (разумеется, без скобок:). 

Пробелов не ставим, программа сама переносит курсор. Ну что, заменили? Все правильно сделали? Отлично, тогда давим Ctrl+S на клавиатуре, выходим из UltraEdit-а и наслаждаемся:). Теперь для Hex Workshop-а. Файл открыт, нажимаем Ctrl+F. В открывшемся окошке в поле Value пишем "C1E91033C8". Опять-таки, найденная строчка подсветится черным. Снова щелкаем мышкой по первому значению ("C1") и вводим желаемые значения без пробелов: "66B9001F90". Проверив правильность ввода, жмем Ctrl-S. Если ошиблись — поправьте. В Hedit все так же стандартно: когда откроем файл, нажимаем Ctrl+F, в открывшемся окошке в поле "Hex" вводим уже набивший оскомину "C1E91033C8". Далее все аналогично описанию для предыдущих программ... Более-менее ясен общий принцип? Я рад. Не ясен? Перечитайте еще раз...;)

Хорошо, если последовательность байт длинная и она единственная. А если таких байтов штук сорок? Тогда нужно смотреть на адреса. Например, для того чтобы "отучить" MK4 от постоянных требований компакт-диска, нужно по адресу 000С3025 поменять 74 на EB, а по адресу 000C3026 поменять 3E на 34. В Ultra-Edit-е и Hedit-е просто крутите файл, пока в адресах слева не промелькнет 000С3020h. Остановитесь, и в строчке с этим адресом найдите 74 и поменяйте 74 на EB. В следующем байте 3E меняем на 34. Вот и все, осталось лишь сохранить файл. В Hex Workshop-е нажимаем Ctrl+G или заходим в Edit/Goto. В открывшемся окошке жмякаем по кнопке "Hex", в поле "Offset" пишем искомый адрес и давим "Go". Только почему-то программка ошиблась и зашвырнула меня дальше, чем нужно. Ну и ладно. Немного отмотав назад, я увидел желаемый адрес и поправил все, что надо. Для тренировки советую побаловаться с Dx-Ball-ом 2. Обычно пользователь может добавлять лишь по четыре уровня в набор — чтобы исправить сию несуразность, откройте DXBALL2.EXE и исправьте последовательность 1B C0 83 E0 60 83 C0 04 на 8B C1 90 90 90 90 90 90. В MechWarrior-е 3 можно сделать себе бесконечные патроны — для этого поменяйте значения 2B C2 по адресу 004AD5A4 на 90 90. Чтобы отключить перегрев, по адресу 004174B1 вместо 89 AE 60 05 00 00 пропишите C7 86 60 05 00 00 00 00 00 00, и по адресам 004174BB и 004174BC пропишите 90. Работает? То-то. Если не работает, то попробуйте еще раз, и посмотрите, правильно ли вы все сделали. Ну вот, все, что я хотел вам рассказать о работе с шестнадцатеричными значениями, рассказал. Теперь рассмотрим программку ArtMoney, довольно мощный инструмент для взлома игр на предмет золота, денег и прочих вкусностей. Скачиваем программку, ставим ее, запускаем. Теперь запускаем игру, которую желаем "сломать", входим в игру и запоминаем значение параметра, который хотим поменять. Например, запоминаем в StarCraft-е количество минералов и ставим игру на паузу (впрочем, можно просто нажать Alt+Tab). Теперь, не выходя из игры, запускаем ArtMoney, если он не запущен, либо просто переключаемся в него. В выпадающем списке "Выбери процесс:" выбираем "процесс" игрушки. Почти всегда он называется точно так же, как и сама игра. Жмем кнопку "Искать". В открывшемся окошке выставляем (сверху вниз) "Точное значение", количество ваших денег на данный момент, "Ваш набор". Как только вы щелкните по "Ваш набор", откроется небольшое окошко. "Порядок байтов" поставьте "нормальный" — в случае, если в других играх ничего не будет находиться, попробуйте поменять значение в этом поле. Слева оставьте галочку только в поле "Целое 4 байта" — опять-таки, если ничего не находится, то побалуйтесь с разными кнопками слева. Нажимаем "Ок", потом снова "Ок". Пошел поиск — скорость зависит только от скорости вашей машины. 

На моем Duron 650/128MB PC100 DRAM и в случае со StarCraft-ом, и с "Героями" и с GTA2 он занял не более 10 секунд. В поле слева появится много разных данных, адресов и типов. Нужно отделить зерна от плевел, то есть ненужный отстой от заветной ячейки, в которую "прописываются" деньги. Возвращаемся в игру, добиваемся того, чтобы нужное значение поменялось, запоминаем его и ставим игру на паузу. Alt+Tab, входим в ArtMoney. Жмем "Отсеять", и в поле "Значение" прописываем новое значение. Заметили, что после отсеивания количество адресов слева уменьшилось? То-то. Продолжаем отсеивать до победного конца, то бишь до тех пор, пока не останется всего один адрес (правда, в StarCraft-е у меня не отсеивались четыре или пять адресов, поэтому я использовал самый верхний) — его мы должны добавить в список изменяемых. Для этого щелкните по адресу слева и нажмите кнопку с красной стрелкой. Вуаля — адрес перенесся вправо. Теперь, щелкнув по нему правой кнопкой, вы можете делать с ним все, что захотите: заморозить (типа чтобы деньги не кончались;), подставить любое значение (только не переусердствуйте — можете "повесить" игрушку) и т.п. Забавляйтесь в свое удовольствие;). Еще один небольшой совет относительно ArtMoney: если игрушка не хочет переключаться в Windows по Alt+Tab, то зайдите в настройки ArtMoney и установите "горячую клавишу" (я рекомендую F12) — теперь по нажатии ее вы спокойно попадете в ArtMoney для измывательств над игрушкой. Вот, в общем-то, и все, о чем я хотел сегодня вам поведать. Не очень много, но и не мало — в следующем номере я расскажу об очень многих программах, облегчающих нечестному игроку жизнь, а также поделюсь линками на полезные сайты Сети по данной теме. Жду ваших комментариев, вопросов и предложений на свой электронный адрес. До встречи в следующем номере.

Щетько Николай АКА Nickky

№ 19
Яндекс.Метрика