反编译获取apk安装包源代码步骤

准备工作

我们首先需要下载三样工具:apktool,jd-gui,dex2jar。

反编译获取体育软件源代码

需要用到三样工具:apktool,jd-gui,dex2jar,具体下载链接如下所示 apktool: https://bitbucket.org/iBotPeaches/apktool/downloads/ jd-gui: http://www.ddooo.com/softdown/75946.htm dex2jar: https://sourceforge.net/projects/dex2jar/ 下载完成后解压下来,能得到三个目录,如下所示(另外两个暂且不管,是后面生成的,还有我自己创建的): 然后打开命令行窗口,执行以下命令,注意路经换成自己需要反编译的apk安装包路径:

java -jar apktool_2.6.0.jar d -f C:Users86153Desktop反编译工具ase.apk -o MMTS

执行完这个命令才能得到上图中的MMTS文件夹,里面的内容如下所示: 其中assets里有许多图片文件,其他文件里还有xml文件,properties文件,yml文件,smali文件,本人主要不是安卓开发端的,对这些文件不是很懂,但是我用visual studio打开它们都可以正常查看,这些文件不是我要关心的,我主要想看这个安装包的java代码,接下来就得用到另外两个工具了:


dex2jar-2.0

将需要编译的apk文件后缀改为.rar或者.zip,解压得到以下内容 别的不关心,我们dex2jar-2.0要用到的只有上图中的classes.dex文件,将获取到的classes.dex放到之前解压出来的工具【dex2jar-2.0】文件夹内,如下图所示 在命令行下定位到dex2jar.bat所在目录,输入"d2j-dex2jar classes.dex",效果如下: 就能得到生成的classes-dex2jar.jar包,我们要查看java代码就看它的了

jd-gui

打开这个工具:jd-gui.exe,然后把jar包拖进去。 当然,用jd-gui查看不方便,你也可以导出成文件夹:File→save all sourse,导出的是压缩包,解压,然后用visual studio打开就能查看了,visual studio读代码真的太好用了


过程中遇到的问题

在打开jd-gui的时候,可能会提示你使用jdk1.7.0的版本,这时候我的解决方法是在环境变量修改成jdk1.7.0,当然首先安装jdk1.7.0在电脑上,这是jdk1.7.0的下载链接:https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html 选择自己电脑的对应版本,我以window 64为例,我安装在之前我的电脑的jdk相同的目录,便于环境变量切换,只需要改下%JAVA_HOME%的路径就可以了。 查看我自己的jdk版本是否切换成功: 成功了,正常打开jd-gui。用完把%JAVA_HOME%换回来就可以了。

经验分享 程序员 微信小程序 职场和发展