# Модули, классы и функции — DE Decompiler

> Профессиональный декомпилятор VCL-программ, написанных на Delphi или созданных в C++Builder: код Win32/Win64, формы, модули и классы для реверс-инжиниринга и компьютерной криминалистики.

Canonical HTML: <https://www.de-decompiler.com/help/ru/recovered_structure.htm>

## Модули, классы и функции

Восстановленные объявления помогают разобраться в структуре поддерживаемых VCL-приложений, написанных на Delphi или созданных в C++Builder.

### Объявления модулей

Выберите модуль под **Код** для просмотра его восстановленного листинга объявлений. Используйте имя модуля, доступные ссылки, объявленные классы и видимые члены, чтобы определить, какую часть приложения вы изучаете.

![Восстановленные объявления модулей и классов для приложения Delphi.](https://www.de-decompiler.com/image/help/de_decompiler_unit_declaration_overview.png)
Восстановленные объявления модулей и классов для приложения Delphi.

Выдержка из восстановленного объявления класса:

```
type
  TfrmMain = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    PageControl1: TsPageControl;
```

### Классы и методы

Разверните распознанный класс и выберите метод или функцию. Читайте сигнатуру и тело вместе: правдоподобное тело само по себе не подтверждает предполагаемый тип параметра или интерпретацию поля класса.

### Публичные и приватные функции

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

Кадровые структуры анонимных методов, сгенерированных компилятором, скрыты от обычного дерева. Результаты поиска, переходы по адресам и история могут выявить необходимый кадр. **«Показывать VCL классы» (Show VCL classes)** предоставляет полный вид класса. Открытие объявления модуля или класса не требует декодирования всех его методов.

### Имена и аннотации аналитика

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