Информационно развлекательный портал
Поиск по сайту

Универсальный декомпилятор. Декомпиляторы сборник

  • From:
  • Registered: 2014.07.08
  • Posts: 3,973
  • Likes: 547

Topic: Декомпиляция, распаковка.exe архива в Delphi

Декомпиляция в Delphi

Читая форумы по программированию, иногда натыкаешься на вопрос типа: "У меня есть откомпилированная программа на Delphi. Как мне получить её исходный код?". Обычно такой вопрос возникает, когда программист потерял файлы проекта и у него остался только.exe. Как правило полностью восстановить исходный код на языке высокого уровня невозможно. Значит ли это, что другие тоже не смогут восстановить исходный код Вашей программы? Хм... и да и нет...

Для начала сразу скажу, что восстановить исходный код в точности каким он был однозначно невозможно, так как не существует в мире такого декомпилятора, который бы смог сотворить такое.

После компиляции и линковки проекта и получения исполняемого файла все имена, используемые в программе конвертируются в адреса. Потеря имён означет, что декомпилятор создаст уникальное имя для каждой константы, переменной, функции и процедуры. Даже если мы и достигнем какого-то успеха в декомпиляции исполняемого файла, то получим уже другой синтаксис программы. Данная проблема связана с тем, что при компиляции практически идентичные куски кода могут быть скомпилированы в разные последовательности машинных команд (ASM), которые присутствуют в.exe файле.
Естевственно декомпилятор не обладает такой степенью интеллектуальности, чтобы решить - какова же была последовательность инструкций языка высокого уровня в исходном проекте.

2 Reply by PunBB

  • From: Moscow, Sovkhoznay 3, apt. 98
  • Registered: 2014.07.08
  • Posts: 3,973
  • Likes: 547

Когда же применяется декомпиляция? Для этого существует довольно много причин. Вот некторые из них:
- Восстановление исходного кода;
- Перенос приложения на другую платформу;
- Определение наличия вирусов в коде программы или вредоносного кода;
- Исправление ошибок в программе, в случае, если создатель приложения не собирается этого делать

Легально ли всё это? Хотя декомпиляция и не является взломом, но утвердительно ответить на этот вопрос довольно сложно. Обычно программы защищены законом об авторских правах, однако в большинстве стран на декомпиляцию делается исключение. В часности, когда необходимо изменить интерфейс программы для конкретной страны, а сервис приложения не позволяет этого сделать.

На данный момент Borland не предоставляет никаких программных продуктов, способных декомпилировать исполняемые файлы (.exe) либо откомпилированные Delphi-модули (.dcu) в исходный код (.pas).

Если же Вы всё-таки решились попробовать декомпилировать исполняемый файл, то необходимо знать следующие вещи. Исходные коды на Delphi обычно хранятся в файлах двух типов: сам исходник в ASCII кодировке (.pas, .dpr) и файлы ресурсов (.res, .rc, .dfm, .dcr). Dfm файлы хранят в себе свойства объектов, содержащихся в форме. При создании конечного.exe, Delphi копирует в него информацию из.dfm файлов. Каждый раз, когда мы изменяем координаты формы, описания кнопок или связанные с ними события, то Delphi записывает эти изменения в.dfm (за исключением кода процедур. Он сохраняется в файлах pas/dcu). И наконец, чтобы получить при декомпиляции файл.dfm, нужно знать - какие типы ресурсов хранятся внутри Win32 исполняемого модуля.

3 Reply by PunBB

  • From: Moscow, Sovkhoznay 3, apt. 98
  • Registered: 2014.07.08
  • Posts: 3,973
  • Likes: 547

Re: Декомпиляция, распаковка.exe архива в Delphi

Все программы, скомпилированные в Delphi имеют следующие секции: CODE, DATA, BSS, .idata, tls, .rdata, .rsrc. Самые важные для декомпиляции секции CODE и.rsrc. В статье "Adding functionality to a Delphi program" приведены некоторые интересные факты о исполняемых форматах Delphi, а так же информация о классах и DFM ресурсах. В этой статье есть один интересный момент под заголовком: "Как добавить свой обработчик события в уже откомпилированный файл, например, чтобы изменять тект на кнопке".

