摘 要: | Android应用加固技术虽然在很大程度上能提高应用软件的安全性,但传统加固技术原理相对简单且效果单一。本文提出一种基于函数抽取的Android应用安全加固技术,该技术首先通过修改DEX文件中method_idx_diff结构体和隐藏code_item结构体实现函数抽取,然后对DEX文件重构,最后整体加壳。应用程序运行时壳代码率先执行取得控制权,完成对原DEX文件的定位以及类加载器修正等操作,然后对原DEX文件进行动态加载。当调用被抽取的函数时,分别通过对Method结构体的重构以及Hook系统函数等方式实现函数的恢复。理论分析与实验结果证明,本文所提的方案能够有效抵御静态分析和动态恢复攻击,并且加固造成的时延与函数运行时间呈线性正相关,时延的大小是可以接受的,对用户体验的影响很小。
|