[发明专利]一种基于ELF感染的Android本地层指令编译虚拟化加壳方法有效
申请号: | 201710453423.2 | 申请日: | 2017-06-15 |
公开(公告)号: | CN107480476B | 公开(公告)日: | 2020-05-19 |
发明(设计)人: | 赵贝贝;房鼎益;汤战勇;宋丽娜;陈晓江;李振;龚晓庆;陈峰 | 申请(专利权)人: | 西北大学 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 西安恒泰知识产权代理事务所 61216 | 代理人: | 李婷;张明 |
地址: | 710069 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 elf 感染 android 地层 指令 编译 虚拟 化加壳 方法 | ||
本发明公开了一种基于ELF感染的Android本地层指令编译虚拟化加壳方法,该方法对待保护的so文件进行Hex抽取和映射虚拟,形成虚拟机so文件,并对so文件的关键代码段进行加密,形成加密后的so文件;利用虚拟机so文件对加密后的so文件进行ELF感染,形成感染后的so文件;利用Cydia Substrate框架对加密后so文件进行Hook替换,使虚拟机so文件中的虚拟指令码替换加密后so文件中被加密的代码。本发明中使用的是编译时虚拟的思想,这一思想不涉及不同ARM平台版本的问题,因此具有良好的兼容性,能够防止内存Dump分析同时增大了攻击者的攻击成本。
技术领域
本发明属于Android应用程序加固技术领域,具体涉及一种基于ELF感染的本地层so文件的编译时虚拟化加壳保护,并结合Cydia Substrate框架进行hook实现核心功能正常调用的保护技术。
背景技术
近年来,随着手机应用的蓬勃发展,每年的产量呈指数式的增长,据统计,目前我国主要的应用商店的APP已累计超过1000万。APP在给人们生活带来方便的同时,也给不法分子造就了可乘之机,严重影响APP产业的健康发展。
对于APP的保护由最初的dex的简单加固到目前对dex的抽取加固,保护的对象也由dex层转移到了本地层,同时开发者将APP很多的核心算法写到了本地层,从而保护本地层成为了Android APP代码保护的重要趋势。
现有的对于本地层文件的保护主要有UPX加壳、ELF文件Section段加密和OLLVM混淆,这些Android本地层保护方法只是能够从表面上起到阻止静态分析的作用,但都不能从本质上来应对动态分析和有经验的逆向攻击者。有经验的逆向攻击者进行动态分析调试,选择合适的时机对在内存中还原的so进行Dump;除此之外,现有的OLLVM混淆主要是针对源码级别的代码编译混淆,虽然保护力度大,但是可操作性弱。因此以上方法在Android本地层so保护时都存在一定的局限性,而Android本地层的so文件又通常是整个Android App中核心逻辑代码的重要实现部分,所以亟待一种既能够防止内存Dump分析同时又能够兼顾以上保护优点的方法。
发明内容
针对上述现有技术中存在的问题,本发明的目的在于,提供一种将ARM指令在编译时就进行虚拟化,以使得在增加逻辑复杂性的同时,也能够在编译的时候增加编译混淆方法。
为了实现上述任务,本发明采用以下技术方案:
一种基于ELF感染的Android本地层指令编译虚拟化加壳方法,包括以下步骤:
查找so文件中需要进行保护的关键代码段,对关键代码段进行指令Hex抽取和映射虚拟,形成虚拟机so文件;对所述的需要保护的关键代码段进行加密处理,得到关键代码段被加密后的so文件;
利用虚拟机so文件对加密后的so文件进行ELF感染,形成感染后的so文件;利用Cydia Substrate框架对加密后so文件进行Hook替换,使虚拟机so文件中的虚拟指令码替换加密后so文件中被加密的代码。
进一步地,所述的查找so文件中需要进行保护的关键代码段,对关键代码段进行指令Hex抽取和映射虚拟,形成虚拟机so文件,包括:
根据开发者提供的标签进行查找,定位到关键代码段,对关键代码段进行Hex抽取,将抽取后的结果使用自定义的映射规则进行映射变换,使关键代码段中的每一个代码按照映射规则对应一个虚拟指令码;与此同时,自定义用于指令读取以及解释所述虚拟指令码的解释引擎,该解释引擎根据虚拟指令码调用相应的处理函数以等同实现虚拟指令码对应的关键代码段中代码的功能;将虚拟指令码、解释引擎加入到so文件中进行编译,形成虚拟机so文件。
进一步地,利用虚拟机so文件对加密后的so文件进行ELF感染,形成感染后的so文件,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北大学,未经西北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710453423.2/2.html,转载请声明来源钻瓜专利网。