编程语言
首页 > 编程语言> > Java-反编译JVM语言

Java-反编译JVM语言

作者:互联网

是否可以将Groovy,Scala等JVM语言反编译为初始形式?

如果尝试对4行Groovy类进行反编译,则会得到大约20行反编译的Java代码.

这更多的是理论问题,而不是实际问题,因为市场上没有这样的反编译器(据我所知).

谢谢.

解决方法:

是的,Java反编译器可以管理类似的保真度(意思是:代码看起来相似,但不一定相同).

但是,您需要针对每种语言的专用反编译器.

编辑:我想我需要澄清我期望的保真度:

>局部变量的名称可以或不能重复
>循环类型可能会被误解(用while代替,…)
>更笼统:可以用两种类似的方式完成的事情可能会被误解
> …

所有这些都是在反编译Java代码时也会发生的错误,仅仅是因为从字节代码到Java源代码的关联不是1:1.

但是,如果您有一个专用的Groovy反编译器,那么我强烈怀疑它会比Java反编译器从反编译的Groovy代码中产生更多可读的代码.

标签:jvm-languages,decompiling,jvm,java,reverse-engineering
来源: https://codeday.me/bug/20191102/1993514.html