1. 前言
在 Android 开发中,打包发布是开发的最后一个环节,整个项目的源码和资源结合生成了 APK。对于懂反编译的人来说可以轻松编译出 APK 的源码资源,并且可以在此基础上修改资源代码、重新打包编译,变成自己的 APK 或者修改其中一部分代码伪装成源程序窃取用户信息。
2. 加固原理
2.1 加壳对象
在加固的过程中需要三个对象:
- 需要加密的 APK(即源 APK)
- 壳程序 APK(即负责解密 APK 工作)
- 加密工具(将源 APK 进行加密和壳 Dex 合并成新的 Dex)
2.2 加壳步骤
准备加密的 APK 和自己的壳程序 APK,用加密算法对源 APK 进行加密,再将壳 APK 进行合并得到新的 Dex 文件,最后替换壳程序中的 Dex 文件即可。
以上内容部分引用见文末参考文献。
3. 特征库
3.1 360
assets/.appkey
assets/libjiagu.so
3.2 爱加密
lib/armeabi/libexecmain.so
assets/ijiami.ajm
assets/af.bin
assets/signed.bin
assets/ijm_lib/armeabi/libexec.so
assets/ijm_lib/X86/libexec.so
3.3 几维安全
assets/dex.dat
lib/armeabi/kdpdata.so
lib/armeabi/libkdp.so
lib/armeabi/libkwscmm.so
3.4 梆梆安全
3.4.1 免费版
assets/secData0.jar
lib/armeabi/libSecShell.so
lib/armeabi/libSecShell-x86.so
3.4.2 定制版
assets/classes.jar
lib/armeabi/DexHelper.so
3.5 腾讯加固
tencent_stub
lib/armeabi/libshella-xxxx.so
lib/armeabi/libshellx-xxxx.so
lib/armeabi/mix.dex
lib/armeabi/mixz.dex
3.6 腾讯御安全
assets/libtosprotection.armeabi-v7a.so
assets/libtosprotection.armeabi.so
assets/libtosprotection.x86.so
assets/tosversion
lib/armeabi/libtest.so
lib/armeabi/libTmsdk-xxx-mfr.so
3.7 顶象技术
lib/armeabi/libx3g.so
3.8 阿里加固
assets/armeabi/libfakejni.so
assets/armeabi/libzuma.so
assets/libzuma.so
assets/libzumadata.so
assets/libpreverify1.so
dexprotect
assets/classes.dex.dat
assets/dp.arm-v7.so.dat
assets/dp.arm.so.dat
3.9 百度加固
lib/armeabi/libbaiduprotect.so
assets/baiduprotect1.jar
或者
assets/baiduprotect.jar
3.10 海云安加固
assets/itse
lib/armeabi/libitsec.so
apktoolplus
assets/jiagu_data.bin
assets/sign.bin
lib/armeabi/libapktoolplus_jiagu.so
3.11 娜迦
libedog.so/libddog.so
3.12 通付盾
libegis.so
3.13 盛大加固
libapssec.so
3.14 瑞星加固
librsprotect.so
3.15 网秦加固
libnqshield.so
3.16 uu 安全
assets/libuusafe.jar.so
assets/libuusafe.so
lib/armeabi/libuusafeempty.so
3.17 中国移动加固
assets/mogosec_classes
assets/mogosec_data
assets/mogosec_dexinfo
assets/mogosec_march
lib/armeabi/libcmvmp.so
lib/armeabi/libmogosec_dex.so
lib/armeabi/libmogosec_sodecrypt.so
lib/armeabi/libmogosecurity.so
3.18 珊瑚灵御
assets/libreincp.so
assets/libreincp_x86.so
3.19 部分壳的 application
爱加密 s.h.e.l.l.S
360 加固 com.stub.StubApp
几维安全 com.Kiwisec.KiwiSecApplication 或者 com.Kiwisec.ProxyApplication 或者干脆没有 application
梆梆安全 com.secshell.secData.ApplicationWrapper
腾讯加固 com.tencent.StubShell.TxAppEntry
海云安 c.b.c.b
腾讯御安全 MyWrapperProxyApplication
顶象技术 cn.securitystack.stee.AppStub
apktoolplus com.linchaolong.apktoolplus.jiagu.ProxyApplication
珊瑚灵御 com.coral.util.StubApplication
魔固云(中国移动加固)com.mogosec.AppMgr
特别注意,apktool 助手伪加固特征,监测 application 即可
假 360 加固,没 .appkey application为com.qihoo.util.stub2678363137
假梆梆加固 application为com.secoen.apkwrapper.ApplicationWrapper
4. 参考文献
- 浅谈安卓 apk 加固原理和实现:https://blog.csdn.net/weixin_45443931/article/details/98869613
- Android 之 apk 加固介绍:https://cloud.tencent.com/developer/article/1840655
- 最新各大 apk 加固特征库:https://blog.csdn.net/g5703129/article/details/85054405