ReFox is a universal system for restoring lost or damaged source code from FoxBASE+, FoxPro 1.x, and FoxPro 2.0. ReFox is an invaluable programmers tool in situations where the source code is lost or damaged or if it is uncertain that the source code matches the compiled application.
ReFox reconstructs source code by decompiling the .FXP (.FOX, .MPX, .SPX, etc.), .APP or .EXE modules and producing source code which is functionally the same as the original, including the names of variables and procedures.
The FoxBASE+ and FoxPro compilers encrypt programs in different ways. The decompilation and de-encryption methods used by ReFox are chosen at decompilation time based on the analysis of information saved in the compiled module and is therefore automatic. You do not have to specify if the file was encrypted when compiled.
ReFox has four basic functions:
Decompilation Reconstructs source code by decompiling programs that have been produced from FoxBASE+, FoxPro 1.x, and FoxPro 2.0 and de-encrypts programs compiled with the ENCRYPTION option.
* .FOX for FoxBASE+
* .FXP for FoxPro 1.x and 2.x
* .MPX, .QPX, .SPX, .APP, and .EXE for FoxPro 2.0
Separation For use with FoxPro 2.0 ,APP or .EXE files only. This function splits the .APP or .EXE files into their separate components. Data files, reports, screens, queries, etc., hard coded into an application can therefore be recovered and modified.
Comparison Compares the original file with that reconstructed from the new source code created by ReFox.
Branding Protects applications from unauthorized decompilation by embedding a password and your ReFox serial number into the file to be protected. When decompiling a branded file the embedded serial number will be displayed and the password will be requested. Only by supplying the correct password will ReFox decompile the application.
The decompiled source is functionally equivalent with the original, including the names of variables, procedures, and functions. Nevertheless, a verbatim reproduction of the program text is not always achieved. These 'cosmetic' differences are listed below:
* Remarks and comments are not decompiled as they are not held in the compiled form.
* Compound constants are evaluated when compiled by FoxPro and therefore, cannot be recovered in their original form. e.g. A = 1 + 2 + 3 is compiled/decompiled as A = 6
* Character strings will be enclosed within:
apostrophes 'a....z' if the string does not contain any apostrophes
quotation marks "a....z" if the string does not contain any quotation marks
brackets [a....z] in other cases
* Long program statements are not split into lines separated by a ";".
ReFox and ReSource are registered trademarks, of Xitech, Inc. Other trademarks mentioned herein belong to their respective companies.