APK脱壳,获取dex失败,分享失败解决办法

转载于:https://blog.****.net/liphios/article/details/102776285

经过加固后的apk,通过dex2jar反编译:

腾讯乐固:

APK脱壳,获取dex失败,分享失败解决办法

 

360加固:

APK脱壳,获取dex失败,分享失败解决办法

 

从上面可以看出,经过加固后的apk,通过常规方法反编译无法获取到源码。

下载工具

脱壳工具FDex2

通过Hook ClassLoader的loadClass方法,反射调用getDex方法取得Dex(com.android.dex.Dex类对象),在将里面的dex写出。

下载地址:

链接:https://pan.baidu.com/s/1smxtinr 密码:dk4v

VirtualXposed

VirtualXposed:无需root手机即可使用xp框架。

下载地址:

https://vxposed.com/

脱壳

Step1:

VirtualXposedFDex2需要脱壳的应用都安装到手机上。

Step2:

启动VirtualXposed,并在VirtualXposed中安装FDex2:

APK脱壳,获取dex失败,分享失败解决办法

 

Step3:

 

APK脱壳,获取dex失败,分享失败解决办法

这一步很多人都漏掉了,在这个地方要添加模板,选择FDex2,否则到最后一步获取不到dex文件

 

Step4:

VirtualXposed中**FDex2:

APK脱壳,获取dex失败,分享失败解决办法

 

Step5:

VirtualXposed中安装要脱壳的应用,方法和Step2一样。

Step6:

启动VirtualXposed中的FDex2,并配置要脱壳的应用。

APK脱壳,获取dex失败,分享失败解决办法

 

Step7:

VirtualXposed中运行要脱壳的应用。

Step8:

脱壳后的dex文件:

APK脱壳,获取dex失败,分享失败解决办法

 

导出脱壳的dex文件:

root设备:

 
  1. adb root

  2. adb pull /data/user/0/iv.va.exposed/virtual/data/user/0/{packageName} {电脑上的目录}

未root设备:

VirtualXposed中,设置-->高级设置-->文件管理,安装文件管理器,然后通过文件管理器进入到指定的目录,通过分享功能发到电脑上。

在分享之前要先按照之前的办法添加一个QQ进来,否则会分享失败

 

 

Step9:通过dex2jar对 脱壳的dex进行反编译:

APK脱壳,获取dex失败,分享失败解决办法

从上图就可以看到脱壳后的dex文件被成功的反编译。