Декомпиляторы GPcH (admin@dotfix.net) Спецвыпуск: Хакер, номер #057, стр. 057-016-2 Что же делает эта программа? Многое - разве что яичницу не жарит. Для начала предоставляет тебе все формы в оригинальном виде и дает возможность полазить по процедурам и функциям, имеющимся в программе. Помимо дизассемблерного листинга этих функций, программа пытается распознать стандартные операторы и типы Delphi и добавляет их в комментарии к ассемблерному коду. Особенно радует распознавание блоков типа: ЛИСТИНГ try .. except .. end; Кроме того, эта программа умеет создавать исходник, который можно открыть в Delphi. А если ты используешь в качестве дизассемблера WDasm (о ужас!), то тебе точно будет полезна возможность Dede экспортировать данные в понятный ему формат. В общем, весьма позитивный декомпилер. Главный минус Dede в том, что он не умеет выдергивать из exe'шника компоненты, используемые в программе. Из-за этого в сгенерированном исходнике присутствует множество нераспознанных типов данных. Но это не большая беда, так как заставить полученный код работать все равно не удастся, как ни крути. А исследовать его – пожалуйста. Программу вместе с сорцами бери на www.wasm.ru. SourceRescuer Еще один декомпилер Delphi, но попроще. Умеет восстанавливать формы и генерировать заголовки pas-файлов. Главное отличие от Dede – мгновенная работа и более эргономичный интерфейс. Что ж, одной программе дано иметь крутой интерфейс, другой - крутые возможности, тут ничего не поделаешь. Из главных особенностей декомпилятора можно выделить то, что он может создавать шаблон исходника не только в формате Delphi, но и в формате Builder'а. Фишка простая (после компиляции программы из Delphi и C++ Builder мало чем отличаются), но полезная. Распространяется в двух видах: GUI и консольном. Насколько я понял, требует регистрации. Взять можно отсюда: www.ems-hitech.com. REC by Giampiero Caprino Полное название - the Reverse Engineering Compiler. Программа, которая с успехом преобразует в исходный код на С любой попавшийся ей на глаза исполняемый файл. Конечно, сорец получается мало похожим на оригинал, но разобраться в нем будет несложно. REC определяет функции исследуемого файла, основные блоки и структуры языка, такие как if, for, switch, вызовы API, и делает вообще все возможное, чтобы код стал понятным С-программисту. Однако не удивляйся, если увидишь в исходнике что-нибудь вроде: ЛИСТИНГ eax++; for(ecx=1000;ecx!=0;ecx--) { ebx = ebx&ecx; } Это нормально. И, я думаю, лучше уж исследовать это, чем: ЛИСТИНГ 00400000: inc eax 00400001: mov eсx, 1000 00400006: and ebx, ecx 00400008: loop 00400006 Хотя на вкус и цвет... Некоторые знают ассемблер даже лучше, чем русский матерный. Из приятных мелочей: кроссплатформенность (кроме Windows, декомпилятор считает родными Linux, Mac OS X и Solaris); поддержка нескольких форматов исполняемых файлов (REC не ограничился одними PE и COFF, он умеет анализировать и ELF, и AOUT, и даже Playstation PS-X). |