具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1描述了本发明实施例提供的文件保护方法实施例一的流程,描述的是保护壳的处理流程,本发明实施例提供的保护壳是保护程序为被保护的文件生成的程序,该程序添加在被保护的文件中;文件保护方法实施例一的流程包括:
101、获取当前文件的验证信息,验证信息包括当前文件的唯一标识;
由于在当前文件被使用时,如被执行、被调用等,可能会对当前文件进行写操作,此时保护壳就需要获取当前文件的唯一标识,唯一标识是可以唯一标识当前文件的特征信息,唯一标识是当前文件的固有信息,在不同的操作系统或不同的运行环境中都是一样的;具体可以是当前文件的哈希值和/或当前文件的文件结构信息等,其中哈希值可以是信息摘要算法(MD5)值、安全哈希算法(SHA1)值等;文件结构信息是表示文件的结构的信息,在文件确定后,其对应的文件结构信息也会相应的确定;
102、获取与当前文件对应的初始文件的初始信息,初始信息包括初始文件的唯一标识;
初始文件的初始信息是确定对初始文件进行保护时获取的,此时初始文件并没有被病毒感染或被恶意软件所改写;初始信息可以保存在保护壳的存储位置,可以普通保存,也可以加密保存;
103、判断当前文件的唯一标识与初始文件的唯一标识是否一致;
一般情况下当前文件和初始文件是一致的,所以当前文件的唯一标识与初始文件的唯一标识也应该一致;但是在当前文件受到病毒感染或被修改时,将会导致当前文件与初始文件不同,相应的当前文件的唯一标识也会与初始文件的唯一标识不同,所以可以通过判断当前文件的唯一标识与初始文件的唯一标识是否一致来确定当前文件是否遭受病毒感染或被修改;
104、如果当前文件的唯一标识与初始文件的唯一标识不一致,获取初始文件,使用初始文件替换当前文件。
如果当前文件的唯一标识与初始文件的唯一标识不一致,则说明当前文件可能遭受了病毒感染或被修改,因此可以使用初始文件替换当前文件;其中初始文件是确定对初始文件进行保护时存储的,存在预先设定的路径,可以采用普通保存,也可以采用加密保存;因此,获取初始文件的步骤具体可以包括:获取初始文件的存储路径;根据存储路径获取初始文件。
当然,如果当前文件的唯一标识与初始文件的唯一标识一致,则说明当前文件是与原始文件一致的,没有遭受病毒感染或被修改。
从上可知,本实施例可以将当前文件的唯一标识与初始文件的唯一标识进行比较,在当前文件的唯一标识与初始文件的唯一标识不一致时,使用初始文件替换当前文件,从而避免了被病毒感染或被修改的当前文件的使用;同时,由于是使用当前文件的唯一标识进行比较,因此不需要获得病毒的特征码,从而可以防止新病毒对文件的破坏,也能防止不能用特征码描述的病毒对文件的破坏。
由于有的文件在使用中因为功能的改变以及修复原有文件的缺陷,会不断的更新,如果当前文件是初始文件的更新版本,也会导致当前文件的唯一标识与初始文件的唯一标识不同;因此,为了不影响文件的正常更新,本发明还提供了文件保护方法的实施例二,文件保护方法的实施例二描述的是保护壳的处理流程,图2描述了文件保护方法实施例二的流程,包括:
201、获取当前文件的验证信息,验证信息包括当前文件的唯一标识和数字签名;
系统中的文件一般是由各个软件公司提供的,各个软件公司为了保证文 件的正确性,会在文件中附件数字签名,通过数字签名确保文件的完整性,并且数字签名是不容易被伪造的;
202、获取与当前文件对应的初始文件的初始信息,初始信息包括初始文件的唯一标识和数字签名;
203、判断当前文件的唯一标识与初始文件的唯一标识是否一致;如果是,结束流程,如果否,进入204;
204、根据当前文件的数字签名和初始文件的数字签名判断当前文件是否为初始文件的更新版本;如果否,进入步骤205;如果是,进入步骤206;
数字签名一般会有签名的日期,因此通过签名的日期的先后就可以判断当前文件是否为初始文件的更新版本;
其中,判断当前文件是否为初始文件的更新版本的过程中,还可以根据版本号进行判断,即结合数字签名和版本号对当前文件是否为初始文件的更新版本进行判断;由于版本号也是文件的固有信息,因此结合数字签名和版本号进行判断可以使判断结果更加准确;
205、获取初始文件,使用初始文件替换当前文件;结束流程。
206、使用当前文件替换初始文件,使用当前文件的验证信息替换初始文件的初始信息;结束流程。
由于当前文件是初始文件的更新版本,为了确保后续的使用过程中能够使用更新版本的文件,可以将当前文件替换初始文件,相应的也要将验证信息替换初始信息,即使用当前文件的唯一标识替换初始文件的唯一标识,使用当前文件的数字签名替换初始文件的数字签名;如果验证信息还包括版本号等其他信息,则还需要使用当前文件的版本号等其他信息替换初始文件的对应信息。
从上可知,本实施例可以将当前文件的唯一标识与初始文件的唯一标识进行比较,在当前文件的唯一标识与初始文件的唯一标识不一致时,使用初始文件替换当前文件,从而避免了被病毒感染或被修改的当前文件的使用;同时,由于是使用当前文件的唯一标识进行比较,因此不需要获得病毒的特 征码,从而可以防止新病毒对文件的破坏,也能防止不能用特征码描述的病毒对文件的破坏;进一步,本实施例还可以保证文件的正常更新,确保文件的正常使用。
本发明实施例在对当前文件进行检测时,需要先备份初始文件以及初始文件的初始信息;其中,是否对初始文件进行备份以及需要备份的初始信息的类型可以由上层软件指定或由用户指定的;其中,初始信息的类型可以是唯一标识、数字签名等;初始文件可以采用加密保存,也可以按普通方式保存;其中,采用加密保存可以避免病毒的感染或被误操作,误操作包括修改、删除等。
其中,为了进一步确保对文件的保护,本发明实施例提供的文件保护方法实施例一和文件保护方法实施例二在当前文件被操作前,即在获取当前文件的验证信息前可以进一步包括:判断是否有对当前文件进行操作的权限;如果有对当前文件进行操作的权限,允许对当前文件进行操作。在对文件进行该操作后,就可以获取操作后的当前文件的验证信息。由于进行了操作权限的判断,因此保护壳可以在初始文件被操作之前即可判断是否允许该操作,从而降低了文件被病毒感染或破坏的可能性。其中,操作可以是读操作、写操作等。
图3描述了本发明实施例还提供的文件保护方法实施例三的流程,包括:
301、获取需要备份的初始文件的位置信息;
需要备份的初始文件的位置信息可以由用户指定,可以指定特定的文件;也可以指定特定类型的文件,例如可以选定可执行文件,选定特定类型的文件可以避免产生兼容性的问题;如果用户没有指定,则可以获取默认设置;
302、获取需要备份的初始文件的初始信息的类型;
需要备份的初始信息的类型可以由用户设定,一般来说需要备份的初始信息的类型越多,备份需要的空间越多,同时后续判断需要的时间越多,相应的安全性也越高;具体地,可以由用户自主选择安全性和时间的平衡点;如果用户没有设定,可以获取默认设置;
303、根据需要备份的初始文件的初始信息的类型生成保护壳;
保护壳是保护程序为被保护的文件生成的程序,该程序可以添加在被保护的文件中;保护壳中包括一些配置信息,例如需要获取的当前文件的验证信息的类型,保存的初始文件的初始信息的位置,保存的初始文件的位置等;如果初始信息是加密保存的,则保护壳还应该保存有解密初始信息需要的信息,如解密算法等;如果初始文件是加密保存的,保护壳也应该保存有解密初始文件需要的信息,如解密算法等;
304、根据初始文件的位置信息为初始文件增加保护壳。
为初始文件增加保护壳,可以封装受保护的初始文件的结构,该结构隐藏了初始文件的入口点,当根据配置信息允许程序操作时则显示程序的入口点,这种隐藏并不对入口点进行修改,因此不会影响到初始文件的正常运行。
从上可知,本实施例能够为需要保护的初始文件增加保护壳,从而使保护壳可以将当前文件的唯一标识与初始文件的唯一标识进行比较,在当前文件的唯一标识与初始文件的唯一标识不一致时,使用初始文件替换当前文件,从而避免了被病毒感染或被修改的当前文件的使用;同时,由于是使用当前文件的唯一标识进行比较,因此不需要获得病毒的特征码,从而可以防止新病毒对文件的破坏,也能防止不能用特征码描述的病毒对文件的破坏。
进一步,还可以设定对初始文件的允许操作权限,例如可以设定某个初始文件仅能被读取、或仅能被调用等,为了使保护壳能够对文件进行进一步的保护,本发明实施例提供的文件保护方法实施例三还可以包括:
获取对初始文件的允许操作权限;
此时,保护壳可以根据需要备份的初始信息的类型以及允许操作权限生成;从而在保护壳中增加初始文件的允许操作权限信息,因此保护壳可以在初始文件被操作之前即可判断是否允许该操作,从而降低了文件被病毒感染或破坏的可能性。
图4描述了本发明实施例提供的文件保护方法实施例四的流程,该实施例描述的也是保护壳的处理流程,包括:
401、获取当前文件的验证信息,验证信息包括当前文件的数字签名;
系统中的文件一般是由各个软件公司提供的,各个软件公司为了保证文件的正确性,会在文件中附件数字签名,数字签名通过数字签名确保文件的完整性,并且数字签名是不容易被伪造的;
402、获取与当前文件对应的初始文件的初始信息,初始信息包括初始文件的数字签名;
403、根据当前文件的数字签名和初始文件的数字签名判断当前文件是否为初始文件的更新版本;
数字签名一般会有签名的日期,因此通过签名的日期的先后就可以判断当前文件是否为初始文件的更新版本;
其中,判断当前文件是否为初始文件的更新版本的过程中,还可以根据版本号进行判断,即结合数字签名和版本号对当前文件是否为初始文件的更新版本进行判断;由于版本号也是文件的固有信息,因此结合数字签名和版本号进行判断可以使判断结果更加准确;
404、如果当前文件是初始文件的更新版本,使用当前文件替换初始文件,使用当前文件的验证信息替换初始文件的初始信息。
由于当前文件是初始文件的更新版本,为了确保后续的使用过程中能够使用更新版本的文件,可以将当前文件替换初始文件,相应的也要将验证信息替换初始信息,即使用使用当前文件的数字签名替换初始文件的数字签名;如果验证信息还包括版本号和唯一标识等其他信息,则还需要使用当前文件的版本号和唯一标识等其他信息替换初始文件的对应信息。
从上可知,本实施例可以根据数字签名对当前文件是否为初始文件的更新版本进行判断,从而可以保证文件的正常更新,确保文件的正常使用。
图5描述了本发明实施例提供的文件保护方法实施例五的流程,该实施例描述的也是保护壳的处理流程,包括:
501、获取当前文件的验证信息,验证信息包括当前文件的唯一标识和数字签名;
由于在当前文件被使用时,如被执行、被调用等,可能会对当前文件进 行写操作,此时保护壳就需要获取当前文件的唯一标识,唯一标识是可以唯一标识当前文件的特征信息,唯一标识是当前文件的固有信息,在不同的操作系统或不同的运行环境中都是一样的;具体可以是当前文件的哈希值和/或当前文件的文件结构信息等,其中哈希值可以是信息摘要算法(MD5)值、安全哈希算法(SHA1)值等;文件结构信息是表示文件的结构的信息,在文件确定后,其对应的文件结构信息也会相应的确定;
502、获取与当前文件对应的初始文件的初始信息,初始信息包括初始文件的唯一标识和数字签名;
初始文件的初始信息是确定对初始文件进行保护时获取的,此时初始文件并没有被病毒感染或被恶意软件所改写;初始信息可以保存在保护壳的存储位置,可以普通保存,也可以加密保存;
503、根据当前文件的数字签名和初始文件的数字签名判断当前文件是否为初始文件的更新版本;如果否,进入步骤504;如果是,进入步骤506;
504、判断当前文件的唯一标识与初始文件的唯一标识是否一致;如果是,结束流程,如果否,进入505;
一般情况下当前文件和初始文件是一致的,所以当前文件的唯一标识与初始文件的唯一标识也应该一致;但是在当前文件受到病毒感染或被修改时,将会导致当前文件与初始文件不同,相应的当前文件的唯一标识也会与初始文件的唯一标识不同,所以可以通过判断当前文件的唯一标识与初始文件的唯一标识是否一致来确定当前文件是否遭受病毒感染或被修改;
505、获取初始文件,使用初始文件替换当前文件;结束流程。
如果当前文件的唯一标识与初始文件的唯一标识不一致,说明当前文件可能遭受了病毒感染或被修改,因此可以使用初始文件替换当前文件;其中初始文件是确定对初始文件进行保护时存储的,存在预先设定的路径,可以采用普通保存,也可以采用加密保存;因此,获取初始文件的步骤具体可以包括:获取初始文件的存储路径;根据存储路径获取初始文件。
当然,如果当前文件的唯一标识与初始文件的唯一标识一致,则说明当前文件是与原始文件一致的,没有遭受病毒感染或被修改。
506、使用当前文件替换初始文件,使用当前文件的验证信息替换初始文件的初始信息;结束流程。
由于当前文件是初始文件的更新版本,为了确保后续的使用过程中能够使用更新版本的文件,可以将当前文件替换初始文件,相应的也要将验证信息替换初始信息,即使用使用当前文件的数字签名替换初始文件的数字签名;如果验证信息还包括版本号和唯一标识等其他信息,则还需要使用当前文件的版本号和唯一标识等其他信息替换初始文件的对应信息。
从上可知,本实施例可以根据数字签名对当前文件是否为初始文件的更新版本进行判断,从而可以保证文件的正常更新,确保文件的正常使用;进一步可以将当前文件的唯一标识与初始文件的唯一标识进行比较,在当前文件的唯一标识与初始文件的唯一标识不一致时,使用初始文件替换当前文件,从而避免了被病毒感染或被修改的当前文件的使用;同时,由于是使用当前文件的唯一标识进行比较,因此不需要获得病毒的特征码,从而可以防止新病毒对文件的破坏,也能防止不能用特征码描述的病毒对文件的破坏。
其中,为了进一步确保对文件的保护,本发明实施例提供的文件保护方法实施例四和文件保护方法实施例五在当前文件被操作前,即在获取当前文件的验证信息前可以进一步包括:判断是否有对当前文件进行操作的权限;如果有对当前文件进行操作的权限,允许对当前文件进行操作。在对文件进行该操作后,就可以获取当前文件的验证信息。由于进行了操作权限的判断,因此保护壳可以在初始文件被操作之前即可判断是否允许该操作,从而降低了文件被病毒感染或破坏的可能性。
如下再介绍本发明实施例提供的文件保护装置,图6描述了文件保护装置实施例一的结构,包括:
信息获取模块601,用于获取当前文件的验证信息,验证信息包括当前文件的唯一标识;获取与当前文件对应的初始文件的初始信息,初始信息包括初始文件的唯一标识;
当前文件的唯一标识是当前文件的固有信息,可以直接从当前文件中获得;初始文件的唯一标识是预先存储的;
判断模块602,用于判断当前文件的唯一标识与初始文件的唯一标识是否一致;
保护模块603,用于在判断模块判断当前文件的唯一标识与初始文件的唯一标识不一致时,获取初始文件,使用初始文件替换当前文件。
从上可知,文件保护装置的本实施例可以将当前文件的唯一标识与初始文件的唯一标识进行比较,在当前文件的唯一标识与初始文件的唯一标识不一致时,使用初始文件替换当前文件,从而避免了被病毒感染或被修改的当前文件的使用;同时,由于是使用当前文件的唯一标识进行比较,因此不需要获得病毒的特征码,从而可以防止新病毒对文件的破坏,也能防止不能用特征码描述的病毒对文件的破坏。
为了不影响初始文件的正常更新,确保初始文件的正确使用,如果信息获取模块601获取的验证信息还包括当前文件的数字签名,获取的初始信息还包括初始文件的数字签名;
上述判断模块602,还用于在判断当前文件的唯一标识与初始文件的唯一标识不一致时,根据当前文件的数字签名和初始文件的数字签名判断当前文件是否为初始文件的更新版本;
上述保护模块603,还用于在判断模块判断当前文件是初始文件的更新版本时,使用当前文件替换初始文件,使用当前文件的验证信息替换初始文件的初始信息。
为了进一步确保文件不会被病毒感染或被破坏,本发明实施例提供的文件保护装置实施例一还可以包括:
权限判断模块,判断是否有对当前文件进行操作的权限;对当前文件进行操作的权限是预先设置的,例如是否可以被调用,什么时间可以被调用,可以被哪些程序调用等;
权限转移模块,用于在权限判断模块判断有对文件进行操作的权限时,允许对当前文件进行操作;
如果允许对当前文件进行操作,则可以将操作权限转移给当前文件,使 当前文件可以被操作;
此时,信息获取模块601,用于在权限转移模块允许对当前文件进行操作后,获取操作后的当前文件的验证信息。
如果不允许对当前文件进行操作,则当前文件不会被病毒感染或被破坏,也就不需要获取当前文件的操作信息进行后续操作。
本发明实施例提供的文件保护装置实施例二的结构也如图6所示,包括:
信息获取模块601,用于获取当前文件的验证信息,验证信息包括当前文件的数字签名;获取与当前文件对应的初始文件的初始信息,初始信息包括初始文件的数字签名;
判断模块602,用于根据当前文件的数字签名和初始文件的数字签名判断当前文件是否为初始文件的更新版本;
保护模块603,用于在判断模块602判断当前文件是初始文件的更新版本时,使用当前文件替换初始文件,使用当前文件的验证信息替换初始文件的初始信息。
从上可知,文件保护装置的本实施例可以根据数字签名对当前文件是否为初始文件的更新版本进行判断,从而可以保证文件的正常更新,确保文件的正常使用。
进一步,如果文件保护装置实施例二的信息获取模块601获取的验证信息还包括所述当前文件的唯一标识,初始信息还包括初始文件的唯一标识;
文件保护装置实施例二的判断模块602,还用于在判断当前文件不是初始文件的更新版本时,判断当前文件的唯一标识与初始文件的唯一标识是否一致;
保护模块603,还用于在判断模块602判断当前文件的唯一标识与初始文件的唯一标识不一致时,获取初始文件,使用初始文件替换当前文件。
将当前文件的唯一标识与初始文件的唯一标识进行比较,在当前文件的唯一标识与初始文件的唯一标识不一致时,使用初始文件替换当前文件,从而避免了被病毒感染或被修改的当前文件的使用;同时,由于是使用当前文 件的唯一标识进行比较,因此不需要获得病毒的特征码,从而可以防止新病毒对文件的破坏,也能防止不能用特征码描述的病毒对文件的破坏。
为了进一步确保文件不会被病毒感染或被破坏,本发明实施例提供的文件保护装置实施例二还可以包括:
权限判断模块,判断是否有对当前文件进行操作的权限;对当前文件进行操作的权限是预先设置的,例如是否可以被调用,什么时间可以被调用,可以被哪些程序调用等;
权限转移模块,用于在权限判断模块判断有对文件进行操作的权限时,允许对当前文件进行操作;
如果允许对当前文件进行操作,则可以将操作权限转移给当前文件,使当前文件可以被操作;
此时,信息获取模块601,仅用于在权限转移模块允许对当前文件进行操作后,获取操作后的当前文件的验证信息。
图7描述了本发明文件保护装置实施例二的结构,包括:
接收模块701,用于接收需要备份的初始文件的位置信息;
由于需要备份的初始文件是由用户指定的,因此需要用户指定的需要备份的初始文件的位置信息;
获取模块702,用于获取需要备份的初始文件的初始信息的类型;
配置模块703,用于根据获取模块获取的需要备份的初始文件的初始信息的类型生成保护壳;
生成的保护壳中包括了需要备份的初始信息的类型信息,相应地,生成的保护壳也包括需要获取的当前文件的验证信息的类型信息,一般情况下,初始信息的类型与验证信息的类型相同,或者验证信息的类型构成的集合是初始信息的类型构成的集合的子集;
程序控制模块704,用于根据接收模块接收的初始文件的位置信息,为初始文件增加配置模块生成的保护壳。
为初始文件增加了保护壳后,保护壳会根据需要备份的初始信息的类型信息,备份对应的初始信息,以便后续与当前文件的验证信息进行比较。
从上可知,文件保护装置的本实施例能够为需要保护的初始文件增加保护壳,从而使保护壳可以将当前文件的唯一标识与初始文件的唯一标识进行比较,在当前文件的唯一标识与初始文件的唯一标识不一致时,使用初始文件替换当前文件,从而避免了被病毒感染或被修改的当前文件的使用;同时,由于是使用当前文件的唯一标识进行比较,因此不需要获得病毒的特征码,从而可以防止新病毒对文件的破坏,也能防止不能用特征码描述的病毒对文件的破坏。
进一步,为了对文件进行更好的保护,本发明实施例提供的文件保护装置实施例二的获取模块702,还可以用于获取对初始文件的允许操作权限;此时,配置模块703,可以根据需要备份的初始信息的类型以及允许操作权限生成保护壳。
本发明实施例提供的文件保护装置实施例一可以作为保护壳的功能单元使用,本发明实施例提供的文件保护装置实施例二可以作为保护程序的一个功能单元使用,用户可以通过本发明实施例提供的保护程序为需要保护的文件增加一个保护壳,从而使文件得到保护壳的保护。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上对本发明实施例所提供的一种文件保护方法及装置进行了详细介绍,以上实施例的说明只是用于帮助理解本发明的方法及其思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。