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/.appkeyassets/libjiagu.so
3.2 爱加密
lib/armeabi/libexecmain.soassets/ijiami.ajmassets/af.binassets/signed.binassets/ijm_lib/armeabi/libexec.soassets/ijm_lib/X86/libexec.so
3.3 几维安全
assets/dex.datlib/armeabi/kdpdata.solib/armeabi/libkdp.solib/armeabi/libkwscmm.so
3.4 梆梆安全
3.4.1 免费版
assets/secData0.jarlib/armeabi/libSecShell.solib/armeabi/libSecShell-x86.so
3.4.2 定制版
assets/classes.jarlib/armeabi/DexHelper.so
3.5 腾讯加固
tencent_stublib/armeabi/libshella-xxxx.solib/armeabi/libshellx-xxxx.solib/armeabi/mix.dexlib/armeabi/mixz.dex
3.6 腾讯御安全
assets/libtosprotection.armeabi-v7a.soassets/libtosprotection.armeabi.soassets/libtosprotection.x86.soassets/tosversionlib/armeabi/libtest.solib/armeabi/libTmsdk-xxx-mfr.so
3.7 顶象技术
lib/armeabi/libx3g.so
3.8 阿里加固
assets/armeabi/libfakejni.soassets/armeabi/libzuma.soassets/libzuma.soassets/libzumadata.soassets/libpreverify1.sodexprotectassets/classes.dex.datassets/dp.arm-v7.so.datassets/dp.arm.so.dat
3.9 百度加固
lib/armeabi/libbaiduprotect.soassets/baiduprotect1.jar或者assets/baiduprotect.jar
3.10 海云安加固
assets/itselib/armeabi/libitsec.soapktoolplusassets/jiagu_data.binassets/sign.binlib/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.soassets/libuusafe.solib/armeabi/libuusafeempty.so
3.17 中国移动加固
assets/mogosec_classesassets/mogosec_dataassets/mogosec_dexinfoassets/mogosec_marchlib/armeabi/libcmvmp.solib/armeabi/libmogosec_dex.solib/armeabi/libmogosec_sodecrypt.solib/armeabi/libmogosecurity.so
3.18 珊瑚灵御
assets/libreincp.soassets/libreincp_x86.so
3.19 部分壳的 application
爱加密 s.h.e.l.l.S360 加固 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.AppStubapktoolplus 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
