我不明白为什么找不到这样的工具(Oracle Forms或Reports反编译器)
这非常有价值,因为许多企业使用基于oracle的系统。
有谁知道.FMX或.REP格式的文件结构有什么特殊之处,可以防止为他们构建反编译器?
最佳答案
鉴于他们刚刚因侵犯知识产权而向SAP索赔13亿美元,Oracle可能不是最好的选择。公司要么拥有自己的内部开发系统(包括源代码),要么从大公司那里购买了第三方应用程序(加上支持)。他们为后者付出高昂的代价,一家大公司将在做一些非法的事情欺骗另一家大公司时三思而后行。
因此,此类软件的合法市场将很小。
从技术的角度来看,在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 iself的Forms-to-Apex迁移工具,以及一些第三方应用程序,例如PITSS中的应用程序)。
关于oracle - 为什么没有Oracle Forms或Reports反编译器? (技术上),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4271738/