What survives compilation
Architecture, machine code or intermediate representation, control flow, imports, strings and resources remain. Symbols or debug information can add names and types when available. Decompilers produce an interpretation—not the original project.
What is usually lost
- Comments, meaningful local names and formatting
- Original modules/project structure and design rationale
- High-level constructs changed by optimization
- Build scripts and source revisions
VB6 P-code can expose different structure than native VB6; Delphi and other native builds still require machine-code analysis. Neither guarantees editable original forms or units.
See application recovery, VB6 reverse engineering, executable analysis and the pillar.