首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在.class文件上使用Java Decompiler (JD-GUI)会在src文件上出现多个错误,但它在.jar中运行良好?它怎麽工作?

在.class文件上使用Java Decompiler (JD-GUI)会在src文件上出现多个错误,但它在.jar中运行良好?它怎麽工作?
EN

Stack Overflow用户
提问于 2019-09-20 09:42:44
回答 2查看 1.9K关注 0票数 1

我是Java的新手,我正在尝试理解一些东西。我设法为本地设备获取了一个.jar文件,以便与我的笔记本电脑进行通信。它工作得很好,但我想做一个升级,绕过代码和改变一些细节。我在.jar文件上使用了Java Decompiler,并设法查看了类文件。然而,每当我将它们反编译成源代码时,我的IDE中就会出现错误,并且我无法构建它们。到底发生了什么?如果它在.jar中工作得很好,为什么会产生错误?

EN

回答 2

Stack Overflow用户

发布于 2019-09-20 10:13:31

编译是一个有损的过程,所以反编译始终是一项“最大的努力”。Java字节码的级别非常高,因此与其他语言相比,Java反编译相对容易,但它永远不会100%完成。因此,在重新编译反编译的源代码时,您不应该对看到错误感到惊讶。

如果您想直接使用字节码,我建议您使用Krakatau disassembler and assembler。反汇编程序不是反编译成Java源代码,而是将字节码转换成人类可读的汇编格式,这种格式是专门设计的,可以无损地在字节码之间进行转换。但是,它需要很好地理解低级Java字节码才能使用。

票数 1
EN

Stack Overflow用户

发布于 2019-11-19 22:58:20

完全同意锑的观点。没有一个反编译器总是可以毫无错误地进行反编译。有时它能很好地反编译,有时却不能。

最好的方法是拥有几个反编译器,并相互使用它们,以减少反编译源代码中的错误。

如果您使用Eclipse,我建议您使用https://marketplace.eclipse.org/content/enhanced-class-decompiler

如果您使用IntelliJ,请尝试这个反编译器Jar Explorer

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58020740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档