Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DATA PROCESSING METHOD AND APPARATUS, AND ELECTRONIC DEVICE
Document Type and Number:
WIPO Patent Application WO/2015/043010
Kind Code:
A1
Abstract:
Disclosed are a data processing method and apparatus, and an electronic device. The method comprises: obtaining recovery data and modified data in a case in which original data is modified, the modified data being data obtained after the original data is modified, and the modified data being data used for recovering at least one part of the modified data into data in the original data; executing one of the recovery data and the modified data; and when the execution of one of the recovery data and the modified data fails, executing the other of the recovery data and the modified data. By means of the preset invention, the problem is solved that a system cannot normally work caused by recovery of the system or a system file, thereby improving the stability of the system. The present invention can be used in a solution to a computer virus.

Inventors:
LI DINGPAN (CN)
XU MING (CN)
CHEN YONG (CN)
Application Number:
PCT/CN2013/085434
Publication Date:
April 02, 2015
Filing Date:
October 18, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SHELL INTERNET BEIJING SECURITY TECHNOLOGY CO LTD (CN)
International Classes:
G06F11/14
Foreign References:
CN101057246A2007-10-17
CN101477484A2009-07-08
CN101909087A2010-12-08
Attorney, Agent or Firm:
KANGXIN PARTNERS, P.C. (CN)
北京康信知识产权代理有限责任公司 (CN)
Download PDF:
Claims:
权 利 要 求 书

1. 一种数据处理方法, 包括: 在原始数据被修改的情况下, 获取恢复数据和修改数据, 其中, 所述修改 数据是所述原始数据被修改后得到的数据, 所述恢复数据是用于将所述修改数 据中的至少部分数据恢复为所述原始数据中的数据的数据; 执行所述恢复数据和所述修改数据中的一个; 在执行所述恢复数据和所述修改数据中的一个失败的情况下, 执行所述恢 复数据和所述修改数据中的另一个。

2. 根据权利要求 1所述的方法,其中,在获取所述恢复数据和所述修改数据之后, 所述方法还包括: 保存所述恢复数据和所述修改数据以将所述恢复数据和所述修改数据分别 保存至预定的存储区。

3. 根据权利要求 2所述的方法, 其中, 所述原始数据为用于系统启动的原始主引 导记录, 所述修改数据为所述原始主引导记录被修改后得到的被修改主引导记 录, 所述恢复数据为由所述原始主引导记录的一部分和所述被修改主引导记录 的一部分组成的恢复用主引导记录, 其中, 所述被修改主引导记录的一部分包 括所述被修改主引导记录的分区表。

4. 根据权利要求 3所述的方法, 其中, 所述保存所述恢复数据和所述修改数据包 括: 将所述恢复用主引导记录和所述被修改主引导记录分别保存至磁盘; 将保存所述恢复用主引导记录和所述被修改主引导记录的磁盘的扇区号分 别保存至系统引导扇区。

5. 根据权利要求 4所述的方法, 其中, 所述执行所述恢复数据和所述修改数据中 的一个包括: 选择将要执行的所述恢复用主引导记录和所述被修改主引导记录中的一 个. 根据所述系统引导扇区中保存的扇区号, 读取并执行被选择的所述恢复用 主引导记录或所述被修改主引导记录。

6. 根据权利要求 5所述的方法, 其中, 在选择将要执行的所述恢复用主引导记录 和所述被修改主引导记录中的一个之前, 所述方法还包括: 将引导程序保存至磁盘, 并将保存所述引导程序的磁盘的扇区号保存至系 统引导扇区, 其中, 所述引导程序设置为提供用户接口, 所述用户接口设置为 用户选择所述恢复用主引导记录和所述被修改主引导记录中的一个, 所述引导 程序在所述恢复用主引导记录或所述被修改主引导记录之前被读取并执行; 其中, 所述选择将要执行的所述恢复用主引导记录和所述被修改主引导记 录中的一个包括: 根据用户通过所述引导程序提供的所述用户接口进行的选择, 选择所述恢 复用主引导记录和所述被修改主引导记录中的一个。

7. 根据权利要求 2所述的方法, 其中, 所述原始数据为原始系统文件, 所述修改 数据为所述原始系统文件被修改后得到的被修改系统文件, 所述恢复数据为所 述原始系统文件。

8. 根据权利要求 7所述的方法, 其中, 所述保存所述恢复数据和所述修改数据包 括: 将作为所述恢复数据的原始系统文件和所述被修改系统文件分别保存至磁 记录保存作为所述恢复数据的原始系统文件和所述被修改系统文件的磁盘 路径。

9. 根据权利要求 8所述的方法, 其中, 执行所述恢复数据和所述修改数据中的一 个包括: 选择将要执行的作为所述恢复数据的原始系统文件和所述被修改系统文件 中的一个; 根据记录的所述磁盘路径, 读取被选择的作为所述恢复数据的原始系统文 件或所述被修改系统文件; 执行作为所述恢复数据的原始系统文件或所述被修改系统文件。

10. 根据权利要求 9所述的方法, 其中, 执行所述原始系统文件或所述被修改系统 文件包括: 根据所述磁盘路径, 读取作为所述恢复数据的原始系统文件或所述被修改 系统文件; 将作为所述恢复数据的原始系统文件或所述被修改系统文件复制到所述原 始系统文件的工作路径, 其中, 所述工作路径是所述原始系统文件工作时被正 常访问的路径; 在所述工作路径运行作为所述恢复数据的原始系统文件或所述被修改系统 文件。

11. 根据权利要求 9所述的方法, 其中, 在执行所述恢复数据和所述修改数据中的 一个之前, 所述方法还包括: 将所述磁盘路径保存在重定向驱动中, 其中, 所述重定向驱动设置为在作 为所述恢复数据的原始系统文件或所述被修改系统文件将被访问的情况下, 根 据所述磁盘路径将文件访问路径由所述原始系统文件的工作路径重定向到被选 择的作为所述恢复数据的原始系统文件或所述被修改系统文件的磁盘路径, 其 中, 所述工作路径是所述原始系统文件工作时被正常访问的路径。

12. 一种数据处理装置, 包括: 第一获取模块, 设置为在原始数据被修改的情况下, 获取恢复数据和修改 数据, 其中, 所述修改数据是所述原始数据被修改后得到的数据, 所述恢复数 据是用于将所述修改数据中的至少部分数据恢复为所述原始数据中的数据的数 据; 第一处理模块, 设置为执行所述恢复数据和所述修改数据中的一个; 第二处理模块, 设置为在执行所述恢复数据和所述修改数据中的一个失败 的情况下, 执行所述恢复数据和所述修改数据中的另一个。

13. 根据权利要求 12所述的装置, 其中, 所述装置还包括: 保存模块, 设置为保存所述恢复数据和所述修改数据, 以将所述恢复数据 和所述修改数据分别保存至预定的存储区。

14. 根据权利要求 13所述的装置,其中,所述原始数据为用于系统启动的原始主引 导记录, 所述修改数据为所述原始主引导记录被修改后得到的被修改主引导记 录, 所述恢复数据为由所述原始主引导记录的一部分和所述被修改主引导记录 的一部分组成的恢复用主引导记录, 其中, 所述被修改主引导记录的一部分包 括所述被修改主引导记录的分区表。

15. 根据权利要求 14所述的装置, 其中, 所述保存模块设置为: 将所述恢复用主引 导记录和所述被修改主引导记录分别保存至磁盘, 并将保存所述恢复用主引导 记录和所述被修改主引导记录的磁盘的扇区号分别保存至系统引导扇区。

16. 根据权利要求 15所述的装置, 其中, 所述第一处理模块设置为: 选择将要执行 的所述恢复用主引导记录和所述被修改主引导记录中的一个, 根据所述系统引 导扇区中保存的扇区号, 读取被选择的所述恢复用主引导记录或所述被修改主 引导记录, 并执行所述恢复用主引导记录或所述被修改主引导记录。

