操作列表:

  1. Dex字符串加密
  2. 资源文件加密
  3. 对抗反编译
  4. 反调试
  5. 自定义DexClassLoader

技术分析:

第一代加固技术-动态加载:

第一代加固技术用于保护应用的逻辑不被逆向和分析,最早普遍在恶意软件中使用,其主要基于Java虚拟机提供的动态加载技术。

其保护流程是:

开发阶段中将程序划分为加载(Loader)也称为壳(shell)和关键代码(payload)也称为原始程序

运行时加载部分(Loader)会先运行起来,解密释放关键代码(payload),然后加载器利用动态加载技术加载执行关键代码(payload)。

缺陷:

在动态加载payload时,payload部分必须先解压,并且释放到文件系统。

备注(multiDex组件的加固原理):

Android的DEX文件在设计之初程序普遍较小,所以在DEX文件设计时,只允许包含65535个函数引用。而随着Android应用的发展,大量的应用的代码已经超过了65535的限制,为了解决这个问题,Android5.0之后原生支持加载多个dex,而为了对旧版本的兼容,Android提供了multidex组件。该组件的实现原理与上面介绍的是一致的。

results matching ""

    No results matching ""