本申请涉及系统安全检测领域,尤其涉及一种文件保护方法、系统及存储介质。
背景技术:
1、移动操作系统是一种重要的控制系统,主要应用于移动设备,如智能手机、平板电脑、智能手表等。在移动操作系统中,可以通过应用程序包将应用程序安装在指定的移动设备上,从而通过移动操作系统运行应用程序。应用程序包中包括安装应用程序所需的必要资源文件,这些资源文件十分重要,因此,在安装应用程序前后,需要保护这些资源文件,提高资源文件的安全性。
2、移动操作系统通常包括对资源文件的保护程序,当外来的破解者使用编译策略对资源文件进行编译时,即可触发保护程序,保护程序会使资源文件的名称发生改变,从而使破解者无法准确获取资源文件的位置。
3、但是,保护程序仅对资源文件的名称进行随机改变,并没有对资源文件本身进行加密的保护,破解者依然可以通过逐一打开的方式确认资源文件,因此,保护程序无法从实质上提高资源文件的安全性,资源文件依然存在一定的安全风险。
技术实现思路
1、为了提高软件系统中资源文件的安全性,第一方面,本申请的部分实施例提供一种文件保护方法,应用于软件系统,包括:
2、获取所述软件系统的应用文件,所述应用文件包括资源文件和运行文件;
3、对所述资源文件执行加密处理,得到加密资源文件,以及,在所述运行文件中添加解密标签,得到补丁运行文件,所述加密资源文件包括加载地址;
4、在已加载所述补丁运行文件的状态下,将待加密的资源文件的初始目录地址替换为所述加载地址,以用所述加密资源文件替换待加密的资源文件;
5、根据所述解密标签对所述加密资源文件执行解密,以获得解密后的资源文件。
6、在一些的实施例中,对所述资源文件执行加密处理的步骤,包括:
7、对所述资源文件执行分类识别,得到第一类资源文件和第二类资源文件;
8、对所述第一类资源文件执行加密处理,得到第一类加密资源文件;
9、从所述第二类资源文件中筛除待校对文件,所述待校对文件为所述应用文件在安装或运行时需要校对的资源文件;
10、对剩余的第二类资源文件执行加密处理,得到第二类加密资源文件;
11、根据所述第一类加密资源文件和所述第二类加密资源文件生成加密资源文件。
12、在一些实施例中,根据所述第一类加密资源文件和所述第二类加密资源文件生成加密资源文件的步骤前,还包括:
13、获取所述第一类资源文件的第一对齐格式和所述第二类资源文件的第二对齐格式;
14、根据所述第一对齐格式对所述第一类加密资源文件执行修复操作,以及,根据所述第二对齐格式对第二类加密资源执行修复操作。
15、在一些实施例中,将待加密的资源文件的初始目录地址替换为所述加载地址的步骤,包括:
16、通过反射操作在应用文件中获取已加载文件,所述已加载文件为已经加载至所述软件系统的内存中的应用文件;
17、在所述已加载文件中获取待加密的资源文件;
18、确定所述待加密的资源文件的初始目录地址;
19、通过钩子机制将所述初始目录地址替换为所述加载地址。
20、在一些实施例中,用所述加密资源文件替换待加密的资源文件的步骤前,还包括:
21、将所述加载地址加载至资源管理器;
22、通过所述资源管理器,根据所述加载地址获取加密资源文件。
23、在一些实施例中,在已加载所述补丁运行文件的状态下,所述方法还包括:
24、获取待加密的资源文件的初始目录地址;
25、根据初始目录地址确定待加密的资源文件对应的所述加密资源文件;
26、通过所述解密标签对所述加密资源文件执行解密,以及,根据解密后的资源文件更新加载地址;
27、将待加密的资源文件的初始目录地址替换为更新后的加载地址。
28、在一些实施例中,获取所述软件系统的应用文件的步骤后,还包括:
29、获取所述应用文件的历史加载信息,所述历史加载信息用于表征所述应用文件为首次加载或非首次加载;
30、如果所述应用文件为非首次加载,则根据所述历史加载信息在所述软件系统的历史加载文件中调取所述加密资源文件。
31、在一些实施例中,对所述资源文件执行加密处理的步骤后,还包括:
32、对所述加密资源文件执行解密检测;
33、如果所述解密检测的编译标签与所述解密标签不一致,则生成入侵告警。
34、第二方面,本申请的部分实施例提供一种文件保护系统,应用于软件系统,包括:
35、加载器,被配置为加载应用文件;
36、控制器,被配置为:
37、获取所述软件系统的应用文件,所述应用文件包括资源文件和运行文件;
38、对所述资源文件执行加密处理,得到加密资源文件,以及,在所述运行文件中添加解密标签,得到补丁运行文件,所述加密资源文件包括加载地址;
39、在已加载所述补丁运行文件的状态下,将待加密的资源文件的初始目录地址替换为所述加载地址,以用所述加密资源文件替换待加密的资源文件;
40、根据所述解密标签对所述加密资源文件执行解密,以获取解密后的资源文件。
41、第三方面,本申请的部分实施例提供一种计算机可读存储介质,所述计算机可读存储介质中包括计算机指令,所述计算机指令用于指示计算机执行第一方面所述的文件保护方法。
42、由以上技术方案可知,本申请提供一种文件保护方法、系统及存储介质,所述方法通过获取软件系统的应用文件,对应用文件中的资源文件执行加密处理,得到加密资源文件,对运行文件进行修改并添加带有解密标签的补丁。然后在已加载补丁运行文件的状态下,将待加密的资源文件的初始目录地址替换为加密资源文件的加载地址,从而用加密资源文件替换待加密的资源文件,并通过解密标签对加密资源文件完成解密,得到资源文件。本申请通过对资源文件执行加密,并替换加载对应的补丁运行文件,在必要的读取进程进行解密,能够有效防止攻击者查看和篡改资源文件,降低资源文件的泄漏风险。
1.一种文件保护方法,应用于软件系统,其特征在于,包括:
2.根据权利要求1所述的文件保护方法,其特征在于,对所述资源文件执行加密处理的步骤,包括:
3.根据权利要求2所述的文件保护方法,其特征在于,根据所述第一类加密资源文件和所述第二类加密资源文件生成加密资源文件的步骤前,还包括:
4.根据权利要求1所述的文件保护方法,其特征在于,将待加密的资源文件的初始目录地址替换为所述加载地址的步骤,包括:
5.根据权利要求1所述的文件保护方法,其特征在于,用所述加密资源文件替换待加密的资源文件的步骤前,还包括:
6.根据权利要求1所述的文件保护方法,其特征在于,在已加载所述补丁运行文件的状态下,所述方法还包括:
7.根据权利要求1所述的文件保护方法,其特征在于,获取所述软件系统的应用文件的步骤后,还包括:
8.根据权利要求1所述的文件保护方法,其特征在于,对所述资源文件执行加密处理的步骤后,还包括:
9.一种文件保护系统,应用于软件系统,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括计算机指令,所述计算机指令用于指示计算机执行权利要求1-8任意一项所述的文件保护方法。