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


S-ICE - часть 94


Soft-ICE и отменить режим BREAK Soft-ICE.


11.2 Пользовательские Точки Останова


Время от времени вам может требоваться очень специфический набор условий

точки останова. Если специальные условия требуют ввода значений регистров или

памяти, вы можете написать подпрограмму спецификации точки останова.



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

подпрограмм спецификации точек останова: команду ACTION. При использовании

команды ACTION, Soft-ICE может перенаправить все точка останова на специальный

вектор прерывания. Однако, до перенаправления точки останова, в память должна

быть помещена подпрограмма спецификации и вектор прерывания должен указывать

на подпрограмму спецификации.


Все регистры идентичны значениям во время выполнения останова Soft-ICE.

Сохранение и восстановление регистров лежит на ответственности подпрограммы

спецификации. Если ваша подпрограмма спецификации обнаруживает соответствие

условий точка останова, она может выполнить множество действий. Вот некоторые

примеры полезных действий, которые подпрограмма может выполнить, когда

обнаружено соответствие:


* сохранить информацию на будущее

* послать информацию прямо на принтер или последовательный

терминал

* выполнить команду INT 3, чтобы вызвать Soft-ICE

Команда I3HERE должна быть включена, чтобы

INT 3 вызывал Soft-ICE (см. часть 5.4).


Если условия не выполняются, подпрограмма спецификации должна выполнить

команду IRET. Подведем итог:


1. Создайте подпрограмму спецификации точки останова в вашей

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

Подпрограмма должна сохранять регистры. После проверки

желаемых условий, подпрограмма может выполнить либо INT 3,

чтобы вызвать Soft-ICE, либо IRET, чтобы продолжить исполнение.

2. Направьте неиспользуемый вектор прерывания на вашу подпрограмму

спецификации. Это может быть выполнено либо из вашего кода

либо из Soft-ICE.



3. В Soft-ICE установите ACTION на номер-прерывания, который был

использован, чтобы указывать на вашу подпрограмму спецификации.



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



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