Чемоданчик хакера Крис Касперски, ака мыщъх Хакер, номер #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), декомпилируем программу — и вперед! |