1. 前言

在 Android 开发中,打包发布是开发的最后一个环节,整个项目的源码和资源结合生成了 APK。对于懂反编译的人来说可以轻松编译出 APK 的源码资源,并且可以在此基础上修改资源代码、重新打包编译,变成自己的 APK 或者修改其中一部分代码伪装成源程序窃取用户信息。

2. 加固原理

2.1 加壳对象

在加固的过程中需要三个对象:

  1. 需要加密的 APK(即源 APK)
  2. 壳程序 APK(即负责解密 APK 工作)
  3. 加密工具(将源 APK 进行加密和壳 Dex 合并成新的 Dex)

2.2 加壳步骤

准备加密的 APK 和自己的壳程序 APK,用加密算法对源 APK 进行加密,再将壳 APK 进行合并得到新的 Dex 文件,最后替换壳程序中的 Dex 文件即可。

Android 之 APK 加固介绍和特征库 - 图1

以上内容部分引用见文末参考文献。

3. 特征库

3.1 360

  1. assets/.appkey
  2. assets/libjiagu.so

3.2 爱加密

  1. lib/armeabi/libexecmain.so
  2. assets/ijiami.ajm
  3. assets/af.bin
  4. assets/signed.bin
  5. assets/ijm_lib/armeabi/libexec.so
  6. assets/ijm_lib/X86/libexec.so

3.3 几维安全

  1. assets/dex.dat
  2. lib/armeabi/kdpdata.so
  3. lib/armeabi/libkdp.so
  4. lib/armeabi/libkwscmm.so

3.4 梆梆安全

3.4.1 免费版

  1. assets/secData0.jar
  2. lib/armeabi/libSecShell.so
  3. lib/armeabi/libSecShell-x86.so

3.4.2 定制版

  1. assets/classes.jar
  2. lib/armeabi/DexHelper.so

3.5 腾讯加固

  1. tencent_stub
  2. lib/armeabi/libshella-xxxx.so
  3. lib/armeabi/libshellx-xxxx.so
  4. lib/armeabi/mix.dex
  5. lib/armeabi/mixz.dex

3.6 腾讯御安全

  1. assets/libtosprotection.armeabi-v7a.so
  2. assets/libtosprotection.armeabi.so
  3. assets/libtosprotection.x86.so
  4. assets/tosversion
  5. lib/armeabi/libtest.so
  6. lib/armeabi/libTmsdk-xxx-mfr.so

3.7 顶象技术

  1. lib/armeabi/libx3g.so

3.8 阿里加固

  1. assets/armeabi/libfakejni.so
  2. assets/armeabi/libzuma.so
  3. assets/libzuma.so
  4. assets/libzumadata.so
  5. assets/libpreverify1.so
  6. dexprotect
  7. assets/classes.dex.dat
  8. assets/dp.arm-v7.so.dat
  9. assets/dp.arm.so.dat

3.9 百度加固

  1. lib/armeabi/libbaiduprotect.so
  2. assets/baiduprotect1.jar
  3. 或者
  4. assets/baiduprotect.jar

3.10 海云安加固

  1. assets/itse
  2. lib/armeabi/libitsec.so
  3. apktoolplus
  4. assets/jiagu_data.bin
  5. assets/sign.bin
  6. lib/armeabi/libapktoolplus_jiagu.so

3.11 娜迦

  1. libedog.so/libddog.so

3.12 通付盾

  1. libegis.so

3.13 盛大加固

  1. libapssec.so

3.14 瑞星加固

  1. librsprotect.so

3.15 网秦加固

  1. libnqshield.so

3.16 uu 安全

  1. assets/libuusafe.jar.so
  2. assets/libuusafe.so
  3. lib/armeabi/libuusafeempty.so

3.17 中国移动加固

  1. assets/mogosec_classes
  2. assets/mogosec_data
  3. assets/mogosec_dexinfo
  4. assets/mogosec_march
  5. lib/armeabi/libcmvmp.so
  6. lib/armeabi/libmogosec_dex.so
  7. lib/armeabi/libmogosec_sodecrypt.so
  8. lib/armeabi/libmogosecurity.so

3.18 珊瑚灵御

  1. assets/libreincp.so
  2. assets/libreincp_x86.so

3.19 部分壳的 application

  1. 爱加密 s.h.e.l.l.S
  2. 360 加固 com.stub.StubApp
  3. 几维安全 com.Kiwisec.KiwiSecApplication 或者 com.Kiwisec.ProxyApplication 或者干脆没有 application
  4. 梆梆安全 com.secshell.secData.ApplicationWrapper
  5. 腾讯加固 com.tencent.StubShell.TxAppEntry
  6. 海云安 c.b.c.b
  7. 腾讯御安全 MyWrapperProxyApplication
  8. 顶象技术 cn.securitystack.stee.AppStub
  9. apktoolplus com.linchaolong.apktoolplus.jiagu.ProxyApplication
  10. 珊瑚灵御 com.coral.util.StubApplication
  11. 魔固云(中国移动加固)com.mogosec.AppMgr
  12. 特别注意,apktool 助手伪加固特征,监测 application 即可
  13. 360 加固,没 .appkey applicationcom.qihoo.util.stub2678363137
  14. 假梆梆加固 applicationcom.secoen.apkwrapper.ApplicationWrapper

4. 参考文献