Учебник хакера


S-ICE - часть 24


2 строки. Это - фактическая строка кода и строка кода из исходного файла

с текущей инструкцией.


Еще раз нажмите клавишу F3.



Сейчас мы - в режиме кода. Никакие исходные строки не видны. Инструкция,

находящаяся выше инвертированного видео курсора - инструкция, вызвавшая

останов на диапазон.


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


Теперь исправим ошибку в программе-примере.

Выйдите из программы и вернитесь в командную строку DOS,

введя:

EXIT RD


Загрузите программу снова, введя:

LDR SAMPLE.EXE


Установите окно кода в режим кода, дважды нажав

клавишу F3.

дизассемблируйте неправильную подпрограмму, введя:

U not_space



Сейчас мы используем интерактивный ассемблер Soft-ICE, чтобы решить проблему.


Введите:

A not_space


Soft-ICE выдаст в своей командной строке адрес.

Введите:

NOP

Нажмите ВВОД для выхода из ассемблера.


Обратите внимание, что в окне кода появилась инструкция NOP вместо

перекрытия CS по смещению 003BH.


Нажмите клавишу F3, чтобы вернуться к режиму исходного текста, (исходный

код, конечно, не изменился).

Нажмите ALT D, чтобы запустить исправленную программу-пример.


Нажмите:

Пробел и несколько непробельных клавиш


Работает! Вы исправили ошибку!

Для выхода из программы Jed'а и возврата в DOS, введите:

CTRL C


Теперь мы продемонстрируем другую особенность Soft-ICE.

Введите:

LDR SAMPLE.EXE


Это загрузит программу-пример еще раз.



Введите:

RIP HANG_EXAMPLE


Первые две показанных инструкции:

CLI

JMP $


Обратите внимание, что инструкция перехода указывает сама на себя. Этот

бесконечный цикл обычно необратимо завешивает систему.


Введите:

BREAK ON


Мы только что включили режим BREAK. Режим BREAK заставит систему

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

система в нормальных условиях считается зависшей.


Выйдите из Soft-ICE, нажав ALT D.

Ваша система теперь зависла. Для неверующих, нажмите:

CTRL ALT DEL


Ничего не случилось! Она определенно зависла.



Начало  Назад  Вперед



Книжный магазин