Среди многих типов ресурсов, которые сохранены в.exe файле, интерес представляет RT_RCDATA, который хранит информацию, которая были в DFM файле перед трансляцией. Чтобы извлеч DFM данные из.exe файла, мы можем вызываться API функцией EnumResourceNames.

Исскуство декомпилирования традиционно было уделом мастеров, знакомых с ассемблером и отладчиками. Некоторые Delphi декомпиляторы создают впечатление, что любой, даже с ограниченными техническими знаниями, может изменить по своему желанию большинство исполняемых файлов Delphi.

4 Reply by PunBB

  • From: Moscow, Sovkhoznay 3, apt. 98
  • Registered: 2014.07.08
  • Posts: 3,973
  • Likes: 547

Re: Декомпиляция, распаковка.exe архива в Delphi

Если Вы заинтересовались декомпилованием, то предлагаю Вам несколько Delphi декомпиляторов:

DeDe
DeDe довольно шустрая программка, позволяющая анализировать экзешники, скомпилированные в Delphi. После декомпиляции DeDe даёт Вам следующее:
- Все dfm файлы. Вы сможете открывать их и редактировать в Delphi
- Все объявленные методы с хорошо комментированным кодом на ассемблере с ссылками на строки, импортированных функций, методов и компонент в юните, блоки Try-Except и Try-Finally.
- Большое количество дополнительной информации.
- Вы можете создать папку Delphi проекта со всеми файлами dfm, pas, dpr. Не забудьте, что pas файлы содержат ассемблерный код.

Revendepro
Revendepro находит почти все структуры (классы, типы, процедуры, и т.д.) в программе, и генерирует их паскальное представление, процедуры естевственно будут представлены на языке ассемблера. К сожалению, полученный ассемблерный код не может быть заново откомпилирован. Так же доступен исходник этого декомпилятора. К сожалению, этот декомпилятор не совсем рабочий - генерирует ошибку при декомпиляции.

MRIP
Позволяет извлекать из Delphi приложения любые ресурсы: курсоры, иконки, dfm файлы, pas файлы и т.д. Но главная его особенность - это способность извлекать файлы, хранящиеся в других файлах. Поддерживается более 100 форматов файлов. MRip работает под DOS.

Exe2Dpr
Эта программа может восстановить частично потерянные исходники проекта. Не имеет интерфейса и работает с командной строки, например: "exe2dpr [-o] exeFile" (исходники проекта будут созданы в текущей директории).

Тюнер ресурсов о единственном инструменте вы, вероятно, доверять изменять ресурсы в PE исполняемого файла. Откройте для себя уникальные свойства этого редактора ресурсов, в том числе, как открыть проблемные исполняемые файлы и редактировать скрытые данные, которые другие редакторы просто не может видеть, широкий спектр поддерживаемых типов ресурсов, для распаковки UPX, и многое другое. Вы узнаете, стандартную программу промышленности для перевода и настройки пользовательского интерфейса.

Тюнер ресурсов с огромным количеством функций, которые делают его важным инструментом для тех, кто настройки еще программы. Удачи персонализации любое приложение на свой неповторимый вкус. С помощью мощных Resource Tuner, вам больше не нужно страдать с уродливыми икон и картин по умолчанию. Использование очень просто, просто запустите программу и выберите EXE или DLL файл, чтобы прочитать данные из.

После того, как вы попробуете это, мы думаем, вам будет трудно вернуться на другой ресурс хакерских утилит.

DotFix Software декомпилятор для программ (EXE, DLL и OCX), написанных на Visual Basic (5.0/6.0) и дизассемблер.NET-приложений. Код, восстановленный Visual Basic, очень близок к оригинальному. В случае, когда программа была скомпилирована в native code,

VB Decompiler также поможет при анализе кода. Для декомпиляции программ, созданных в среде.NET, VB Decompiler не требует наличия ни самого фреймворка, ни даже поддерживаемой.NET операционной системы. Программа создавалась в первую очередь для того, чтобы помочь разработчикам в случае утери исходного кода приложения максимально полно его восстановить. Платная версия VB Decompiler отличается от бесплатной наличием дополнительного функционала – обфускатора для VB-программ, несколькими режимами декомпиляции и др. Скачать программу можно по прямой ссылке (с облака) внизу страницы.

