APK 的反编译步骤及方法

原理初步理解

apk 打包过程如下:java -> class -> dex + xml -> tmp + image + .so -> apk,所以反编译的过程,应该就是从 apk 到 .java 文件的过程,下面的步骤则是一步一步解析出中间结果

步骤
  • 将 .apk 文件修改后缀名为 .zip,然后使用解压缩工具解压,这时可以直接得到 图片和 .so 文件(如果有的话)。这时虽然可以清晰的看到 xml 文件的命名,但是打开后是无法看到其中的信息的,需要进一步的处理;

  • 解析 xml 文件,一般使用 apktool,对于 ubuntu 用户,需要下载两个文件,apktool.jarapktool,下载后添加可执行权限 chmod +x,然后将两个文件都移动到 /usr/local/bin 目录下,然后执行命令:apktool d XXX.apk

  • 下载 dex2jar.zip,并解压得到 dex2jar文件夹,然后给文件夹中的所有文件添加可执行权限 chmod 777 -R dex2jar,将第1步得到的 class.dex 文件拷贝到 dex2jar 文件夹中,执行命令 dex2jar.bat classes.dex得到 classes.dex.dex2jar.jar

  • 下载 jd-gui.jar,然后使用命令 java -jar jd-gui.jar然后打开第 2 步中得到的classes.dex.dex2jar.jar 文件即可

经过这四步,可以得到该 apk 的图片、.xml 文件以及 .java 源码文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值