Сохранение результатов

Сохраняйте выходные данные, необходимые для расследования, сохраняя при этом исходный бинарный файл и контекст анализа.

Вывод проекта и модуля

«Файл > Сохранить декомпилированный проект» (File > Save decompiled project) экспортирует восстановленный материал в проект Delphi, включая восстановленные модули и формы. Выберите папку вывода и проверьте сохранённые файлы:

  • .pas: один исходный файл UTF-8 для каждого модуля, объединяющий объявления и методы из его восстановленных классов.
  • .dfm: отдельные определения форм, включая раздельные файлы, когда несколько форм принадлежат одному модулю. Строковые литералы не-ASCII используют коды символов Delphi # , а двоичные данные свойств сохраняются.
  • Project.dpr: ссылки проекта и восстановленная информация о запуске на основе успешно сохранённых во время текущего экспорта модулей и ресурсов форм.

Основная форма связана через {$R *.dfm}; дополнительные формы используют явные директивы ресурсов. Анализ только форм экспортирует доступные файлы DFM для проверки без создания отсутствующих классов Pascal или кода запуска. Проверьте диагностику экспорта на наличие отсутствующих или конфликтующих ресурсов.

Используйте «Файл > Сохранить все в один модуль» (File > Save all in one module) когда единый объединённый .pas листинг удобнее для просмотра или сравнения. Объединённый листинг и многофайловый проект Delphi служат разным целям; выбирайте вывод, требуемый расследованием.

Тела процедур с комментариями

По умолчанию восстановленные локальные объявления и операторы помещаются в комментарий Pascal, а сигнатура метода сохраняется. Тело процедуры остаётся доступным для изучения, поиска и анализа. Такой формат не означает, что экспортированный модуль готов к компиляции.

Прогресс, отмена и ошибки

При экспорте проекта или объединённого листинга процедуры обрабатываются по мере необходимости. Проверяйте предупреждения о методах, которые не удалось декомпилировать. Сохранённый кэшированный код можно экспортировать без исходного исполняемого файла. Для ещё не декомпилированных процедур потребуется соответствующий бинарный файл.

Используйте «Отмена» (Cancel) для остановки между процедурами. Существующие файлы PAS, DFM, DPR и объединённого листинга заменяются только после полного завершения записи новых файлов. При отмене экспорта многофайлового проекта уже записанные файлы сохраняются, поэтому в каталоге могут оказаться как новые, так и прежние файлы. Чтобы сохранить предыдущий экспорт отдельно, используйте другой каталог.

Подготовка материала для IDE

Перед открытием восстановленного кода в IDE вручную устраните неточности декомпиляции и несовместимости. Приведите в соответствие сгенерированные идентификаторы, предполагаемые типы и сигнатуры, неразрешённые вызовы и отсутствующие зависимости. Листинг восстанавливает логику программы для анализа; он не воспроизводит исходный проект, готовый к компиляции. Сборка требует ручного анализа и исправления экспортированного кода.

Записи расследования

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