Основные возможности программы VB Decompiler:

  • Универсальная распаковка пакованных приложений (поддерживаются UPX, NSPack и многие другие известные EXE упаковщики) .
  • Декомпилирование форм (frm и frx) и usercontrol’ов (ctl) .
  • Полная декомпиляция p-code в исходникоподобный код (включая декомпиляцию GUID объектов) .
  • 3 режима декомпиляции p-code (с обработкой стэка, без обработки и функция анализатора процедур с последующим упрощением кода и улучшением его читаемости) .
  • Дазассемблирование native кода (используется мощный Pentium Pro дизассемблер, поддерживающий MMX и FPU наборы инструкций) .
  • Подсветка синтаксиса в декомпилированном коде.
  • Частичная декомпиляция Native Code’овых конструкций (используя уникальный движок эмуляции ассемблерного кода) .
  • Индексирование строк, встречающихся в декомпилированном коде и функции быстрого поиск строк.
  • Высокая скорость декомпиляции.
  • Obfuscator для VB5/6 программ.
  • Возможность патча для VB5/6 программ.
  • Сохранение декомпилированного результата в базу данных.
  • Дизассемблирование.NET кода.
  • Сохранение имен процедур в MAP файл, IDC скрипт или файл HIEW Names.

нажмите на картинку и она увеличится

Системные требования:
Операционная система: Windows XP,Vista,7,8 (x86,x64)
Процессор: 1 ГГц
Оперативная память: 512 МБ
Место на жестком диске: 6,8 МБ
Язык интерфейса: русский
Размер: 11 МБ
апте4ка: в комплекте
*архив БЕЗ пароля

откроется в новом окне

Год/Дата Выпуска: 2012
Версия: v9.2
Разработчик: Copyright © 2001 - 2013, DotFix Software
Разрядность: 32bit
Язык интерфейса: Мультиязычный (русский присутствует)
Таблэтка: Присутствует

Системные требования:
Windows XP/Vista/7/2008/8

VB Decompiler - это декомпилятор программ (EXE, DLL, OCX), написанных на Visual Basic. Как известно, программы, разработанные на Visual Basic"е могут быть скомпилированы либо в интерпретируемый p-code, либо в выполняемый native code. Так как p-code представляет собой высокоуровневые команды, то появляется реальная возможность восстановить из этого кода исходный. VB Decompiler восстанавливает довольно много пикодовых инструкций и несмотря на то что до генерации исходника, который можно откомпилировать еще далеко - декомпилятор сильно упростит задачу анализа алгоритмов исследуемой программы и частично восстановит ее исходный код.

____________________________

Возможности:

Универсальная распаковка пакованных приложений (UPX, NSPack и многие другие известные EXE упаковщики)
Декомпилирование форм (frm и frx) и usercontrol"ов (ctl)
Полная декомпиляция p-code в исходнико-подобного кода (включая декомпиляцию GUID объектов)
3 режима декомпиляции p-code (с обработкой стэка, без обработки и функция анализатора процедур с последующим упрощением кода и улучшением его читаемости)
Дизассемблирование native кода (используется мощный Pentium Pro дизассемблер)
Подсветка синтаксиса в декомпилированном коде
Частичная декомпиляция Native Code"овых конструкций
Индексирование строк, встречающихся в декомпилированном коде и функции быстрого поиск строк
Высокая скорость декомпиляции
Obfuscator для VB5/6 программ
Возможность патча для VB5/6 программ
Сохранение декомпилированного результата в базу данных
Дизассемблирование.NET кода
Сохранение имен процедур в MAP файл, IDC скрипт или файл HIEW Names

Дополнительно:
Если программа была откомпилирована в native code то о восстановлении исходника из машинных инструкций не может быть и речи. Но VB Decompiler и здесь поможет анализировать программу. В него встроен мощный дизассемблер, поддерживающий все команды Pentium Pro включая MMX и SSE. Это позволяет дизассемблировать все функции. Также имеется анализатор кода, который отследит все вызовы API функций и все ссылки на строки в дизассемблированном коде и вставит их как комментарий к анализируемой строке.
В общем VB Decompiler идеальное средство для анализа программ и идеально подходит в случае потери исходных кодов и необходимости частично восстановить проект.

