反编译java对比代码 java反编译的文件编译有错误( 二 )


[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没有参数可以去掉它,用别的办法吧 。
如何反编译Apk得到Java源代码1.下载反编译工具
需要下载四个工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot
dex2jar:将apk中反编译java对比代码的classes.dex转化成Jar文件 。
JD-GUI:反编译工具,可以直接查看Jar包的源代码 。
apktool:反编译工具,通过反编译APK中XML文件,直接可以查看 。
apktool-install-windows-r05-ibot:辅助windows批处理工具 。
2.解压缩APK包
apk文件也是一种常见的zip,常用的压缩软件就可轻松地解压apk文件 。用压缩软件将apk文件中的文件解压到一个文件夹中,得到APK中的资源包括XML文件和classes.dex文件,classes.dex就是java文件编译再通过dx工具打包而成的 。
3.反编译dex文件
解压apk文件后 , 反编译java对比代码你会发现res目录的图片没有加密,但java源码编译成了一个classes.dex文件,无法用普通的反编译class文件的方法来处理,dex2jar可以将dex文件转换成普通的jar包 。
解压下载的dex2jar,把解压后的文件夹放到系统盘跟目录中并把这个目录加到系统path变量中,就可以直接用:dex2jar.bat或dex2jar.sh转换dex文件了 。
DOS行命令如下:dex2jar.batxx\classes.dex(xx是classes.dex文件所在的路径) 。
将在同目录得到普通jar包:classes_dex2jar.jar,就可以用处理普通jar包的方法来反编译这个jar包得到原文件 。
4.反编译jar包
得到jar包后,下载自已喜欢的反编译工具,推荐使用JD-GUI,有比较简单的图形界面,可以反编译单个class文件,也可以反编译jar包,比较方便 。
打开压缩文件JD-GUI,运行jd-gui.exe,打开上面生成的jar包,即可看到源代码了 。
5.反编译xml文件
打开解压的res\layout目录,有很多xml文件,如果你想看下作者是如何设计界面的,你会很失望,因为你看到的是一大堆乱码反编译java对比代码!这个时候我们需要用到的是apktool 。
具体操作方法:将下载的apktool和apktool-install-windows-r05-ibot两个包解压到同一个文件夹下 , 这个文件夹有三个文件:aapt.exe,apktool.bat,apktool.jar 。把这个文件夹也放到系统盘的根目录中并把这个目录加到path变量中 。以HelloWord.apk为例:
在DOS命令行中输入:apktool d xx\HelloWord.apk HelloWord得到HelloWord文件夹,此文件夹中的xml文件就是编译好的可以正常查看的文件 。
这样就得到了可以得到编译的源码和XML资源 。
注意:文件的路径中最好不要出现中文!
什么是Java代码的编译与反编译java代码的编译,就是你写完代码,java编译器把它编译成java虚拟机认识的代码,然后再由虚拟机执行它 。反编译就是反过来,当然这不是java虚拟机干的事儿,是你找反编译工具干的事儿 , 把编译过的代码反编译成人看得懂的源代码 。
【反编译java对比代码 java反编译的文件编译有错误】反编译java对比代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java反编译的文件编译有错误、反编译java对比代码的信息别忘了在本站进行查找喔 。

推荐阅读