CN108256351A - 文件处理方法和装置、存储介质及终端 - Google Patents
文件处理方法和装置、存储介质及终端 Download PDFInfo
- Publication number
- CN108256351A CN108256351A CN201810015115.6A CN201810015115A CN108256351A CN 108256351 A CN108256351 A CN 108256351A CN 201810015115 A CN201810015115 A CN 201810015115A CN 108256351 A CN108256351 A CN 108256351A
- Authority
- CN
- China
- Prior art keywords
- file
- information
- file destination
- physical address
- destination
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6281—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种文件处理方法和装置、存储介质及终端。其中,该方法包括:接收对第一信息进行修改的请求;响应于请求,根据第二信息验证第一信息和第三信息的完整性;在验证成功的情况下,解析第三信息得到物理地址,并将解析得到的物理地址与目标文件的当前物理地址对比;在对比结果相同的情况下,根据请求修改第一信息,以及通过文件系统移动目标文件并根据移动后的目标文件的物理地址更新第三信息,以及根据修改后的第一信息和更新后的第三信息更新第二信息。本发明解决了相关技术中的防作弊方法在弱联网或不联网的情况下对作弊行为的监控效果较差的技术问题。
Description
技术领域
本发明涉及软件安全领域,具体而言,涉及一种文件处理方法和装置、存储介质及终端。
背景技术
对于一些需要使用权限的软件,用户在使用时可能会通过不同类型的作弊方法进行作弊,针对不同的作弊方法,现有的软件防作弊方法已经有很多种。例如,现有的手游客户端针对篡改存档的限制降级机制,针对盗号或用户伪装的用户标识符、社交账号绑定,针对逆向破译工程的符号隐藏、标识符混淆、逻辑混淆,针对调用函数的隐藏和混淆、阻止跟踪调试、组织外挂启动,针对修改二进制程序的验证校验码,针对修改内存的内存加密,等等。这些防作弊方法主要分为两类:一类是对非法操作进行预防,另一类是基于文件内容来判断是否存在非法操作。
但是,对于弱联网或不联网的情况,有一种操作起来非常简单却又难以防御的作弊方法,也即,对软件的整套文件进行备份并重新使用的方式来作弊,通过备份软件的整套文件使权限恢复到使用前的状态。这种作弊方法有许多应用场景:例如,玩家目前有一些强化装备的道具,强化效果在一定的范围内波动,则玩家可以先对游戏的整套文件进行备份,然后进行强化操作,如果对强化效果不满意,则把此前备份的文件覆盖到对应的路径下,重新进行强化操作;再如,玩家目前可以免费解锁若干关卡中的一个,之后则需要付费才能解锁其它关卡,则玩家可以先对游戏的整套文件进行备份,然后解锁某关卡,待该关卡体验完毕之后,再把此前备份的文件覆盖到对应的路径下,解锁另外一个关卡。对于纯客户端手游或弱联网手游,这种作弊方法难以事先进行阻止,因为游戏的整套文件都存放在客户端,一定存在可以获取和导入这些文件的方法;这种作弊方法也难以事后通过文件内容来进行检测,因为基于文件内容来进行检测的基本原理是通过若干文件的内容进行对比来判断是否存在修改,如果把所有相关文件都进行备份,在进行一定的游戏体验之后,把此前备份的文件覆盖到对应的路径下,根本无法通过文件内容本身来判断文件是否发生过备份和重用。
针对这种作弊方法,强联网手游可以通过把重要数据存在服务端来进行防御,但这不符合纯客户端手游或弱联网手游的应用场景。在一些对客户端安全性要求比较高的领域,可以通过引入防篡改硬件(如TPM,全称Trusted Platform Module)来检测该作弊行为,防篡改硬件通常是一个含有密码运算部件和存储部件的小芯片,由处理器CPU、存储器、输入/输出(I/O)接口、密码运算器、随机数产生器和嵌入式操作系统等部件组成,但并非所有客户端都支持防篡改硬件,支持防篡改硬件的客户端也未必安装了这类硬件,因此这类方法的通用性较差。
综上所述,在纯客户端或弱联网的应用场景下,目前还没有一种通用的方法可以有效防御对游戏的整套文件进行备份和重用的作弊行为。
针对相关技术中的防作弊方法在弱联网或不联网的情况下对作弊行为的监控效果较差的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种文件处理方法和装置、存储介质及终端,以至少解决相关技术中的防作弊方法在弱联网或不联网的情况下对作弊行为的监控效果较差的技术问题。
根据本发明实施例的一个方面,提供了一种文件处理方法,该方法包括:接收对第一信息进行修改的请求;响应于请求,根据第二信息验证第一信息和第三信息的完整性;在验证成功的情况下,解析第三信息得到物理地址,并将解析得到的物理地址与目标文件的当前物理地址对比;在对比结果相同的情况下,根据请求修改第一信息,以及通过文件系统移动目标文件并根据移动后的目标文件的物理地址更新第三信息,以及根据修改后的第一信息和更新后的第三信息更新第二信息。
进一步地,通过文件系统移动目标文件包括:更改目标文件的内容以更改目标文件的大小,得到更改后的目标文件;通过文件系统移动更改后的目标文件,得到移动后的目标文件。
进一步地,通过文件系统移动目标文件包括:通过文件系统复制目标文件,得到复制文件;通过文件系统删除目标文件;通过文件系统重命名复制文件以使复制文件的名称与目标文件的名称相同,得到移动后的目标文件。
进一步地,目标文件包括至少一个文件,至少一个文件中每个文件包括至少一个分区,目标文件的物理地址包括每个文件的分区个数和每个分区的首块地址和末块地址。
进一步地,根据移动后的目标文件的物理地址更新第三信息包括:获取移动后的目标文件的物理地址;通过散列函数对移动后的目标文件的物理地址进行加密处理,得到处理结果;将第三信息的内容更新为处理结果。
根据本发明实施例的另一方面,还提供了一种文件处理装置,该装置包括:接收单元,用于接收对第一信息进行修改的请求;验证单元,用于响应于请求,根据第二信息验证第一信息和第三信息的完整性;第一执行单元,用于在验证成功的情况下,解析第三信息得到物理地址,并将解析得到的物理地址与目标文件的当前物理地址对比;第二执行单元,用于在对比结果相同的情况下,根据请求修改第一信息,以及通过文件系统移动目标文件并根据移动后的目标文件的物理地址更新第三信息,以及根据修改后的第一信息和更新后的第三信息更新第二信息。
进一步地,第二执行单元包括:更改模块,用于更改目标文件的内容以更改目标文件的大小,得到更改后的目标文件;移动模块,用于通过文件系统移动更改后的目标文件,得到移动后的目标文件。
进一步地,第二执行单元包括:复制模块,用于通过文件系统复制目标文件,得到复制文件;删除模块,用于通过文件系统删除目标文件;命名模块,用于通过文件系统重命名复制文件以使复制文件的名称与目标文件的名称相同,得到移动后的目标文件。
进一步地,目标文件包括至少一个文件,至少一个文件中每个文件包括至少一个分区,目标文件的物理地址包括每个文件的分区个数和每个分区的首块地址和末块地址。
进一步地,第二执行单元包括:获取模块,用于获取移动后的目标文件的物理地址;加密模块,用于通过散列函数对移动后的目标文件的物理地址进行加密处理,得到处理结果;更新模块,用于将第三信息的内容更新为处理结果。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明的文件处理方法。
根据本发明实施例的另一方面,还提供了一种终端,该终端包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,第一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序包括用于执行本发明的文件处理方法。
在本发明实施例中,通过接收对第一信息进行修改的请求;响应于请求,解析第二信息得到物理地址;在确定目标文件的当前物理地址与解析得到的物理地址相同的情况下,根据请求修改第一信息,以及通过文件系统移动目标文件并根据移动后的目标文件的物理地址更新第二信息,解决了相关技术中的防作弊方法在弱联网或不联网的情况下对作弊行为的监控效果较差的技术问题,进而实现了能够在弱联网或不联网的情况下更有效地监控作弊行为的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的文件处理方法的流程图;
图2是根据本发明实施例的一种可选的目标文件的分区示意图;
图3是根据本发明实施例的一种可选的文件处理方法的示意图;
图4是根据本发明实施例的一种可选的文件处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请提供了一种文件处理方法的实施例。
图1是根据本发明实施例的一种可选的文件处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,接收对第一信息进行修改的请求;
步骤S102,响应于请求,根据第二信息验证第一信息和第三信息的完整性;
步骤S103,在验证成功的情况下,解析第三信息得到物理地址,并将解析得到的物理地址与目标文件的当前物理地址对比;
步骤S104,在对比结果相同的情况下,根据请求修改第一信息,以及通过文件系统移动目标文件并根据移动后的目标文件的物理地址更新第三信息,以及根据修改后的第一信息和更新后的第三信息更新第二信息。
第一信息是软件需要重点保护的信息,携带第一信息的文件是作弊方法、尤其是对软件整套文件进行备份和重新使用的这种作弊方法所攻击的对象。具体而言,第一信息是软件的权利/权限信息,例如,使用软件的权限有效期,游戏中玩家拥有的强化道具的种类及数量信息、玩家拥有的解锁新关卡的次数,等。
对第一信息进行修改的请求也即对软件的权利信息进行修改的请求,权利信息是可以被消耗的,消耗权利信息是对第一信息进行修改的一种情况。例如,玩家想要解锁一个新的关卡,可以先判断第一信息中的剩余可解锁关卡的数量是否为0,如果剩余可解锁关卡为0,则玩家不可以再玩一个新的关卡,如果剩余可解锁关卡不为0,则产生修改第一信息的请求,请求将剩余可解锁关卡的数量减1。
第三信息携带有物理地址的信息,在解析第三信息之后会得到物理地址。在正常使用软件的情况下,第三信息在每次根据请求修改第一信息之后,会根据通过文件系统移动之后的目标文件的物理地址进行更新,在第一信息和第三信息未被修改、且目标文件未被移动的情况下,解析第三信息得到的物理地址与目标文件的当前物理地址是相同的。
第二信息是用于验证第一信息和第三信息完整性的信息,例如,第二信息可以是MD5码、循环校验码、还可以是消息认证码(Message Authentication Code,简称MAC),MD5码、可以是循环校验码、消息认证码能够用来验证信息的完整性,是加密技术中非常成熟的一种技术,其中,消息认证码的长度是固定的,这里不做详细介绍。
根据第二信息验证第一信息和第三信息的完整性可以检测出第一信息和/或第三信息是否被篡改,如果验证不成功,则说明第一信息和第三信息被篡改,也即,检测出存在作弊行为,因此,在验证不成功的情况下可以拒绝对第一信息的修改请求。
而如果验证成功,说明第一信息和第三信息是未被篡改的,在验证成功的情况下,解析第三信息得到物理地址,并通过将解析得到的物理地址与目标文件的当前物理地址进行对比,在对比结果相同的情况下,说明第一信息和第三信息未被修改、且目标文件未被移动,则可以根据请求修改第一信息。
在根据请求修改第一信息之后,需要通过文件系统移动目标文件,文件系统是指当前使用的操作系统中对文件进行操作的系统,文件在被移动之后的物理地址是由文件系统决定的,无法人为的控制,且不可逆,因而,只要第一信息和第三信息是未被篡改的、且目标文件的当前物理地址与解析第三信息得到的物理地址相同,则说明目标文件一定未被移动,进而说明不存在作弊行为,实现了在弱联网或不联网的应用场景下有效地防止通过作弊方法使用软件的情况。
需要说明的是,目标文件的内容对于该实施例提供的文件处理方法是没有用处的,仅需要目标文件的物理地址,因此,目标文件的内容可以是任意的。进一步地,为了降低目标文件在移动之后的物理地址与历史的物理地址重复的概率,可以在移动目标文件之前更改目标文件的大小,具体的,通过更改目标文件的内容,例如,通过增加或删除目标文件的内容以精确地控制目标文件在更改之后的大小,在更改目标文件的大小之后通过文件系统移动更改后的目标文件,得到移动后的目标文件。
此外,目标文件的文件格式也可以是任意的,例如,纯文本、位图等常见的文件格式,或者是任意新定义的文件格式。目标文件的内容和格式对本发明实施例提供的文件处理方法可以不具备任何实际意义,因此,目标文件的内容和格式可以是任意的,根据情况而定。
可选的,目标文件可以是一个或多个文件,例如,以目标文件组的形式存储多个文件。而每个目标文件在存储介质上是以分区为单位的,文件系统会给每个文件分配至少一个分区,在一种可选的情况下,文件系统对每个文件的分区是连续的。进而,目标文件的物理地址可以包括目标文件组中每个文件的分区个数和每个分区的首块地址和末块地址。
第三信息携带有目标文件的物理地址的信息,可选的,第三信息是通过散列函数对物理地址进行加密处理之后得到的结果,具体而言,获取移动后的(一个或多个)目标文件的物理地址,通过散列函数对移动后的(一个或多个)目标文件的物理地址进行加密处理,得到处理结果,然后将第三信息的内容更新为处理结果。
其中,通过文件系统移动目标文件的方式可以是:通过文件系统复制目标文件,得到复制文件;通过文件系统删除目标文件;通过文件系统重命名复制文件以使复制文件的名称与目标文件的名称相同,得到移动后的目标文件。
需要说明的是,第一信息、第二信息和第三信息可以通过任意的组合方式存储在一个或多个文件中。以第一信息、第二信息和第三信息同时存储在第一文件中的情况为例,说明该实施例提供的文件处理方法在一种作弊情况下的处理过程:用户在消耗第一信息之前备份第一文件,在对第一信息消耗之后将备份的第一文件覆盖在原来第一文件存储的位置,试图将第一信息恢复至被消耗之前的状态,则根据该文件中的第三信息解析出的物理地址与目标文件的当前物理地址是不相符的(这是由于在用户消耗第一信息之后,文件系统会移动目标文件使得目标文件的物理地址发生变化),进而拒绝对第一信息进行消耗的请求,防止作弊行为。
该实施例通过接收对第一信息进行修改的请求;响应于请求,解析第二信息得到物理地址;在确定目标文件的当前物理地址与解析得到的物理地址相同的情况下,根据请求修改第一信息,以及通过文件系统移动目标文件并根据移动后的目标文件的物理地址更新第二信息,解决了相关技术中的防作弊方法在弱联网或不联网的情况下对作弊行为的监控效果较差的技术问题,进而实现了能够在弱联网或不联网的情况下更有效地监控作弊行为的技术效果。
下面结合一种应用场景对上述实施例的一种具体实施方式进行描述如下:
(1)应用该具体实施方式所需要使用的文件包括位置文件(目标文件)和记录文件。
位置文件并不专属于某种操作系统,也不受限于文件格式,可以是常见的文件格式(如纯文本、位图),也可以是新定义的文件格式。位置文件区别于其他文件的地方在于它的使用方式,位置文件的内容并不具备实际意义,该实施方式提供的文件处理方法只关注位置文件在存储介质上的物理地址。由于位置文件的内容并不具备实际意义,可以任通过意地添加或删除文件内容来精准地控制位置文件的大小。
不同操作系统在文件系统的设计方面会存在差异,但文件系统通常都会给文件分配一个或多个连续的分区。位置文件在存储介质上也是以分区为单位的,一个位置文件可能包含一个或多个连续的分区。一种可选的位置文件的结构如图2所示,该位置文件包括n个分区,S(Starting point)1、S2、……、Sn表示对应分区的首块地址的编号,D(Destination)1、D2、……、Dn表示对应分区的末块地址的编号。
用LF(Location File)来表示位置文件,用LFA(Location File Address)来表示位置文件的地址,则一个具有n个分区的位置文件的地址可以表示为:
LFA=LF{n,S1,D1,S2,D2,…,Sn,Dn}
该实施方式提供的文件处理方法所使用的位置文件的数量可以是一个,也可以是多个,一个或多个位置文件组成位置文件组LFG(Location File Group),一个由m个位置文件构成的位置文件组地址LFGA(Location File Group Address)可以表示为:
LFGA={LFA1,LFA2,…,LFAm}
该实施方式提供的文件处理方法只包含一个记录文件。记录文件由三部分组成:权利文件信息(第一信息)、位置文件组地址散列值(第三信息)、消息认证码(第二信息)。
可选的,在现有技术中,权利文件信息记录在权利文件中,记录文件中的权利文件信息可以是在权利文件中提取出的权利的信息。权利文件是指记录玩家在游戏中可以消耗的权利的相关信息的文件,这类文件的内容包括玩家拥有的强化道具的种类及数量信息、玩家拥有的解锁新关卡的次数,等等,凡是需要重点保护的权利,都属于权利文件的范畴。在现有技术中,权利文件是对游戏的整套文件进行备份和重用这种作弊行为所攻击的目标文件。在初始状态下,在权利文件中提取权利信息,得到记录在记录文件中的权利文件信息。在每次对权利文件中的权利信息进行修改之后,记录文件中的权利文件信息也随之相应地修改。
上述是一种可选的实施方式,另一种可选的实施方式是只在记录文件中保存权利文件信息,也即,该实施方式下的文件处理方法不需要权利文件。
由于玩家在游戏中也可见权利文件信息,因此权利文件信息无须经过加密处理,可以完全采用明文的方式存储。而位置文件组地址须对用户保密,所以记录文件不能直接存储其明文,而是存储其经过散列函数处理后的结果。具体的,将位置文件组的物理地址通过散列函数进行加密处理后得到位置文件组地址散列值。尽管位置文件组地址的长度会因内部的位置文件的分区数的变化而改变,但作为散列函数的输出,位置文件组地址散列值的长度是固定的。位置文件组地址内的任何一项发生变化,都会导致位置文件组地址散列值的改变。
在记录文件中的权利文件信息进行修改之后,根据位置文件的地址变化更新位置文件组地址散列值,以及根据修改之后的位置文件组地址散列值和更新之后的位置文件组地址散列值生成新的消息认证码。
消息认证码用于验证权利文件信息和位置文件组地址散列值的完整性,消息认证码的长度是固定的,生成消息认证码是加密技术中非常成熟的一种技术,这里不做详细介绍。
在记录文件中的权利文件信息进行修改、且位置文件组地址散列值更新之后,生成新的消息认证码。在下一次接收到对权利文件信息的修改请求时,通过消息认证码验证权利文件信息和位置文件组地址散列值的完整性。
(2)对位置文件进行移动包括对单个位置文件进行移动和对位置文件组进行移动两种情况。
对单个位置文件移动可以调用文件系统自带的文件复制指令、文件删除指令和文件重命名指令来实现位置文件的移动。此外,在复制文件前,该过程会通过添加或清空文件内容的方式来精确控制位置文件的大小。文件系统在复制文件、删除文件和对文件重命名时,除改变位置本身还会改变用于文件管理的数据结构中的内容。新生成的文件的物理地址由文件系统决定,无法人为控制。因此,位置文件的移动带有不可逆性且不受人为控制。
移动位置文件的主要目的有两个:一是改变位置文件占有的分区的个数,二是改变位置文件各个分区的地址。下面的伪代码给出了对单个位置文件进行移动的一种方式:
其中,MaxSi表示LFi大小的上限,Pi表示LFi大小变化的增量。PNi是素数常量,用来表示位置文件大小变化的周期,各个PNi之间互素。MaxSi=Pi×PNi,即LFi每经过PNi次大小增长就会被清空。Pi的大小与文件在存储介质上占用的单个分区块的大小或其整数倍接近且不易过大。
该实施方式提供的文件处理方法是以位置文件组的形式管理位置文件的,下面的伪代码给出了对位置文件组进行移动的一种方式:
按照上述方法,在PN1×PN2×…×PNn次移动之内,位置文件组的物理地址都不会出现重复。
(3)结合图3对该实施方式提供的文件处理方法防止一种可选的作弊方法的过程进行描述如下:
如图3所示,记录文件和三个位置文件LF1、LF2和LF3构成的位置文件组存储在存储介质中。在用户消耗记录文件中的权利之前,用户对记录文件和位置文件LF1、LF2和LF3进行备份,生成记录文件和位置文件LF1、LF2和LF3的副本。
步骤①,用户正常消耗游戏中的权利,因此,该实施方式提供的文件处理方法通过消息认证码检测出记录文件中的权利文件信息和位置文件组地址散列值未被篡改、且解析位置文件组地址散列值得到的物理地址与位置文件组当前的物理地址相同,进而,记录文件中的权利文件信息相应地修改。此外,位置文件LF1、LF2和LF3发生了移动,得到位置文件LF1*、LF2*和LF3*。移动后的每个位置文件与原来的物理地址不同,可选的,在移动之前可以更改每个位置文件的大小。在权利文件信息被修改、位置文件组地址散列值根据移动之后的位置文件组更新、且消息认证码根据修改之后的权利文件信息和更新之后的位置文件组地址散列值更新之后,得到记录文件*。
步骤②,用户用备份的记录文件的副本覆盖记录文件*。在覆盖之后,记录文件*的内容恢复为用户消耗权利之前的内容,但是,该实施方式提供的文件处理方法会检测出解析记录文件中的位置文件组地址散列值得到的位置文件组的物理地址(位置文件LF1、LF2和LF3的物理地址)与位置文件组的当前物理地址(位置文件LF1*、LF2*和LF3*的物理地址)不同,如果用户发起消耗记录文件中的权利的请求,该实施方式提供的文件处理方法会拒绝用户消耗权利的请求。
步骤③,用户进一步地用备份的位置文件LF1、LF2和LF3的副本的内容覆盖掉当前的位置文件LF1*、LF2*和LF3*的内容。虽然位置文件LF1*、LF2*和LF3*的内容恢复到消耗权利之前的内容,但是,位置文件组的物理地址无法恢复到消耗权利之前的物理地址,因此,当用户再次消耗权利时,该实施方式提供的文件处理方法解析记录文件中的位置文件组地址散列值得到的位置文件组的物理地址仍然与位置文件组的当前物理地址不同,仍会拒绝用户消耗权利的请求。
此外,如果用户手动修改记录文件的三个信息中的任意一个或多个信息,当用户再次消耗权利时,该实施方式提供的文件处理方法通过消息认证码验证出记录文件被篡改,进而拒绝用户消耗权利的请求。
综上,该实施方式提供的文件处理方法在不依赖服务器的校验或客户端防篡改硬件的情况下实现了有效地防御对软件的文件进行备份和覆盖来进行作弊的行为。
需要说明的是,在附图的流程图虽然示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请还提供了一种存储介质的实施例,该实施例的存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明实施例的文件处理方法。
本申请还提供了一种终端的实施例,该实施例的终端包括一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,第一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序包括用于执行本发明的文件处理方法。
本申请还提供了一种文件处理装置的实施例。需要说明的是,该实施例提供的文件处理装置可以用于执行本申请提供的文件处理方法。
图4是根据本发明实施例的一种可选的文件处理装置的示意图,如图4所示,该装置包括接收单元10,验证单元20,第一执行单元30和第二执行单元40,其中,接收单元用于接收对第一信息进行修改的请求;验证单元用于响应于请求,根据第二信息验证第一信息和第三信息的完整性;第一执行单元用于在验证成功的情况下,解析第三信息得到物理地址,并将解析得到的物理地址与目标文件的当前物理地址对比;第二执行单元用于在对比结果相同的情况下,根据请求修改第一信息,以及通过文件系统移动目标文件并根据移动后的目标文件的物理地址更新第三信息,以及根据修改后的第一信息和更新后的第三信息更新第二信息。
作为一种可选的实施方式,第二执行单元包括:更改模块,用于更改目标文件的内容以更改目标文件的大小,得到更改后的目标文件;移动模块,用于通过文件系统移动更改后的目标文件,得到移动后的目标文件。
作为一种可选的实施方式,第二执行单元包括:复制模块,用于通过文件系统复制目标文件,得到复制文件;删除模块,用于通过文件系统删除目标文件;命名模块,用于通过文件系统重命名复制文件以使复制文件的名称与目标文件的名称相同,得到移动后的目标文件。
作为一种可选的实施方式,目标文件包括至少一个文件,至少一个文件中每个文件包括至少一个分区,目标文件的物理地址包括每个文件的分区个数和每个分区的首块地址和末块地址。
作为一种可选的实施方式,第二执行单元包括:获取模块,用于获取移动后的目标文件的物理地址;加密模块,用于通过散列函数对移动后的目标文件的物理地址进行加密处理,得到处理结果;更新模块,用于将第三信息的内容更新为处理结果。
该实施例通过接收单元接收对第一信息进行修改的请求,通过验证单元响应于请求,根据第二信息验证第一信息和第三信息的完整性;通过第一执行单元在验证成功的情况下,解析第三信息得到物理地址,并将解析得到的物理地址与目标文件的当前物理地址对比;通过第二执行单元在对比结果相同的情况下,根据请求修改第一信息,以及通过文件系统移动目标文件并根据移动后的目标文件的物理地址更新第三信息,以及根据修改后的第一信息和更新后的第三信息更新第二信息,解决了相关技术中的防作弊方法在弱联网或不联网的情况下对作弊行为的监控效果较差的技术问题,进而实现了能够在弱联网或不联网的情况下更有效地监控作弊行为的技术效果。
上述的装置可以包括处理器和存储器,上述单元均可以作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
上述本申请实施例的顺序不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。
其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (12)
1.一种文件处理方法,其特征在于,所述方法包括:
接收对第一信息进行修改的请求;
响应于所述请求,根据第二信息验证所述第一信息和第三信息的完整性;
在验证成功的情况下,解析所述第三信息得到物理地址,并将解析得到的物理地址与目标文件的当前物理地址对比;
在对比结果相同的情况下,根据所述请求修改所述第一信息,以及通过文件系统移动所述目标文件并根据移动后的目标文件的物理地址更新所述第三信息,以及根据修改后的第一信息和更新后的第三信息更新所述第二信息。
2.根据权利要求1所述的方法,其特征在于,通过文件系统移动所述目标文件包括:
更改所述目标文件的内容以更改所述目标文件的大小,得到更改后的目标文件;
通过所述文件系统移动所述更改后的目标文件,得到所述移动后的目标文件。
3.根据权利要求1所述的方法,其特征在于,通过文件系统移动所述目标文件包括:
通过所述文件系统复制所述目标文件,得到复制文件;
通过所述文件系统删除所述目标文件;
通过所述文件系统重命名所述复制文件以使所述复制文件的名称与所述目标文件的名称相同,得到所述移动后的目标文件。
4.根据权利要求1所述的方法,其特征在于,所述目标文件包括至少一个文件,所述至少一个文件中每个文件包括至少一个分区,所述目标文件的物理地址包括每个文件的分区个数和每个分区的首块地址和末块地址。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,根据移动后的目标文件的物理地址更新所述第三信息包括:
获取所述移动后的目标文件的物理地址;
通过散列函数对所述移动后的目标文件的物理地址进行加密处理,得到处理结果;
将所述第三信息的内容更新为所述处理结果。
6.一种文件处理装置,其特征在于,所述装置包括:
接收单元,用于接收对第一信息进行修改的请求;
验证单元,用于响应于所述请求,根据第二信息验证所述第一信息和第三信息的完整性;
第一执行单元,用于在验证成功的情况下,解析所述第三信息得到物理地址,并将解析得到的物理地址与目标文件的当前物理地址对比;
第二执行单元,用于在对比结果相同的情况下,根据所述请求修改所述第一信息,以及通过文件系统移动所述目标文件并根据移动后的目标文件的物理地址更新所述第三信息,以及根据修改后的第一信息和更新后的第三信息更新所述第二信息。
7.根据权利要求6所述的装置,其特征在于,所述第二执行单元包括:
更改模块,用于更改所述目标文件的内容以更改所述目标文件的大小,得到更改后的目标文件;
移动模块,用于通过所述文件系统移动所述更改后的目标文件,得到所述移动后的目标文件。
8.根据权利要求6所述的装置,其特征在于,所述第二执行单元包括:
复制模块,用于通过所述文件系统复制所述目标文件,得到复制文件;
删除模块,用于通过所述文件系统删除所述目标文件;
命名模块,用于通过所述文件系统重命名所述复制文件以使所述复制文件的名称与所述目标文件的名称相同,得到所述移动后的目标文件。
9.根据权利要求6所述的装置,其特征在于,所述目标文件包括至少一个文件,所述至少一个文件中每个文件包括至少一个分区,所述目标文件的物理地址包括每个文件的分区个数和每个分区的首块地址和末块地址。
10.根据权利要求6至9中任意一项所述的装置,其特征在于,所述第二执行单元包括:
获取模块,用于获取所述移动后的目标文件的物理地址;
加密模块,用于通过散列函数对所述移动后的目标文件的物理地址进行加密处理,得到处理结果;
更新模块,用于将所述第三信息的内容更新为所述处理结果。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至5任意一项所述的文件处理方法。
12.一种终端,其特征在于,包括:
一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至5中任意一项所述的文件处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810015115.6A CN108256351B (zh) | 2018-01-08 | 2018-01-08 | 文件处理方法和装置、存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810015115.6A CN108256351B (zh) | 2018-01-08 | 2018-01-08 | 文件处理方法和装置、存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108256351A true CN108256351A (zh) | 2018-07-06 |
CN108256351B CN108256351B (zh) | 2020-08-04 |
Family
ID=62725908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810015115.6A Active CN108256351B (zh) | 2018-01-08 | 2018-01-08 | 文件处理方法和装置、存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108256351B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947708A (zh) * | 2019-03-27 | 2019-06-28 | 芜湖岭上信息科技有限公司 | 一种文件保存方法和系统 |
CN111566632A (zh) * | 2018-09-29 | 2020-08-21 | 华为技术有限公司 | 一种操作控制方法及电子设备 |
CN111737680A (zh) * | 2019-11-20 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 应用程序授权方法、装置和计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593259A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 软件完整性验证方法及系统 |
CN104268472A (zh) * | 2014-09-11 | 2015-01-07 | 腾讯科技(深圳)有限公司 | 还原被第三方动态库修改函数地址的方法和装置 |
US20150341170A1 (en) * | 2008-04-28 | 2015-11-26 | Netapp, Inc. | Locating cryptographic keys stored in a cache |
CN105550599A (zh) * | 2015-12-29 | 2016-05-04 | 山东中创软件商用中间件股份有限公司 | 一种基于Linux虚拟文件系统的防篡改方法及系统 |
CN106612172A (zh) * | 2016-07-15 | 2017-05-03 | 四川用联信息技术有限公司 | 云存储中一种可验证还原数据真实性的数据篡改恢复算法 |
-
2018
- 2018-01-08 CN CN201810015115.6A patent/CN108256351B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150341170A1 (en) * | 2008-04-28 | 2015-11-26 | Netapp, Inc. | Locating cryptographic keys stored in a cache |
CN101593259A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 软件完整性验证方法及系统 |
CN104268472A (zh) * | 2014-09-11 | 2015-01-07 | 腾讯科技(深圳)有限公司 | 还原被第三方动态库修改函数地址的方法和装置 |
CN105550599A (zh) * | 2015-12-29 | 2016-05-04 | 山东中创软件商用中间件股份有限公司 | 一种基于Linux虚拟文件系统的防篡改方法及系统 |
CN106612172A (zh) * | 2016-07-15 | 2017-05-03 | 四川用联信息技术有限公司 | 云存储中一种可验证还原数据真实性的数据篡改恢复算法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111566632A (zh) * | 2018-09-29 | 2020-08-21 | 华为技术有限公司 | 一种操作控制方法及电子设备 |
CN111566632B (zh) * | 2018-09-29 | 2023-11-03 | 华为技术有限公司 | 一种操作控制方法及电子设备 |
CN109947708A (zh) * | 2019-03-27 | 2019-06-28 | 芜湖岭上信息科技有限公司 | 一种文件保存方法和系统 |
CN111737680A (zh) * | 2019-11-20 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 应用程序授权方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108256351B (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11934497B2 (en) | Content anti-piracy management system and method | |
EP3420675B1 (en) | Blockchain implemented counting system and method for use in secure voting and distribution | |
US20200067697A1 (en) | Method for operating a blockchain | |
RU2656995C2 (ru) | Система и способ контроля доступа третьей стороны к охраняемому объекту | |
CN102176224B (zh) | 用于处理恶意软件的方法和装置 | |
CN110049066B (zh) | 一种基于数字签名和区块链的资源访问授权方法 | |
JP3763393B2 (ja) | 通信システム、端末装置、再生プログラムを記録した記録媒体、サーバ装置、およびサーバプログラムを記録した記録媒体 | |
US20040202324A1 (en) | Program electronic watermark processing apparatus | |
US8769675B2 (en) | Clock roll forward detection | |
KR101424973B1 (ko) | 폐지 목록 업데이트 방법, 암호화된 컨텐츠 재생 방법, 그기록매체 및 그 장치 | |
US8190915B2 (en) | Method and apparatus for detecting data tampering within a database | |
CN112835612A (zh) | 一种基于区块链的电子文档版本管理方法及装置 | |
CN104021318B (zh) | 防重放攻击装置和防重放攻击方法 | |
EP3709568A1 (en) | Deleting user data from a blockchain | |
CN108256351A (zh) | 文件处理方法和装置、存储介质及终端 | |
KR101977178B1 (ko) | 블록체인 기반의 파일 위변조 검사 방법 및 이를 적용한 컴퓨터로 읽을 수 있는 저장매체 | |
US20220329446A1 (en) | Enhanced asset management using an electronic ledger | |
CN108880820B (zh) | 代码管理方法和装置 | |
CN107135077A (zh) | 软件防护方法及装置 | |
Iftikhar et al. | A reversible watermarking technique for social network data sets for enabling data trust in cyber, physical, and social computing | |
CN109408319A (zh) | 一种基于区块链的软件运行技术状态监控方法 | |
CN105653932B (zh) | 软件升级验证的方法和装置 | |
DE102018212098A1 (de) | Verfahren zum Betrieb eines blockchainbasierten Produktschutzsystems und blockchainbasiertes Produktschutzsystem | |
CN107133499A (zh) | 一种软件版权保护方法、客户端、服务端以及系统 | |
CN109086576A (zh) | 许可证发布方法、许可验证方法、系统及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |