faqs.org.ru

 Главная > Программное обеспечение > Дизассемблеры и отладчики >

Soft-ICE FAQ

             Часто задаваемые вопросы по отладчику Soft-Ice.
                 Версия 1.01 9.12.1998 (с) Andy Malyshev,
              2:5020/904.2, 2:5020/362.55, andy_m@iname.com

Q: Расскажите вкратце что такое Soft-Ice, и как его можно использовать для
   взлома программ ?
А: Soft-Ice - самый мощный на данный момент отладчик программного кода. Он
   позволяет смотреть программный код в процессе его исполнения, анализировать
   значения регистров, снимать дамп памяти. Для взлома программ это лучший
   инструмент на этапе анализа кода и поиска нужного фрагмента.

Q: Какая последняя версия Soft-Ice и какие у нее возможности ?
А: Это все можно прочитать на сайте производителя Soft-Ice фирмы Numega. URL
   сайта http://www.numega.com.

Q: Где можно взять Soft-Ice ?
А: Soft-Ice коммерческий продукт, поэтому свободно найти его невозможно. Стоит
   посмотреть на варезных сайтах, на ББС и так далее. Я знаю несколько URL,
   где лежит Soft-Ice, но публиковать их в FAQ нет смысла.

Q: Я устанавливаю Soft-Ice 3.2 for Windows NT, а он мне заявляет, что моя
   операционка не Windows NT. Что мне делать ?
А: Найти некривой дистрибутив Soft-Ice. На варезных сайтах одно время ходил
   дистрибутив, который не устанавливался под НТ.

Q: А где бы мне найти документацию по Soft-Ice, да на русском ?
А: Если ты настолько плохо знаешь английский язык, что не можешь прочитать
   документацию - следует сначала его выучить, а потом уже браться за изучение
   сложных программных продуктов. Это относится не только к Soft-Ice. А
   документация на английском языке вполне доступна из тех же источников, что
   и сам Soft-Ice. Состоит она из двух книг: Soft-Ice Users Guide и Soft-Ice
   Command Reference. Очень рекомендуется прочитать обе книги перед тем как
   задавать вопросы. Документация занимает около 3 мегабайт, поэтому
   бессмысленно требовать выслать ее "мылом" и тем более опубликовать в эхе.
   Документация по Soft-Ice в формате PDF доступна на ftp.numega.com.
   А вообще я бы рассмотрел коммерческое предложение по переводу на русский
   язык документации по Soft-Ice :)

Q: Как изменить размер шрифта в Soft-Ice 3.22 и выше ?
А: RTFM. Это делается командой set font x, где х - размер требуемого шрифта.

Q: Я делаю bpx GetSystemTime, а он мне выдает ошибку. Что делать ?
А: Представить себя на месте Soft-Ice. Серьезно. Если бы тебе сказали
   bpx GetSystemTime - что бы ты ответил ? Не знает он такой функции. Чтобы он
   ее узнал, нужно загрузить модуль, который ее экспортирует. Делается это в
   файле winice.dat командой EXP=. Рекомендуется раскомментировать все строки
   'EXP=', чтобы получить доступ к большинству функций WinAPI. Если сказанное
   не очень понятно - рекомендуется прочитать любую книжку по программированию
   под Windows.

Q: Как в Soft-Ice сделать лог обращений к портам или ячейкам памяти ?
А: Использовать конструкцию bpm[io] {...} do "{...}".
   Например, если надо мониторить ячейку памяти с адресом ds:567fff, то
   это будет иметь вид:
    bpm ds:567fff do "d ds:567fff L 4"
   Далее лог можно сбросить либо утилитой dlog, либо командой из Loader'а.

Q: Имеется функция FileOpen, нужно отследить момент, когда она открывает файл
   с именем 'abcd.ext'. Как это сделать ?
А: Воспользоваться брейкпойнтом по условию, т.е. конструкцией вида:
    bpx {...} if {...}
   Если указатель на имя файла передается через стек последним параметром, то
   это будет иметь вид:
    bpx FileOpen if **(ss:esp+4) == 'abcd'
   Значение, передаваемое Soft-Ice по умолчанию имеет тип DWORD, поэтому надо
   указывать 4 символа. Можно переопределить тип, например:
    bpx FileOpen if BYTE(**(ss:esp+4)) == 'a'
   Если надо больше символов, можно например написать:
    bpx FileOpen if ((**(ss:esp+4) == 'abcd') && (*(*(ss:esp+4)+4) == 'efgh')
   Если смысл вышеприведенных выражений непонятен - изучаем C/C++, пока не
   станет понятно.

Q: Как в Soft-Ice загрузить имена функций и переменных из IDA ?
A: IDA может экспортировать отладочную информацию в формате .MAP. Для
   преобразования формата в .SYM, который понимает Soft-Ice существует утилита
   IDASYM. Загрузить ее можно с моей страницы.

   Этот FAQ доступен на WWW по адресам:
    http://i.am/crk
    http://www.corbina.ru/~malyshev/prot
    http://andy.softclub.net

   Дополнения и исправления принимаются нетмейлом и Е-Мейлом.

Вернуться в раздел "Дизассемблеры и отладчики" - Обсудить эту статью на Форуме
Главная - Поиск по сайту - О проекте - Форум - Обратная связь

© faqs.org.ru