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



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

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



Содержание  Назад  Вперед