Содержание справки · Справка в PDF
Введение
Профессиональный декомпилятор VCL-программ, написанных на Delphi или созданных в C++Builder: код Win32/Win64, формы, модули и классы для реверс-инжиниринга и компьютерной криминалистики.
Декомпилируйте VCL-приложения, написанные на Delphi 3–13 или созданные в C++Builder, для Win32 и Win64 в Delphi-подобный Pascal. Восстанавливайте поток управления, вызовы, формы, модули и классы по машинным инструкциям и доступным метаданным; переходите от событий VCL к их обработчикам.
Используйте восстановленную структуру и код для исследования поведения программы, вредоносного ПО и потенциально нежелательной или скрытой функциональности. Отслеживайте события VCL до их обработчиков, изучайте поток управления и вызовы, а также используйте дизассемблер и HEX-редактор для детального анализа.
Нативная декомпиляция
Высокоуровневый листинг восстанавливает логику программы, включая if условия, case блоки, циклы и вызовы распознанных методов VCL. Распознанные модули, классы и публичные функции обеспечивают структурный обзор; эвристический поиск также выявляет приватные функции внутри каждого модуля.
Формы и инструменты
Изучайте восстановленные элементы управления VCL и их свойства в режиме просмотра формы и переходите от событий к обработчикам. Экспортируйте модули и формы в проект Pascal/DFM или объединённый листинг .pas. Встроенный обфускатор поддерживает VCL-приложения, написанные на Delphi или созданные в C++Builder, для Win32 и Win64.
Информация, сохраняемая в бинарном файле
Результат представляет собой Delphi-подобный код, восстановленный по машинным инструкциям и метаданным. При компиляции сохраняется не вся информация исходного кода. Имена локальных переменных обычно генерируются автоматически, структура данных может определяться косвенно по размерам обращений к памяти и адресам, а нераспознанные вызовы могут отображаться без исходного имени метода VCL. Базы знаний о RTTI конкретных версий компилятора помогают восстановить сохранившиеся имена и типы.
Высокоуровневый листинг восстанавливает логику нативной программы для анализа с детализацией, поддерживаемой имеющимися данными. Проверяйте предполагаемые типы, неожиданные выражения и важные выводы, сопоставляя их с соответствующими инструкциями. См. Интерпретация восстановленного кода.
Восстановление утраченного исходного кода — дополнительный сценарий использования. Полученный результат требует доработки и не является готовым к компиляции проектом. Перед открытием восстановленного кода в IDE вручную проанализируйте и исправьте неточности декомпиляции и несовместимости, а также восстановите недостающие зависимости.
Приложения, созданные в C++Builder
DE Decompiler поддерживает VCL-приложения, созданные в C++Builder, для Win32 и Win64. Доступны восстановление и визуализация форм, разбор модулей, классов и функций, переходы к обработчикам событий, а также остальные инструменты анализа и экспорта.
Баз знаний RTTI для библиотек, специфичных для C++Builder, пока нет. Функции вне общей базы VCL, а также нераспознанные свойства и методы объектов могут отображаться без библиотечных имён. Поэтому качество декомпиляции кода C++Builder заметно ниже, чем для программ, написанных на Delphi. Это ограничение касается качества восстановления кода и распознавания библиотечных имён. Остальные возможности доступны для C++Builder по тем же правилам редакций, что и для программ, написанных на Delphi.
Код C++Builder восстанавливается в виде Delphi-подобного Pascal с экспортом в PAS/DFM. Исходный текст на C++ не восстанавливается. Как и при другом восстановлении нативного кода, перед использованием результата в IDE вручную проверьте и исправьте предполагаемые типы, сгенерированные имена и погрешности декомпиляции.
Редакции
Декомпиляция высокоуровневого кода, AI Helper, HEX-редактор и работа с обфускацией требуют лицензии Single Developer или Enterprise. Free Lite восстанавливает информацию о формах VCL и обеспечивает нативное дизассемблирование и ссылки на строки. См. Лицензирование.
