文件修复系统和方法

文档序号:6489909阅读:134来源:国知局
文件修复系统和方法
【专利摘要】本发明公开了一种文件修复方法,所述方法包括以下步骤:搜寻用户设备中缺陷文件并获取所述缺陷文件的文件名;接收预定指示根据所述预定指示从所述缺陷文件中提取相关信息并生成第一特征信息;获取与所述第一特征信息对应的修复文件;将所述修复文件替换所述缺陷文件。本发明还公开了一种文件修复系统。本发明能更加有效地修复用户设备中的缺陷文件,保证用户设备的正常运行。
【专利说明】文件修复系统和方法
【【技术领域】】
[0001]本发明涉及安全软件领域,特别涉及一种文件修复系统和方法。
【【背景技术】】
[0002]—般来讲,病毒文件感染用户设备中的文件时,会对该文件进行修改,并将病毒文件自身添加到文件内部。当用户设备运行该被病毒文件感染了的文件时会同时执行该文件所附加的病毒文件。传统的安全软件为了杀毒,通常需要清除正常文件上附加的病毒文件。
[0003]但是,有些病毒文件会对用户设备中原本正常的文件造成极大的损坏,导致即便本清除了病毒文件,这些文件也无法继续使用,这些文件因此成为缺陷文件。
[0004]传统的安全软件为了修复用户设备中的缺陷文件,通常需要写出相关针对性的清除代码。
[0005]上述传统的安全软件修复用户设备中的缺陷文件的技术方案具有以下缺陷:
[0006]一、因 为病毒文件对用户设备进行感染的方式千变万化,安全软件需要针对每种感染性病毒来写出针对性的清除代码,耗费人力较多。
[0007]二、某些病毒文件感染用户设备中的文件后,可能篡改原有文件较多的信息或者该病毒文件的感染方式非常复杂,安全软件无法修复该缺陷文件为正常的文件,或者修复后原有文件无法运行,影响了用户设备的使用。
[0008]三、某些杀毒软件为了尽量达到文件被修复后仍然可以运行的目的,可能只修正病毒文件篡改的部分,但是不删除附加的病毒体,这种修复方法虽然确实避免了病毒文件对用户设备的危害,但是有可能导致修复后的文件被其他安全软件报警。
[0009]故,有必要提出一种新的技术方案,以解决上述技术问题。

【发明内容】

[0010]本发明的一个目的在于提供一种文件修复方法,其能更加有效地修复用户设备中的缺陷文件,保证用户设备的正常运行。
[0011]为解决上述问题,本发明提供了一种文件修复方法,所述方法包括以下步骤:搜寻用户设备中缺陷文件并获取所述缺陷文件的文件名;接收预定指示根据所述预定指示从所述缺陷文件中提取相关信息并生成第一特征信息;获取与所述第一特征信息对应的修复文件;将所述修复文件替换所述缺陷文件。
[0012]本发明的另一个目的在于提供一种文件修复系统,其能更加有效地修复用户设备中的缺陷文件,保证用户设备的正常运行。
[0013]为解决上述问题,本发明提供了一种文件修复系统,包括:搜寻模块,用于搜寻用户设备中缺陷文件并获取所述缺陷文件的文件名;第一特征信息生成模块,用于接收预定指示根据所述预定指示从所述缺陷文件中提取相关信息并生成第一特征信息;修复文件获取模块,用于获取与所述第一特征信息对应的修复文件;替换模块,用于将所述修复文件替换所述缺陷文件。[0014]相对现有技术,本发明由于根据缺陷文件的第一特征信息来获取修复文件,该第一特征信息是唯一的,隐藏可以准确地获取与缺陷文件对应的修复文件,通过直接将修复文件替换缺陷文件,可以有效地对用户设备中的缺陷文件进行修复,既不需要特定的病毒文件清除算法来清除缺陷文件中的病毒文件,又不必担心缺陷文件清除病毒文件之后无法被用户设备使用,因此能更加有效地修复用户设备中的缺陷文件,保证用户设备的正常运行。此技术方案与传统的将文件尾部附加的病毒体进行删除等技术方案相比更加省时和高效。
[0015]为让本发明的上述内容能更明显易懂,下文特举优选实施例,并配合所附图式,作详细说明如下:
【【专利附图】

