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


S-ICE - часть 101


и исходные файлы под DOS или в DOS-совместимом режиме вашей

операционной системы.



ГЛАВА 13



13.1 Активизация Других Отладчиков


Soft-ICE работает с большинством других отладчиков, пользуясь преимуществами

отладочного прерывания семейства 8086 (INT 3). Большинство отладчиков

используют однобайтовую команду INT 3 (CCH) для выполнения точек останова.

Целевая команда заменяется на INT 3. Когда выполнение достигает целевого

адреса, управление передается обработчику INT 3 отладчика. Затем отладчик

заменяет (CCH) на первый байт первоначальной команды.


Когда выполняются точки останова Soft-ICE, в зависимости от команды ACTION,

может произойти одно из нескольких событий. Обычно при использовании Soft-ICE

с другим отладчиком, ACTION устанавливается на INT3. Когда выполняется условие

останова, Soft-ICE передает управление главному отладчику при помощи эмуляции

INT 3.


Некоторые отладчики могут работать неправильно при эмуляции INT 3. Для этих

отладчиков обеспечены две другие опции ACTION. Это - INT1 и NMI.

INT 1 - пошаговое прерывание семейства 8086. Большинство отладчиков будут

обрабатывать незапрашиваемый INT 1 как точку останова. NMI поддерживается

большинством отладчиков как средство выхода из зависания. Эти отладчики были

разработаны для аппаратных переключателей выхода, которые производили

немаскируемое прерывание. Когда ACTION установлено на NMI, Soft-ICE эмулирует

немаскируемое прерывание (Interrupt2). CODEVIEW работает лучше всего с ACTION,

установленным на NMI.


13.2 Основы Виртуальных Машин


Магия Soft-ICE стала возможной из-за возможностей виртуальной машины

процессора 80386. Soft-ICE выполняется в защищенном режиме 80386 и

управляет окружением DOS. Схема защиты 80386 дает Soft-ICE полный

контроль над окружением DOS, в то же время защищая его от "капризных"

программ.



Как генерируются точки останова Soft-ICE?


Soft-ICE использует три разных возможности 80386 для создания точек останова:

* Точки останова на ячейку памяти используют регистры



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