我们在开发完安卓产品后,为了防止被人破解编译,通常会编写配置文件进行代码混淆,然而万事皆有其对立面存在,也都一样静静的发展着,无法想象其强大。。。。。。。。
话不多说,直接进入正题,反编译:
一:首先得有个反编译工具,下载反编译工具到处都是,但是同时也存在各种捆绑工具,为了便利各位苦逼开发友友,现提供现成工具
二:解压压缩包,点击进入lib目录,进入apktool文件夹
三:将apk文件复制到该目录下
四:打开命令窗口并去到该目录,再输入apktool.bat d -f XXX.apk(这里是你的apk文件全名)
五:按回车键即可反编译apk并可查看应用代码是否混淆ok
以上这里只是简单的获取xml相关资源文件,就是如此简单,还有很多方式也同样可以反编译,可根据个人喜好进行操作
六.代码资源的获取
这个重中之重了,这也是我们主要想要获取到的东西。但是存在一点,这里能够正确反编译出来的只有未加密或者没有混淆的代码,如果想要反编译一些加密或者混淆后代码,俺们就需要其他途径解决了
首先要准备两样东西

dex2jar主要是用来把之前zip解压出来的classed.dex转成jar包的
jd-gui主要是用来打开Jar包的
这两个工具图中有下载链接哟,嘻嘻
具体讲下dex2jar怎么用
把dex2jar 解压后,然后将之前zip的classes.dex放到 dex2jar目录下,
注意,必须要跟dex2jar.bat是同级目录,如下图所示

然后又要用到cmd,cd 到dex2jar目录下,打命令行
dex2jar.bat classes.dex

然后你的目录里会多一个jar包

多了一个 classes-dex2jar.jar的文件 然后在用jd-gui把jar包打开,最终apk的代码就这样被剥离出来了

是不是很有成就感啊,但是值得注意的是,如果你反编译的apk是已经被加密的,就会出现下面情况。下图是题主试图反编译支付宝apk得到的代码

所以,代码混淆很重要撒嘻嘻,下篇博客主要讲如何混淆自己的代码,不让别人那么轻易地把你的代码剥离出来
















