原文链接:https://blog.csdn.net/weixin_41508948/article/details/84835582
经过加固后的apk,通过dex2jar
反编译:
腾讯乐固:
360加固:
从上面可以看出,经过加固后的apk,通过常规方法反编译无法获取到源码。
下载工具
脱壳工具FDex2
通过Hook ClassLoader的loadClass方法,反射调用getDex方法取得Dex(com.android.dex.Dex类对象),在将里面的dex写出。
下载地址:
链接:https://pan.baidu.com/s/1smxtinr 密码:dk4v
VirtualXposed
VirtualXposed:无需root手机即可使用xp框架。
下载地址:
脱壳
Step1:
将VirtualXposed
、FDex2
和需要脱壳的应用都安装到手机上。
Step2:
启动VirtualXposed
,并在VirtualXposed
中安装FDex2
:
Step3:
这一步很多人都漏掉了,在这个地方要添加模板,选择FDex2,否则到最后一步获取不到dex文件
Step4:
在VirtualXposed
中激活FDex2
:
Step5:
在VirtualXposed
中安装要脱壳的应用,方法和Step2一样。
Step6:
启动VirtualXposed
中的FDex2
,并配置要脱壳的应用。
Step7:
在VirtualXposed
中运行要脱壳的应用。
Step8:
脱壳后的dex文件:
导出脱壳的dex文件:
root设备:
-
adb root
-
adb pull /data/user/0/iv.va.exposed/virtual/data/user/0/{packageName} {电脑上的目录}
未root设备:
在VirtualXposed
中,设置-->高级设置-->文件管理,安装文件管理器,然后通过文件管理器进入到指定的目录,通过分享
功能发到电脑上。
在分享之前要先按照之前的办法添加一个QQ进来,否则会分享失败
Step9:通过dex2jar
对 脱壳的dex进行反编译:
从上图就可以看到脱壳后的dex文件被成功的反编译。