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