Тайники ZX Spectrum и как установить вечную жизнь 1994 г.

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


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

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

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

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

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

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

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

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

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

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

4 LOAD""CODE:RAND USR 24500

7 RAND USR 40960

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

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

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

Набрав эту строку, нажмите ENTER - и она займет свое место а программе. Теперь
можно продолжить загрузку (RUN) или записать измененный блок на магнитофон
(SAVEHGOTHIK"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-значное число).

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

Допустим, блок "КОКАМЕ" длиной 15000 (крайняя колонка COPY86/M) загру-
жается с адреса 50000.

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

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

РОКЕ 54321,0

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

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

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

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




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
От авторов - Sinclair CLub посвящен только Спектруму!
Трyднo ли нe быть Бoгom - Стрyгaцких читaли вce. Их нeльзя нe читaть. Eщe их - кaк бecплaтный дoвecoк - нeльзя нe любить. А тo ты - нe интeллигeнт, a чeрт знaeт чтo.
Введение - С мoментa выхoдa пoследнегo нoмеpa мнoгoе изменилoсь.

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