17. 根据权利要求 16所述的装置, 其中, 所述装置还包括: 储存模块, 设置为将引导程序保存至磁盘, 并将保存所述引导程序的磁盘 的扇区号保存至系统引导扇区, 其中, 所述引导程序设置为提供用户接口, 所 述用户接口设置为用户选择所述恢复用主引导记录和所述被修改主引导记录中 的一个, 所述引导程序在所述恢复用主引导记录或所述被修改主引导记录之前 被读取并执行; 其中, 所述第一处理模块设置为: 根据用户通过所述引导程序提供的所述 用户接口进行的选择, 选择所述恢复用主引导记录和所述被修改主引导记录中 的一个。

18. 根据权利要求 13所述的装置, 其中, 所述原始数据为原始系统文件, 所述修改 数据为所述原始系统文件被修改后得到的被修改系统文件, 所述恢复数据为所 述原始系统文件。

19. 根据权利要求 18所述的装置, 其中, 所述保存模块设置为: 将作为所述恢复数 据的原始系统文件和所述被修改系统文件分别保存至磁盘, 并记录保存作为所 述恢复数据的原始系统文件和所述被修改系统文件的磁盘路径。

20. 根据权利要求 19所述的装置, 其中, 所述第一处理模块设置为: 选择将要执行 的作为所述恢复数据的原始系统文件和所述被修改系统文件中的一个, 根据记 录的所述磁盘路径, 读取被选择的作为所述恢复数据的原始系统文件或所述被 修改系统文件, 并执行作为所述恢复数据的原始系统文件或所述被修改系统文 件。

21. 根据权利要求 20所述的装置, 其中, 所述第一处理模块还设置为: 根据所述磁 盘路径, 读取作为所述恢复数据的原始系统文件或所述被修改系统文件; 将作 为所述恢复数据的原始系统文件或所述被修改系统文件复制到所述原始系统文 件的工作路径, 其中, 所述工作路径是所述原始系统文件工作时被正常访问的 路径; 以及在所述工作路径运行作为所述恢复数据的原始系统文件或所述被修 改系统文件。

22. 根据权利要求 20所述的装置, 其中, 所述装置还包括: 储存模块, 设置为将所述磁盘路径保存在重定向驱动中, 其中, 所述重定 向驱动设置为在作为所述原始系统文件或所述被修改系统文件将被访问的情况 下, 根据所述磁盘路径将文件访问路径由所述原始系统文件的工作路径重定向 到被选择的作为所述恢复数据的原始系统文件或所述被修改系统文件的磁盘路 径, 其中, 所述工作路径是所述原始系统文件工作时被正常访问的路径。

23. 一种电子设备, 包括: 存储器, 设置为存储恢复数据和修改数据, 其中, 所述修改数据是所述原 始数据被修改后得到的数据, 所述恢复数据是用于将所述修改数据中的至少部 分数据恢复为所述原始数据中的数据的数据; 处理器, 设置为获取所述恢复数据和所述修改数据; 显示及输入设备, 设置为向用户提供显示界面, 以及接收用户的输入, 其 中, 所述显示界面设置为显示对所述恢复数据和所述修改数据的选择过程, 所 述用户的输入用于确定执行所述恢复数据和所述修改数据中的一个; 所述处理器, 还设置为根据所述用户的输入, 执行所述恢复数据和所述修 改数据中的一个,在执行所述恢复数据和所述修改数据中的一个失败的情况下, 自动或者根据用户的输入执行所述恢复数据和所述修改数据中的另一个。

Description:
数据处理方法、 装置及电子设备 技术领域 本发明涉及计算机技术领域, 具体而言, 涉及一种数据处理方法、 装置及电子设 备。 背景技术 现有的计算机终端可以进行各种数据处理过程 , 例如在硬件启动过程中进行主引 导记录(Master Boot Record, 简称为 MBR)的恢复处理、操作系统对磁盘上的文件和 数据的恢复处理以及运行应用程序过程中的函 数恢复处理等。

(一)、 主引导记录的恢复 现有技术在硬件启动过程中的流程可以包括如 下步骤: 首先, 对计算机的硬件进 行加电; 接着, 执行 POST (Power-On Self-Test) 的系统初始化、 自检以及引导代码; 然后, POST将 MBR从磁盘第 0号扇区读取到内存地址 0000:7c00,并跳转到 0000:7c00 执行对应的程序; 最后, MBR寻找第一个活动分区, 并且将活动分区的引导扇区加载 到内存并执行, 引导扇区中包含操作系统启动代码, 从而使得操作系统被启动。 在上述过程可以看出, MBR在启动过程中起到关键作用。 MBR包含两个部分, 第一个部分是一小段程序, 用来查找活动分区, 第二个部分是分区表。 MBR可以通过 如下方式进行修改: 操作系统安装时进行人工修改、 通过多启动管理软件进行修改、 使用磁盘分区以及修复软件、 使用杀毒软件进行修改以及恶意软件的恶意修 改。 具体的, 以恶意软件修改 MBR为例, 恶意软件会通过修改 MBR使得恶意软件在 操作系统启动之前接管操作系统, 从而对计算机进行非法操作。 目前可以通过杀毒软 件来检测 MBR是否被恶意软件修改, 杀毒软件在检测到 MBR被恶意修改过后, 就会 尝试恢复 MBR。 现有技术中, 杀毒软件恢复 MBR的流程通常包括如下步骤: 首先, 获取原始 MBR (例如采用读取备份的方式获取); 然后, 获取当前的 "被修改 MBR", 被修改 MBR可以是被恶意软件修改原始 MBR后得到的; 接着, 将当前的 "被修改 MBR" 中的分区表部分提取出来, 并将分区表放入原始 MBR, 形成 "恢复用 MBR"; 最后, 将 "恢复用 MBR"写入磁盘第 0号扇区, 从而在重启计算机之后可以通过运行 该恢复用 MBR而进入计算机系统。 发明人发现上述恢复 MBR的方式一般能够使得用户可以启动正常的操 作系统进 入系统, 但由于上述恢复过程中存在一些风险 (例如, 是否能够获取到正确的原始 MBR、 是否能够正确提取分区表以及恢复结果不可控 等), 因此也可能无法正常启动 操作系统。 具体的, 风险可以包括如下几种: 1 ) 由于可以获取到的原始 MBR已经被多种合 法且正常的程序修改, 因此, 在 MBR被恶意软件修改、 感染时, 因为我们无法获取 被修改、 感染前的正确 MBR, 从而使得恢复 MBR就变成了很危险的事情。 2) 分区 表默认情况下是在 MBR的固定位置, 这是操作系统参考的重要信息, 如果分区表产 生错误, 则会导致操作系统启动失败。 MBR在一般情况下是可以被访问和读取的, 但 是由于各种磁盘还原类软件、杀毒软件会阻止 对 MBR的访问,或者返回虚假的 MBR, 因此会导致在提取、合并分区表时存在一定的 风险而无法获取到正确的 MBR。上述风 险是无法预测、 无法避免的, 如果遇到了此类问题, 操作系统将被彻底破坏。

