Android反编译APK

Android反编译APK

一、前言

我们在进行Android开发的时候,经常会和各种APP打交道,有些时候,我们看见了一些值得我们学习和借鉴的界面以及方法,可是不知道怎么做,这个时候就可以利用反编译APK技术,来学习他人的代码,提升开发水平。

二、准备工具

1、工具:

     1.1 dex2jar 将.dex文件转换成.jar文件
     1.2 JD-GUI 获取java源码
     1.3 apktool 获取.apk文件的资源(.xml文件、图片资源等)

2、工具下载

2.1 dex2jar

          https://sourceforge.net/projects/dex2jar/

2.2 JD-GUI

这两个地址都可以下载,大家可以根据自己的系统选择要下载的版本
https://github.com/java-decompiler/jd-gui/releases
在这里插入图片描述
http://java-decompiler.github.io/
在这里插入图片描述

2.3 apltool

先下载apktool,然后还要下载运行脚本,运行脚本可在资源打包下载链接中获取
https://bitbucket.org/iBotPeaches/apktool/downloads/
在这里插入图片描述

三、开始工作

1、APK的解压缩

1.1、将预先准备好的APK安装包重命名为一个压缩包文件
在这里插入图片描述
1.2、将压缩包文件解压到当前文件夹
在这里插入图片描述
1.3、这里面的文件布局就和安卓开发的文件布局差不多,比如进入res中,就可以看见更多界面的布局,但是此时xml文件打开还是一堆乱码,不过我们可以得到图标文件
在这里插入图片描述
在这里插入图片描述
1.4、java代码被打包在.dex文件中
在这里插入图片描述

2、利用dex2jar获取.jar文件

2.1、将下载好的dex2jar压缩包解压
在这里插入图片描述
2.2、将解压后的APK文件夹中的.dex文件复制到dex2jar文件子目录下
在这里插入图片描述

2.3、win+R打开“运行”,输入“cmd”,打开命令行程序,cd进入dex2jar所在目录,然后输入"d2j-dex2jar.bat classes.dex"
在这里插入图片描述
2.4、就会在同目录下生成“classes.dex2jar.jar”文件
在这里插入图片描述
2.5、有了.jar文件后就可以用JD-GUI获取java源码啦

3、利用JD-GUI获取java源代码

3.1、将下载好的压缩包解压
3.2、双击运行“jd-gui.exe”
在这里插入图片描述
3.3、打开之前生成的.jar文件
在这里插入图片描述
3.4、然后就可以查看文件的源码啦,只不过这里面的类名有点奇怪,是一些a,b,c,d
在这里插入图片描述

4、利用apktool获取图片和XML

4.1、将下载的"apktook_2.6.0.jar"改名为“apktool.jar”
在这里插入图片描述
4.2、可以新建一个文件夹,将apktool.jar和apktool.bat以及.apk都放进去
在这里插入图片描述
4.3、打开命令行,切换到这个目录下,输入“apktool d base.apk”

4.4、开始漫长的等待,结束后就可以查看图片资源以及.xml文件,不再是乱码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题与解决方法

1、不知道为什么,dex2jar下载不了,可能是网络延迟的问题,科学上网后可以解决
2、在win11系统下,dex2jar和apktool.jar的运行均无反应,后来在win10系统中成功运行

参考链接

  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值