起因:我想要仿写一个APP,需要用到里边的程序,看看代码思路,想要看到程序的源代码,需要反编译这个技巧。
经过:
一、用到了工具:
apktool、dex2jar、jd-gui 这三个工具,就可以完成反编译工作。(文章最后给出程序的下载链接)
二、大体流程:先通过apktool获取到一系列的资源文件和布局文件。使用dex2jar进行java代码的反编译,呈现初java代码。通过jd-gui进行java代码的查看。
具体操作一:
下载apktool,解压到电脑后得到三个文件appt.exe、apktool.bat、apktool.jar三个文件,将你需要反编译的app放到与三个文件夹同在的根目录。
然后:①运行-CMD
②在CMD中打开目录apktool文件夹,然后输入命令: apktool.bat d -f exm.apk test exm.apk即你的app的全名,test为反编译资源文件后生成于名为test目录的文件夹中。
注意:apktool升级到2.0以上时 格式为:apktool d [-s] -f -o
发现出现了test文件夹,点进去就是资源文件,至此获取到资源文件。
具体操作二:
dex2jar解压到电脑,将你的apk名称改为zip或rar进行解压,得到其中的classes.dex文件,将此文件放到解压出来的dex2jar的文件夹中。
然后:
①运行——CMD
②定位到dex2jra目录,运行命令dex2jar.bat classes.dex
③该目录会出现一个classes_dex2jar.jar的文件,解压jd-gui,运行jd-gui.exe。然后拖动classese_dex2jar.jar到此工具窗口,将其打开,既可以观看源码。
可以看到有些列已经被混淆为a b c d .学习思路可以还是可以的。
apktool下载:https://bitbucket.org/iBotPeaches/apktool/downloads
dexjar下载:https://github.com/pxb1988/dex2jar
jd-gui下载:https://code.google.com/archive/p/innlab/downloads
完。