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

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

Иван Скляров

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


Внизу экрана SoftIce всегда можно посмотреть подсказки по синтаксису команд.

Команды SoftIce

Основными командами SoftIce, без знания которых невозможна полноценная работа, являются:

BL - просмотреть список установленных бряков (каждый бряк имеет свой номер).

BC [номер бряка] - удалить бряк с определенным номером. Если вместо номера бряка указать звездочку, будут удалены все бряки. Пример: BC *.

BD [номер бряка] - сделать неактивным бряк с соответствующим номером (в списке он будет помечаться звездочкой). Пример: BD 5.

BE [номер бряка] – команда, обратная предыдущей.

Клавиша F8 (аналог команды P) - шаг трассировки с заходом в функцию.

Клавиша F10 (аналог команды T) - шаг трассировки без захода в функцию.

D [адрес], DW [адрес], DD [адрес] - показать содержимое памяти в окне данных (байт, слово, двойное слово) по указанному адресу.

E [адрес] [данные] (EW или ED) - изменить содержимое памяти (байт, слово, двойное слово) по указанному адресу. Пример: E edx 33 - записать байт 33 по адресу, хранящемуся в регистре edx.

R [регистр] [данные] - записать новое значение в регистр. Пример: R eip 50E5B8.

R FL [флаг] - инвертировать значение флага. Пример: R FL Z.

U [адрес] - показать ассемблерный листинг программы в окне кода начиная с указанного адреса. Пример: U 401000.

S [адрес L длина список-данных] - поиск данных в памяти. Пример: S 0 L -1 "pass" - искать слово "pass" в памяти с нулевого адреса до -1 (-1 = FFFFFFFF).

Примочки для SoftIce

Очень полезно, а иногда даже необходимо установить дополнительные "примочки" (плагины) для SoftIce. Самыми известными такими примочками являются IceDump и IceExt (можно взять на сайте www.wasm.ru). Они умеют скрывать отладчик от антиотладочных приемов в программе, а также дополняют SoftIce многими полезными возможностями и командами. Вот лишь некоторые команды, которые добавляет плагин IceExt:

!BPR - прерывание на диапазон памяти.

!CP - устанавливает кодовую страницу (866 или 1251).

!DUMP - сбрасывает дамп памяти на диск.

!DUMPSCREEN - сбрасывает фотографию окна SoftICE на диск в RAW-формате (потом ее можно преобразовать в BMP-формат программой SiwRender.exe, которая идет в комплекте с IceExt).

!LOADFILE - загружает в память файл с диска.

!PROTECT - переводит SoftICE в режим, невидимый для обнаруживающих его программ.

!TETRIS - можно поиграть в тетрис, не выходя из SoftIce.

Установка плагинов происходит довольно просто. Например, для установки IceExt нужно запустить его инсталлятор Setup.exe, по окончании установки выполнить файл iceext.bat (или Пуск->Start IceExt), который запускает сервис IceExt, после чего смело пользоваться командами IceExt в SoftIce.

Это только начало

Конечно, в такой маленькой статье сложно рассказать обо всех возможностях SoftIce. Поэтому смотри подробности в "Using SoftICE" (в интернете легко найти перевод на русский язык - "SoftICE руководство пользователя") и читай крэкерские сайты!

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