java代码反向编译 java如何反编译class文件

java反编译的代码可以用吗

不行。可执行文件你即使反编译出来 也不是源码。包括所有的反编译软件,反编译出来的,都不是源码,别看着反编译出来的代码感觉是对的,有的反编译出来还是可以运行的都不算。另外反编译别人的软件 ,只能自己研究,去过用于商业用途可是犯法的哦

成都创新互联于2013年开始,先为绥棱等服务建站,绥棱等地企业,进行企业商务咨询服务。为绥棱企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

什么是Java代码的编译与反编译

java代码的编译,就是你写完代码,java编译器把它编译成java虚拟机认识的代码,然后再由虚拟机执行它。反编译就是反过来,当然这不是java虚拟机干的事儿,是你找反编译工具干的事儿,把编译过的代码反编译成人看得懂的源代码。

如何将java中的.class文件反编译

安装Java jdk后

看安装目录里有没有jad.exe,没有要下载,一般都有的

配置Java环境变量

开始-运行-cmd-回车-进入命令行窗口:

cd+空格+class文件所在路径:

按下面的命令进行反编译:

例如:[2] jad -sjava example.class 回车

在目录里可以看到example.java源文件

[1] 反编译一个class文件:jad example.class,会生成example.jad,用文本编辑器打开就是java源代码

[2] 指定生成源代码的后缀名:jad -sjava example.class,生成example.java

[3] 改变生成的源代码的名称,可以先使用-p将反编译后的源代码输出到控制台窗口,然后使用重定向,输出到文件:jad -p example.class myexample.java

[4] 把源代码文件输出到指定的目录:jad -dnewdir -sjava example.class,在newdir目录下生成example.java

[5] 把packages目录下的class文件全部反编译:jad -sjava packages/*.class

[6] 把packages目录以及子目录下的文件全部反编译:jad -sjava packages/**/*.class,不过你仍然会发现所有的源代码文件被放到了同一个文件中,没有按照class文件的包路径建立起路径

[7] 把packages目录以及子目录下的文件全部反编译并建立和java包一致的文件夹路径,可以使用-r命令:jad -r -sjava packages/**/*.class

[8] 当重复使用命令反编译时,Jad会提示“whether you want to overwrite it or not”,使用-o可以强制覆盖旧文件

[9] 还有其他的参数可以设置生成的源代码的格式,可以输入jad命令查看帮助,这里有个人做了简单的翻译:jad命令总结

[10] 当然,你会发现有些源文件头部有些注释信息,不用找了,jad没有参数可以去掉它,用别的办法吧。

几种java反编译软件的安装以及使用总结

下面是在网上找的几种反编译软件的安装以及使用:

一、JD-JUI

官网下载链接:

下载之后解压,

点击“jd-gui.exe”运行:

直接将".jar"文件拖入进去即可查看里边的“.class”文件,如上图所示。

二:Luyten

官网下载链接:

点击“luyten-0.5.3.exe”下载,下载之后点击运行,运行后的界面如图所示,同样也是讲“.jar”文件拖入进入即可。

三、在eclipse中安装反编译工具

准备工作:

“jad.exe”下载:

“net.sf.jadclipse_3.3.0.jar”下载:

jad.exe”下载:

“net.sf.jadclipse_3.3.0.jar”下载:

然后将“net.sf.jadclipse_3.3.0.jar”拷贝到eclipse的plugins目录下,再删除eclipse的configuration目录下“org.eclipse.update”文件,这一步很重要!

重启eclipse,点击window-Preference-Java,你会发现里边多了一个插件“JadClipse”,

选中这个插件,将下图中红圈圈的地方的地址填写为你 “jad.exe”文件的地址

还没有配置完,先不要close,

点击General-Editors-File Associations 后,进入下边的界面

设置.class 文件默认打开方式:

设置.class without source文件的默认打开方式,

需要注意的是,“JadClipse Class File Viewer”这个一开始是没有的,需用添加,如下图所示:

接下来在eclipse中查看反编译后的代码:(这种方法可能不合适,但是能够查看)

新建一个EJB project,右键“import”,选中"EJB JAR file",导入你的jar包,Finish

在项目下找你要查看的反编译的文件即可,如果你遇到了下边的这种情况

关闭这个文件后再次打开,就可以查看了(我的是这样,所以我感觉这个方法不太好,但别的方法又不知道怎么查看):

有错误或者有更好的方法,希望大家在下边留言指出


当前文章:java代码反向编译 java如何反编译class文件
分享链接:http://scyanting.com/article/ddicedp.html