(二) 文件恢复 计算机中的文件系统是操作系统用来组织文件 和数据的系统, 它通常建立在磁盘 上, 使得对数据的查找和访问变得更容易。 其中, 操作系统本身是由文件组成, 这些 文件统称系统文件, 系统文件分为两种, 一种是可执行的二进制文件, 一种是不可执 行的数据文件。 由于系统文件会在操作系统启动、 运行过程中被运行、 加载, 所以修 改、 替换关键的系统文件是恶意软件、 病毒、 木马常用的方式, 恶意软件、 病毒、 木 马可以利用这种方式隐藏自己, 并且获得运行的机会。 当杀毒软件检测到系统文件被恶意修改、 替换后, 会尝试对恶意软件清理, 即对 被恶意修改、 替换的文件进行修复或者恢复。 如果无法修复或者恢复, 则会尝试删除 文件。 以消除恶意软件对操作系统和用户文件的影响 。 现有的杀毒软件对恶意修改、 替换的文件进行修复或者恢复的过程如下: 杀毒软 件开始扫描系统文件, 检查文件是否被恶意修改、 替换, 如果有, 则开始修复或者恢 复系统文件。 在修复或者恢复系统文件的过程中, 先检查该文件是否可修复, 如果可 以修复, 则进行修复或, 如果修复成功, 则结束, 如果无法修复或者修复失败, 尝试 恢复文件; 在恢复文件的过程中, 先检查该文件是否可恢复, 如果可以恢复, 则进行 恢复, 如果恢复成功, 则结束, 如果无法恢复或者恢复失败, 尝试删除文件; 在删除 文件的过程中, 先检查文件是否可以删除, 如果文件可以删除, 则进行删除, 如果删 除成功, 则结束, 如果无法删除或者删除失败, 那么失败并结束。 发明人发现上述对恶意修改、替换的系统文件 的处理过程也存在如下风险: 1 )修 复文件存在风险。 修复文件通常是根据杀毒软件自带的数据库进 行修复。 但是由于恶 意软件、 病毒、 木马存在变种等原因, 会导致修复失败。 这种失败是无法预测的, 如 果被修改、 替换的文件是系统启动的关键文件, 修复出错会导致操作系统无法启动。 这种故障是无法恢复的; 2) 删除文件存在风险。 和风险 1 ) 类似, 如果文件在修复、 恢复失败后, 绝大多数杀毒软件会去尝试删除文件。 如果被修改、 替换的文件是系统 启动的关键文件, 或者是系统正常工作必备的关键文件。 在文件被删除后, 操作系统 将无法正常启动, 或者操作系统无法正常工作。 这种故障也是致命的。 目前针对相关技术中对系统或者系统文件进行 恢复而导致系统无法正常工作的问 题, 尚未提出有效的解决方案。 发明内容 针对相关技术中对系统或者系统文件进行恢复 而导致系统无法正常工作的问题, 目前尚未提出有效的解决方案, 为此,本发明的主要目的在于提供一种数据处 理方法、 装置以及电子设备, 以解决上述问题。 为了实现上述目的, 根据本发明的一个方面, 提供了一种数据处理方法, 该方法 包括: 在原始数据被修改的情况下, 获取恢复数据和修改数据, 其中, 修改数据是原 始数据被修改后得到的数据, 恢复数据是用于将修改数据中的至少部分数据 恢复为原 始数据中的数据的数据; 执行恢复数据和修改数据中的一个; 在执行恢复数据和修改 数据中的一个失败的情况下, 执行恢复数据和修改数据中的另一个。 结合这个方面, 在这个方面第一种可能的实现方式中, 在获取所述恢复数据和所 述修改数据之后, 所述方法还包括: 保存所述恢复数据和所述修改数据以将所述恢 复数据和所述修改数据分别保存至 预定的存储区。 结合这个方面第一种可能的实现方式, 在这个方面的第二种可能的实现方式中, 所述原始数据为用于系统启动的原始主引导记 录, 所述修改数据为所述原始主引导记 录被修改后得到的被修改主引导记录, 所述恢复数据为由所述原始主引导记录的一部 分和所述被修改主引导记录的一部分组成的恢 复用主引导记录, 其中, 所述被修改主 引导记录的一部分包括所述被修改主引导记录 的分区表。 结合这个方面第二种可能的实现方式, 在这个方面的第三种可能的实现方式中, 所述保存所述恢复数据和所述修改数据包括: 将所述恢复用主引导记录和所述被修改主引导 记录分别保存至磁盘; 将保存所述恢复用主引导记录和所述被修改主 引导记录的磁盘的扇区号分别保存 至系统引导扇区。 结合这个方面第三种可能的实现方式, 在这个方面的第四种可能的实现方式中, 所述执行所述恢复数据和所述修改数据中的一 个包括: 选择将要执行的所述恢复用主引导记录和所述 被修改主引导记录中的一个; 根据所述系统引导扇区中保存的扇区号, 读取并执行被选择的所述恢复用主引导 记录或所述被修改主引导记录。 结合这个方面第四种可能的实现方式, 在这个方面的第五种可能的实现方式中, 在选择将要执行的所述恢复用主引导记录和所 述被修改主引导记录中的一个之前, 所 述方法还包括: 将引导程序保存至磁盘, 并将保存所述引导程序的磁盘的扇区号保存至 系统引导 扇区, 其中, 所述引导程序设置为提供用户接口, 所述用户接口设置为用户选择所述 恢复用主引导记录和所述被修改主引导记录中 的一个, 所述引导程序在所述恢复用主 引导记录或所述被修改主引导记录之前被读取 并执行; 其中, 所述选择将要执行的所述恢复用主引导记录和 所述被修改主引导记录中的 一个包括: 根据用户通过所述引导程序提供的所述用户接 口进行的选择, 选择所述恢复用主 弓 I导记录和所述被修改主引导记录中的一个。 结合这个方面第一种可能的实现方式, 在这个方面的第六种可能的实现方式中, 所述原始数据为原始系统文件, 所述修改数据为所述原始系统文件被修改后得 到的被 修改系统文件, 所述恢复数据为所述原始系统文件。 结合这个方面第六种可能的实现方式, 在这个方面的第七种可能的实现方式中, 所述保存所述恢复数据和所述修改数据包括: 将作为所述恢复数据的原始系统文件和所述被 修改系统文件分别保存至磁盘; 记录保存作为所述恢复数据的原始系统文件和 所述被修改系统文件的磁盘路径。 结合这个方面第七种可能的实现方式, 在这个方面的第八种可能的实现方式中, 执行所述恢复数据和所述修改数据中的一个包 括: 选择将要执行的作为所述恢复数据的原始系统 文件和所述被修改系统文件中的一 个- 根据记录的所述磁盘路径, 读取被选择的作为所述恢复数据的原始系统文 件或所 述被修改系统文件; 执行作为所述恢复数据的原始系统文件或所述 被修改系统文件。 结合这个方面第八种可能的实现方式, 在这个方面的第九种可能的实现方式中, 执行所述原始系统文件或所述被修改系统文件 包括: 根据所述磁盘路径, 读取作为所述恢复数据的原始系统文件或所述 被修改系统文 件; 将作为所述恢复数据的原始系统文件或所述被 修改系统文件复制到所述原始系统 文件的工作路径,其中,所述工作路径是所述 原始系统文件工作时被正常访问的路径; 在所述工作路径运行作为所述恢复数据的原始 系统文件或所述被修改系统文件。 结合这个方面第八种可能的实现方式, 在这个方面的第十种可能的实现方式中, 在执行所述恢复数据和所述修改数据中的一个 之前, 所述方法还包括: 将所述磁盘路径保存在重定向驱动中, 其中, 所述重定向驱动设置为在作为所述 恢复数据的原始系统文件或所述被修改系统文 件将被访问的情况下, 根据所述磁盘路 径将文件访问路径由所述原始系统文件的工作 路径重定向到被选择的作为所述恢复数 据的原始系统文件或所述被修改系统文件的磁 盘路径, 其中, 所述工作路径是所述原 始系统文件工作时被正常访问的路径。 为了实现上述目的, 根据本发明的另一方面, 还提供了一种数据处理装置, 该装 置包括: 第一获取模块, 设置为在原始数据被修改的情况下, 获取恢复数据和修改数 据, 其中, 修改数据是原始数据被修改后得到的数据, 恢复数据是用于将修改数据中 的至少部分数据恢复为原始数据中的数据的数 据; 第一处理模块, 设置为执行恢复数 据和修改数据中的一个; 第二处理模块, 设置为在执行恢复数据和修改数据中的一个 失败的情况下, 执行恢复数据和修改数据中的另一个。 结合这个方面, 在这个方面第一种可能的实现方式中, 所述装置还包括: 保存模块, 设置为保存所述恢复数据和所述修改数据, 以将所述恢复数据和所述 修改数据分别保存至预定的存储区。 结合这个方面第一种可能的实现方式, 在这个方面的第二种可能的实现方式中,, 所述原始数据为用于系统启动的原始主引导记 录, 所述修改数据为所述原始主引导记 录被修改后得到的被修改主引导记录, 所述恢复数据为由所述原始主引导记录的一部 分和所述被修改主引导记录的一部分组成的恢 复用主引导记录, 其中, 所述被修改主 引导记录的一部分包括所述被修改主引导记录 的分区表。 结合这个方面第二种可能的实现方式, 在这个方面的第三种可能的实现方式中, 所述保存模块设置为: 将所述恢复用主引导记录和所述被修改主引导 记录分别保存至 磁盘, 并将保存所述恢复用主引导记录和所述被修改 主引导记录的磁盘的扇区号分别 保存至系统引导扇区。 结合这个方面第三种可能的实现方式, 在这个方面的第四种可能的实现方式中, 所述第一处理模块设置为: 选择将要执行的所述恢复用主引导记录和所述 被修改主引 导记录中的一个, 根据所述系统引导扇区中保存的扇区号, 读取被选择的所述恢复用 主引导记录或所述被修改主引导记录, 并执行所述恢复用主引导记录或所述被修改主 引导记录。 结合这个方面第四种可能的实现方式, 在这个方面的第五种可能的实现方式中, 所述装置还包括: 储存模块, 设置为将引导程序保存至磁盘, 并将保存所述引导程序的磁盘的扇区 号保存至系统引导扇区, 其中, 所述引导程序设置为提供用户接口, 所述用户接口设 置为用户选择所述恢复用主引导记录和所述被 修改主引导记录中的一个, 所述引导程 序在所述恢复用主引导记录或所述被修改主引 导记录之前被读取并执行; 其中, 所述第一处理模块设置为: 根据用户通过所述引导程序提供的所述用户接 口进行的选择, 选择所述恢复用主引导记录和所述被修改主引 导记录中的一个。 结合这个方面第一种可能的实现方式, 在这个方面的第六种可能的实现方式中, 所述原始数据为原始系统文件, 所述修改数据为所述原始系统文件被修改后得 到的被 修改系统文件, 所述恢复数据为所述原始系统文件。 结合这个方面第六种可能的实现方式, 在这个方面的第七种可能的实现方式中, 所述保存模块设置为: 将作为所述恢复数据的原始系统文件和所述被 修改系统文件分 别保存至磁盘, 并记录保存作为所述恢复数据的原始系统文件 和所述被修改系统文件 的磁盘路径。 结合这个方面第七种可能的实现方式, 在这个方面的第八种可能的实现方式中, 所述第一处理模块设置为: 选择将要执行的作为所述恢复数据的原始系统 文件和所述 被修改系统文件中的一个, 根据记录的所述磁盘路径, 读取被选择的作为所述恢复数 据的原始系统文件或所述被修改系统文件, 并执行作为所述恢复数据的原始系统文件 或所述被修改系统文件。 结合这个方面第八种可能的实现方式, 在这个方面的第九种可能的实现方式中, 所述第一处理模块还设置为: 根据所述磁盘路径, 读取作为所述恢复数据的原始系统 文件或所述被修改系统文件; 将作为所述恢复数据的原始系统文件或所述被 修改系统 文件复制到所述原始系统文件的工作路径, 其中, 所述工作路径是所述原始系统文件 工作时被正常访问的路径; 以及在所述工作路径运行作为所述恢复数据的 原始系统文 件或所述被修改系统文件。 结合这个方面第八种可能的实现方式, 在这个方面的第十种可能的实现方式中, 所述装置还包括: 储存模块, 设置为将所述磁盘路径保存在重定向驱动中, 其中, 所述重定向驱动 设置为在作为所述原始系统文件或所述被修改 系统文件将被访问的情况下, 根据所述 磁盘路径将文件访问路径由所述原始系统文件 的工作路径重定向到被选择的作为所述 恢复数据的原始系统文件或所述被修改系统文 件的磁盘路径, 其中, 所述工作路径是 所述原始系统文件工作时被正常访问的路径。 为了实现上述目的, 根据本发明的另一方面, 还提供了一种电子设备, 该电子设 备包括: 存储器, 设置为存储恢复数据和修改数据, 其中, 修改数据是原始数据被修 改后得到的数据, 恢复数据是用于将修改数据中的至少部分数据 恢复为原始数据中的 数据的数据; 处理器, 设置为获取恢复数据和修改数据; 显示及输入设备, 设置为向 用户提供显示界面, 以及接收用户的输入, 其中, 显示界面设置为显示对恢复数据和 修改数据的选择过程, 用户的输入用于确定执行恢复数据和修改数据 中的一个; 处理 器, 还设置为根据用户的输入, 执行恢复数据和修改数据中的一个, 在执行所述恢复 数据和所述修改数据中的一个失败的情况下, 自动或者根据用户的输入执行所述恢复 数据和所述修改数据中的另一个。 通过本发明实施例,采用在原始数据被修改的 情况下, 获取恢复数据和修改数据, 其中, 修改数据是原始数据被修改后得到的数据, 恢复数据是用于将修改数据中的至 少部分数据恢复为原始数据中的数据的数据; 执行恢复数据和修改数据中的一个; 在 执行恢复数据和修改数据中的一个失败的情况 下, 执行恢复数据和修改数据中的另一 个的方式, 解决了对系统或者系统文件进行恢复而导致系 统无法正常工作的问题, 提 高了系统的稳定性。 附图说明 此处所说明的附图用来提供对本发明的进一步 理解, 构成本申请的一部分, 本发 明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的不当限定。 在附图 中: 图 1是根据本发明实施例一的数据处理装置的结 示意图; 图 2是根据本发明实施例二的数据处理装置的结 示意图; 图 3是根据本发明实施例四的数据处理装置的结 示意图; 图 4是根据本发明实施例五的数据处理装置的结 示意图; 图 5是根据本发明实施例六的电子设备的结构示 图; 图 6是根据本发明实施例七的数据处理方法的流 图; 图 7是根据本发明实施例八的挂钩处理方法的流 示意图; 图 8是根据本发明实施例九的 MBR恢复方法的流程示意图。 具体实施方式 需要说明的是, 在不冲突的情况下, 本申请中的实施例及实施例中的特征可以相 互组合。 下面将参考附图并结合实施例来详细说明本发 明。 本发明的原理被示为在一个合适的计算环境中 实现。 以下描述基于所述的本发明 的实施例, 并且不应认为是关于此处未明确描述的替换实 施例而限制本发明。 实施例一 图 1示出了可用于这些设备的一个示例计算机体 结构的示意图。 出于描述的目 的, 所绘的体系结构仅为合适环境的一个示例, 并非对本发明的使用范围或功能提出 任何局限。 也不应将该计算系统解释为对图 1所示的任一组件或其组合具有任何依赖 或需求。 在该计算机体系中所采用的操作系统平台, 可以是任何现有的操作系统, 包括固 定设备的操作系统, 例如, 视窗 (Windows) 操作系统、 MAC操作系统、 Linux操作 系统等, 也包括移动设备的操作系统, 例如, Windows手机操作系统, iOS苹果操作 系统等。 在所有公知的操作系统中, 虽然在这些系统中面临的场景或者对应的功能 部 件可能是不同的, 但是其中都可以采用本发明实施例中所提供的 数据处理的方案, 从 而解决对系统或者系统文件进行恢复而导致系 统无法正常工作的问题。 在其最基本的配置中,图 1是根据本发明实施例一的数据处理装置的结 示意图。 如图 1所示, 该装置可以包括: 第一获取模块 10、 第一处理模块 40和第二处理模块 50。 其中, 第一获取模块 10, 设置为在原始数据被修改的情况下, 获取恢复数据和修 改数据, 其中, 修改数据是对原始数据进行修改而得到的数据 , 恢复数据可以是由原 始数据的一部分和 /或修改数据的一部分组成的数据,用于将修 数据中的至少部分数 据恢复为原始数据中的数据; 第一处理模块 40, 设置为执行恢复数据和修改数据中的 一个; 第二处理模块 50, 设置为在执行恢复数据和修改数据中的一个失 败的情况下, 执行恢复数据和修改数据中的另一个。 需要说明的是: 恢复数据可以是原始数据的一部分或者全部, 或者恢复数据是修 改数据的一部分, 或者二者的组合, 例如原始数据的一部分和修改数据的全部, 原始 数据的一部分和修改数据的一部分。 在上述描述中的 "执行"包括直接执行和间接执行, 例如, 在该恢复数据和 /或修 改数据是直接可以执行的数据 (例如, .bat、 .dll、 .com或 .exe格式文件等) 的情况下, 则可以直接执行该数据; 在该恢复数据和 /或修改数据是不可以被直接执行的数据的情 况下,则可以通过其他的应用程序调用、加载 而使该恢复数据和 /或被间接执行。并且, 在某些场景下, "执行"也可以被描述为 "使用"。 计算机终端在正常工作情况下, 会对原始的计算机系统中的原始数据进行修改 生 成修改数据, 这些修改数据也可能是由病毒或者恶意软件所 修改的。 本申请上述实施 例中, 通过第一获取模块 10而获取到修改数据, 此外, 在本申请实施例中计算机终端 可以生成用于将系统文件恢复到另外一个状态 (例如, 没有被病毒或者恶意软件修改 的状态) 的恢复数据, 这些恢复数据通常是由原始数据和修改数据组 成的。 计算机系 统在应用恢复数据的情况下, 可能会由于恢复数据在系统中不可以正常使用 , 而导致 系统无法正常启动。在这种情况下,可以通过 第二处理模块 50重新执行可以正常运行 的修改数据或恢复数据。 较优地, 修改数据是对计算机系统中的系统文件进行恢 复前 能够正常工作的数据, 因此执行修改数据就能够使得系统至少能够正 常工作, 从而降 低了进行数据恢复的风险, 提高了系统的稳定性。 优选地, 本实施例中的装置还包括保存模块, 设置为保存恢复数据和修改数据, 例如, 将恢复数据和修改数据分别保存至预定的存储 区。 本申请该实施例一中的数据处理装置可以是一 个耦合了存储器的处理器, 其中, 该处理器设置为执行以下模块: 第一获取模块 10、 第一处理模块 40和第二处理模块 50。 实施例二 针对上述实施例一所提供的装置,可以采用如 图 2所示的实施例进行进一步说明, 下面以 MBR的恢复为例来进行详细描述, 实施例二提供了一种新的方式恢复 MBR, 通过尝试性的恢复 MBR, 如果 MBR恢复的过程中有任何异常状况, 可以取消恢复, 从而可以避免了系统无法正常运行的风险。 基于图 1所示的实施例一,其中的原始数据为用于系 启动的原始 MBR, 修改数 据为对原始 MBR进行修改后得到的被修改 MBR, 恢复数据为由原始 MBR的一部分 和被修改 MBR的一部分组成的恢复用 MBR, 其中, 被修改 MBR的一部分包括被修 改 MBR的分区表, 该分区表用于系统读取正常的分区信息。 其中, 涉及到的第一获取模块 10可以包括读取单元 101和提取单元 103, 保存模 块 30可以包括第一保存单元 301和第二保存单元 303。 其中, 读取单元 101, 设置为读取原始 MBR和被修改 MBR; 提取单元 103, 设 置为提取被修改 MBR的分区表, 并将原始 MBR中的分区表替换为提取的分区表, 以 得到恢复用 MBR。 第一保存单元 301, 设置为将恢复用 MBR和被修改 MBR分别保存到磁盘中, 他 们保存的位置分别表示为磁盘的扇区号 1和扇区号 2, 需要说明的是, 其中的磁盘可 以是一个或多个磁盘, 在多个磁盘的情况下, 它们以不同的磁盘号来区别, 例如, 扇 区号 1的位置在磁盘 1上, 扇区号 2的位置在磁盘 2上; 第二保存单元 303, 设置为 将扇区号 1和扇区号 2分别保存在系统引导扇区, 该系统引导扇区为根据 BIOS设置 为启动磁盘的磁盘上的 0号扇区 (即第 1个扇区, 该扇区用于引导系统启动)。 具体的, 在上述实施例二中, 原始 MBR可以通过读取操作系统文件 (例如 C: 盘下 disk文件) 中的内容而获取, 当该原始 MBR被修改时 (可以是系统正常工作的 情况下被修改的, 也可以是被恶意软件攻击而发生的修改), MBR就会被修改, 即本 实施例中所称的被修改 MBR, 此时, 当安全软件检测到该被修改 MBR被恶意软件所 恶意修改过的情况下, 安全软件会通过读取单元 101读取得到该 "被修改 MBR", 并 通过提取单元 103来提取该 "被修改 MBR"的分区表, 然后将得到的分区表替换之前 获取到的原始 MBR中的分区表,这样,得到的恢复用 MBR的分区表是与被修改 MRB 一致的,而其他部分与原始 MBR保持一致。通过这样的处理,系统在使用恢 复用 MBR 时一般能够正确读取分区表信息, 以保证系统启动时读取到正确的分区信息。 上述实施例在系统弓 I导扇区中同时保存了恢复用 MBR和被修改 MBR的扇区号, 比较现有技术仅保存恢复用 MBR的扇区号的方案, 使得系统在重启之后, 可以选择 读取恢复用 MBR的扇区号或者被修改 MBR的扇区号, 从而在恢复用 MBR无法正常 使用的情况下, 可以选择使用被修改 MBR, 进而使系统能够正常启动。 即在现有技术 的方案实施过程中, 在使用恢复用 MBR后导致系统无法正常启动的情况下, 通过本 实施例可以在重新启动过程中, 选择启动启动 "被修改 MBR", 从而保证系统的正常 启动。 优选地,本申请上述实施例一所提供的第一处 理模块 40可以包括:选择单元 401、 读取单元 402、 处理单元 403。 其中, 选择单元 401, 设置为选择将要执行的恢复用 MBR和被修改 MBR中的一 个; 读取单元 402设置为根据系统引导扇区中保存的扇区号 1和扇区号 2, 读取被选 择的扇区号 1或扇区号 2; 处理单元 403, 设置为执行恢复用 MBR或被修改 MBR, 以继续执行启动过程。 其中, 选择并执行的过程可以是这样的: 以选择单元 401选择 执行被修改 MBR为例,读取单元 402根据系统引导扇区中保存的被修改 MBR的扇区 号 2, 从扇区号 2中读取被修改 MBR的信息; 之后, 处理单元 403执行读取到的被修 改 MBR, 以完成系统的启动。 本实施例还可以提供一种系统按照预先设定的 规则来执行 (例如, 加载) 恢复用 MBR或被修改 MBR, 该实施例预先设定的规则是在系统重启的过程 中, 先执行恢复 用 MBR,在执行恢复用 MBR无法正常进入系统的情况下,在下一次系统 重启过程中, 再执行被修改 MBR以完成系统的启动过程。优选地, 在执行恢复用 MBR能够正常进 入系统的情况下, 在下一次系统启动过程中, 仍然执行恢复用 MBR启动系统。 根据 上述描述可知, 预先设定的规则并不限于此, 是可以根据需求进行调整的。 本申请该实施例二中的数据处理装置可以是一 个耦合了存储器的处理器, 其中, 该处理器设置为执行以下模块: 第一获取模块 10、 保存模块 30、 第一处理模块 40和 第二处理模块 50, 并且可以执行第一获取模块 10中包含的读取单元 101和提取单元 103、 保存模块 30中包含的第一保存单元 301和第二保存单元 303, 以及第一处理模 块 40中包含的选择单元 401、 读取单元 402、 的处理单元 403的相应功能。 实施例三 基于上述实施例二提供的装置, 本申请还可以提供一个可以通过用户输入以选 择 执行恢复用 MBR或被修改 MBR的实施例三。本实施例可以看成是对实施例 二的方案 的改进, 在不冲突的情况下, 可以进行结合说明和描述。 本实施例中的装置还包括: 引导程序。 其中, 该引导程序被保存在磁盘中, 其保存的位置记为扇区号 3。 扇区号 3也被 保存在系统引导扇区中, 并且在系统启动过程中, 先于扇区号 1或扇区号 2被读取, 并且系统根据读取到的扇区号 3从磁盘中加载引导程序到内存。 该引导程序设置为提 供给用户接口选择将要执行的恢复用 MBR和被修改 MBR中的一个。 上述实施例三所提供的方案, 提供了一个新的 MBR, 该新的 MBR中储存了 "恢 复用 MBR"、 "被修改 MBR"和 "引导程序" 的扇区号。 在系统引导过程中, 可以将 "恢复用 MBR"或 "被修改 MBR"的扇区号提供给 "引导程序", 从而通过 "引导程 序"为用户提供了是否选择执行恢复用 MBR的功能。 具体的, 该引导程序为用户提供了一个界面, 使得用户可以根据需求选择该界面 上的按钮来选择执行 "恢复用 MBR"或 "被修改 MBR"。 从而使得系统在重启之后的 系统启动过程中, 如果用户选择执行 "恢复用 MBR", 则根据 "恢复用 MBR"的扇区 号将其从磁盘上读取并加载进内存, 并将控制权交给 "恢复用 MBR"完成启动过程; 如果用户选择 "取消恢复"(即选择执行 "被修改 MBR"), 则根据 "被修改 MBR"的 扇区号将其从磁盘上读取并加载进内存, 并可以将内存中的 "被修改 MBR"重新写回 系统引导扇区, 将控制权交给内存中加载的 "被修改 MBR"完成启动过程。 上述方案为用户提供了一种手动选择恢复或者 取消恢复的功能, 相对于系统按照 预先设定的规则来自动启动恢复用 MBR或被修改 MBR的方案,该方案更具有灵活性。 优选地, 在该按用户需求选择的基础上, 也可以加载一个预先设定的启动规则, 例如, 当用户选择 "恢复用 MBR"之后, 如果执行该恢复用 MBR导致系统启动失败 的情况下, 可以调用预先设定的启动规则, 例如, 在执行恢复用 MBR失败导致系统 无法正常启动的情况下, 则重新启动操作系统, 再执行被修改 MBR完成系统的启动 过程, 从而保证系统可以正常启动。 优选地, 用户执行 "恢复用 MBR"后, 如果系统可以正常启动, 则可以立即提示 用户或者在下一次系统启动的过程中提示用户 是否保持修改。 如果选择是, 则可以将 "恢复用 MBR"直接写入系统引导扇区, 恢复过程成功结束; 否则, 可以将 "被修改 MBR"写入系统引导扇区, 则恢复被取消。 本申请该实施例三中的数据处理装置可以是一 个耦合了存储器的处理器, 其中, 该处理器设置为执行以下模块: 第一获取模块 10、 保存模块 30、 第一处理模块 40和 第二处理模块 50, 并且还可以执行引导程序的功能。 实施例四 采用本发明实施例的技术构思, 本实施例四提供了一种新的方式恢复原始挂钩 , 通过尝试性的恢复原始挂钩, 如果原始挂钩的恢复过程中有任何异常状况, 可以采用 恢复原始挂钩来消执行函数的恢复, 从而可以避免诸多风险。 在实施例四中, 当原始数据为调用者调用被调用者时的执行函 数时, 修改数据为 用于截获执行函数的原始挂钩, 恢复数据为用于恢复运行执行函数的恢复用挂 钩。 本 实施例四提供了一种挂钩处理装置, 包括: 第二获取模块, 设置为获取原始挂钩和恢复挂钩, 其中, 原始挂钩为用于截获执 行函数挂钩, 恢复挂钩为用于恢复运行执行函数的恢复用挂 钩, 执行函数为访问应用 程序时运行的函数; 第三处理模块耦合至第二获取模块, 设置为执行原始挂钩和恢复挂钩中的一个; 第四处理模块耦合至第三处理模块, 设置为在执行原始挂钩和恢复挂钩中的一个 失败的情况下, 执行原始挂钩和恢复挂钩中的另一个。 其中, 第四处理模块还包括: 第三处理单元, 设置为执行恢复用挂钩调用应用程 序; 另一返回单元, 设置为在判断恢复用挂钩调用应用程序成功后 , 将恢复用挂钩的 执行结果返回给调用者, 否则, 第四处理单元, 设置为执行原始挂钩。 本申请上述实施例提供了全新的安全摘除原始 挂钩的方法, 具体的, 例如原始挂 钩是恶意软件对程序进行的挂钩,如果直接摘 除原始挂钩可能导致程序无法正常运行。 在这种情况下, 首先在原始挂钩所钩挂的调用函数和被调用函 数之间钩挂一个恢复用 挂钩。 在摘除原始挂钩之后, 调用函数通过恢复用挂钩调用被调用函数; 此时, 判断 调用函数和被调用函数之间是否还能够正常调 用, 以及程序是否能够正常运行。 如果 是, 则可以把原始挂钩永久摘除, 否则, 恢复使用原始挂钩, 以防止程序不能正常运 行。 在这种情况下, 直接摘除挂钩式会对程序的运行造成影响的, 那么就需要寻求其 他的办法对被恶意挂钩的程序进行处理了。 优选地, 执行函数上安装一个新的挂钩, 而生成恢复用挂钩, 可以在重启之后, 选择性的执行被调用者(即调用函数), 即在 "调用者"发起调用之后, 安全软件可以 默认自动调用已经安装的 "恢复用挂钩", 该 "恢复用挂钩"尝试性的直接调用 "被调 用者(即被调用函数) ", 如果执行的过程中没有任何问题, "恢复用挂钩 "将执行结果 返回 "调用者", 如果出现任何问题、 异常, 安全软件重定位调用 "原始挂钩", 此时 将控制权交给"原始挂钩", 虽然原始挂钩还会继续工作, 但是不会影响到现有软件系 统的正常使用。 利用上述装置可以避免直接摘除挂钩的过程中 可能出现的异常情况。 本申请上述实例中的原始挂钩可以是恶意软件 所安装的挂钩。 本申请该实施例四中的数据处理装置可以是一 个耦合了存储器的处理器, 其中, 该处理器设置为执行以下模块: 第二获取模块、第三处理模块和第四处理模块 , 其中, 第四处理模块还执行第三处理单元,、 另一返回单元和第四处理单元的功能。 本领域技术人员可以理解, 基于本实施例以及本发明实施例的技术构思, 实施例