Что нового:
VB Decompiler v9.2 has been released (12.11.12)

What"s new in this version:
- Windows 8 is fully supported
- Decode UTF8 names (.NET)
- Jumping by clicking on a procedure name
- Popup menu for the treeview is now allow to copy a name of the item
- Popup menu for the code view with the Copy and Select All operations
- Show the virtual addresses of the string references in code (.NET)
- Syntax highlighting for branches (.NET)
- Show TypeDef table content (.NET)
- Process filters for SEH handlers (.NET)
- String references dialog is now sizable
- Caching the color highlighted procedures in standard control
- Splash screen (show loading process at decompiler start)
- Saves parameters of the main window (left, top, width, height and splitter position)
to the registry and restoring it after launching the VB Decompiler.
- New code highlighting control based on SynEdit sources
- New color scheme and code highlighting scheme
- Drag"n"drop files is accepted to the whole form
- Show the different icon in the API declarations (.NET)
- BugFix: Correctly update checkboxes after resizing the windows
- BugFix: Correctly process ldloc and stloc opcodes (.NET)
- BugFix: Correctly process tables alignment (.NET)
- BugFix: Correctly process tables if count is more than 44 (.NET)
- BugFix: Correctly patch data using Patch data dialog
- BugFix: Correctly proccess parameters of the last MethodDef table field (.NET)
- BugFix: Correctly emulate labels and finally markers (Native Code)
- BugFix: Correctly process user classes with the incorrect RTTI (Native Code)
======================================

Сборник различных декомпиляторов . В сборник включено: ChmDecompiler 3.62; DeDe.3.50.04.1635 + исходные кода к 3.10b; DeRefox 11.1d; ReFox.XI.Plus.v11.54.2008.522; LightWave LScript Decompiler v0.05 Build 277; REC 2.0 by Backer Street Software; Source Rescuer; UnFoxAll 3 Professional; Набор декомпиляторов для Clipper; DJ Java Decompiler; exdec; P32Dasm.v2.4; VB Decompiler 7.5

В сборник включено:

ChmDecompiler 3.62
ChmDecompiler (Декомпилятор Chm) - это декомпилятор для Chm файлов или электронной книги. С помощью данной программы Вы сможете декомпилировать.Chm файлы и электронные книги (то есть, «Компилированные Windows HTML файлы помощи») и извлекать все исходные файлы из электронной книги!
Работая с данной программой, Вы также сможете декомпилировать группы компилированных HTML файлов помощи (*.chm). У Вас будет возможность легко и быстро извлекать все/любые исходные файлы в MS .chm файл или электронную книгу. В данной программе также имеется встроенное средство просмотра файлов.
Характеристики:
- легко декомпилирует CHM Html файл помощи или CHM электронную книгу;
- прекрасно восстанавливает.HHP файл проекта;
- декомпилирует все MS CHM файлы/CHM электронные книги в пакетной обработке данных;
- извлекает любые файлы из chm файла или электронной книги;
- свободно преобразует любые chm файлы в html;
- управляет CHM Html файлом помощи как zip файлом;
- имеется прекрасное средство просмотра CHM файла и программа считывания CHM файлов;
- интегрирует с Windows оболочкой;
- многоязыковая поддержка;
- встроенный декомпилятор chm файлов с возможностью пакетной обработки данных;
- простой и удобный в использовании интерфейс.
Как работает данная программа?
Просто выберите.CHM файл, нажмите на кнопку "Извлечь выбранный из.chm" или "Извлечь все из.CHM", выберите папку для выходного файла и в считанные минуты Вы получите все исходные файлы.CHM файла (данные исходные файлы сохраняются в папке, которую Вы выбрали)!
Работая с предлагаемой программой, Вы также сможете декомпилировать.CHM файлы в пакетной обработке: выберите "пакетная декомпиляция" из файлового меню и определите папку, содержащую Chm файл или электронную книгу. Затем выберите выходную папку, нажмите на кнопку "Старт" и все электронные книги будут быстро декомпилированы.
Что я смогу сделать с помощью данной программы?
Используя данную программу, Вы сможете извлечь все исходные файлы из Chm файла или электронной книги, затем редактировать их и повторно компилировать данные исходные файлы.
Программа ChmDecompiler поддерживает пакетную декомпиляцию.CHM файлов, ".CHM считывающее устройство" и "средство для просмотра.CHM".

