gpt4 book ai didi

java - 如果所有从java源码编译出来的字节码都可以反编译成java源码呢?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:42:00 25 4
gpt4 key购买 nike

我看到一些 java 反编译器可以将字节码反编译为可读的 java 源代码,我想知道是否所有来自 java(而不是其他 JVM 语言)的字节码都可以再次反编译为 java 源代码?


更新

对不起,让我把问题说清楚。

就说JVM上正常的Java代码(没有Android,没有字节码增强,没有AOP,没有混淆),其实我希望字节码可以被反编译。但我不知道是否有编译成字节码的 java 代码形式,将永远无法反编译为可读的 java 源代码。

最佳答案

I wonder if all the bytecode which comes from java (not other JVM language) can be decompiled to java sources again?

答案是否定的

不保证反编译器适用于所有 Java 字节码:

  • 一个好的混淆器会故意重新排列字节码,这样普通的反编译器就不会产生可读的源代码……而且可能不会产生有效的 源代码。

  • 许多反编译器在处理较新的 Java 结构时都存在问题。

  • 许多反编译器在处理从“复杂”源代码编译的字节码时遇到问题。

  • 即使他们生成可编译代码,也不能保证代码是正确的。

底线是,反编译器的好坏取决于其作者的智慧和勤奋。我从未听说过完美的。

关于java - 如果所有从java源码编译出来的字节码都可以反编译成java源码呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15736563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com