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

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


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

Автор просит читателя извинить его за такую ситуацию и, положа руку
на сердце, обещает, что в следующем издании (если только одно будет это
следующее издание – это ж от читателей зависит) все огрехи будут
исправлены.
Крис Касперски.
февраль 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