2

我不明白为什么我找不到这样的工具(oracle Forms or Reports decompiler)

它非常有价值,因为许多企业使用基于 oracle 的系统。

有谁知道 .FMX 或 .REP 格式文件结构中有什么特别之处会阻止为他们构建反编译器?

4

3 回答 3

7

鉴于他们刚刚因侵犯知识产权而获得的针对 SAP 的 13 亿美元的裁决,甲骨文可能不是最好的选择。公司要么拥有自己的内部开发系统,包括源代码,要么从大公司购买第三方应用程序(加上支持)。他们为后者付出了很多,一家大公司会三思而后行,做一些非法的事情来欺骗另一家大公司。

因此,此类软件的合法市场将非常小。

从技术角度来看,在 Forms 3.0 之后,“源”也不是纯文本,因此您很难将 FMX 解码为可理解的内容,然后将其重新组装成有效的 FMB。

加上多个版本的 Forms(主要版本和单独的补丁集),创建在各种平台上运行的可执行文件。

很多努力,小市场,法律问题....


没有资源,只有模糊的记忆。

在 Forms 3.0 时代,您可以手动编辑 INP 文件(源代码,相当于 FMB),因为它们是纯文本。

当他们迁移到 FMB 时,我记得将 FMB 转换为 FMT(文本格式),进行更改,然后再返回。但是转换为可以接受的 FMB 是一个问题。如果你从 .class 创建一个 .java,你会得到一个通过编译器运行的文件,它会告诉你源代码有什么问题(如果有的话)。Java 编译器旨在获取外部创建的内容(例如在文本编辑器中)并解析它并返回任何解析问题。

如果您手动创建 FMB 并且它是错误的,它将在加载时出错或只是崩溃。它并非旨在告诉您“源代码”有什么问题,因为它并非旨在加载已在外部创建的内容。

所以构建一个有效的 FMB(更不用说来自 FMX 的 FMB)是很棘手的。

将 FMX 解析为可读格式而不是 FMB 可能是可行的。但是绝大多数 Forms 用户将拥有 FMB,并且将 FMB 解析为可用的东西而不是 FMX 的用例更多。并且有一些实用程序可以执行此操作(包括 Oracle 自己的 Forms-to-Apex 迁移工具,以及一些第三方应用程序,例如PITSS的那些)。

于 2010-11-24T22:06:41.327 回答
1

我很确定你回答了你自己的问题:It's very valuable because many enterprises use oracle based systems.
你不能反编译他们的系统对 oracle 来说也很有价值

于 2010-11-24T21:38:51.467 回答
1

看看这个

https://github.com/witchi/fmx.6.decompiler

它是 Oracle FMX 文件版本 6 的反编译器

于 2020-09-14T10:12:22.347 回答