Blog Archives

FMX.Decompiler.1

Currently I work on a decompiler for .fmx files, which are compiled Oracle Forms applications. Such applications can be built by Oracle Form Builder, which stores .fmb files (uncompiled) and .fmx files (compiled).

Why I need that? We use Oracle Forms since a lot of years (Forms6 ++) and we have thousends of commits within our Subversion for our Forms applications. But for some old applications we only have the .fmx files and we cannot find the associated .fmb. The application can still be used, but it is not possible to enhance or bugfix it. To rescue such applications, it would be helpful to get the definitions from the .fmx.

Search

Google returns only posts, where people need such a decompiler too, but nobody has a solution. Seems to be undiscovered country. Or, Oracle suppress such a knowledge. Hm, seems to be a home improvement project.

Idea

FMX files are used by the Oracle Forms Runtime but also by an Java based client/server architecture. So I think, the .fmx files contain the description of the application, but no executable code for a specific platform. So it should be possible to decompile it and restore the former .fmb.

Show it in Hex

I have load a simple .fmx file into a hex-editor. Currently I use DHex. The file contains plaintext structures like names for windows, canvases, recordgroups and so on. So the first try confirms my presumption, there are descriptions and no executable code.