Oninit Phoenix Recover
Because the reconstruction process is best appreciated by seeing the results firsthand, it can be difficult to demonstrate effectively with a simple example or screenshot alone. The easiest way to understand what the tool can do is to upload a compiled program and let it process it for you.
Simply upload an Informix 4GL compiled program (.4ge) file, and
the tool will analyze the binary and reconstruct readable
.4gl source. The decompiler recovers the module's functions and
their call graph; control flow including IF/ELSE,
WHILE, CASE / WHEN,
FOR and FOREACH with their
EXIT / CONTINUE statements;
MENU, INPUT and CONSTRUCT interaction
blocks with their per-key ON KEY sections; REPORT
definitions including the procedural code inside each FORMAT
section; embedded SQL and cursor operations; expressions, function calls with
their RETURNING targets; and the variable definitions it can
resolve — making it easier to inspect, document, maintain, or migrate legacy
applications when the original source is no longer available.
Recovery works on not-stripped programs — the ordinary
output of c4gl. As a deliberate policy the tool
refuses stripped binaries, whose symbols have been removed;
it is intended for recovering your own builds, not for reading
programs whose authors chose to strip them. Uploads are limited to a single
not-stripped program of up to 100 KiB.
A compiled program is normally linked from several source
modules together with the GLOBALS files they share, and the
compiled form keeps no record of which module each routine came from. The
recovery therefore returns everything the program contains as a
single .4gl source — every module and the global
declarations combined in one file, which for a substantial program can be
large. The content is complete; it is the original division into separate
files that cannot be recovered, so the recovered source is a starting point
for re-splitting into modules rather than a like-for-like replacement of the
original file set.
Recovery currently supports Linux builds only — 64-bit
x86 programs as produced by c4gl on Linux. A program compiled for
another platform uses a different executable format and instruction set, so it
cannot be read by this release even when it is not stripped. Support for further
platforms is under consideration; if you have compiled programs on another Unix
and need them recovered, please get in touch.
Single-file uploads are supported, and once processing is complete, the reconstructed .4gl source is rendered directly on the page for immediate review. No additional software, configuration, or manual extraction steps are required.
Source Code Recovery Authorization
Please read carefully before continuing.
This feature is intended solely for recovering source code from executable programs that you own or are otherwise legally authorized to analyze.
By clicking “I Accept” or otherwise continuing, you acknowledge and agree that:
- You own the software being decompiled, or you have obtained all necessary rights and permissions from the copyright owner.
- You are legally authorized to decompile and reconstruct the source code from the submitted executable.
- Your use of this feature complies with all applicable laws, software license agreements, contracts, and intellectual property rights.
- You understand that unauthorized decompilation of software owned by others may violate copyright, contractual obligations, or other applicable laws.
- You accept full responsibility for your use of this feature and for any recovered source code.
By selecting “I Accept” and continuing, you certify that the above statements are true and agree that you are solely responsible for ensuring you have the legal authority to use this feature.
The decompiler runs server-side; nothing is stored. Some fine detail cannot be recovered from a compiled binary — un-named stack locals appear as synthetic names, and a few pure-data statements leave no trace — so the reconstructed source is intended for reading and re-authoring, not as a byte-for-byte round trip. See also the companion form decompiler, Oninit Phoenix Forms.