前言
在这个反编译横行的时代,大家一定遇到过被加壳的apk,那么,下面开始apk脱壳之旅。
一、脱壳
1. 工具下载
-
FDex2
通过Hook ClassLoader的loadClass方法,反射调用getDex方法取得Dex(com.android.dex.Dex类对象),在将里面的dex写出。
下载地址:
链接: https://pan.baidu.com/s/1lTF8CN96bxWpFwv7J174lg 提取码: 3e3t -
VirtualXposed
不想root手机的必备软件
下载地址: https://vxposed.com/
2.脱壳
-
Step1:
将VirtualXposed安装到手机上。 -
Step2:
启动VirtualXposed,并在VirtualXposed中安装FDex2、MT管理器和需要脱壳的应用。
在VirtualXposed中安装App有两种方式:
1.直接复制已经在系统中安装好的APP,比如如果你系统中装了微信,那么可以直接复制一份。
2.通过外置存储直接安装APK文件;点主界面的右下角“┇”按钮添加应用,然后选择后面两个TAB即可。 -
Step3:
在VirtualXposed中激活FDex2:
-
Step4:
启动VirtualXposed中的FDex2,点击要脱壳的应用,并记录输出目录。
-
Step5:
运行软件,不打开运行软件是无法脱出壳的 -
Step6:
启动MT管理器,并长按右下角“↑”按钮,输入FDex2脱壳目录即可进入目录,然后通过分享功能将文件转出即可。
至此,脱壳已经完成,剩下就是正常的反编译工作了,如有需要请查看我之前的博文 反编译APK
补充说明:
并不是所有的加固的安卓apk都能成功脱壳的,但是大部分免费的加固都可以脱壳。
apk被反编译后,从dex或jar包的目录结构往往可以看出是哪家的加密方案,当然在此也推荐一款查看工具,点此查看