Java Decompiler

Mar*_*rtK 22 java eclipse licensing decompiling

你能为Eclipse推荐一个Java反编译器吗?我的其他问题是使用来自其他Java程序的反编译代码有什么限制?非法还是什么?我不太了解许可证.谢谢阅读.

Mir*_*uta 30

我建议在google上弹出一个,这是JD Java反编译器.它的效果非常好.

至于限制,您必须阅读特定软件的许可证,可能会写入禁止任何反编译方式.

  • +1 - 阅读许可证.*"我对许可证知之甚少."*如果因违反许可条款而被起诉,则不是有效的借口. (3认同)
  • 我正在开发一个围绕JD-Eclipse的包装器,以使其更好:http://mchr3k.github.com/jdeclipse-realign/ (3认同)

Tho*_*sen 7

我喜欢JadClipse - 但它显示了它的年龄.你会需要:

  • 一个jad二进制文件
  • 已安装jadClipse
  • 将Eclipse首选项指向上面的jad二进制文件
  • 告诉它生成行号并对齐调试

有几个缺点:

  • 代码是按顺序生成的,如果重新排列了字节代码,那么在字节代码中出现了一些问题,但是在原始代码的早期,jad没有倒回来将反汇编的代码放到正确的行.
  • jad不太了解Java 5 + 6字节码.


Sum*_*uma 5

我已经尝试了几个反编译器,其中大部分未能为我试图反编译的applet产生正确的源代码(这是http://mrl.nyu.edu/~perlin/experiments/emotive-actors/,万一有人想重现).

完美无缺的工作是Cavaj 1.11,它生成的代码不包含语法错误,从源代码编译的applet与原始代码完全相同.我在UI方面缺少的是:Ctrl-A/Ctrl-C键盘快捷键不起作用,并且没有可用的批量转换.

我尝试过的其他反编译器是:

  • JD Java反编译器(免费软件)看起来很不错,但它在变量声明方面犯了很多错误(一些声明丢失,其他声明严重丢失)
  • Neshkov DJ Java Decompiler(共享软件)看起来也很不错,它生成的代码包含的语法错误比JD少,但代码无效.鉴于该产品不是免费的,人们可以期待它更多.

  • Cavaj只是Jad的包装.遗憾的是,Jad没有得到维护,并且缺少对Java 6/7的支持,例如它不支持静态导入. (2认同)

tre*_*eaz 5

我使用过这个eclipse插件:JadClipse

而这个java反编译器:JAD