Тайники ZX Spectrum и вечная жизнь в 600 играх 1992 г.

Глава 9 - использование "адресов бессмертия".


ИСПОЛЬЗОВАНИЕ "АДРЕСОВ БЕССМЕРТИЯ"

Для пользования справочником "адресов бессмертия" желательно:

- знать хотя бы немного язык Бейсик;

- иметь представление о различных типах файлов;

- уметь пользоваться монитором - дизассемблером;

- владеть программированием в машинных кодах.

Если Вы все это знаете, то инструкции Вам не нужны. Если нет - читайте дальше.

Простейший случай. Например, игра "GHOTIK". Вы набираете команду "LOAD" и наблюдаете за-
грузку первого блока программы (с бейсик - блока начинается практически любая и каждая программа в
наше время, хотя раньше было не так). Сначала появляется "тельняшка" на рамке, затем возникает название
игры, снова "тельняшка" - и беспорядочные цветовые полосы, помелькав, исчезли. Теперь нажмите клави-
шу BREAK.

Все замерло. Нажимаете LIST и ENTER (в дальнейшем помните, что ENTER завершает ЛЮБУЮ
команду). Если текст программы не возник на экране, дайте команду INK 9 и снова LIST. Теперь Вы видите
текст бейсик-блока:

2 PAPER NOT PI: BORDER NOT PI: INK NOT PI: CLEAR 24999

4 LOAD "" CODE: RANDOMIZE USR 2 4500

7 RANDOMIZE USR 40960

В строке 3 первые три команды из четырех должны были помещать Вам прочитать текст - Вы пре-
одолели их командой INK 9.

Теперь можно вносить изменения. Перед последним стартом программы (строка 7) надо внести же-
ланные изменения:

6 РОКЕ 41233,0: РОКЕ 41318,0: РОКЕ 43936,0

Набрав эту строку, нажмите ENTER - и она займет свое место а программе. Теперь можно продол-
жить загрузку (RUN) или записать измененный блок на магнитофон (SAVE"GOTHIK"LINE 3).

Не всегда так легко прочитать текст программы - он может быть защищен от просмотра. Есть не-
сколько распространенных способов защиты:

- блокирование BREAK;

- блокирование MERGE;

- использование управляющих кодов.

Кроме того, преодолев защиту от просмотра, можно натолкнуться на защиту от редактирования
(нулевой номер строки и т.п.). Подробно это рассмотрено в соответствующей литературе ("Тайники ZX
SPECTRUM"), но один простой прием можно рекомендовать. Воспользуйтесь копировщиком COPY86/M.
Считайте в него бейсик-блок игры и просмотрите (клавиша "В" - для просмотра, "Y" - для перелистывания
-скроллинга). Если Вам полученный текст более - менее понятен, стоит попытаться. Нажмите "R" - с бей-
сик - блока будет снят автостарт. Теперь запишите этот файл на магнитофон, обнулите машину и введите
записанный файл командой LOAD "". Программа не стартует и позволит себя просмотреть командой LIST
(если не были применены управляющие коды). Вносите изменения как описано выше.

Бывают бейсик-блоки защищенные от вмешательства и редактирования. В этом случае нужно либо
искать эту защиту и снимать ее, либо пойти другим путем. Допустим, изменение надо внести в ячейку
54321,0. Загрузим игру (целиком) в копировщик COPY86/M и найдем, какой блок (файл) перекрывает со-
бой эту ячейку. Блоки грузятся либо командой LOAD "name" CODE, либо LOAD "name" CODE Address. В
первом случае адреса загрузки кодов берутся из заголовков файлов - их отражает средняя колонка чисел на
табло копировщика COPY86/M.

Во втором случае адрес загрузки блока - это Address (5-значное число).

Главное, внимательно просмотрев бейсик-блок, понять, какой блок какой командой загружается.

Допустим, блок "NONAME" длиной 15000 (крайняя колонка COPY86/M) загружается с адреса

50000.

Теперь пришла пора использовать копировщик COPY-COPY (или Pirate02). Загрузив его, дайте ко-
манду

LOAD AT 49983

и считывайте в него с магнитофона блок "NONAME". Почему 49983 ? Потому что заголовок блока имеет
длину 17 байт и тоже считывается в копировщик - вдруг Вы пожелаете его изменить ? Итак, 50000 - 17 -
49983. Теперь последнее:

РОКЕ 54321,0

Осталось сохранить измененный блок на магнитофоне.

В справочниках указывается не только РОКЕ, но и адрес загрузки блоков в копировщик COPY-
COPY, особенно когда эти блоки "безголовые" (без заголовков). Такие блоки загружаются только програм-
мой в машинных кодах, и адрес их загрузки иногда трудно определить. При загрузке "безголового" файла
не надо отводить 17 байт под заголовок.

Возможно, самая неприятная, хотя и не самая главная, трудность - система распо-странения про-
грамм на рынке. Любой человек, торгующий на рынке программами, волен делать с ними все, что угодно.
Авторского права фактически нет. И не составляет особого труда любому начинающему программисту пе-
рекорежить программу, "украсив" ее своим именем и телефоном (своим ли ?). Хорошо, если после этого
программа еще и работает, но "адреса бессмертия" могут уже к ней не подходить. Поэтому, для некоторых
игр дано несколько вариантов адресов - для нескольких известных вариантов игры.

Но, как показывает практика, в четырех случаях из пяти попытки вставить "адрес бессмертия" уда-
ются. Так смелее! Хакер (взломщик) вышел на тропу войны!

БЕССМЕРТИЕ, НЕПОБЕДИМОСТЬ И ДРУГИЕ ПОЛЕЗНЫЕ ВЕЩИ.

Если указана команда РОКЕ, значит надо изменить загрузчик. Если не указана, возможно, придется
применить программу COPY-COPY в зависимости от Вашей версии игры.




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Поспорить с Арбитманом - Открытое письмо Роману Арбитману.
Сделай сам - схема многоголосового имитатора звуков.
Юмор - Высказывания офицеров.
Обратная связь - контакты редакции.
Новинки - Черный Ворон с новыми миссиями, The Cezar, Net Walk 1998, Работы с DI:HALT'99, RUsH #2 1999.

В этот день...   2 мая