Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #94, ОКТЯБРЬ 2006 г.

Чемоданчик хакера

Крис Касперски, ака мыщъх

Хакер, номер #094, стр. 094-036-2


Неплохую коллекцию плагинов можно найти на wasm'e и на www.openrce.org, а также на нашем диске.

Самый свежий (и пока еще во многом экспериментальный) ядерный отладчик — это, бесспорно, SYSER (www.sysersoft.com), выпущенный нашими китайскими братьями и в настоящее время переживающий стадию активного развития и становления. Кроме него, довольно много народа пользуется Microsoft WinDeb, входящим в состав бесплатного набора Debugging Tools. Он вполне пригоден для взлома, только уж очень неудобен для тех, кто привык к черному экрану soft-ice.

Дизассемблеры

Существует всего лишь один дизассемблер, пригодный для профессиональной работы — IDA Pro (www.idapro.com), стоящий немереных денег, но, как и всякое другое добро, свободно валяющийся в Осле и в просторах инета. Эта уникальная штука переваривает огромное количество форматов файлов и множество типов процессоров, легко справляясь с байт-кодом виртуальных машин Java и .NET, поддерживает макросы, плагины и скрипты, содержит интегрированный отладчик, работает под MS-DOS, Windows, LINUX и обладает уникальной способностью распознавать имена стандартных библиотечных функций по их сигнатурам.

Самое главное в IDA Pro – это интерактивный дизассемблер, то есть инструмент, позволяющий работать с двоичным файлом, мыслить и творить, а не тупой автомат, заглатывающий хакаемую программу и выплевывающий «готовый» дизассемблированный листинг, в котором все неправильно.

В последних версиях IDA PRO сделаны определенные подвижки в сторону автоматической распаковки файлов и снятия обфускаторов. Внушительную коллекцию плагинов и скриптов можно найти как на официальном сайте, так и на www.openrce.org.

Конкурентам до IDA Pro еще расти и расти, прямо как до Луны. Тем не менее, народ активно качает бесплатный (ныне заброшенный) дизассемблер и отладчик в одном «флаконе» — WDasm: www.wasm.ru/baixado.php?mode=tool&id=178 — и, судя по всему, остается доволен, хотя взломать что-то серьезное с его помощью практически нереально.

Остальные дизассемблеры выглядят более убого, поэтому не будем их рассматривать, разве что отметим Hacker Disassembler Engine (patkov-site.narod.ru/lib.html), представляющий собой дизассемблер длин, распространяющийся в исходных текстах и предназначенный для встраивания в различные хакерские программы, занимающиеся перехватом функций, автоматической распаковкой, генерацией полиморфного кода и т.д.

Декомпиляторы

Декомпиляцией называется процесс получения исходного текста программы из двоичного файла. В полном объеме декомпиляция невозможна в принципе, поскольку компиляция — однонаправленный процесс, причем с потерей данных. Однако декомпиляторы все-таки существуют и со своей задачей достойно справляются.

Для программ, написанных на DELPHI и Borland Builder с использованием RTTI, возможно восстановить исходную структуру классов, вплоть до имен функций-членов, а также реконструировать формы и «вычислить» адреса обработчиков каждого из элементов. Допустим, у нас имеется диалоговое окно «registration» с кнопкой «OK», и мы хотим знать, какая процедура считывает серийный номер и что с ним делает. Нет ничего проще! Берем бесплатный DeDe (programmerstools.org/node/120), декомпилируем программу — и вперед!

Назад на стр. 094-036-1  Содержание  Вперед на стр. 094-036-3