Как определить, какие типы определены в DCU Delphi?

У меня есть набор скомпилированных файлов Delphi dcu, без исходного кода. Есть ли способ определить, какие типы определены внутри этого dcu?

3 ответа

Решение

Вы можете взглянуть на DCU32INT, декомпилятор Delphi DCU. Он генерирует файл.int, который каким-то образом читается, но не компилируется, но если вы хотите определить только определенные типы, этого может быть достаточно.

Чтобы узнать, что находится в модуле с именем FooUnit, введите в своем редакторе следующее:

unit Test;

interface

uses FooUnit;

var
  x: FooUnit.

Нажмите Ctrl+ Пробел в конце, и IDE представит список возможных значений завершения, который должен состоять в основном, если не исключительно, из имен типов.

Формат DCU недокументирован, последний раз я проверял. Тем не менее, я нашел инструмент, который может дать вам некоторую базовую информацию, которая называется DCUtoPAS. Он не очень хорошо оценен на сайте, но может по крайней мере извлечь типы для вас. Существует также DCU32INT, который также может помочь.

В противном случае вам может понадобиться открыть файл с помощью шестнадцатеричного редактора и поискать строки.

Другие вопросы по тегам