Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #57, АВГУСТ 2005 г.

Бессмертный отладчик

Иван Скляров

Спецвыпуск: Хакер, номер #057, стр. 057-008-2


Установка SoftIce под VMware

Лучше использовать самую последнюю версию VMware, так как безглючная работа SoftIce во многом зависит от виртуальной машины. В целом установка отладчика в VMware осуществляется точно так же, как в обычной системе. Рекомендую до начала установки в VMware выполнить: File->Install VMware Tools. Но если на гостевой Windows 98SE SoftIce у меня прекрасно устанавливается и работает, то на Windows XP под VMware комбинация <Ctrl>+<D> просто "подвешивала" виртуальную систему. Те, кто ставил когда-либо пакет Driver Studio, знают, что в каталоге \DriverStudio\Books\ размещается документ Using SoftICE.pdf (в инсталляторе от DeMoNiX он отсутствует). В "Using SoftICE" целый раздел посвящен установке SoftIce под VMware: "Appendix E. SoftICE and VMware". В нем рекомендуется добавить в файл с расширением .vmx виртуальной машины следующие строчки:

vmmouse.present = "FALSE"

svga.maxFullscreenRefreshTick = "2"

Эти строчки замечательно решают проблему, что можно подсмотреть на рисунке.

Интерфейс пользователя SoftIce

Экран SoftIce состоит как минимум из нескольких окон. В окне команд расположен курсор, позволяющий вводить команды. В окне кода показывается отлаживаемый код - окно можно открыть и закрыть командой WC. Команда WD открывает и закрывает окно данных, соответственно: WR - окно регистров, WS - окно стека, WW - окно слежения, WL - окно локальных переменных. Можно задавать размер любого окна (количество строк в окне) таким образом: WW 10. В окнах действуют обычные клавиши управления: стрелки, End, Home, PageUp, PageDown и пр. Для перемещения курсора в окно кода и обратно используется комбинация клавиш <Alt>+<C>. Комбинация <Alt>+<D> используется для перемещения в окно данных, <Alt>+<R> - в окно регистров, <Alt>+<S> - в окно стека и т.д.

Загрузка кода в SoftIce

Открыть программу для отладки в SoftIce можно, по крайней мере, двумя способами.

Способ 1. C помощью загрузчика

Для 32-разрядных программ используется загрузчик Symbol Loader (Пуск->Программы->Numega SoftIceNT->Loader 32). В нем во вкладке Open нужно открыть отлаживаемую программу (при этом сервис SoftIce должен быть уже запущен с помощью NTICE.BAT). Затем выбрать пункт Load из меню Module. При этом загрузчик создаст символьный файл (если возможно) с расширением .NMS, в который заносится оттранслированная отладочная информация, загрузит символьные и исходные файлы, запустит саму программу и отобразит ее исходный текст в SoftIce. При этом точка прерывания устанавливается на стартовой функции программы (main, WinMain, DllMain).

Назад на стр. 057-008-1  Содержание  Вперед на стр. 057-008-3