# DE Decompiler 26.7 news and release notes

> DE Decompiler 26.7 improves conditions, strings, properties and call reconstruction. Read the release notes.

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

## News

November 2, 2026

### [DE Decompiler v26.7](https://www.de-decompiler.com/de_decompiler_267.htm) has been released

DE Decompiler 26.7 improves native-code reconstruction for applications written in Delphi, with more accurate conditions, strings, properties, arguments and evaluation order. Library identification, database loading and analysis stability have also been improved.

- Improved reconstruction of conditions using values selected across three or more branches, reducing unresolved intermediate values in Delphi code.

- Prevented stale initial values from appearing in string comparisons after calls whose output parameters cannot yet be fully identified.

- More accurate string and other output values passed on the stack to unresolved indirect calls, avoiding false empty strings and constant conditions in more Delphi procedures.

- Round numeric constants are now displayed in decimal where appropriate, while known addresses and bit masks retain hexadecimal notation.

- Improved separation of Delphi classes with identical names in different libraries, with faster identification of inherited library methods and fewer ambiguous matches.

- Faster loading of Delphi library databases and improved stability when reading small databases.

- Improved recovery of local variable sizes and counters in Delphi code, preserving byte and 16-bit arithmetic more accurately.

- More reliable reconstruction of calculated values when local variables are reused, avoiding accidental substitution or repeated memory reads.

- More reliable property recovery for inherited Delphi classes, keeping unrelated methods with matching names as ordinary calls.

- More accurate Delphi library calls, preserving parameters and return values when a routine cannot safely be represented as a property.

- More accurate Delphi property reads, including inherited Text and Caption, preserving string results instead of repeating property access.

- More accurate integer calculations after signed and unsigned conversions, preserving 64-bit arithmetic and values selected across branches.

- Improved reconstruction of values chosen across multiple branches, keeping saved results distinct from later calculations.

- More Delphi control setters are now recovered as property assignments, including inherited Text and Caption properties.

- Improved recovery of Delphi class tests whose results are saved before use, retaining Boolean expressions without repeating the original checks.

- Preserved function results on early-return paths, including shared return blocks and cleanup operations reached from different branches.

- Function calls used in reconstructed value selections are now evaluated once, preserving their original side effects.

- Corrected entry into routines with shared error-handling blocks and avoided using branch-local values on paths where they were never assigned.

- Corrected missing function calls in Boolean conditions and nested branches, and added previously missing declarations for reconstructed branch values.

- Prevented excessive memory allocation when analysing malformed API-call descriptions, retaining unresolved arguments instead of omitting them.

- More reliable evaluation order for function results and loop conditions, preserving calls across intervening operations and avoiding uninitialized values in reconstructed loops.

- Delphi type checks and checked object casts are now shown as is/as expressions in more cases, preserving required checks and exceptions.

- Improved handling of function results used several times within a single expression, avoiding repeated calls in the recovered code.

- More accurate recovery of function parameters across branches, including previously missing arguments and avoiding values from unreachable code.

- Fixed freezes when analysing native procedures containing embedded data or unusual return instructions, without losing their stack arguments.

- Improved stack handling for unusual call conventions and prevented overflow errors during native-code analysis.

- Corrected local-variable declarations after Boolean conversions, preserving the original storage size and nonstandard True values.

