2019年06月10日 09:34 阅读量:2763
今天给大家分享一下Android中的拿来主义,我们时常会碰到自己觉得很有用的应用(apk),想同过此应用来学习,尝试用WinRAR等之类的工具查看,目录通常是这样的。
当然res里面的图片是可以拿来用的,但是layout里面的布局及权限文件(AndroidMainfest.xml)却是一堆乱码,完全看不懂,想看看别人的布局都不容易。还有源代码也被编译成classes.dex,完全看不出什么线索。基于以上困惑,给大家分享一下Android中的拿来主义。
AXMLPrinter2反编译前台设计布局
用AXMLPrinter2.jar查看apl中的布局文件
为了方便起见,将所下载的相关工具放在 D:\Android 中。将你找到的应用程序的apk用WinRAR等工具打开,将res/layout/main.xml解压出来(也放到D:\Android),打开main.xml文件,内容如下(一堆天文)
这时候AXMLPrinter2.jar 派上用场,打开cmd终端,进入d:\Android目录下,输入如下命令:java -jar AXMLPrinter2.jar main.xml > main.txt
代开main.text开别人的代码吧!!
dex2jar反编译资源
用 dex2jar 中的 dex2jar.bat生成jar文件
在cmd下进入dex2jar.bat所在路径,然后输入“dex2jar.bat XXX”,XXX指的是你要反编译的apk中的classes.dex文件所在路径及名称
比如:我的dex2jar.bat在D:\Android\apk_decode \dex2jar-0.0.7-SNAPSHOT路径下, classes.dex在D:\Android下,输入命令:dex2jar.bat D:\Android\classes.dex
此时在D:\Android目录下会生成一个JAR文件。
jad反编译后台代码
用jad工具将.class文件反编译成.java文件
将上面生成的jar文件解压出来,会看到相关的.class文件,这是用jad 将.class文件反编译成.java文件 输入命令:jad example.class
(examples.class是文件解压出来的文件)
这时候生成的是一个jad的文件,只要将后缀名改成java就行了!!