[发明专利]一种安卓应用程序加固方法及装置有效
申请号: | 201611169541.2 | 申请日: | 2016-12-16 |
公开(公告)号: | CN106599629B | 公开(公告)日: | 2021-08-06 |
发明(设计)人: | 陈莉锋 | 申请(专利权)人: | TCL科技集团股份有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 李艳丽 |
地址: | 516006 广东省惠州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 加固 方法 装置 | ||
本发明适用于信息安全领域,提供了一种安卓应用程序加固方法及装置,所述方法包括:获取第一so文件,并读取第一so文件中的第一预设函数,第一预设函数封装有安卓应用程序相关联的核心代码;采用预设加密函数对第一预设函数进行加密,形成第二预设函数;将第二预设函数写入第一so文件中,形成第二so文件。在本发明中,对native层so文件中封装有安卓应用程序核心代码的第一预设函数进行加密,得到第二预设函数,由于so文件中的第二预设函数进行了加密处理,攻击者即使能够对so文件进行反编译处理,也无法获取第一预设函数的代码,更无法获取到第一预设函数中相关联的安卓应用程序核心代码,大大提高了安卓应用程序的安全性。
技术领域
本发明属于信息安全领域,尤其涉及一种安卓应用程序加固方法及装置。
背景技术
随着安卓(Android)系统的高速发展,安卓系统的安卓应用程序数目也飞速增长。由于安卓系统自身的开源性,导致其安卓应用程序的运行环境极度透明,在给安卓应用程序开发者提供更多功能接口的同时,也为攻击者提供了便利。
一个安卓应用程序由两个部分组成:java层面中由java语言编写的dex文件(是谷歌公司自己设计用于安卓平台的java虚拟机),以及native层面(本地框架)中由C/C++语言编写的so文件(是linux装置下的动态链接库文件)。这两个部分是独立的,so文件相当于一个模块,当安卓应用程序需要使用so文件中的某项功能时,直接调用相应的so文件即可。
现有技术中,采用在java层面,利用密钥进行加密解密的方法,来对安卓应用程序进行加固保护,攻击者通过非法拷贝、逆向工程、反编译等手段,可以很容易的得到密钥信息,使得安卓应用程序的安全性较低。
发明内容
有鉴于此,本发明提供了一种安卓应用程序加固方法及装置,以解决现有技术中安卓应用程序安全性较低的问题。
第一方面,提供了一种安卓应用程序加固方法,包括:
获取第一so文件,并读取第一so文件中的第一预设函数,第一预设函数封装有安卓应用程序相关联的核心代码;
采用预设加密函数对第一预设函数进行加密,形成第二预设函数;
将第二预设函数写入第一so文件中,形成第二so文件。
第二方面,提供了一种安卓应用程序加固装置,包括:
第一读取单元,用于获取第一so文件,并读取第一so文件中的第一预设函数,第一预设函数封装有安卓应用程序相关联的核心代码;
加密单元,用于采用预设加密函数对第一预设函数进行加密,形成第二预设函数;
第一写入单元,用于将第二预设函数写入第一so文件中,形成第二so文件。
在本发明中,对native层so文件中封装有安卓应用程序核心代码的第一预设函数进行加密,得到第二预设函数,由于so文件中的第二预设函数进行了加密处理,攻击者即使能够对so文件进行反编译处理,也无法获取第一预设函数的代码,更无法获取到第一预设函数中相关联的安卓应用程序核心代码,大大提高了安卓应用程序的安全性。
附图说明
为了更清楚地说明本发明的实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1中安卓应用程序加固方法的一流程图;
图2是本发明实施例2中安卓应用程序加固方法的一流程图;
图3是本发明实施例3中安卓应用程序加固装置的一原理框图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于TCL科技集团股份有限公司,未经TCL科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611169541.2/2.html,转载请声明来源钻瓜专利网。