Образ мышления – дизассемблер IDA Pro. Том I [Крис Касперски] (doc) читать постранично

Книга в формате doc! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

ОБРАЗ МЫШЛЕНИЯ – ДИЗАССЕМБЛЕР
IDA Pro

ТОМ I
ОПИСАНИЕ ФУНКЦИЙ ВСТРОЕННОГО ЯЗЫКА IDA Pro

Аннотация
Подробный справочник по функциям встроенного языка, интерфейсу и архитектуре дизассемблера IDA Pro 4.01 с уточнением особенностей младших версий.
Показывает приемы эффективного использования IDA Pro для исследования зашифрованного кода, -кода, самомодифицирующегося кода и кода, защищенного антиотладочными приемами.
Ориентирован на системных программистов средней и высокой квалификации в совершенстве владеющих языком ассемблера микропроцессоров серии Intel 80x86 и работающих с операционными системами фирмы Microsoft.



Введение. Об этой книге

Цель этой книги – частично компенсировать информационный голод, окутывающий один из популярнейших дизассемблеров современности – IDA Pro. Сведения, содержащиеся в документации, подавляемой вместе с этим продуктом, весьма отрывочные и безнадежно устаревшие.
Самостоятельное же освоение IDA Pro требует значительных усилий, длительного времени и постоянных консультаций с ее разработчиками. Появлению этой книги предшествовал большой объем работы, проделанной автором. Первоначально когда замышлялось написать книгу, обобщающую достижения современного реинженеринга, планировалось скоромное издание страниц максимум в пятьсот, но в течение работы над проектом выяснилось: описание одних лишь функций встроенного языка IDA Pro значительно превышает этот объем. Поэтому весь материал пришлось разбить на три тома – «Описание функций встроенного языка IDA Pro», «Приемы эффективной работы с IDA Pro» и «Технологии дизассемблирования».
Функции ядра IDA находят применение не только во встроенном языке, – сама IDA активно использует их для дизассемблирования, а большинство пунктов меню эквивалентны соответствующим функциям ядра. Поэтому, любую операцию можно выполнить не только последовательными нажатиями «горячих» клавиш, но и совокупностью команд встроенного языка.
Эта книга так же рассказывает и об архитектуре, затрагивая вопросы внутреннего устройства IDA Pro без понимания которых полноценная работа с дизассемблера невозможна.

ОБРАЩЕНИЕ АВТОРА К ЧИТАТЕЛЮ: когда писались первые строки этой книги ее автор еще не обладал тем опытом, который необходим для написания справочной литературы подобного типа. В результате, из-под пера вылезло нечто ужасное, и все пришлось переписывать заново.
К сожалению, сроки издания нельзя бесконечно оттягивать (читатели нервничают, издатель сердится) и в том издании, что вы держите сейчас в руках, «доведены до ума» лишь десять первых глав из двадцати, а остальные даны в первозданном варианте.
Автор просит читателя извинить его за такую ситуацию и, положа руку на сердце, обещает, что в следующем издании (если только одно будет это следующее издание – это ж от читателей зависит) все огрехи будут исправлены.

Крис Касперски.
февраль 2001
Серверный Кавказ.


Версии IDA Pro

Дизассемблер IDA Pro относится к интенсивно развивающимся продуктам, – постоянные совершенствования и бесконечные изменения, вносимые разработчиками, породили множество версий, из которых наибольшее распространение получили 3.84, 3,84b, 3,85, 4.0, а некоторые до сих пор предпочитают использовать IDA 3.6.
К сожалению, даже близкие версии плохо совместимы между собой – прототипы и поведение функций встроенного языка находится в постоянном изменении, затрудняя создание переносимых скриптов.
Приводимый в книге материал в основном рассчитан на IDA Pro 4.0.1, но в ряде случаев оговариваются особенности поведения и других версий дизассемблера.
Существуют три различных пакета поставки дизассемблера – стандартная (IDA Pro Standard), прогрессивная (IDA Pro Advanced) и демонстрационная (IDA Pro Demo). Отличие между IDA Pro Standard и IDA Pro Advanced заключается в количестве поддерживаемых процессоров, полный перечень которых можно найти в прилагаемой к IDA документации. Демонстрационный пакет представляет собой усеченный вариант полнофункционального продукта и обладает рядом существенных ограничений: никакие процессоры кроме семейства Intel 80x86 и типы файлов за исключением win32 PE не поддерживаются; в поставку входят сигнатуры всего лишь двух компиляторов – Microsoft Visual C++ 6.0 и Borland C++ Builder; функция сохранения результатов работы заблокирована, а максимальное время продолжительности одного сеанса работы с дизассемблером ограничено.
В каждый пакет поставки (за исключением демонстрационного) входят две ипостаси – одна графическая под Windows-32 (в дальнейшем обозначаемая как IDAG) и три консольных для MS-DOS, OS/2 и Windows-32. В демонстрационный пакет входит лишь одна графическая ипостась. Обе ипостаси обладают сходными функциональными возможностями, поэтому в книге будет описана лишь одна из них, скомпилированная для исполнения в среде Windows-32 (в дальнейшем обозначаемая как IDAW)
Покупка IDA Pro Standard или IDA Pro Advanced дает право на бесплатное приобретение IDA SDK (Software Development Kit) – программного пакета, позволяющего пользователю самостоятельно