版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaohai695943820/article/details/83989586
一.反编译需要使用的辅助软件
1. apktool:获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件
2.dex2jar:将APK反编译成Java源码(将classes.dex转化为jar文件)
3.jd-gui:查看2中转换后的jar文件,即查看Java文件
二、下载完毕后,开始我们的反编译之旅
1.首先登场的apktool把要反编译的apk放到apktool根目录下,点开cmd.exe输入命令apktool.bat d filename.apk![在这里插入图片描述](https://img-blog.csdnimg.cn/20181112101339985.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9oYWk2OTU5NDM4MjA=,size_16,color_FFFFFF,t_70)
2.使用dex2jar将classes.dex转换成jar文件
打开cmd,来到这个目录下:键入:d2j-dex2jar.bat classes.dex
接着我们可以看到,生成了一个jar包:
好的,转换完成!
3.使用jd-gui查看jar包中的Java代码:
好的,打开jd-gui的文件夹
打开后,打开我们3中转换后的jar包,我们可以看见里面的代码:
csdn的客户端竟然不混淆代码...可能是本着开源的精神吧,给我们学习代码吧!一般的话,apk发布都会 进行混淆,然后进行一些加密,或者使用第三方的加密平台,用的比较多的"爱加密",有兴趣的也自行百度查看更加详细的介绍!
注:部分借鉴runnnoob因为我反编译的是kotlin版本没办法使用后续步骤。