【附图说明】】
[0016]图1为本发明的文件修复系统的框图;
[0017]图2为图1中第一特征信息生成模块的框图;
[0018]图3为图1中修复文件提供模块的框图;
[0019]图4为图3中第二特征信息生成模块的框图;
[0020]图5和图6为本发明的文件修复方法的流程图;
[0021]图7为本发明的修复文件提供模块生成修复文件的第二特征信息的方法的流程图。
【【具体实施方式】】
[0022]以下各实施例的说明是参考附加的图式,用以例示本发明可用以实施的特定实施例。
[0023]为了更加有效地修复用户设备中的缺陷文件,保证用户设备的正常运行,本发明的具体技术方案为:
[0024]参考图1、图2和图3,图1为本发明的文件修复系统10的框图,图2为图1中第一特征信息生成模块103的框图,图3为图1中修复文件提供模块101的框图。
[0025]本发明的文件修复系统10包括搜寻模块102、第一特征信息生成模块103、修复文件获取模块106和替换模块105。搜寻模块102电性连接替换模块105和第一特征信息生成模块103,修复文件获取模块106电性连接替换模块105。搜寻模块102用于搜寻用户设备中缺陷文件并获取缺陷文件的文件名。搜寻模块102搜寻用户设备中的缺陷文件是为了判断病毒文件是否对用户设备中的文件造成损坏,如果病毒文件对用户设备造成了损坏,除了要清除病毒文件之外,还需要对被损坏了的文件进行修复,这样可以保障用户设备运行顺畅,不因病毒文件损坏了用户设备中的文件而影响用户设备的正常运行。第一特征信息生成模块103用于接收预定指示根据预定指示从缺陷文件中提取相关信息并生成第一特征信息。收集缺陷文件的第一特征信息是为了更加准确地获取与缺陷文件对应的修复文件,如果仅根据缺陷文件的文件名来获取与之对应的修复文件,由于可能存在同名的文件,因此所获取的文件未必与缺陷文件对应,这会导致无法成功地为用户设备修复文件,而由于根据缺陷文件的第一特征信息来获取修复文件,该第一特征信息是唯一的,即,内容相同的文件具有相同的特征,这样便可以保证所获取的修复文件的正确性。修复文件获取模块106用于获取与第一特征信息对应的修复文件。修复文件获取模块106获取修复文件的途径有很多,例如,直接接收所提供的修复文件,或者,通过一个URL (Uniform/UniversalResource Locator,统一资源定位符)从第三方下载该修复文件。替换模块105用于将修复文件替换缺陷文件。通过直接将修复文件替换缺陷文件,这样可以有效地对用户设备中的缺陷文件进行修复,既不需要特定的病毒文件清除算法来清除缺陷文件中的病毒文件,又不必担心缺陷文件清除病毒文件之后无法被用户设备使用。此技术方案与传统的将文件尾部附加的病毒体进行删除等技术方案相比更加省时和高效。
[0026]为了生成缺陷文件的特征信息,第一特征信息生成模块103包括第一提取模块1031和第一哈希值生成模块1032。第一提取模块1031与搜寻模块102和第一哈希值生成模块1032电性连接。第一提取模块1031用于根据预定指示从缺陷文件中提取与预定指示相关的第一信息,该预定指示具体说明了应该从缺陷文件的哪一部分(例如,版权信息、编译时间、文件图标、数字签名信息等)提取第一信息。第一哈希值生成模块1032用于根据第一信息生成第一哈希值,具体地,第一哈希值生成模块1032根据哈希算法来将第一信息生成第一哈希值。
[0027]进一步地,本发明的文件修复系统10还包括下载路径获取模块104。下载路径获取模块104电性连接修复文件获取模块106。下载路径获取模块104用于获取修复文件的下载路径(例如,URL)。修复文件获取模块106还用于根据下载路径下载修复文件,修复文件获取模块106通过下载路径来获取修复文件这种方式的一个技术效果是:可以充分利用P2P (Peer to Peer,点对点)或者P2SP (Peer to Server&Peer,点对服务器和点)等技术来下载修复文件,利用这两种技术可以使得修复文件的下载速度更加迅速。修复文件获取模块106还可以直接从修复文件源中获取相关的修复文件。
[0028]进一步地,本发明的文件修复系统10还包括修复文件提供模块101。修复文件提供模块101电性连接搜寻模块102、第一特征信息生成模块103和下载路径获取模块104。修复文件提供模块101用于向路径获取模块104提供下载路径,以及用于向修复文件获取模块106提供修复文件,具体地,修复文件提供模块101可以根据修复文件获取模块106的下载请求向修复文件获取模块106提供相应的修复文件。
[0029]修复文件提供模块101包括判断模块1011、指示模块1012、存储模块1014、比对模块1015和发送模块1016。判断模块1011电性连接指示模块1012和搜寻模块102,存储模块1014电性连接指示模块1012和比对模块1015,比对模块1015还与发送模块1016电性连接。判断模块1011用于根据文件名或者其它与缺陷文件相关的信息判断缺陷文件是否可以被修复并生成判断结果。指示模块1012用于在判断结果为缺陷文件可以被修复时生成预定指示并发送该预定指示,该预定指示是根据存储模块1014中所存储的与第二特征信息相关的预定位置信息来生成的,即,指示模块1012从存储模块1014中读取预定位置信息,并根据该预定位置信息生成预定指示。存储模块1014用于存储并提供修复文件和与修复文件相关的第二特征信息,该第二特征信息包括多个子特征信息和一个母特征信息,该母特征信息是关于修复文件的MD5 (Message Digest Algorithm 5,消息摘要算法5)值,该多个子特征信息是关于修复文件中与多个预定位置对应的第二信息的第二哈希值,该子特征信息和该母特征信息具有映射关系,即,该子特征信息和该母特征信息分别是函数中自变量和函数值。比对模块1015用于接收与预定指示对应的第一特征信息,以及用于比对第一特征信息和第二特征信息是否一致并生成比对结果,比对模块1015既可以将第一特征信息和第二特征信息中的子特征信息和母特征信息中的任意一者或任意组合作为比对对象。发送模块1016用于在比对结果为第一特征信息和第二特征信息一致时查找修复文件,并用于提供修复文件的下载路径,以及用于提供修复文件。
[0030]修复文件提供模块101还包括第二特征信息生成模块1013。第二特征信息生成模块1013与存储模块1014电性连接。第二特征信息生成模块1013用于在修复文件的预定位置处提取数据并生成第二特征信息并记录与预定位置对应的预定位置信息。存储模块1014还用于存储预定位置信息。指示模块1012还用于在判断结果为缺陷文件可以被修复时根据所述文件名查找所述预定位置信息,以及用于根据所述预定位置信息生成所述预定指示并发送所述预定指示。
[0031]参考图4,图4为图3中第二特征信息生成模块1013的框图。第二特征信息生成模块1013包括第二提取模块10131和第二哈希值生成模块10132。第二提取模块10131与第二哈希值生成模块10132电性连接。第二提取模块10131用于在修复文件的预定位置处提取第二信息。第二哈希值生成模块10132用于根据第二信息生成第二哈希值。存储模块1014还用于存储所述第二哈希值。比对模块1015还用于比对第一哈希值和第二哈希值是否一致并生成比对结果。发送模块1016还用于在比对结果为第一哈希值和第二哈希值一致时查找修复文件,并用于提供修复文件的下载路径,以及用于提供修复文件。
[0032]第二特征信息生成模块1013所建立的修复文件的第二特征信息的示例如下:
[0033]
修 U 文件的 10DFDE204B724BDBDF59F5DEE0A52AA9 MD5值
预定位置信息相应的内容哈希值
预定位置I 版权信息F40406
预定位置2 文件名962F12
预定位置3 编译时间2F1762
预定位置4 文件图标06A0AF
预定位置5 数字签名信息6C8B24
预定位置6 第二个节前100个字节 08AAF4 预定位置7 第三个节前100个字节 603AB8
[0034]上述预定位置信息可以通过以下方式来确定:在生成上述第二特征信息之前,先分析每种感染型病毒文件,得出该病毒文件对用户设备中的文件不会修改的位置,判断这些位置的是否足够同原文件建立映射关系,并以此建立一个数据库,示例如下:
[0035]
病毒文件名 Virus.Win32.Test, a
预定位置信息相应的内容备注
预定位置I 版权信息不修改
预定位置2 文件名不修改
预定位置3 编译时间不修改
预定位置4 文件图标修改
预定位置5 数字签名信息修改
预定位置6 第二个节前100个字节修改
预定位置7 第三个节前100个字节不修改是否可以通过本方法修复(以上不会被修是改的位置是否足够代表原文件)
[0036]确定上述预定位置信息是为了保证基于缺陷文件的第一特征信息和基于修复文件的第二特征信息的比对是可行的,对于预定指示,可以通过查找病毒文件不会修改的预定位置所对应的预定位置信息来生成。
[0037]参考图5和图6,图5和图6为本发明的文件修复方法的流程图。本发明的文件修复方法有文件修复系统执行。
[0038]在步骤501,搜寻模块102搜寻用户设备中缺陷文件并获取缺陷文件的文件名。搜寻模块102搜寻用户设备中的缺陷文件是为了判断病毒文件是否对用户设备中的文件造成损坏,如果病毒文件对用户设备造成了损坏,除了要清除病毒文件之外,还需要对被损坏了的文件进行修复,这样可以保障用户设备运行顺畅,不因病毒文件损坏了用户设备中的文件而影响用户设备的正常运行。
[0039]在步骤502,判断模块1011根据文件名或者其它与缺陷文件相关的信息判断缺陷文件是否可以被修复并生成判断结果,若是,则进入步骤503,否则,结束。
[0040]在步骤503,指示模块1012根据所述文件名从存储模块1014查找所述预定位置信
肩、O
[0041]在步骤504,指示模块1012根据所述预定位置信息生成所述预定指示并发送所述预定指示,该预定指示是根据存储模块1014中所存储的与第二特征信息相关的预定位置信息来生成的,即,指示模块1012从存储模块1014中读取预定位置信息,并根据该预定位置信息生成预定指示。
[0042]在步骤505至步骤506,第一特征信息生成模块103接收预定指示根据预定指示从缺陷文件中提取相关信息并生成第一特征信息。收集缺陷文件的第一特征信息是为了更加准确地获取与缺陷文件对应的修复文件,如果仅根据缺陷文件的文件名来获取与之对应的修复文件,由于可能存在同名的文件,因此所获取的文件未必与缺陷文件对应,这会导致无法成功地为用户设备修复文件,而由于根据缺陷文件的第一特征信息来获取修复文件,该第一特征信息是唯一的,即,内容相同的文件具有相同的特征,这样便可以保证所获取的修复文件的正确性。具体地,在步骤505,为了生成缺陷文件的特征信息,第一提取模块1031根据预定指示从缺陷文件中提取与预定指示相关的第一信息,该预定指示具体说明了应该从缺陷文件的哪一部分(例如,版权信息、编译时间、文件图标、数字签名信息等)提取第一信息。在步骤506,第一哈希值生成模块1032根据第一信息生成第一哈希值,具体地,第一哈希值生成模块1032根据哈希算法来将第一信息生成第一哈希值。
[0043]在步骤507,比对模块1015接收与预定指示对应的第一特征信息,并从存储模块1014中查找与修复文件相关的第二特征信息,该第二特征信息包括多个子特征信息和一个母特征信息,该母特征信息是关于修复文件的MD5 (Message Digest Algorithm 5,消息摘要算法5)值,该多个子特征信息是关于修复文件中与多个预定位置对应的第二信息的第二哈希值,该子特征信息和该母特征信息具有映射关系,即,该子特征信息和该母特征信息分别是函数中自变量和函数值。
[0044]在步骤508,比对模块1015比对第一特征信息和第二特征信息是否一致并生成比对结果,具体地,比对模块1015比对第一哈希值和第二哈希值是否一致并生成比对结果。若是,则进入步骤509,否则,结束。比对模块1015既可以将第一特征信息和第二特征信息中的子特征信息和母特征信息中的任意一者或任意组合作为比对对象。
[0045]在步骤509,发送模块1016查找修复文件并提供修复文件的下载路径。
[0046]在步骤510,下载路径获取模块104获取修复文件的下载路径(例如,URL)。
[0047]在步骤511,修复文件获取模块106根据下载路径下载修复文件,修复文件获取模块106通过下载路径来获取修复文件这种方式的一个技术效果是:可以充分利用P2P(Peerto Peer,点对点)或者P2SP (Peer to Server&Peer,点对服务器和点)等技术来下载修复文件,利用这两种技术可以使得修复文件的下载速度更加迅速。修复文件获取模块106还可以直接从修复文件源中获取相关的修复文件。修复文件获取模块106还可以从修复文件源处直接接收所提供的修复文件。
[0048]在步骤512,发送模块1016提供修复文件,具体地,发送模块1016可以根据修复文件获取模块106的下载请求向修复文件获取模块106提供相应的修复文件。
[0049]在步骤513,替换模块105将修复文件替换缺陷文件。通过直接将修复文件替换缺陷文件,这样可以有效地对用户设备中的缺陷文件进行修复,既不需要特定的病毒文件清除算法来清除缺陷文件中的病毒文件,又不必担心缺陷文件清除病毒文件之后无法被用户设备使用。此技术方案与传统的将文件尾部附加的病毒体进行删除等技术方案相比更加省时和高效。
[0050]图7为本发明的修复文件提供模块101生成修复文件的第二特征信息的方法的流程图。该方法由本发明的修复文件提供模块101执行。
[0051]在步骤701至步骤702,第二特征信息生成模块1013在修复文件的预定位置处提取数据并生成第二特征信息并记录与预定位置对应的预定位置信息。具体地,在步骤701,第二提取模块10131在修复文件的预定位置处提取第二信息。在步骤702,第二哈希值生成模块10132根据哈希算法将第二信息生成第二哈希值。。
[0052]在步骤703,存储模块1014存储第二哈希值以及该预定位置信息。
[0053]综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
【权利要求】
1.一种文件修复方法,其特征在于,所述方法包括以下步骤: 搜寻用户设备中缺陷文件并获取所述缺陷文件的文件名; 接收预定指示根据所述预定指示从所述缺陷文件中提取相关信息并生成第一特征信息; 获取与所述第一特征信息对应的修复文件; 将所述修复文件替换所述缺陷文件。
2.根据权利要求1所述的文件修复方法,其特征在于,所述方法还包括以下步骤: 根据所述预定指示从所述缺陷文件中提取与所述预定指示相关的第一信息; 根据所述第一信息生成第一哈希值。
3.根据权利要求1所述的文件修复方法,其特征在于,所述方法还包括以下步骤: 获取所述修复文件的下载路径; 根据所述下载路径下载所述修复文件。
4.根据权利要求3所述的文件修复方法,其特征在于,所述方法还包括以下步骤: 提供所述下载路径,以及提供所述修复文件。
5.根据权利要求4所述的文件修复方法,其特征在于,所述方法还包括以下步骤: 根据所述文件名判断所述缺陷文件是否可以被修复并生成判断结果;` 在所述判断结果为所述缺陷文件可以被修复时生成预定指示并发送所述预定指示; 存储并提供所述修复文件和与所述修复文件相关的第二特征信息; 接收与所述预定指示对应的第一特征信息,以及比对所述第一特征信息和所述第二特征信息是否一致并生成比对结果; 在所述比对结果为所述第一特征信息和所述第二特征信息一致时查找所述修复文件,并提供所述修复文件的下载路径,以及提供所述修复文件。
6.根据权利要求5所述的文件修复方法,其特征在于,所述方法还包括以下步骤: 在所述修复文件的预定位置处提取数据并生成第二特征信息并记录与所述预定位置对应的预定位置信息; 存储所述预定位置信息; 在所述判断结果为所述缺陷文件可以被修复时根据所述文件名查找所述预定位置信息,以及用于根据所述预定位置信息生成所述预定指示并发送所述预定指示。
7.根据权利要求6所述的文件修复方法,其特征在于,所述方法还包括以下步骤: 在所述修复文件的预定位置处提取第二信息; 根据所述第二信息生成第二哈希值; 存储所述第二哈希值; 比对所述第一哈希值和所述第二哈希值是否一致并生成所述比对结果; 在所述比对结果为所述第一哈希值和所述第二哈希值一致时查找所述修复文件,并用于提供所述修复文件的下载路径,以及用于提供所述修复文件。
8.一种文件修复系统,其特征在于,包括: 搜寻模块,用于搜寻用户设备中缺陷文件并获取所述缺陷文件的文件名; 第一特征信息生成模块,用于接收预定指示根据所述预定指示从所述缺陷文件中提取相关信息并生成第一特征信息;修复文件获取模块,用于获取与所述第一特征信息对应的修复文件; 替换模块,用于将所述修复文件替换所述缺陷文件。
9.根据权利要求8所述的文件修复系统,其特征在于,所述第一特征信息生成模块包括: 第一提取模块,用于根据所述预定指示从所述缺陷文件中提取与所述预定指示相关的第一信息; 第一哈希值生成模块,用于根据所述第一信息生成第一哈希值。
10.根据权利要求8所述的文件修复系统,其特征在于,所述系统还包括: 下载路径获取模块,用于获取所述修复文件的下载路径; 所述修复文件获取模块还用于根据所述下载路径下载所述修复文件。
11.根据权利要求10所述的文件修复系统,其特征在于,所述系统还包括: 修复文件提供模块,用于向所述路径获取模块提供所述下载路径,以及用于向所述修复文件获取模块提供所述修复文件。
12.根据权利要求11所述的文件修复系统,其特征在于,所述修复文件提供模块包括: 判断模块,用于根据所述文件名判断所述缺陷文件是否可以被修复并生成判断结果; 指示模块,用于在所述判断结果为所述缺陷文件可以被修复时生成预定指示并发送所述预定指示; 存储模块,用于存储并提供所述修复文件和与所述修复文件相关的第二特征信息; 比对模块,用于接收与所述预定指示对应的第一特征信息,以及用于比对所述第一特征信息和所述第二特征信息是否一致并生成比对结果; 发送模块,用于在所述比对结果为所述第一特征信息和所述第二特征信息一致时查找所述修复文件,并用于提供所述修复文件的下载路径,以及用于提供所述修复文件。
13.根据权利要求12所述的文件修复系统,其特征在于,所述修复文件提供模块还包括: 第二特征信息生成模块,用于在所述修复文件的预定位置处提取数据并生成第二特征信息并记录与所述预定位置对应的预定位置信息; 所述存储模块还用于存储所述预定位置信息; 所述指示模块还用于在所述判断结果为所述缺陷文件可以被修复时根据所述文件名查找所述预定位置信息,以及用于根据所述预定位置信息生成所述预定指示并发送所述预定指示。
14.根据权利要求13所述的文件修复系统,其特征在于,所述第二特征信息生成模块包括: 第二提取模块,用于在所述修复文件的预定位置处提取第二信息; 第二哈希值生成模块,用于根据所述第二信息生成第二哈希值; 所述存储模块还用于存储所述第二哈希值; 所述比对模块还用于比对所述第一哈希值和所述第二哈希值是否一致并生成所述比对结果; 所述发送模块还用于在所述比对结果为所述第一哈希值和所述第二哈希值一致时查找所述修复文件,并用于提供所述修复文件的下载路径,以及用于提供所述修复文件。
【文档编号】G06F17/30GK103778114SQ201210393885
【公开日】2014年5月7日 申请日期:2012年10月17日 优先权日:2012年10月17日
【发明者】杨作会 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1