反编译APK获取代码&资源

1.要准备的三个工具


    apktool:获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件
    dex2jar:将APK反编译成Java源码(将classes.dex转化为jar文件)
 	jd-gui:查看2中转换后的jar文件,即查看Java文件 为了方便各位读者,这里将三个打包到一起放到云盘中,又需要的可以进行下载: 反编译相关的三个工具.zip

2.使用apktool反编译APK获得图片与XML资源:

把下载好的apktool解压后,我们可以看到下述文件(忽略那两个csdn,一个是反编译的apk,一个是反编译后文件):反编译APK获取代码&资源_第1张图片

接下来,双击cmd.exe,来到命令行,键入: apktool.bat d csdn.apk 即可,Enter回车:
反编译APK获取代码&资源_第2张图片

然后就可以看到生成的csdn文件夹,里面就有我们想要资源 好的,就是XML资源到手了是吧!图片素材也到手了!反编译APK获取代码&资源_第3张图片反编译APK获取代码&资源_第4张图片
反编译APK获取代码&资源_第5张图片
3.使用dex2jar将classes.dex转换成jar文件:

把下载好的dex2jar文件夹解压,apk解压后中的classes.dex复制到dex2jar.bat所在的目录下:
反编译APK获取代码&资源_第6张图片

打开cmd,来到这个目录下:键入:d2j-dex2jar.bat classes.dex
在这里插入图片描述

接着我们可以看到,生成了一个jar包:
在这里插入图片描述
好的,转换完成!

4.使用jd-gui查看jar包中的Java代码:
好的,打开jd-gui的文件夹
在这里插入图片描述在这里插入图片描述

打开后,打开我们3中转换后的jar包,我们可以看见里面的代码:
反编译APK获取代码&资源_第7张图片
csdn的客户端竟然不混淆代码…可能是本着开源的精神吧,给我们学习代码吧!一般的话,apk发布都会 进行混淆,然后进行一些加密,或者使用第三方的加密平台,用的比较多的"爱加密",有兴趣的也自行百度查看更加详细的介绍!

你可能感兴趣的:(学习笔记)