资源文件保护方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:27469680 阅读:18 留言:0更新日期:2021-03-02 17:34
本申请涉及一种资源文件保护方法、装置、计算机设备和存储介质,在所述应用程序的运行过程中,通过对目标资源文件的加载动作进行监听,所述目标资源文件为对应用程序的资源文件进行加密而得到的;若监听到所述加载动作,拦截所述加载动作,并将所述目标资源文件加载至所述应用程序的运行内存中;在所述应用程序的运行内存中,对所述目标资源文件进行解密,得到解密资源文件;从所述运行内存中读取所述解密资源文件。避免在本地存储空间产生解密后的资源文件,确保本地存储空间中的资源文件始终处于加密状态,提升了资源文件的安全强度,从而可以避免数据泄露和盗版应用的产生。而可以避免数据泄露和盗版应用的产生。而可以避免数据泄露和盗版应用的产生。

【技术实现步骤摘要】
资源文件保护方法、装置、计算机设备和存储介质


[0001]本申请涉及互联网安全
,特别是涉及一种资源文件保护方法、装置、计算机设备和存储介质。

技术介绍

[0002]应用程序的安装包中包括多种类型的资源文件,而遭受攻击时常见的攻击方式就是替换、篡改应用原有的资源文件,诸如替换为广告图片,或者修改应用配置,甚至读取隐藏在资源文件中的个人隐私信息等。
[0003]传统技术中,主要通过以下两种技术手段对资源文件进行加密保护:一是资源文件混淆保护,比如对资源文件的路径进行混淆、缩短文件夹和文件名以及替换或者删除某个资源文件的名称;一是资源文件加密保护,对部分安装目录的内容进行加密、隐藏及压缩,使用时再将资源文件解压并对资源文件解密。
[0004]然而,在传统技术中,经过加密保护的资源文件依旧由于安全强度不够而面临安全风险,从而造成数据泄露、盗版应用等问题。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种能够提升资源文件安全强度从而避免数据泄露、盗版应用的资源文件保护方法、装置、计算机设备和存储介质。
[0006]一种资源文件保护方法,所述方法包括:
[0007]在所述应用程序的运行过程中,对目标资源文件的加载动作进行监听,所述目标资源文件为对应用程序的资源文件进行加密而得到的;
[0008]若监听到所述加载动作,拦截所述加载动作,并将所述目标资源文件加载至所述应用程序的运行内存中;
[0009]在所述应用程序的运行内存中,对所述目标资源文件进行解密,得到解密资源文件;
[0010]从所述运行内存中读取所述解密资源文件。
[0011]在其中一个实施例中,所述目标资源文件的生成方式,包括:
[0012]对所述应用程序的安装包进行解析,从所述安装包中抽取待加密资源文件;
[0013]对所述待加密资源文件进行压缩和加密,得到所述目标资源文件。
[0014]在其中一个实施例中,所述待加密资源文件的数量大于一个;所述对所述待加密资源文件进行压缩和加密,得到所述目标资源文件,包括:
[0015]根据各所述待加密资源文件的文件类型,判断各所述待加密资源文件是否可压缩;
[0016]若所述待加密资源文件是可压缩的,则对所述待加密资源文件进行压缩,得到压缩文件;
[0017]若所述待加密资源文件是不可压缩的,则对所述待加密资源文件进行保留;
[0018]合并所述压缩文件和保留的待加密资源文件,将合并得到的文件进行加密,得到所述目标资源文件。
[0019]在其中一个实施例中,所述方法还包括:
[0020]从所述安装包中删除抽取到的所述待加密资源文件。
[0021]在其中一个实施例中,所述方法还包括:
[0022]将所述目标资源文件存放在所述应用程序的安装包中的指定路径下。
[0023]在其中一个实施例中,所述对所述应用程序的安装包进行解析,从所述安装包中抽取待加密资源文件,包括:
[0024]对所述应用程序的安装包进行解析,得到所述待加密资源文件在所述安装包中的目录地址;
[0025]根据所述目录地址,从所述安装包中抽取所述待加密资源文件。
[0026]在其中一个实施例中,所述若监听到所述加载动作,拦截所述加载动作,包括:
[0027]若监听到所述加载动作,基于钩子机制Hook拦截所述加载动作,所述加载动作包括打开open、读取read以及内存映射mmap中的至少一个。
[0028]一种资源文件保护装置,所述装置包括:
[0029]监听模块,用于在所述应用程序的运行过程中,对目标资源文件的加载动作进行监听,所述目标资源文件为对应用程序的资源文件进行加密而得到的;
[0030]拦截模块,用于若监听到所述加载动作,拦截所述加载动作,并将所述目标资源文件加载至所述应用程序的运行内存中;
[0031]解密模块,用于在所述应用程序的运行内存中,对所述目标资源文件进行解密,得到解密资源文件;
[0032]读取模块,用于从所述运行内存中读取所述解密资源文件。
[0033]一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的方法步骤。
[0034]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中的方法步骤。
[0035]上述资源文件保护方法、装置、计算机设备和存储介质,在所述应用程序的运行过程中,通过对目标资源文件的加载动作进行监听,所述目标资源文件为对应用程序的资源文件进行加密而得到的;若监听到所述加载动作,拦截所述加载动作,并将所述目标资源文件加载至所述应用程序的运行内存中;在所述应用程序的运行内存中,对所述目标资源文件进行解密,得到解密资源文件;从所述运行内存中读取所述解密资源文件。避免在本地存储空间产生解密后的资源文件,确保本地存储空间中的资源文件始终处于加密状态,提升了资源文件的安全强度,从而可以避免数据泄露和盗版应用的产生。
附图说明
[0036]图1为一个实施例中资源文件保护方法的流程环境图;
[0037]图2为一个实施例中目标资源文件的生成方法的流程示意图;
[0038]图3为一个实施例中步骤S210的流程示意图;
[0039]图4为另一个实施例中步骤S220的流程示意图;
[0040]图5为另一个实施例中资源文件保护方法的流程示意图;
[0041]图6为一个实施例中资源文件保护装置的结构框图;
[0042]图7为一个实施例中计算机设备的内部结构图。
具体实施方式
[0043]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0044]应用程序的安装包中包括多种类型的资源文件,而遭受攻击时常见的攻击方式就是替换、篡改应用原有的资源文件,诸如替换为广告图片,或者修改应用配置,甚至读取隐藏在资源文件中的个人隐私信息等。以对安卓(Android)资源文件加密相关的技术手段为例进行说明。
[0045]一种是资源文件混淆保护方式,通过混淆资源文件的名称,在一定程度上提升破解者理解这些文件的难度,从而一定程度上提升资源文件的安全性,在正常的安卓应用程序(Android APP)的开发过程中,为了保证应用程序的统一规范,一般会提倡命名规范化,因此通过文件名称非常容易理解其含义,这样有利于开发者理解和维护应用。但是同时也给破解者提供了方便,破解者通过文件名称很容易便可找到所需的资源文件的位置,并理解这些资源文件的意图。例如将原始资源文件res/layout/activity_main.xml命名为res/a/a.xml,通过layout和activity_main.xml破解者可以容易得本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源文件保护方法,其特征在于,所述方法包括:在所述应用程序的运行过程中,对目标资源文件的加载动作进行监听;所述目标资源文件为对应用程序的资源文件进行加密而得到的;若监听到所述加载动作,拦截所述加载动作,并将所述目标资源文件加载至所述应用程序的运行内存中;在所述应用程序的运行内存中,对所述目标资源文件进行解密,得到解密资源文件;从所述运行内存中读取所述解密资源文件。2.根据权利要求1所述的方法,其特征在于,所述目标资源文件的生成方式,包括:对所述应用程序的安装包进行解析,从所述安装包中抽取待加密资源文件;对所述待加密资源文件进行压缩和加密,得到所述目标资源文件。3.根据权利要求2所述的方法,其特征在于,所述待加密资源文件的数量大于一个;所述对所述待加密资源文件进行压缩和加密,得到所述目标资源文件,包括:根据各所述待加密资源文件的文件类型,判断各所述待加密资源文件是否可压缩;若所述待加密资源文件是可压缩的,则对所述待加密资源文件进行压缩,得到压缩文件;若所述待加密资源文件是不可压缩的,则对所述待加密资源文件进行保留;合并所述压缩文件和保留的待加密资源文件,将合并得到的文件进行加密,得到所述目标资源文件。4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:从所述安装包中删除抽取到的所述待加密资源文件。5.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:将所述目标资源文件存放在所述应用程序的安装包中的...

【专利技术属性】
技术研发人员:汪德嘉韩士杰谭泽辉
申请(专利权)人:北京通付盾人工智能技术有限公司江苏通付盾科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1