Главная » 2014 » Сентябрь » 23 » Полная перекомпиляция программы write.exe или тестируем демо-версию IdaPro 5.6
15:27
Полная перекомпиляция программы write.exe или тестируем демо-версию IdaPro 5.6
В настоящее время существует широко известный и достаточно высококачественный интеллектуальный дизассемблер IdaPro от выпускника мехмата МГУ Ильфака Гильфанова (Ilfak Guilfanov). Всегда интересно знать, насколько хорош этот инструмент. Например, как много и что именно нужно изменить в декомпилированном коде, выдаваемом IdaPro, скажем для простейшей GUI программы, которую можно найти в папке Windows, чтобы скомпилированная версия этой программы заработала снова, практическим ничем не отличаясь от исходной программы? Т.е., чем меньше телодвижений нужно делать, чтобы перекомпилировать дизассемблерный файл в работающее приложение, тем, очевидно, более качественен инструмент нашего Ильфака . Ну и конечно эти телодвижения не должны быть слишком уж изощренными, по крайней мере для небольших программ.

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

Главное ограничение демо-версии, это отсутствие возможности сохранения ассемблерного кода в файл, что не позволит использовать интерактивные возможности «Иды» длительное время, однако для наших целей тестирования это не очень актуально. Тем не менее, IdaPro оставила нам лазейку сохранения листинга кода в файл через буфер обмера (Ctrl-Ins или Ctrl-C / Shift-Ins или Ctrl-V). Правда, при этом сохраняются и адреса команд, но их очень легко убрать в полученном файле листинга. К этому мы еще вернемся, а пока займемся настройками «Иды».

Мы выберем наименьшую GUI-шную программу, которую можно найти на наших компьютерах под управлением Windows NT. У меня это программа write.exe (обёртка для WordPad.exe из каталога по умолчанию \Program Files\Windows NT\Accessories\).

Для тестирования у меня было три системы. Две под управлением XPюши, с сервис паком 3, но разных сборок и одна под Windows 2003 Server. У XPюши write.exe имел одну и ту же версию 5.1.2600.0, но был разных размеров 5632 и 22528 байт. Как оказалось, «лишние» байты занимал не вирус или троян , а данные ресурсов. В данном случае вместо двух иконок для первого файла мы имеем четыре иконки для второго. Общий размер ресурсов (вместе с версионной информацией), соответственно, 2092 и 18692 байт.

Для Windows 2003 у write.exe версия 5.2.3790.0, размером 5632 байта. Кстати, этот файл отличается от подобного файла XPюши практически на треть (и не только за счет ресурсов). Так что испытывать мы будем все эти версии, но начнем с меньшей версии из Windows XP.
   Просмотров: 170

Меню сайта



Поиск

Календарь

«  Сентябрь 2014  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930

Друзья сайта

Параметры

 
 

Статистика

uCoz Counter
TOPlist TOPlist
Copyright 2009 | Каталог   Хостинг от uCoz |

Free counters