繁体   English   中英

Java web 小程序/表单逆向工程

[英]Java web applet/form reverse engineering

我应该根据已停产的产品创建一个新产品。 问题是停产产品的原始程序员丢失了源代码(是的,太棒了)。

该软件通过 web 浏览器运行。 当我将 go 转到他们的 url 时,会弹出一个 window 标题为“Oracle Developer Z645024625319182926E”。 我不确定这是一个小程序还是 Java 插件或其他什么,因为我一直在开发 Java “命令行”应用程序。

有没有运气我可以看到应用程序和服务器之间调用和返回的内容,以便我可以模仿类似的东西? 如果是这样,我应该研究什么工具?

鉴于我对 Oracle Forms 的了解(顺便说一句,这是相当有限的),Peter Tillemans 的答案是正确的方向。 该小程序只是 Oracle Forms 中内置屏幕的胖客户端。

如果要恢复源代码,则需要查找为应用程序构建的 *.fmb 文件(包含源代码的 Forms Builder 文件)。 这些将包含 PL/SQL 源代码以及屏幕布局,并且必须使用 Oracle Forms Builder 工具打开。 您可能还想获得一份打算在数据库服务器上运行的任何 PL/SQL 源代码的副本。

如果您丢失了 FMB 文件,那么您可能必须想办法从已编译的 FMX 文件中恢复源文件,该文件实际上在运行时由 Forms 服务器使用。 我不知道这些有任何反编译器。

In my opinion, decompiling the applet is an exercise in futility, for that is a part of the Oracle Forms Java client (and is part of the Oracle Forms product itself), meant to be deployed on a web server. 作为应用程序的一部分开发的所有屏幕实际上都没有编译到 Java 类中; 小程序实际上执行从 Oracle Forms 服务器接收 UI 信息并将其显示在屏幕上的工作。 发生繁重工作的是Forms服务器; 所有业务逻辑和事务管理都发生在此服务器中,这就是您应该追求的(可以在 FMB 和 FMX 文件中找到)。

可能还需要考虑其他文件。

  • PLL 文件将包含跨多个 forms 使用的 PL/SQL 源代码。
  • MMB 文件将包含菜单模块。

您正在处理 Oracle Forms 应用程序。 “小程序”基本上是一个胖客户端应用程序,它与 Oracle 应用程序后端对话。

您将需要 Oracle Forms 工具集。

更多信息可以在Forms 常见问题中找到

有许多反编译器可以让您在这个项目上取得良好的开端。 http://www.google.com/search?aq=f&q=java+反编译器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM