【问题标题】:How can I edit a .jar file? [duplicate]如何编辑 .jar 文件? [复制]
【发布时间】:2011-01-29 14:54:10
【问题描述】:

所以我有一个 jar 文件,上面有一个 .class 文件。我只需要更改文件中的一些单词。 我应该使用什么程序?

我希望它适用于我的手机。

【问题讨论】:

  • 您的意思是您需要更改.class 文件中的一些“世界”(单词?)?你知道这样的文件是二进制的,对吧?
  • 它们只是 zip 文件,可以使用任何 zip 程序解压,如果不能直接解压,请将其重命名为 .zip。但这对您没有多大帮助,因为代码不在其中,Java 是一种编译语言 - 编辑 .class 文件远非易事。

标签: java mobile jar


【解决方案1】:

这就是我所做的:

  • 使用 WinRAR 解压文件
  • 对提取的文件进行了更改
  • 用 WinRAR 打开原始 JAR 文件
  • 使用添加按钮替换我修改过的文件

就是这样。我已经用我的诺基亚对其进行了测试,它对我有用。

【讨论】:

  • 要测试一下,但是你知道一个好的 .class 编辑器吗?
  • 在 Sourceforge 尝试类编辑器
  • 安装的应用程序无法运行,所以我无法启动它..
  • 你是如何在没有编辑器的情况下编辑 .class 文件的?是否可以将 .class 转换为 .java 文件?
  • 这个就像一个魅力,谢谢
【解决方案2】:

jar 文件是一个 zip 存档。您可以使用7zip(一个非常简单的打开档案的工具)来提取它。您还可以将其扩展名更改为 zip 并使用任何内容来解压缩文件。

现在你有了你的类文件。编辑类文件没有简单的方法,因为类文件是二进制文件(你不会在其中找到源代码。可能是一些字符串,但不是 java 代码)。要编辑您的类文件,您可以使用classeditor 之类的工具。

您的班级使用的所有字符串都硬编码在班级文件中。因此,如果您只想更改某些字符串,则无需使用 classeditor 即可。

【讨论】:

  • 如何编辑字符串,程序不让我。
  • @user:你用的是windows吗?用记事本打开类文件,搜索字符串,更改并保存。然后将类文件放回存档中。
  • 似乎 ClassEditor 并不总是在较新的 Java 类文件上正常工作。也许是因为 ClassEditor 自 2007 年以来就没有更新过?从 .jar 文件中提取 Java 类文件后,我尝试编辑一个简单的常量字符串,但现在 Java 程序无法运行并出现以下错误:“加载主类时发生 LinkageError ...类文件中的 InnerClasses 属性长度错误”
【解决方案3】:

这是一个打开 Java 类文件二进制文件、查看其内部结构、根据需要修改部分文件并保存类文件的工具。它还生成类似于 javap 实用程序的可读报告。易于使用的 Java Swing GUI。用户界面试图显示尽可能多的细节,并试图呈现一个与实际 Java 类文件结构一样接近的结构。同时在做修改时也强调易用性和类文件的一致性。例如,当一个方法被删除时,如果不再引用它,关联的常量池条目也将被删除。内置验证程序在保存文件之前检查更改。该工具已被学习 Java 类文件内部结构的人使用。当源代码不可用时,该工具还被用于对类文件进行快速修改。”这是来自网站的引述。

http://classeditor.sourceforge.net/

【讨论】:

  • 我假设你知道如何打开一个 jar,因为你知道它只有一个类文件。
  • 我如何编辑,我看到了整个内容,但我不知道如何编辑字符串
  • 在 Windows 中,我使用start javaw -jar %~dp0ce.jar %*在与类编辑器 jar 相同的目录中创建了一个批处理文件
猜你喜欢
  • 2011-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
  • 2016-10-03
  • 1970-01-01
相关资源
最近更新 更多