Java反编译代码不完整 java反编译工具有什么用
java反编译class文件能完整的编译出原始代码么?
一般编译的文件,都可以反编译为源码,但如果是经过加密、以及代码异常复杂,是很难恢复全部的源码。
成都创新互联从2013年开始,是专业互联网技术服务公司,拥有项目网站建设、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元临海做网站,已为上家服务,为临海各地企业和个人服务,联系电话:028-86922220
普通的class文件可以通过工具反编译jd-gui,不过加密之后的就不是那么容易了。
查看.class文件可以用一个小软件jd-gui.exe,要反编译一个jar包的话,可以用反编译工具:XJad,反编译的文件文件可以导入eclipse中,进行修改,改完再编译。
如果是简单的JAVA代码或者没有经过混淆编译的代码就会使一样或者差不多的。但是一下两种情况就特别不一样:经过混淆编译的 使用内部类的 另外,所有的注释都是没有的。
可以用java反编译器,DJ_java_discompiler 打开下载好的DJ_java_discompiler 选择file,之后点击open。之后出现以下界面。这里我选择一个test.class文件。点击打开之后,出现以下反编译test.java后的界面。这个是test.java的文件。
Java反编译代码解释:
1、反编译做的就是编译的相反动作。举例来说,例如一个程序用C语言来写,写完之后要编译成CPU可以识别和运行的机器代码,也就是生成EXE程序。
2、通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程。尤其是像.NET、Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码。
3、JODE出来的代码的可读性最好,不过有CLASS文件代码用JODE是反编译不出来出现异常;JAD出来的代码经常要进行大量整理;JODE和JAD对混混淆过的代码,变量的顺序可能会不一样,自变量的命名,JODE会好一些。
4、首先通过脚本将java代码定义对象全部改为ABCD等一些没有意义的单个字母,再加入一些无作用的java代码,然后将整个代码和成一行,让你从代码结构上无法入手。
java反编译出来逻辑不对,谁帮我整理下。
1、不是每个反编译都能完美的,用eclipse规范下代码,然后不符合的语法的方法,自己换成适合当前jdk版本支持的就可以了,反编译还是得花力气在代码的上,偷懒有限啊。
2、这只能说明两点 你的反编译工作很弱;别人的代码写的很好。
3、通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程。尤其是像.NET、Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码。
4、反编译的程序,不能保证100%的正确的,所以你再编译,很明显问题出来了。有些地方应该还要手动修改一下。
当前文章:Java反编译代码不完整 java反编译工具有什么用
网页地址:http://azwzsj.com/article/desigdi.html