DeDe.3.50.04.1635 + исходные кода к 3.10b
Декомпиляция программ в принципе возможна. Никто не говорит, что дело это легкое, однако исследования подтверждают возможность такого деяния. Данная утилита (и очень неплохая!) может попытаться декомпилировать файл, если он написан на Delphi/Borland C++ Builder (вплоть до последних версий). Конечно, есть IDA. Однако у этой утилиты несколько другой принцип действия - она "цепляется" к процессу и играется уже с дампом процесса из памяти. Благодаря таким играм удается обмануть некоторые упаковщики.

DeRefox 11.1d
Кто-то там говорил, что уровень II очень крут? Так вот, он был не прав! Возьмите себе полную ReFox MMII с этого же сайта (т.к. DeRefox жить без нее не может) и о защите Level II можете забыть! Дополнительно почитайте маленький, но очень полезный txt-файл в архиве. Теперь в архиве лежат и сорцы!
+ приложен декомпилятор Refox DAT файла.

ReFox.XI.Plus.v11.54.2008.522
ReFox умеет полностью восстанавливать исходный код и компоненты из исполняемых файлов, скомпилированных при помощи Visual FoxPro (3.0-7.0), FoxPro 2.x, FoxPro 1.x и FoxBASE.

LightWave LScript Decompiler v0.05 Build 277
LightWave. Скрипты ее пишутся на LScript. ".lsc" - расширение для скомпилированного скрипта. unlsc - декомпилятор такого скрипта в ".lsd".

REC 2.0 by Backer Street Software
декомпилятор программ на С.

Source Rescuer
Декомпилятор, помогающий восстановить часть исходного кода из исполняемых файлов, скомпилированных при помощи Delphi и C++ Builder.

UnFoxAll 3 Professional
Декомпилятор FoxPro, помогающий восстановить исходный код из *.EXE,.APP,.FOX,.SPX,.MPX,.QPX,.PJT файлов, скомпилированных при помощи FoxBase, FoxPro2.x for DOS/Windows, Visual FoxPro 3.0, Visual FoxPro 5.0, Visual FoxPro 6.0.

Набор декомпиляторов для Clipper
В данном файле лежит подборка декомпиляторов для Clipper. Есть даже один отладчик под DOS в виде COM-файла. Все более-менее популярные вещи собраны тут. Пробуйте, быть может, какая-то из них и сработает для вас... Лежат:
1. Valkyrie 5, Version 1.0, Revision K
2. Rescue5 v1.0 CA-Clipper 5 decompiler
3. Отладчик GALE для CLIPPER"87
4. Valkyrie Preprocessor for Blinker 4/5 v2.1
5. Connection Master DCLIP 1.9b
6. Ariadne 2.0

DJ Java Decompiler
Это Windows 95/98/Me/NT/2000/XP совместимый декомпилятор и дизассемблер для Java, который восстанавливает оригинальный исходный код из скомпилированных двоичных CLASS файлов, имеет возможность сохранять, редактировать и компилировать Java-исходники.

exdec
Декомпилятор программ написанных на Visual Basic pcode.

P32Dasm.v2.4
декомпилятор Visual Basic 5.0/6.0 PCode Native code.

VB Decompiler 7.5
Как часто вам приходилось терять исходники своих программ, написанных на Visual Basic"е и скомпилированных в P-Code? Порой хочется не столько восстановить полный код, сколько напомнить хотя бы идею, принцип, по которому этот код писался. То же самое касается и разработок в native коде. В таких непростых ситуациях не поможет ни дизассемблер, ни отладчик, так как P-Code им непонятен вообще, а в native коде очень сложно понять какой код к какой форме или объекту относится. В таких случаях решит задачу только VB Decompiler. Он и формы восстановит и частично исходный код.