我有一个 jar 文件,我需要编辑一个特定的类并将其保存回 jar 文件中。我尝试了不同的反编译器,但我无法保存回 jar。
我尝试使用 Eclipse 和 JADCLIPSE 进行反编译。通过使用它,我可以看到反编译的类文件,但我无法编辑它。谁能帮我解决这个问题?
我有一个 jar 文件,我需要编辑一个特定的类并将其保存回 jar 文件中。我尝试了不同的反编译器,但我无法保存回 jar。
我尝试使用 Eclipse 和 JADCLIPSE 进行反编译。通过使用它,我可以看到反编译的类文件,但我无法编辑它。谁能帮我解决这个问题?
我使用JD-GUI来反编译 .jar,这有一个选项可以导出所有反编译的类。如果您正在反编译的 .jar 没有被混淆等,那么这个源应该是可重新编译的(否则您将需要通过字节码编辑来解决它)。
提取类后,您需要确保在编译时使用-CP
指向的参数进行编译,.;MyJar.jar
以便在编译时可以找到 .jar 中的依赖项。
重新编译并获得新的 .class 文件后,使用7z打开 .jar并用新的 .class 文件替换旧的 .class 文件。您可以使用命令行 jar 工具执行此步骤,但 7z 更容易。同样,如果 jar 被混淆并且类文件具有相同的名称,只有区分大小写的差异,您可能需要使用 Linux 重新插入 .class 文件。(可能在 Windows 上可能,但我从来没有深入研究过)。
我之前反编译了这个Java程序,添加了一个命令行界面,你大概可以在评论中找到链接;
然后有很多免费的实用程序可用,如 WinZip、7-ZIP,您可以使用它们。
在打开 jar 文件之前,只需将 jar 的扩展名更改为 zip 文件,然后提取您要编辑的特定类文件,然后使用任何反编译器对其进行反编译,进行更改,重新编译,然后最后将其放回 zip 文件中.
希望能帮助到你。
谢谢