[发明专利]基于LLVM的Android应用程序虚拟化保护方法有效

专利信息
申请号: 202011351267.7 申请日: 2020-11-27
公开(公告)号: CN112395614B 公开(公告)日: 2023-07-28
发明(设计)人: 俞研;吴超;邓芳伟;付安民;苏铓 申请(专利权)人: 南京理工大学
主分类号: G06F21/56 分类号: G06F21/56;G06F8/30;G06F8/41;G06F8/73
代理公司: 南京理工大学专利中心 32203 代理人: 陈鹏
地址: 210094 *** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 llvm android 应用程序 虚拟 保护 方法
【说明书】:

发明公开了一种基于LLVM的Android应用程序虚拟化保护方法,具体步骤为:步骤1、将待保护的函数加入到分级保护列表中;步骤2、将分级保护列表中的函数Native化;步骤3、将Native化的函数通过Clang编译器编译为LLVM IR,然后定制Pass抽取IR指令;步骤4、自定义指令集并且通过虚拟指令动态映射方法实现LLVM IR到自定义指令集的动态映射;步骤5、定制Pass进行自定义指令解释,并且将所有逻辑封装为动态链接库文件,打包到APK中。本发明解决了传统基于Dex文件虚拟化保护方法存在的安全性不足和运行性能较低的难题。

技术领域

本发明涉及Android应用程序虚拟化保护技术领域,具体涉及到一种基于LLVM的Android应用程序虚拟化保护方法。

背景技术

近年来,Android应用市场蓬勃发展,据有关数据统计,Android应用程序的发布呈现指数增长。越来越多的恶意攻击人员通过破解Android应用程序或者向Android应用程序注入恶意代码实现二次打包来牟利。因此,为了避免Android应用程序被窃取、信息被泄漏,程序开发人员需要投入大量的精力来考虑程序的安全性问题。Android应用程序主要分为Java层和Native层,其中,Java层代码在编译过程中生成Dex文件,Native层代码在编译过程中生成so文件。由于Dex文件自身的特性,使之在反编译后具有较高的可读性,而so文件反编译之后通常会丢失真实的语义,使得还原其原始的程序逻辑较为困难。所以,可以将Android应用程序中的关键函数通过Native层代码进行编写,并通过Java本地接口(JavaNative Interface,JNI)和Java层代码进行交互。

Android应用程序的虚拟化保护技术是Android安全防护的一种有力手段,通过自定义指令集并且实现从Dalvik指令集到自定义指令集的映射来实现虚拟化保护。然而,由于Android系统固有的开源特性和公开的语法语义,使得恶意攻击人员也可以利用公开的Dex文件的语法和数据结构,对Android应用程序进行分析,然后通过反编译工具还原其内部的实现逻辑。

发明内容

本发明的目的在于提供一种基于LLVM的Android应用程序虚拟化保护方法,能够实现基于Native层的Android应用程序虚拟化保护,效抵制针对Android应用程序的静态攻击和动态攻击。

实现本发明目的的技术方案为:一种基于LLVM的Android应用程序虚拟化保护方法,包括如下步骤:

步骤1、将待保护的函数加入到分级保护列表中;

步骤2、将分级保护列表中的函数Native化;

步骤3、将Native化的函数通过Clang编译器编译为LLVM IR,然后定制Pass抽取IR指令;

步骤4、自定义指令集并且通过虚拟指令动态映射方法实现LLVM IR到自定义指令集的动态映射;

步骤5、定制Pass进行自定义指令解释,并将所有逻辑封装为动态链接库文件,打包到APK中。

进一步的,所述步骤1中待保护的函数包括:需要敏感权限授权的函数、用户提供的待保护函数、涉及Activity组件的回调函数以及Android应用程序中函数执行时间占比高于设定的门限值的函数。

进一步的,所述步骤2中Dex文件转换采用开源工具DCC转换,步骤为:

步骤2-1、通过开源工具Androguard构建Dex文件的控制流图;

步骤2-2、基于控制流图直接从抽象语法树中直接构建基于SSA的IR;

步骤2-3、将SSA IR中的变量按照Dalvik指令进行类型推导;

步骤2-4、消除IR中的PHI节点并进行C/C++代码生成。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学,未经南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011351267.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top