1.常用加固方式
类加载技术
针对apk中的classes.dex文件进行处理,放入特定的文件中,通 过native代码来对其运行时解密
使用厂商(娜迦/爱加密/梆梆)
对原dex文件整体压缩加密,保存在壳代理的dex文件尾部,加 载到内存中解密运行
使用厂商(360)
方法替换技术
将classes.dex文件中的方法代码进行提取,抽取方法,在运行 时对其进行动态解密还原
使用厂商(娜迦/梆梆)
2.加固厂商特征
娜迦:libchaosvmp.so, libddog.so libfdog.so
梆梆:libsecexe.so, libsecmain.so, libSecShell.so
梆梆企业版:libDexHelper.so, libDexHelper-x86.so
爱加密:libexec.so, libexecmain.so, ijiami.dat
360:libprotectClass.so, libjiagu.so; libjiagu.so, libjiagu_art.so; libjiagu.so, libjiagu_x86.so
百度:libbaiduprotect.so
阿里聚安全:aliprotect.dat, libsgmain.so, libsgsecuritybody.so
腾讯:libtup.so, libexec.so, libshell.so; mix.dex; lib/armeabi/mix.dex, lib/armeabi/mixz.dex
腾讯御安全:libtosprotection.armeabi.so, libtosprotection.armeabi-v7a.so, libtosprotection.x86.so
通付盾:libegis.so, libNSaferOnly.so
网秦:libnqshield.so
网易易盾:libnesec.so
APKProtect:libAPKProtect.so
几维安全:libkwscmm.so, libkwscr.so, libkwslinker.so
顶像科技:libx3g.so
3.脱壳手法
修改系统源码自动脱壳
通过hook方式对关键函数进行脱壳
开源工具如zjdroid,dexhunter进行脱壳
利用IDA或者GDB动态调式进行脱壳
分析virualapp
去框架HOOK
制作vm策略
实现vm置换
置换后销毁
其他
dex vmp(制作native oncreate)
典型非主流加固
脱壳机
虚拟机技术