Struts Web应用程序的逆向工程/源代码分析

时间:2010-05-12 19:53:24

标签: struts reverse-engineering web-applications

我需要逆向工程并理解与jsf应用程序集成的struts 1.2作为我工作的一部分。遗憾的是文档很少。 请建议我怎么做。 什么是适合此目的的工具。

1 个答案:

答案 0 :(得分:1)

如果您必须对应用程序进行逆向工程,无论应用程序是什么,您都必须:

  • 首先 - 了解它使用的技术(框架,库等)
  • 第二 - 应用程序添加的内容(自定义框架,业务规则等)。

因为它是一个Struts 1 + JSF应用程序,所以如果你还不知道,你需要首先了解它们是如何工作的(例如,现在很多人都没有使用Struts 1,除非他们必须使用一些遗留应用程序)。

然后,在您知道使用哪些技术使应用程序工作之后,您必须找出应用程序的功能。只有一种通用工具可以帮助你:你的大脑。

此外,了解应用程序的用户如何工作将是有用的。但是你必须非常小心并辨别你收到的信息,因为用户有时会告诉他们希望这些东西是如何工作的,而不是它有效的方式。

需要考虑的一些事项:

  • 你必须有耐心,很多;一旦你在手中挖了一些东西,表面上看起来很容易变得非常复杂,并且可能比你原先想象的要花费更长时间。
  • 永远不会假设某些事情有效;如果你对80%的东西进行逆向工程,并认为你知道它是如何工作的,它的作用就是不要把它称为一天;剩下的20%可能会咬你;
  • 另外,如果你发现有趣的外观代码,你永远不会写的东西,不要假设编写它的人是愚蠢的,它可能是因为某个原因仍然存在(例如一些bug)固定在某种环境中);
  • 要知道有可能以某种方式理解某些内容,之后,在对应用程序的其他部分进行更深入的了解之后才能意识到自己错了;
  • 怀疑您可能拥有的任何文档(javadoc,代码注释,用户指南等),它们可能与代码不同步,可能会让您陷入困境并使您感到困惑。代码是神圣的;

祝你好运!