Borland C++ 2.0 source rebuilt byte-for-byte

The borland-reborn project recovered Borland C++ 2.0 source code from the original BCC.EXE and rebuilt an executable with an identical SHA-256 hash, also producing a human-readable version with renamed identifiers and extensive comments.

Borland C++ 2.0 source rebuilt byte-for-byte

Key points

  • The project recovered 298 source files written in C and TASM from the 1991 BCC.EXE binary.
  • Matching the original executable byte for byte required identifying the correct compiler, build options, and per-function adjustments.
  • The reconstruction uncovered that 29 library modules had been built with Turbo C 2.01 and exposed a Borland bug involving strrchr and empty strings.

Context

The reconstruction shows how a legacy compiler toolchain and its undocumented build behavior can be inferred from an executable. For teams maintaining older systems, the result offers a rare path from binary-only preservation to source-level analysis without changing the original program's behavior.

What this means for you

Directly applicable

Developers can use the reconstructed source and documented toolchain quirks as references when maintaining Borland-based legacy systems.

Who benefits: Developers and technical decision-makers responsible for preserving or maintaining legacy software benefit from the reproducible source reconstruction.

Share article:

Integrate a system without docs?

API development: connect even poorly documented interfaces reliably, with tests and monitoring.