4的这种方案和思想可以用于实现本发明的 他实施例, 即通过挂钩 hook技术实现, 在本发明实施例的启示下,本领域技术人员显 然能够采用挂钩 hook技术或者其他技术 来实现本发明, 这里不再赘述。 实施例五 针对上述实施例一所提供的装置,可以采用如 图 4所示的实施例进行进一步说明, 下面以系统文件的恢复为例来进行详细描述, 实施例五提供了一种新的方式恢复系统 文件, 通过尝试性的恢复系统文件, 如果系统文件恢复的过程中有任何异常状况, 可 以取消恢复, 从而可以避免诸多风险。 基于图 4所示的实施例五, 其中, 原始数据为原始系统文件, 该原始系统文件是 指系统安装时未经其他程序修改的系统文件, 操作系统往往会将重要的系统文件进行 备份, 以备需要的时候使用; 修改数据为对原始系统文件进行修改后得到的 被修改系 统文件, 在系统运行的过程中, 系统文件会因为其他程序的行为而被写入新的 数据, 从而得到被修改系统文件; 一般情况下, 被修改系统文件是合法的, 但是恶意软件也 可以对系统文件进行恶意修改, 例如加入病毒代码等, 从而感染系统文件; 在本实施 例中使用的恢复数据为原始系统文件, 当然也可以是在系统使用的某个时间点备份的 系统文件, 在本实施例中使用原始系统文件作为恢复数据 进行说明, 不应理解为对本 实施例的限定。 其中, 涉及到的保存模块 30可以包括第一保存单元 302和第二保存单元 304。 优选地, 第一保存单元 302, 设置为将原始系统文件和被修改系统文件分别 保存 至磁盘; 第二保存单元 304, 设置为记录保存原始系统文件和被修改系统文 件的磁盘 路径。 优选地,第一处理模块 40设置为: 选择将要使用的原始系统文件和被修改系统文 件中的一个; 根据第二保存单元 304记录的磁盘路径, 读取被选择的原始系统文件或 被修改系统文件; 使用选择的原始系统文件或被修改系统文件。 以选择使用原始系统 文件为例: 原始系统文件的磁盘路径为路径 1, 被修改系统文件的磁盘路径为路径 2, 在应用程序需要使用原始系统文件或被修改系 统文件的情况下, 选择使用原始系统文 件, 则根据记录的路径 1调用原始系统文件。 优选地, 第一处理模块 40可以包括: 读取单元 404, 设置为根据磁盘路径读取原 始系统文件或被修改系统文件; 复制单元 406, 设置为将原始系统文件或被修改系统 文件复制到原始系统文件的工作路径, 其中, 该工作路径是原始系统文件工作时正常 访问的路径, 在该路径下系统文件能够被应用程序正常调用 并执行。 优选地, 该装置还包括重定向驱动, 该重定向驱动设置为在原始系统文件或被修 改系统文件将被访问的情况下, 根据它们保存的磁盘路径将文件访问路径 (即前述的 应用程序正常调用该系统文件的路径) 由工作路径重定向到被选择的原始系统文件或 被修改系统文件的磁盘路径, 以使得被选择的原始系统文件或被修改系统文 件获得执 行。 优选地, 在对系统文件进行修复之前, 可以检查上述原始系统文件是否可以进行 修复, 如果可以修复则对原始系统文件进行修复, 从而得到被修复系统文件。 此时, 可以将被修复系统文件作为恢复数据, 而将被修改系统文件作为修改数据。 类似的, 也可以在保存恢复数据和修改数据之后, 选择并使用恢复数据和修改数据中的一个。 在恢复数据为被修复系统文件, 修改数据为被修改系统文件的情况下, 也可以结 合上述实施例五进行说明和描述, 在此不再赘述。 本申请上述实施例提供了文件访问的重定向驱 动。 其中, 重定向驱动位于操作系 统内核, 可以利用文件系统过滤驱动实现, 它的主要功能是: 监控操作系统的文件访 问以及重定向文件访问。 由上可知, 本申请上述实施例五通过提供的重定向驱动, 在当前运行的原始系统 文件或被修复系统文件使得系统无法正常运行 的情况下, 提供了一种选择使用被修改 系统文件的方案, 从而避免了由于被修复系统文件的修复失败或 者原始系统文件使用 过程中造成的系统无法正常运行的问题。 本申请该实施例五中的数据处理装置可以是一 个耦合了存储器的处理器, 其中, 该处理器设置为执行以下模块: 第一获取模块 10、 保存模块 30、 第一处理模块 40和 第二处理模块 50, 其中, 保存模块 30还执行第一保存单元 302和第二保存单元 304 的功能, 第一处理模块 40还执行读取单元 404和复制单元 406的功能。 实施例六 本实施例还提供了一种电子设备,该电子设备 可以用于实现上述的数据处理方法、 挂钩处理方法, 并且, 其中可以包括上述的数据处理装置和 /或挂钩处理装置。 该电子 设备包括: 各种用户终端, 例如固定设备, 或者便携式智能设备。 图 5是根据本发明实施例六的电子设备的结构示 图, 如图 5所示, 该电子设备 包括: 存储器 52, 设置为存储恢复数据和修改数据, 其中, 修改数据是原始数据被修改 后得到的数据, 恢复数据是用于将修改数据中的至少部分数据 恢复为原始数据中的数 据的数据; 处理器 54, 设置为获取恢复数据和修改数据; 显示及输入设备 56, 设置为向用户提供显示界面, 以及接收用户的输入, 其中, 显示界面设置为显示对恢复数据和修改数据的 选择过程, 用户的输入用于确定执行恢 复数据和修改数据中的一个; 处理器 54, 还设置为根据用户的输入, 执行恢复数据和修改数据中的一个, 在执 行所述恢复数据和所述修改数据中的一个失败 的情况下, 自动或者根据用户的输入执 行所述恢复数据和所述修改数据中的另一个。 如本发明实施例所使用的, 术语 "模块"、 "组件"或 "单元"可以指在计算机系 统上执行的软件对象或例程。 尽管此处所描述的系统和方法较佳地以软件来 实现, 但 是硬件或软件和硬件的组合的实现也是可能并 被构想的。 同样的本申请的原理可以使用其它通用或专用 计算或通信环境或配置来操作。 适 用于本申请的众所周知的计算系统、 环境和配置的示例包括但不限于, 个人计算机、 服务器, 多处理器系统、 基于微处理的系统、 小型机、 大型计算机、 以及包括任一上 述系统或设备的分布式计算环境。 实施例七 本实施例还提供了一种数据处理方法, 该数据处理方法的相应步骤和特征也可以 结合上述数据处理装置的模块和功能结合进行 描述, 在本实施例中不再赘述。 图 6是根据本发明实施例七的数据处理方法的流 图, 如图 6所示, 包括如下步 骤: 步骤 S602, 获取恢复数据和修改数据, 其中, 所述修改数据是对原始数据进行修 改而得到的数据, 恢复数据是用于将修改数据中的至少部分数据 恢复为原始数据中的 数据的数据; 步骤 S604, 执行恢复数据和修改数据中的一个; 步骤 S606, 在执行恢复数据和修改数据中的一个失败的情 况下, 使用恢复数据和 修改数据中的另一个。 优选地, 该方法还包括: 保存恢复数据和修改数据, 并将恢复数据和修改数据分 别保存至预定的存储区。 优选地, 原始数据为用于系统启动的原始主引导记录, 修改数据为对原始主引导 记录进行修改后得到的被修改主引导记录, 恢复数据为由原始主引导记录的一部分和 被修改主引导记录的一部分组成的恢复用主引 导记录, 其中, 被修改主引导记录的一 部分包括被修改主引导记录的分区表。 优选地, 保存恢复数据和修改数据包括: 将恢复用主引导记录和被修改主引导记 录分别保存至磁盘; 将保存恢复用主引导记录和被修改主引导记录 的磁盘的扇区号分 别保存至系统引导扇区。 优选地, 执行恢复数据和修改数据中的一个包括: 选择将要执行的恢复用主引导 记录和被修改主引导记录中的一个; 根据系统引导扇区中保存的扇区号, 读取被选择 的恢复用主引导记录或被修改主引导记录; 执行恢复用主引导记录或被修改主引导记 录。 优选地,在选择将要执行的恢复用主引导记录 和被修改主引导记录中的一个之前, 该方法还包括: 将引导程序保存至磁盘, 并将保存引导程序的磁盘的扇区号保存至系 统引导扇区, 其中, 引导程序设置为提供给用户接口选择将要执行 的恢复用主引导记 录和被修改主引导记录中的一个, 引导程序在恢复用主引导记录或被修改主引导 记录 之前被读取并执行; 其中, 选择将要执行的恢复用主引导记录和被修改主 引导记录中 的一个包括: 根据用户通过引导程序提供的用户接口进行的 选择, 选择恢复用主引导 记录和被修改主引导记录中的一个。 优选地, 原始数据为原始系统文件, 修改数据为对原始系统文件进行修改后得到 的被修改系统文件, 恢复数据为原始系统文件。 优选地, 保存恢复数据和修改数据包括: 将原始系统文件和被修改系统文件分别 保存至磁盘; 记录保存原始系统文件和被修改系统文件的磁 盘路径。 优选地, 执行恢复数据和修改数据中的一个包括: 选择将要执行的原始系统文件 和被修改系统文件中的一个; 根据记录的磁盘路径, 读取被选择的原始系统文件或被 修改系统文件; 执行原始系统文件或被修改系统文件。 优选地, 执行原始系统文件或被修改系统文件包括: 根据磁盘路径, 读取原始系 统文件或被修改系统文件; 将原始系统文件或被修改系统文件复制到原始 系统文件的 工作路径, 其中, 工作路径是原始系统文件工作时被正常访问的 路径; 在工作路径运 行原始系统文件或被修改系统文件。 优选地, 在执行恢复数据和修改数据中的一个之前, 该方法还包括: 将磁盘路径 保存在重定向驱动中, 其中, 重定向驱动设置为在原始系统文件或被修改系 统文件将 被访问的情况下, 根据磁盘路径将文件访问路径由工作路径重定 向到被选择的原始系 统文件或被修改系统文件的磁盘路径。 实施例八 本申请实施例提供了一种挂钩处理方法, 图 7是根据本发明实施例八的挂钩处理 方法的流程示意图, 如图 7所示, 该流程包括如下步骤: 步骤 S702,获取原始挂钩和恢复挂钩,其中,原始 钩为用于截获执行函数挂钩, 恢复挂钩为用于恢复运行执行函数的恢复用挂 钩, 执行函数为访问应用程序时运行的 函数; 步骤 S704, 执行原始挂钩和恢复挂钩中的一个; 步骤 S706, 在执行原始挂钩和恢复挂钩中的一个失败的情 况下, 执行原始挂钩和 恢复挂钩中的另一个。 优选地, 步骤 S706可以包括: 执行所述恢复用挂钩调用所述应用程序; 在判断所 述恢复用挂钩调用所述应用程序成功后, 将所述恢复用挂钩的执行结果返回给所述调 用者, 否则, 执行所述原始挂钩。 实施例九 本申请优选实施例还提供了一种 MBR恢复方法, 在该方法中引入了一个全新的 MBR和实模式引导界面程序 (相当于上述引导程序) 这个新 MBR的功能如下:

