Иногда бывает такой случай: у тебя есть крутая прога и ты почти уверен что она написана именно на Delphi и тебе очень хочется узнать как она работает. Но автор не дает исходников проги. Что же делать? А вот что. Есть тулзы, которые преобразуют exe-шный файл в Delphi-проект. Я знаю две такие проги.
Первая пограмма о которой я хочу тебе рассказть – это exe2dpr. Название говорит само за себя. У нее ДОСовская оболочка и мало настроек. Кстати, написал ее наш российский кодер. Начиная с третьей версии прога поддерживает проекты на C++Builder 3.0.
Работает она так: легче всего создать бат-файл и вписать в него следующие две строчки:
exe2dpr file.exe
pause
Т.е мы запускаем прогу и дизассемблируем прогу file.exe в Delphi-проект. Пауза нужна для просмотра результата дизассемблирования.
Прога мала и проста, соответственно у нее есть минусы. Самый большой из них то, что эта прога поддерживает не все версии Delphi и далеко не все проги дизассемблируются.
Все заинтересованные идут на http://www.ems.ru/~gold/exe2dpr.zip и качают :)
Слудующая программа называется DeDe и является лучшей в своем роде. Она имеет win-оболочку и имеет кучу настроек. Но сразу хочу сказать: у программы конечно огромный процент того, что она дизассемблирует прогу в Delphi-проект. Но отчасти этот проект получится в ассемблерном виде. Так что человеку не знающему ассемблер будет труднее, чем в предыдущем варианте.
А теперь непосредсвенно о самой проге. Скачать ее можно по адресу http://www.balbaro.com/ftp/dede/dede3.02full.rar, по адресу http://www.balbaro.com/ftp/dede/dede310.b.1525.rar лежит апдейт, а тут
http://www.balbaro.com/ftp/dede/help/dedehtml.rar есть инфа, но не на русском.
Вот как программа выглядит после запуска.
В принципе, тут нечего объяснять, по-моему интерфейс интуитивно понятен: информация о классах, модулях, формах, процедурах.
После дизассемблирования лезем во вкладку “Project” в поле “Project Directory” указываем папку куда сохранять проект и жмем на “Create files”. Вот и все, проект готов. Я не буду дальше рассказывать о DeDe потому что это не является целью статьи
Сегодня я вкратце рассказал о тех прогах, которые я использую для дизассемблирования в Delphi-проекты. Кто-то может использует и другие.
Напоследок хочу сказать, что авторы всячески защищают свои детища от от чужих глаз. Поэтому эти проги могут сослаться на неизвестный формат, благодаря тому, что например прога запакована ASPack’ом или PECompact’om. Для того чтобы снять защиту запаковщика или узнать чем запакован файл используй для этого тулзы, такие как FileAnalyzer, PE-Sniffer – для информации о файле и запаковщике и ASPackDie и другие для снятия защиты. Всех их можно скачать с www.exetools.com.