Dex抽取与So加固:

  1. Dex Method代码抽取到外部(通常企业版)
  2. Dex动态加载
  3. So加密
  4. 对抗第一代出现的脱壳方法

技术分析-不落地加载:

主要解决第一代技术中payload落地加载的缺陷。

技术方案:

A):直接调用虚拟机提供的函数进行不落地加载。具体流程是:

  1. 关键逻辑以加密的方式存储在apk中
  2. 运行时加载部分将关键逻辑释放到内存
  3. 加载部分调用虚拟机内部接口加载

兼容性:需要针对4.0+(dalvik)和5.0+(art)有不同的实现方式。

缺陷和对抗:

在应用启动时需要进行大量的加密及解密操作,可能会造成黑屏,给用户的体验极差。

在加固技术实现上没有本质的区别,可以从以下几方面对抗:

例如:

内存中的dex文件头会被清除,防止在dump文件中被找到;

破坏dex文件结构,例如增加一些错误数据,提高恢复的成本;

但payload被加载后在内存中是连续的,利用GDB等工具dump内存可以直接找到payload;

results matching ""

    No results matching ""