1、 储存现有方案中 "恢复用 MBR"、 "被修改 MBR"和全新方案中 "实模式引导 界面程序"作为磁盘文件的扇区编号;

2、 接管引导过程, 并根据存在自己内部的 "实模式引导界面程序"的磁盘扇区号 读取它, 并加载到内存。 并且将 "恢复用 MBR"、 "被修改 MBR" 的磁盘扇区号传递 给 "实模式引导界面程序";

3、 将控制权交给 "实模式引导界面程序"。 实模式引导界面程序的功能如下:

1、 提供一个简单的界面, 让用户选择 "恢复 MBR"和 "取消恢复";

2、 根据用户选择和 "恢复用 MBR"、 "被修改 MBR"的磁盘扇区号将用户所选的 MBR从磁盘上读取并加载到内存; 3、 将控制权交给用户选择的 MBR。 图 8是根据本发明实施例九的 MBR恢复方法的流程示意图, 参照图 8所示, 本 实施例进行 MBR恢复时的具体流程如下: 步骤 1, 获取原始 MBR; 步骤 2, 获取当前的 "被修改 MBR"; 步骤 3, 将当前的 "被修改 MBR" 中的分区表部分提取出来; 步骤 4, 将分区表放入原始 MBR, 形成 "恢复用 MBR"; 步骤 5, 将 "被修改 MBR"、 "恢复用 MBR" 以文件形式写入磁盘; 步骤 6, 将 "实模式引导界面程序" 以文件形式写入磁盘, 并且保证文件在磁盘 上连续 (避免文件碎片); 步骤 7, 获取 "被修改 MBR"、 "恢复用 MBR"、 "实模式引导界面程序"文件在 磁盘上的扇区编号, 将其写入 "全新 MBR" 中; 步骤 8, 将 "全新 MBR"写入磁盘第 0号扇区; 步骤 9, 重新启动; 步骤 10, "全新 MBR"获取控制权; 步骤 11, "全新 MBR"根据 "实模式引导界面程序" 的扇区号将其从磁盘上读取 并加载进内存。 将控制权交给 "实模式引导界面程序"; 步骤 12, "实模式引导界面程序"提示并让用户选择 "恢复 MBR"或者 "取消恢 复"; 步骤 13, 如果用户选择 "恢复 MBR", 则根据 "恢复用 MBR" 的扇区号将其从 磁盘上读取并加载进内存。 将控制权交给 "恢复用 MBR"; 步骤 14, 如果用户选择 "取消恢复", 则根据 "被修改 MBR" 的扇区号将其从磁 盘上读取并加载进内存。 并将内存中的 "被修改 MBR"重新写回磁盘第 0号扇区。 将 控制权交给内存中的 "被修改 MBR"; 步骤 15, 如果用户是从 "恢复用 MBR"启动, 如果可以正常启动, 启动后则提 示用户是否保持修改。 如果是, 则将 "恢复用 MBR"直接写入磁盘第 0号扇区, 恢复 成功。 否则, 将 "被修改 MBR"写入磁盘第 0号扇区, 恢复取消; 步骤 16, 如果用户是从 "恢复用 MBR"启动, 但是无法正常启动, 用户重新启 动后从步骤 9重新进行。 在这里有机会选择 "取消恢复"。 实施例十 本申请实施例还提供了一种文件恢复方法, 该方法在现有解决方案的基础上, 引 入一套新的机制,用于规避文件恢复产生的风 险。在该实施例中引入两个全新的模块: 文件访问重定向驱动和程序运行监控。 文件访问重定向驱动位于操作系统内核, 利用文件系统过滤驱动实现。 其主要功 能是:

