# Saving recovered material - DE Decompiler

> Save the output needed for the investigation while retaining the original binary and the analysis context.

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

## Saving recovered material

Save the output needed for the investigation while retaining the original binary and the analysis context.

### Project and module output

**File > Save decompiled project** exports the recovered material as a Delphi project, including recovered units and forms. Choose an output folder and review the saved files:

- `.pas`: one UTF-8 source file for each unit, combining declarations and methods from its recovered classes.

- `.dfm`: separate form definitions, including distinct files when several forms belong to one unit. Non-ASCII string literals use Delphi `#` character codes while binary property data is preserved.

- `Project.dpr`: project references and recovered startup information based on units and form resources successfully written during the current export.

The primary form is linked through `{$R *.dfm}`; additional forms use explicit resource directives. Form-only analyses export available DFM files for inspection without inventing missing Pascal classes or startup code. Review export diagnostics for missing or conflicting resources.

Use **File > Save all in one module** when a single combined `.pas` listing is more convenient for review or comparison. A combined listing and a multi-file Delphi project serve different purposes; choose the output required by the investigation.

### Commented procedure bodies

By default, recovered local declarations and statements are enclosed in a Pascal comment wrapper while the method signature is retained. The body remains available for inspection, search and analysis. This presentation does not mean that the exported unit is ready to compile.

### Progress, cancellation and failures

Project and combined-listing exports process procedures as required. Review warnings for methods that could not be decoded. Saved cached code can be exported without the original executable; undecoded procedures require the matching binary.

Use **Cancel** to stop between procedures. Existing PAS, DFM, DPR and combined-listing files are replaced only after complete writes. A cancelled multi-file project export retains files completed before cancellation, so its output folder may contain a mixture of completed files and older files. Use a separate output folder when preserving an earlier export.

### Preparing material for an IDE

Before opening recovered code in an IDE, manually resolve decompilation inaccuracies and incompatibilities. Reconcile generated identifiers, inferred types and signatures, unidentified calls and missing dependencies. The listing reconstructs program logic for analysis; it does not reproduce a compilable source project. A build requires manual analysis and correction of the exported code.

### Investigation records

For a security review, retain the procedure address and binary identity with exported fragments. Keep decompiled statements, native instructions, model-generated suggestions and analyst conclusions distinguishable in the resulting report.
