【问题标题】:How can I extract symbols defined in a jar file using Delphi?如何使用 Delphi 提取 jar 文件中定义的符号?
【发布时间】:2012-03-20 15:03:04
【问题描述】:

我有一个 java jar 文件由一些类组成,每个类都有一些变量、常量、函数……

我想在我的 Delphi 程序中提取这些类、变量、常量、函数和函数参数的名称。

像JD-GUI 这样的工作。我怎样才能做到这一点?是否有任何 java sdk 命令行来执行此操作?

【问题讨论】:

  • 等等,只是为了弄清楚...您想将 Java-Bytecode 反编译为 Delphi?
  • 从一种编程语言反编译成另一种...我认为你做不到。
  • 看起来 Vahid 只是想枚举 JAR 文件中的符号
  • 我只是想做一个简单的IDE,我需要向用户展示导入类的内容。 (像任何 IDE 一样)

标签: java delphi jar extract decompiler


【解决方案1】:

我曾经为 Delphi 写过一个类文件解析器。你可以在这里找到它:

http://essmodel.cvs.sourceforge.net/viewvc/essmodel/essmodel/Integrator/CodeIO/JavaClass/

它是从 2004 年开始的,但应该仍然可以使用,除非类文件格式从那时起发生了很大变化。

解析器是创建静态类图的免费软件工具ESS-Model 的一部分。

请注意,解析器仅适用于类文件。如果要解析 jar 文件,您需要先解压缩 jar 文件并提取包含的类文件(jar 文件只是带有“.jar”扩展名的标准 zip 文件)。

【讨论】:

  • @Vahid:我强烈推荐你下载 ESS-Model 并使用它,不需要其他演示应用程序。我过去用过,很满意。
  • @Vahid:是的,您可以从上面的链接下载 ESS-Model。它只是一个不需要安装的小型 exe 文件。然后只需使用 File - Open 打开一个类文件,看看它是如何工作的。 uJavaClassImport.pas 是读取类文件并从中构建对象模型的源。
【解决方案2】:

Emil M. Santos 为您完成了这项工作。

他是 Class Explorer 的作者:一个用于浏览 Java 编译类文件 (.class) 的低级内容的实用程序。


(来源:codexterity.com)

您可以获取它的(当然是 Delphi)源代码 here。

祝你好运。

【讨论】:

  • 谢谢,它看起来不错,但我无法下载!链接失效了,请问有其他链接吗?
  • 不客气。根据您的要求,我可以通过电子邮件将其作为附件发送给您。
  • 你可以再试一次,codexterity.com 好像是暂时宕机了。如果你能看到帖子里的截图,那就一切都OK了。
  • 谢谢,我现在可以看到截图了,我可以下载了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-16
  • 2012-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-20
相关资源
最近更新 更多