Библиотека knigago >> Компьютеры: Разработка ПО >> Отладка, тестирование и оптимизация ПО >> Техника отладки приложений без исходных кодов (Статья о SoftICE)


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1402, книга: Родник
автор: Яков Моисеевич Тайц

«Родник» – очаровательная и трогательная детская повесть, рассказывающая о чудесной силе веры и дружбы. Написанная с теплотой и искренностью, эта книга непременно тронет сердца молодых читателей. Главный герой, Ваня, – одинокий мальчик, живущий в бедной деревне у жестокой мачехи. Когда он обнаруживает родник с целебной водой, жизнь его меняется навсегда. С этой необыкновенной водой Ваня приобретает силу исцелять больных и помогать нуждающимся. Вместе с верным другом, козой Музейкой, Ваня...

СЛУЧАЙНАЯ КНИГА

Крис Касперски - Техника отладки приложений без исходных кодов (Статья о SoftICE)

Техника отладки приложений без исходных кодов (Статья о SoftICE)
Книга - Техника отладки приложений без исходных кодов (Статья о SoftICE).  Крис Касперски  - прочитать полностью в библиотеке КнигаГо
Название:
Техника отладки приложений без исходных кодов (Статья о SoftICE)
Крис Касперски

Жанр:

Статьи и рефераты, Самиздат, сетевая литература, Литература ХXI века (эпоха Глобализации экономики), Windows, Крэкинг и реверсинжиниринг, Отладка, тестирование и оптимизация ПО

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Техника отладки приложений без исходных кодов (Статья о SoftICE)"

Практически все знают, что программы взламываются отладчиком, но не все знают, как. На самом деле ничего сложного в этом нет. Достаточно выучить несколько простых приемов и уже можно начинать ломать.


Читаем онлайн "Техника отладки приложений без исходных кодов (Статья о SoftICE)". Главная страница.

Крис Касперски ака мыщъх ТЕХНИКА ОТЛАДКИ ПРИЛОЖЕНИЙ БЕЗ ИСХОДНЫХ КОДОВ

Введение в отладку

Отладчик — невероятно мощный инструмент в руках взломщика, однако к нему нужен свой подход. Большинство начинающих хакеров начинает отлаживать программу с точки входа и… умирает в цикле выборки сообщений. Пошаговое исполнение программы (также называемое трассировкой) — слишком трудоемкий и крайне неэффективный процесс. Событийно-ориентированные приложения (а к ним относятся практически все Windows-приложения) так не отлаживаются. Допустим, мы трассируем MFC-приложение, доходим до вызова AfxWinMain и… оказываемся глубоко внутри MFC42.DLL, откуда уже и вызывается весь пользовательский код, но прежде чем трассировка доберется до него, мы успеем состариться!

Но ведь отлаживать всю программу целиком совершенно необязательно! Опытные хакеры трассируют только отдельные части защитного кода. Но как же мы найдем его в миллионах машинных инструкций исполняемого файла? Существует множество методик: точки останова, раскрутка стека, перекрестные ссылки, условная трассировка, прямой поиск паролей/серийных номеров в памяти и т. д. Расскажем обо всем этом поподробнее.

Мы будем курочить программу Drive LED от компании O&O Software, 30-дневую демонстрационную версию которой можно скачать с сайта: http://www.oo-software.com/en/download/index.shtml;

Дизассемблер и отладчик в одной упряжке

Дизассемблер содержится в каждом отладчике (мы же ведь не собираемся отлаживать программу непосредственно в машинном коде, верно?), но тот дизассемблер, что находится внутри soft-ice или OllyDbg, слишком примитивен и ненагляден. IDA PRO намного мощнее. Она автоматически распознает имена библиотечных функций, определяет типы локальных переменных и делает множество других полезных вещей — в частности, позволяет комментировать листинг и назначать символьные метки для инструкций и данных. Исследовать защищенные программы с ее помощью — настоящее удовольствие. Однако вызовы типа call [ebx+64h] приводят хакеров в бешенство, особенно если функция вызывается из различных мест с различным ebx. На выяснение значения ebx в дизассемблере можно ухлопать целый день, а в отладчике просто «подсмотрел» его и все!

Или вот вызывается что-то по адресу 77E92B8D, лежащим где-то внутри операционной системы (при дизассемблировании дампов памяти такие адреса встречаются сплошь и рядом). В отладчике достаточно просто дать команду «u 77E92B8D» и мы тут же увидим, что это CreateFileA.

Бессмысленно спорить, кто круче — отладчик или дизассемблер. Эти инструменты взаимно дополняют друг друга. Реконструкцию алгоритмов лучше поручить дизассемблеру, а все непонятные места уточнять в отладчике.

Загрузка символов в отладчик осуществляется довольно противоестественным образом, на котором спотыкаются многие начинающие.


Книгаго: Техника отладки приложений без исходных кодов (Статья о SoftICE). Иллюстрация № 1

Рисунок 1. Загрузка символьной информации в loader32.

Сначала исследуемый файл пропускается через ИДУ. Затем, в меню «File» выбирается пункт «Produce output file —> Produce MAP file» (причем имя MAP-файла должно совпадать с именем самого дизассемблируемого файла). В появившемся диалоговом окне взводим все три галочки: Segmentation information (информация о сегментах), Autogenerated names (автогенерируемые имена) и Demangle names (размагленные имена). Полученный MAP-файл скармливается утилите idasym (которую можно скачать с сайта www.idapro.com) и конвертируется в sym-формат. Под воздействием утилиты nmsym, входящей в комплект поставки soft-ice, sym-файл преобразуется в nms. Уф! Половина работы сделана — теперь, пока запускается NuMega Symbol Loader можно и передохнуть. В меню File выбираем пункт Open, открываем nms-файл и говорим Module —> Load (загрузить). Появившаяся надпись «Symbols for C: \TEMP\SIMPLE.NMS successfully loaded» говорит о том, что все прошло успешно. Теперь можно открыть и сам исполняемый файл (File —> Open и Module —> Load).

Сравните, как выглядит экран отладчика с символами и без:


Книгаго: Техника отладки приложений без исходных кодов (Статья о SoftICE). Иллюстрация № 2
Рисунок 2. Отладка файла без символьной информации.
--">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.

Книги схожие с «Техника отладки приложений без исходных кодов (Статья о SoftICE)» по жанру, серии, автору или названию: