Question

I cant understand why I can't find such tool (oracle Forms or Reports decompiler)

It's very valuable because many enterprises use oracle based systems.

Does anyone know what's special in the .FMX or .REP format files structure that prevents building a decompiler for them ?

Was it helpful?

Solution

Given the $1.3bn award they just got against SAP for intellectual property infringement, Oracle are probably not the best people to pick on. Either a company has its own in-house developed systems, including source code, or they buy a third-party application (plus support) from a major company. They pay a lot for the latter and a big company is going to think twice about doing something illegal to cheat another big company.

So the legitimate market for such software would be pretty small.

From a technical point of view, after Forms 3.0, the 'source' is also not straight text so you have the difficulty of working out both decoding of the FMX into something understandable, then re-assembling it into a valid FMB.

Plus multiple versions of Forms (both major releases and individual patchsets), creating executables that run on a variety of platforms.

A lot of effort, small market, legal issues....


No resources but vague memories.

Back in the days of Forms 3.0 you could manually edit INP files (the source code, sort of equivalent of FMB) as they were flat text.

When they moved to FMB, I recall looking at converting the FMB to FMT (the text format), making changes, then going back again. But converting to an FMB that would be accepted was a problem. If you create a .java from a .class you get a file that you run through a compiler and it tells you what's wrong with the source code (if anything). The java compiler is designed to take something created externally (eg in a text editor) and parse it and return any parsing issues.

If you manually create an FMB and it is wrong it will either error on load or just crash. It isn't designed to tell you what is wrong with the 'source code' because it isn't intended to load something that has been created externally.

So building a valid FMB (let alone a FMB from an FMX) is tricky.

Parsing an FMX into a readable format, rather than to an FMB, might be doable. But the vast majority of Forms users will have the FMB and there's more use cases for parsing an FMB into something usable rather than the FMX. And there are utilities around to do this (including the Forms-to-Apex migration tool from Oracle iself, plus some third-party apps like those from PITSS).

OTHER TIPS

I am pretty sure you answered your own question: It's very valuable because many enterprises use oracle based systems.
It's also very valuable to oracle that you can't decompile their systems

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top