反编译软件有哪些(java反编译最好的工具)

反编译软件有哪些(java反编译最好的工具)

  本文对常用的反编译工具进行简单介绍

  JD-GUI、procyon-decompiler、luyten、crf

  JDK7以及之前可以使用 JD-GUI,如果版本>=1.8 各种问题

  如果版本>=1.8 ,可以使用 procyon-decompiler,不过是命令行界面

  luyten是Procyon的GUI,只需要下载luyten即可,不用下载Procyon

  https://github.com/deathmarine/Luyten

  下载地址

  crf也可以支持更高版本

  小结

  如果你的版本<=7,都可以使用,如果版本更高,请使用除了JD-GUI以外的选择

  略,JD-GUI网上教程很多,不再介绍。

  可以直接解析class文件到cmd窗口显示

  也可以将反编译之后的文件保存到指定位置,如果需要保存在指定位置,需要增加 -o命令参数,并且需要指定保存的路径

  直接显示:

  java -jar D:ApplicationFilesprogramprocyon-decompiler-0.5.30.jar D:ProgramDataideaProjects...

ewsNewsController.class

  保存文件:

  java -jar D:ApplicationFilesprogramprocyon-decompiler-0.5.30.jar D:ProgramDataideaProjects...

ewsNewsController.class -o C:Users

otelessDesktopdddddd

  luyten是图形化界面

  通过File直接打开class文件即可

  当然,也可以进行文件保存等操作

  注意

  直接打开luyten的时候,给出了下面的提示信息

  但是,系统中的java环境是没有问题的,也是一直在使用的,CMD下运行java或者javac命令都没有问题

  这是为什么?

  据网上分析是因为使用了免安装版本的JDK,简单说不是从官网下载可执行程序一步一步安装而来

  这也就导致了注册表中不存在JDK的信息

  一种变通的途径就是借助于命令,通过在命令提示符下面输入 java -jar .luyten-0.5.4.exe打开

  (此时,我的文件存在于桌面上,所以使用的当前路径)

  如果设置到其他位置,请给出路径,比如

  也可以进一步设置为bat命令

  文件就一行内容:

  java -jar D:ApplicationFilesprogramluyten-0.5.4.exe

  再进一步可以创建一个快捷方式,使用下文的方式,就可以直接使用WIN键+R打开

  https://www.cnblogs.com/noteless/p/10471005.html

  另一种方法,就是手动设置注册表

  还有一种方法是重新安装JDK,走一遍过程

  建议通过命令java -jar就好了,改注册表后续出现什么奇怪问题,自己可能都忘记了是自己改出来的

  重新安装麻烦费事

  http://www.benf.org/other/cfr/

  CFR更新还是蛮及时的

  它的使用,与procyon-decompiler没有区别

  可以直接反编译呈现在CMD中,也可以输出到文件中

  直接解析:

  C:Users

oteless>java -jar D:ApplicationFilesprogramcfr-0.141.jar C:Users

otelessDesktopNewsController.class

  输出文件:

  java -jar D:ApplicationFilesprogramcfr-0.141.jar C:Users

otelessDesktopNewsController.class --outputdir C:Users

otelessDesktopxxx

推荐阅读