1、 监控操作系统的文件访问;

2、 重定向文件访问。 程序运行监控包含监控驱动程序和界面。 它的主要功能是: 1、 监控进程运行和结束;

2、 接收文件访问重定向驱动的信息;

3、 询问用户是否保存更改。 本优选实施例的技术方案可以包括如下的步骤 : 步骤 1, 扫描系统文件, 检查文件是否被修改、 替换; 步骤 2, 如果没有, 结束; 步骤 3, 如果有, 那么尝试修复或者恢复文件; 步骤 4, 检查该文件是否可修复; 步骤 5, 如果可以修复, 则进行修复: 将修复前的文件移动到其他位置, 将修复 后的文件放到文件之前的位置。 并且将文件路径、 移动后的文件路径告诉文件访问重 定向驱动; 步骤 6, 如果修复成功, 则结束; 步骤 7, 如果无法修复或者修复失败, 尝试恢复文件; 步骤 8, 检查该文件是否可恢复; 步骤 9, 如果可以修复, 则进行恢复: 将恢复前的文件移动到其他位置, 将恢复 后的文件放到文件之前的位置。 并且将文件路径、 移动后的文件路径告诉文件访问重 定向驱动; 步骤 10, 如果恢复成功, 则结束; 步骤 11, 如果无法恢复或者恢复失败, 尝试删除文件; 步骤 12, 检查文件是否可以删除; 步骤 13, 如果文件可以删除, 则进行删除: 将删除前的文件移动到其他位置, 将 删除前的文件路径告诉文件访问重定向驱动; 步骤 14, 如果删除成功, 则结束; 步骤 15, 如果无法删除或者删除失败, 那么失败并结束; 步骤 16, 如果成功并结束, 告知文件访问重定向驱动和程序运行监控, 当前启动 是尝试启动, 并重新启动; 步骤 17, 在尝试启动时, 文件访问重定向驱动监控到操作系统尝试访问 的文件是 被修改、 替换的文件, 则将访问文件的进程信息 (PID、 进程名) 告知程序运行监控, 并且告知程序运行监控, 正在尝试使用修复、 恢复后的文件启动系统。 步骤 18, 当程序运行监控收到重定向驱动告知自己的进 程信息后, 开始监控访问 被修改、 替换的文件的进程。 在进程结束后, 检查进程是否正常结束。 如果是正常结 束, 则监控操作系统的关键进程启动, 以确定操作系统正常启动。 步骤 19, 如果该进程异常结束或者操作系统启动失败, 则告知文件访问重定向驱 动, 下次启动为故障启动。 并重新启动。 步骤 20, 如果该进程正常结束, 并且操作系统正常启动, 这是我们的预期结果, 结束。 步骤 21, 在故障启动时, 文件访问重定向驱动监控到操作系统尝试访问 的文件是 被修改、 替换的文件, 那么将文件访问重定向到修复、 恢复、 删除前的文件。 并且告 知程序运行监控, 需要取消修复、 恢复、 删除操作。 步骤 22, 当程序运行监控收到需要取消修复、 恢复、 删除, 则监控操作系统的关 键进程启动。 等操作系统正常启动后, 将修复、 恢复、 删除操作时移动到其他位置的 文件移动回原位置。 整个操作取消。 综上所述, 根据本申请的上述实施例或优选实施例和优选 实施方式, 提供一种全 新的方式恢复 MBR、文件恢复方法。采用本申请的上述实施例 和优选实施例可以避免 恢复失败带来的诸多风险。 即, 可以尝试性的恢复 MBR、 系统文件或摘除挂钩, 如果 恢复的过程中有任何异常状况, 还可以用多种途径取消恢复。 需要说明的是, 在附图的流程图示出的步骤可以在诸如一组计 算机可执行指令的 计算机系统中执行, 并且, 虽然在流程图中示出了逻辑顺序, 但是在某些情况下, 可 以以不同于此处的顺序执行所示出或描述的步 骤。 显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤可以用通用 的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布在多个计算装置所 组成的网络上, 可选地, 它们可以用计算装置可执行的程序代码来实现 , 从而, 可以 将它们存储在存储装置中由计算装置来执行, 或者将它们分别制作成各个集成电路模 块, 或者将它们中的多个模块或步骤制作成单个集 成电路模块来实现。 这样, 本发明 不限制于任何特定的硬件和软件结合。 以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领域的技 术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则之内, 所作的 任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。