[Read the illustrated overview of DE Decompiler 26.7](https://www.de-decompiler.com/de_decompiler_267.htm)

[Download Free Lite 26.7](https://www.de-decompiler.com/download.htm)

October 30, 2026

### DE Decompiler v26.6 has been released

DE Decompiler 26.6 expands support for VCL applications built with C++Builder and improves native-code reconstruction, responsiveness and form previews. The update also adds plugin navigation and function-marking commands.

- **C++Builder and compiler identification**

- Analyze C++Builder VCL forms, units, classes and functions, visualize recovered forms and navigate to event handlers. The other analysis tools are also available for these applications. Recovered code is displayed as Delphi-like Pascal and exported as PAS/DFM, rather than as the original C++ source.

- C++Builder-specific library RTTI knowledge bases are not yet available. Functions outside the shared VCL coverage, and object properties or methods that cannot be identified, may be shown without their library names. Code decompilation quality for C++Builder is therefore noticeably lower than for applications written in Delphi. This limitation concerns code-reconstruction quality and library-name recognition. The other supported features remain available for C++Builder under the same edition rules as for applications written in Delphi.

- C++Builder and Free Pascal inputs are now identified separately from Delphi. Compiler identification remains independent of the compatible signature database, including after loading a saved project. Long compiler names and version ranges fit the main-window label; full details remain available in its tooltip.

- C++Builder code now has clearer string-object operations, more accurate output parameters and fewer exception-management statements mixed into application logic.

- **Types, calls and properties**

- Improved string-variable types in deeply nested concatenations, local types after explicit numeric and character casts, and function-result types for signed and unsigned integers, characters, strings and Boolean storage types. Partial reads of dynamic-array pointers no longer imply a reference to the whole array.

- Corrected native-sized integer and reference arguments, Boolean storage types and typed-property assignments. Recovered class information improves virtual-method arguments and results, including var/out parameters and string results; library and wrapper calls retain more accurate types, arguments and default values.

- Improved types of captured property results, including object classes and Boolean storage. Property reads retain their required getter calls and evaluation order. Reused results avoid repeated getters while preserving conversions; inherited properties and shared accessors are handled more reliably, retaining method calls when a property name is ambiguous.

- Runtime-helper recognition no longer replaces unrelated methods or omits following code. Identical machine code shared by library routines does not force a misleading name or result type. External APIs remain distinct from similarly named runtime helpers.

- **Strings and file operations**

- More accurate AssignFile, Write and WriteLn recovery preserves encodings, explicit code pages, zero characters and field widths. Chained text-file writes and modified file-record fields no longer introduce repeated calls or stale values. Binary-file end-of-file checks are also improved.

- Improved pointer-based string lengths, explicit-length string buffers, memory initialization, and ShortString assignment and concatenation. Bounded copies, embedded zero bytes and inline string fields are represented more accurately.

- Improved string-content comparisons and arguments recovered after calls, reducing misleading constant conditions and spurious parameters. String results returned through parameters remain distinct from records that contain string fields.

- **Control flow and native instructions**

- Corrected variable references in loops, reused function results and writes through pointers. A change to pointed-to data is no longer shown as a change to the pointer itself. Fewer unresolved register names and repeated call expressions remain in the listing.

- Improved signed comparisons near integer limits, negative constants and arithmetic-overflow conditions. Complex conditions and branches to shared return paths preserve call and assignment order, avoiding repeated calls and incorrect exit values.

- Corrected decoding of rare 16-bit memory addressing and segment overrides in 32-bit applications.

- **Speed, memory and saved analysis**

- Faster and more stable handling of deeply nested expressions and procedures with many reused function or property results. Complex procedures open faster, initial delays in projects with many forms and classes are reduced, and switching between procedures is more responsive.

- Updated function signatures remain available to subsequent calls. Analysis is refreshed after file changes, saved-project loading and plugin edits. Database storage is optimized while remaining compatible with existing databases.

- Reduced memory use in the HEX Editor for large files, retaining editing, Undo/Redo and saving. Form, class and code-branch discovery, native-code analysis and signature loading also use less memory. A leak on failed analysis-state saving is fixed.

- Improved handling of incomplete startup tables and string references near the end of executables. String References remain available after full decompilation in Pro and Lite; reopening saved procedures in Lite no longer leaves an empty Disassembler, and references choose the correct code view.

- **VCL form previews**

- Improved previews of supported TMS labels, buttons, lists, group boxes, sliders, scrollbars and tab strips, preserving stored text and layout more accurately. Activity indicators have static previews; embedded web areas are marked without loading their pages.

- Window-shaping helpers and image lists no longer cover form contents. Transparent slider backgrounds no longer appear black.

- **Plugin SDK**

- Plugins can query the displayed form, unit, class or procedure with GetDisplayedTreeItem (65), read or change a function mark with GetModuleFunctionMark (66) and SetModuleFunctionMark (67), and locate functions by virtual address with FindModuleFunctionByVA (68). GetModuleFunctionVA (69) returns the full virtual address, including 64-bit addresses. Existing callback signatures and command numbers remain compatible.

- **Cancellation and documentation**

- Cancellation is more responsive while opening large applications, discovering classes, reading forms and decompiling all procedures. A pending cancellation stops further procedure processing; cancelling full decompilation still discards its incomplete result.

- Cancelling optional prototype analysis keeps the parsed file open and retains the prototypes, APIs and strings already found. Incomplete analysis reports are omitted, and decoding options are restored after interrupted analysis.

- If the selected help translation is unavailable, DE Decompiler falls back to the English PDF or website. When a local PDF or CHM cannot be opened, the corresponding online documentation is used.

Recovered native code requires manual review and correction before use in an IDE.

[Download Free Lite 26.6](https://www.de-decompiler.com/download.htm)

[Updated SDK reference](https://www.de-decompiler.com/plugins_sdk.htm)

October 28, 2026

### DE Decompiler v26.5 has been released

DE Decompiler returns to public licensing with native analysis of VCL applications written in Delphi 3–13 for Win32 and Win64. Version 26.5 brings the following capabilities and improvements.

- **Updated interface translations**

- Updated Arabic, Brazilian Portuguese, Simplified and Traditional Chinese, Czech, Danish, Dutch, English, French, German, Greek, Hebrew, Indonesian, Italian, Japanese, Kurdish (Sorani), Persian, Polish, Portuguese, Russian, Slovak, Spanish, Turkish and Ukrainian translations.

- **Native code and control flow**

- A dedicated decompiler for Win32/Win64 applications written in Delphi reconstructs `if/else` conditions, nested case blocks, `for/while/repeat` loops and recognized `Break/Continue` paths. Local variables receive generated semantic names where the available evidence supports them.

- Improved handling of signed overflow, unsigned carry/borrow, Boolean tests, partial registers, pointer widths and short-circuit conditions. Uncertain types or data flows remain explicit instead of being replaced by unsupported high-level expressions.

- **Strings, arrays and runtime-library calls**

- Improved reconstruction of `AnsiString`, `UnicodeString` and `WideString` results, reference parameters and hidden return storage, with preservation of native call order and side effects.

- Recognized RTL operations are represented as Delphi expressions and statements, including `Length`, `Copy`, `Delete`, `Insert`, `SetLength`, concatenation, dynamic-array indexing, Variant arrays and `TextFile` I/O. Ambiguous signatures retain their lower-level representation.

- **RTTI, VCL calls and signature databases**

- Recover object fields, properties, virtual methods and VCL calls using executable metadata and signature databases. Qualified class ancestry helps distinguish colliding class names; imported Windows API calls use their physical Win32/Win64 calling conventions.

- Compiler identification is independent of database selection. Commercial editions choose the exact database first, then the nearest newer version, then the nearest older version of the same bitness. An asterisk and tooltip identify substituted or uncertain matches. Signature coverage includes Delphi 12.3 and Delphi 13.

- **VCL forms, DFM source and event navigation**

- Visual reconstruction preserves supported menus, pages, lists, grids, toolbar buttons, properties, fonts and inherited colors. Supported AlphaSkins controls are displayed through their VCL equivalents while original DFM class names are retained.

- Open original DFM text with syntax highlighting, folding, search and copy. Navigate from recovered controls and menu events to their handlers; Back/Forward restores form selection, tabs and scrolling. Previewing does not execute application drawing or event code.

- **Images and the shared plugin SDK**

- Register original DFM BMP, PNG, JPEG, GIF, ICO and CUR pictures for image plugins, preserving PNG alpha and GIF transparency. FRX Image Viewer can preview and export individual icons from recognized native Delphi ImageLists, including masks and alpha transparency.

- DE Decompiler 26.5 supports shared SDK revision 26.6, including `GetFrxImageListInfo` (63) and `GetProductName` (64). Existing exported names and command identifiers remain compatible.

- **Project structure, search and binary views**

- The project tree groups code as Unit → Class → Procedure. User/VCL class filters, heuristic private-function discovery and qualified procedure searches help locate application code. Compiler-generated anonymous-method frames stay out of the normal tree and can be revealed by explicit navigation.

- Search, rename and references handle Pascal identifiers without case sensitivity and include folded code. Code/disassembly navigation and the HEX Editor retain full Win64 addresses. Free Lite includes String-reference browsing and navigation to native disassembly.

- **Exports, cancellation and saved analysis**

- Export UTF-8 PAS units, separate DFM files, a Delphi project or a combined PAS listing. Procedure lists support TXT, MAP, IDC and HIEW with full Win64 addresses. IDC output uses rebased addresses and preserves existing IDA instructions and data.

- Initial analysis, exports and VDD saves can be cancelled between procedures. Existing files are replaced only after complete writes; files already completed in a multi-file export remain after cancellation. VDD databases retain resources, renamed symbols and cached native code for review without the original executable; undecoded procedures still require the matching binary.

- **AI Helper, obfuscation and usability**

- AI Helper sends complete procedures, including folded text, to Ollama or the configured OpenAI/DeepSeek API service. Improved cancellation and project-state handling keep active requests separate from project replacement. Local models require compatible hardware.

- Win32/Win64 obfuscation creates a backup and rebuilds the analysis after saving, with recovery handling on failure. Analysis reuses decoded instructions and database state to reduce repeated work. Improved language/theme selection, recent-file handling and localized PDF/CHM/online help navigation complete the workflow.

High-level code is reconstructed from machine instructions and the information preserved in the binary. Review the recovered types, generated names and unidentified calls in their binary context. [Interpreting recovered code](https://www.de-decompiler.com/help/validation.htm).

[Download Free Lite](https://www.de-decompiler.com/download.htm)

### Historical releases (2007–2008)

Release notes from the original public releases, before the 2026 relaunch.

March 25, 2008

### DE Decompiler v2.0 has been released

- Added support for decompiling applications compiled with Delphi 2007.

- Significantly improved code emulation.

- Fixed all known issues.

January 16, 2008

### DE Decompiler v1.4 has been released

- Improved packer detection.

- Improved detection of applications compiled with Delphi 6.

- Improved code emulation.

- Corrected emulation of backward jumps for the ShowRef plugin.

- “Decompile for VA” now supports applications written in Delphi.

- Updated the unpacker.

- Added a plugin for changing the decompiler process priority.

- Added obfuscator support for applications built with C++Builder.

- The obfuscator now processes additional fields.

- Corrected stack clearing before procedure parsing.

- Fixed user-class parsing when the component field is not found.

November 24, 2007

### DE Decompiler v1.3 has been released

- Fixed issues in user-class parsing.

- Fixed issues in form parsing.

November 20, 2007

### DE Decompiler v1.2 has been released

- Fixed issues in form parsing.

November 18, 2007

### DE Decompiler v1.1 has been released

- Added a German help file.

- Fixed issues in decompilation mode.

November 15, 2007

### DE Decompiler v1.0 has been released

- First public release.
