ZX-Ревю 1994 №2 1993 г.

Читатель- читателю - Аппаратныый метод взлома с использованием немаскируемого прерывания.


АППАРАТНЫЙ метод взлома с использованием

НЕМАСКИРУЕМОГО ПРЕРЫВАНИЯ.

© Павленко С.В., г. Севастополь.

Этот метод позволяет прерывать программы в кодах, дизассемблировать блоки кодов, изменять некоторые ячейки и восстанавливать дальнейшее прохождение программы. Частным случаем может служить поиск "бессмертия", остановка времени, замена оружия и так далее.

Сам процесс представляет собой загрузку монитора ("ковырялки") под ПЗУ с магнитной ленты по команде LOAD "" CODE (0000H-3FFFH). Далее нажимается клавиша NMI и проверяется правильность работы монитора. После команды EXIT управление передается Бейсику и можно загружать программу, которую необходимо взломать (игру). Во время возврата монитор сам установит конфигурацию, которая будет препятствовать стиранию монитора в ОЗУ под ПЗУ.

После загрузки и запуска игры остается, когда необходимо, нажать кнопку NMI и осмотреть всю память. Это позволяют различные функции монитора. Если надо возвратиться обратно в игру, набираем EXIT и продолжаем играть.

Практика показала, что если очень часто останавливать программу, то она может и "вылететь". Но в среднем, без особых потерь можно ее останавливать до десяти раз.

Листинг_1.

Сохранение значения акк. на стеке. Переключение ОЗУ и ПЗУ.

Сохранение HL на стеке. Переход по адресу, который задан как адрес перехода по ошибке. Восстановление HL со стека. Восстановление акк. и возврат в программу (переход с ОЗУ на ПЗУ желателен здесь).

Монитор ("ковырялка") - это творческая переработка мной и еще несколькими ребятами "Монитора 48К", сохраняет экран и все регистры процессора и размещена вместе со стеком и рабочими ячейками по адресу 0000H-3FFFH. Он позволяет дизассемблировать, искать, запоминать найденные ячейки и еще ряд удобных функций.

Для установки данной системы на своем компьютере необходимо сделать несколько операций. Для примера это показано для "Ленинграда-1".

1. Перешить участок памяти в ПЗУ.

2. Смонтировать кнопку NMI с антидребезговым устройством.

3. Смонтировать дополнительный переключающий порт.

1. При воздействии на вывод NMI=0 процессор передает управление на адрес 0066. ПЗУ необходимо перепрограммировать с введенными изменениями. Перешивка ПЗУ не приведет к побочным явлениям. Если у Вас есть ПК "Орель", данное изменение производить не надо, так как оно уже сделано см. Листинг_1.

0066

F5

PUSH

AF

0067

3E02

LD

A, #02

0069

D37F

OUT

(#7F),A

006b

E5

PUSH

HL

006C

2AB05C

LD

HL,(#5CB0)

006F

E9

JP

(HL)

0070

E1

POP

HL

0071

F1

POP

AF

0072

ED45

RET

N

2. Антидребезговое устройство предназначено для формирования одиночного отрицательного импульса для подачи на вывод NMI.

3. Дополнительный переключающий порт - самая ответственная часть переделки. Показан вариант для "Ленинград-1". В "Орель" необходимо сделать частичную переделку (защиту от записи под ПЗУ). Для других вариантов необходимо выполнить порт следующим образом.

Д15

D2 555ТМ5

D21-D28 К565РУ5Г

D4.2

RD.'WR-

Этот порт имеет адрес 7FXXH и структуру, показанную в Таблице_1

Таблица_1.

Бит

Назначение

D0

D0=0 - работа с ПЗУ1; D0=1 - работа с ПЗУ2.

D1

D1=0 -в адресах 0000H-3FFFH находится ПЗУ; D1=1 -в этих адресах ОЗУ.

D2

D2=0 -в ОЗУ 0000H-3FFFH разрешена запись; D2=1 -в ОЗУ в эти адреса запрещена запись.

D3-D7

Не используются.

Некоторые варианты загрузки в порт и возникающая конфигурация при этом приведены в Таблице_2. _Таблица_2.

DATA

Конфигурация и применение

00Н

ПЗУ1. Включается основное ПЗУ, стандартная версия.

01Н

ПЗУ2. Включается альтернативное ПЗУ (другая версия).

02Н; 03Н

По адресам 0000H-3FFFH находится ОЗУ, запись в него разрешена, ПЗУ - отключено, работает монитор, копировщик 64К, редактор 64К или др. программы.

04Н

ПЗУ1. Подобно 00Н, но запись в ОЗУ по адресам 0000H-3FFFH запрещена. Конфигурация при взломе программ, когда они работают и могут записывать в адреса ПЗУ.

05Н

ПЗУ2. Аналогично 04Н, но для ПЗУ2.

06Н; 07Н

По адресам 0000H-3FFFH находится ОЗУ, но запись в него запрещена. Позволяет записать и запустить новую версию ПЗУ. Данное ОЗУ ведет себя подобно ПЗУ.

Внимание! Возможно вместо ПЗУ1 16К поставить ПЗУ1 2К с записанной версией загрузчика, который позволяет загрузить ОЗУ с магнитофона и переключить страницы.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Игрушки - Приключения Винни Пуха. Часть вторая.
B.B.S. Новости - О работе B.B.S.'ок.
Открытые письма Nemo №6.277
Scene - leet?! Определения элитного "сценера".
Part 11 - Spectrum history (part 3).

В этот день...   21 ноября