CN104516791B - 数据处理方法、装置及电子设备 - Google Patents

数据处理方法、装置及电子设备 Download PDF

Info

Publication number
CN104516791B
CN104516791B CN201310462344.XA CN201310462344A CN104516791B CN 104516791 B CN104516791 B CN 104516791B CN 201310462344 A CN201310462344 A CN 201310462344A CN 104516791 B CN104516791 B CN 104516791B
Authority
CN
China
Prior art keywords
data
modification
recovery
system file
boot record
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.)
Active
Application number
CN201310462344.XA
Other languages
English (en)
Other versions
CN104516791A (zh
Inventor
李丁盼
徐鸣
陈勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Cheetah Mobile Technology Co Ltd
Original Assignee
Beijing Cheetah Mobile Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Cheetah Mobile Technology Co Ltd filed Critical Beijing Cheetah Mobile Technology Co Ltd
Priority to CN201310462344.XA priority Critical patent/CN104516791B/zh
Priority to PCT/CN2013/085434 priority patent/WO2015043010A1/zh
Priority to US14/379,171 priority patent/US9804932B2/en
Publication of CN104516791A publication Critical patent/CN104516791A/zh
Application granted granted Critical
Publication of CN104516791B publication Critical patent/CN104516791B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种数据处理方法、装置和电子设备,其中,该方法包括:在原始数据被修改的情况下,获取恢复数据和修改数据,其中,修改数据是原始数据被修改后得到的数据,恢复数据是用于将修改数据中的至少部分数据恢复为原始数据中的数据的数据;执行恢复数据和修改数据中的一个;在执行恢复数据和修改数据中的一个失败的情况下,执行恢复数据和修改数据中的另一个。通过本发明,解决了对***或者***文件进行恢复而导致***无法正常工作的问题,提高了***的稳定性。本发明可用于计算机病毒的解决方案中。

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)类似,如果文件在修复、恢复失败后,绝大多数杀毒软件会去尝试删除文件。如果被修改、替换的文件是***启动的关键文件,或者是***正常工作必备的关键文件。在文件被删除后,操作***将无法正常启动,或者操作***无法正常工作。这种故障也是致命的。
目前针对相关技术中对***或者***文件进行恢复而导致***无法正常工作的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中对***或者***文件进行恢复而导致***无法正常工作的问题,目前尚未提出有效的解决方案,为此,本发明的主要目的在于提供一种数据处理方法、装置以及电子设备,以解决上述问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据处理方法,该方法包括:在原始数据被修改的情况下,获取恢复数据和修改数据,其中,修改数据是原始数据被修改后得到的数据,恢复数据是用于将修改数据中的至少部分数据恢复为原始数据中的数据的数据;执行恢复数据和修改数据中的一个;在执行恢复数据和修改数据中的一个失败的情况下,执行恢复数据和修改数据中的另一个。
结合这个方面,在这个方面第一种可能的实现方式中,在获取所述恢复数据和所述修改数据之后,所述方法还包括:
保存所述恢复数据和所述修改数据以将所述恢复数据和所述修改数据分别保存至预定的存储区。
结合这个方面第一种可能的实现方式,在这个方面的第二种可能的实现方式中,所述原始数据为用于***启动的原始主引导记录,所述修改数据为所述原始主引导记录被修改后得到的被修改主引导记录,所述恢复数据为由所述原始主引导记录的一部分和所述被修改主引导记录的一部分组成的恢复用主引导记录,其中,所述被修改主引导记录的一部分包括所述被修改主引导记录的分区表。
结合这个方面第二种可能的实现方式,在这个方面的第三种可能的实现方式中,所述保存所述恢复数据和所述修改数据包括:
将所述恢复用主引导记录和所述被修改主引导记录分别保存至磁盘;
将保存所述恢复用主引导记录和所述被修改主引导记录的磁盘的扇区号分别保存至***引导扇区。
结合这个方面第三种可能的实现方式,在这个方面的第四种可能的实现方式中,所述执行所述恢复数据和所述修改数据中的一个包括:
选择将要执行的所述恢复用主引导记录和所述被修改主引导记录中的一个;
根据所述***引导扇区中保存的扇区号,读取并执行被选择的所述恢复用主引导记录或所述被修改主引导记录。
结合这个方面第四种可能的实现方式,在这个方面的第五种可能的实现方式中,在选择将要执行的所述恢复用主引导记录和所述被修改主引导记录中的一个之前,所述方法还包括:
将引导程序保存至磁盘,并将保存所述引导程序的磁盘的扇区号保存至***引导扇区,其中,所述引导程序用于提供用户接口,所述用户接口用于用户选择所述恢复用主引导记录和所述被修改主引导记录中的一个,所述引导程序在所述恢复用主引导记录或所述被修改主引导记录之前被读取并执行;
其中,所述选择将要执行的所述恢复用主引导记录和所述被修改主引导记录中的一个包括:
根据用户通过所述引导程序提供的所述用户接口进行的选择,选择所述恢复用主引导记录和所述被修改主引导记录中的一个。
结合这个方面第一种可能的实现方式,在这个方面的第六种可能的实现方式中,所述原始数据为原始***文件,所述修改数据为所述原始***文件被修改后得到的被修改***文件,所述恢复数据为所述原始***文件。
结合这个方面第六种可能的实现方式,在这个方面的第七种可能的实现方式中,所述保存所述恢复数据和所述修改数据包括:
将作为所述恢复数据的原始***文件和所述被修改***文件分别保存至磁盘;
记录保存作为所述恢复数据的原始***文件和所述被修改***文件的磁盘路径。
结合这个方面第七种可能的实现方式,在这个方面的第八种可能的实现方式中,执行所述恢复数据和所述修改数据中的一个包括:
选择将要执行的作为所述恢复数据的原始***文件和所述被修改***文件中的一个;
根据记录的所述磁盘路径,读取被选择的作为所述恢复数据的原始***文件或所述被修改***文件;
执行作为所述恢复数据的原始***文件或所述被修改***文件。
结合这个方面第八种可能的实现方式,在这个方面的第九种可能的实现方式中,执行所述原始***文件或所述被修改***文件包括:
根据所述磁盘路径,读取作为所述恢复数据的原始***文件或所述被修改***文件;
将作为所述恢复数据的原始***文件或所述被修改***文件复制到所述原始***文件的工作路径,其中,所述工作路径是所述原始***文件工作时被正常访问的路径;
在所述工作路径运行作为所述恢复数据的原始***文件或所述被修改***文件。
结合这个方面第八种可能的实现方式,在这个方面的第十种可能的实现方式中,在执行所述恢复数据和所述修改数据中的一个之前,所述方法还包括:
将所述磁盘路径保存在重定向驱动中,其中,所述重定向驱动用于在作为所述恢复数据的原始***文件或所述被修改***文件将被访问的情况下,根据所述磁盘路径将文件访问路径由所述原始***文件的工作路径重定向到被选择的作为所述恢复数据的原始***文件或所述被修改***文件的磁盘路径,其中,所述工作路径是所述原始***文件工作时被正常访问的路径。
为了实现上述目的,根据本发明的另一方面,还提供了一种数据处理装置,该装置包括:第一获取模块,用于在原始数据被修改的情况下,获取恢复数据和修改数据,其中,修改数据是原始数据被修改后得到的数据,恢复数据是用于将修改数据中的至少部分数据恢复为原始数据中的数据的数据;第一处理模块,用于执行恢复数据和修改数据中的一个;第二处理模块,用于在执行恢复数据和修改数据中的一个失败的情况下,执行恢复数据和修改数据中的另一个。
结合这个方面,在这个方面第一种可能的实现方式中,所述装置还包括:
保存模块,用于保存所述恢复数据和所述修改数据,以将所述恢复数据和所述修改数据分别保存至预定的存储区。
结合这个方面第一种可能的实现方式,在这个方面的第二种可能的实现方式中,,所述原始数据为用于***启动的原始主引导记录,所述修改数据为所述原始主引导记录被修改后得到的被修改主引导记录,所述恢复数据为由所述原始主引导记录的一部分和所述被修改主引导记录的一部分组成的恢复用主引导记录,其中,所述被修改主引导记录的一部分包括所述被修改主引导记录的分区表。
结合这个方面第二种可能的实现方式,在这个方面的第三种可能的实现方式中,所述保存模块用于:将所述恢复用主引导记录和所述被修改主引导记录分别保存至磁盘,并将保存所述恢复用主引导记录和所述被修改主引导记录的磁盘的扇区号分别保存至***引导扇区。
结合这个方面第三种可能的实现方式,在这个方面的第四种可能的实现方式中,所述第一处理模块用于:选择将要执行的所述恢复用主引导记录和所述被修改主引导记录中的一个,根据所述***引导扇区中保存的扇区号,读取被选择的所述恢复用主引导记录或所述被修改主引导记录,并执行所述恢复用主引导记录或所述被修改主引导记录。
结合这个方面第四种可能的实现方式,在这个方面的第五种可能的实现方式中,所述装置还包括:
储存模块,用于将引导程序保存至磁盘,并将保存所述引导程序的磁盘的扇区号保存至***引导扇区,其中,所述引导程序用于提供用户接口,所述用户接口用于用户选择所述恢复用主引导记录和所述被修改主引导记录中的一个,所述引导程序在所述恢复用主引导记录或所述被修改主引导记录之前被读取并执行;
其中,所述第一处理模块用于:根据用户通过所述引导程序提供的所述用户接口进行的选择,选择所述恢复用主引导记录和所述被修改主引导记录中的一个。
结合这个方面第一种可能的实现方式,在这个方面的第六种可能的实现方式中,所述原始数据为原始***文件,所述修改数据为所述原始***文件被修改后得到的被修改***文件,所述恢复数据为所述原始***文件。
结合这个方面第六种可能的实现方式,在这个方面的第七种可能的实现方式中,所述保存模块用于:将作为所述恢复数据的原始***文件和所述被修改***文件分别保存至磁盘,并记录保存作为所述恢复数据的原始***文件和所述被修改***文件的磁盘路径。
结合这个方面第七种可能的实现方式,在这个方面的第八种可能的实现方式中,所述第一处理模块用于:选择将要执行的作为所述恢复数据的原始***文件和所述被修改***文件中的一个,根据记录的所述磁盘路径,读取被选择的作为所述恢复数据的原始***文件或所述被修改***文件,并执行作为所述恢复数据的原始***文件或所述被修改***文件。
结合这个方面第八种可能的实现方式,在这个方面的第九种可能的实现方式中,所述第一处理模块还用于:根据所述磁盘路径,读取作为所述恢复数据的原始***文件或所述被修改***文件;将作为所述恢复数据的原始***文件或所述被修改***文件复制到所述原始***文件的工作路径,其中,所述工作路径是所述原始***文件工作时被正常访问的路径;以及在所述工作路径运行作为所述恢复数据的原始***文件或所述被修改***文件。
结合这个方面第八种可能的实现方式,在这个方面的第十种可能的实现方式中,所述装置还包括:
储存模块,用于将所述磁盘路径保存在重定向驱动中,其中,所述重定向驱动用于在作为所述原始***文件或所述被修改***文件将被访问的情况下,根据所述磁盘路径将文件访问路径由所述原始***文件的工作路径重定向到被选择的作为所述恢复数据的原始***文件或所述被修改***文件的磁盘路径,其中,所述工作路径是所述原始***文件工作时被正常访问的路径。
为了实现上述目的,根据本发明的另一方面,还提供了一种电子设备,该电子设备包括:存储器,用于存储恢复数据和修改数据,其中,修改数据是原始数据被修改后得到的数据,恢复数据是用于将修改数据中的至少部分数据恢复为原始数据中的数据的数据;处理器,用于获取恢复数据和修改数据;显示及输入设备,用于向用户提供显示界面,以及接收用户的输入,其中,显示界面用于显示对恢复数据和修改数据的选择过程,用户的输入用于确定执行恢复数据和修改数据中的一个;处理器,还用于根据用户的输入,执行恢复数据和修改数据中的一个,在执行所述恢复数据和所述修改数据中的一个失败的情况下,自动或者根据用户的输入执行所述恢复数据和所述修改数据中的另一个。
通过本发明,采用在原始数据被修改的情况下,获取恢复数据和修改数据,其中,修改数据是原始数据被修改后得到的数据,恢复数据是用于将修改数据中的至少部分数据恢复为原始数据中的数据的数据;执行恢复数据和修改数据中的一个;在执行恢复数据和修改数据中的一个失败的情况下,执行恢复数据和修改数据中的另一个的方式,解决了对***或者***文件进行恢复而导致***无法正常工作的问题,提高了***的稳定性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图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时一般能够正确读取分区表信息,以保证***启动时读取到正确的分区信息。
上述实施例在***引导扇区中同时保存了恢复用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、***文件或摘除挂钩,如果恢复的过程中有任何异常状况,还可以用多种途径取消恢复。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (21)

1.一种数据处理方法,其特征在于,包括:
在原始数据被修改的情况下,获取恢复数据和修改数据,其中,所述修改数据是所述原始数据被修改后得到的数据,所述恢复数据是用于将所述修改数据中的至少部分数据恢复为所述原始数据中的数据;
执行所述恢复数据和所述修改数据中的一个;
在执行所述恢复数据和所述修改数据中的一个失败的情况下,执行所述恢复数据和所述修改数据中的另一个;
其中,所述原始数据为用于***启动的原始主引导记录,所述修改数据为所述原始主引导记录被修改后得到的被修改主引导记录,所述恢复数据为由所述原始主引导记录的一部分和所述被修改主引导记录的一部分组成的恢复用主引导记录,其中,所述被修改主引导记录的一部分包括所述被修改主引导记录的分区表。
2.根据权利要求1所述的方法,其特征在于,在获取所述恢复数据和所述修改数据之后,所述方法还包括:
保存所述恢复数据和所述修改数据以将所述恢复数据和所述修改数据分别保存至预定的存储区。
3.根据权利要求2所述的方法,其特征在于,所述保存所述恢复数据和所述修改数据包括:
将所述恢复用主引导记录和所述被修改主引导记录分别保存至磁盘;
将保存所述恢复用主引导记录和所述被修改主引导记录的磁盘的扇区号分别保存至***引导扇区。
4.根据权利要求3所述的方法,其特征在于,所述执行所述恢复数据和所述修改数据中的一个包括:
选择将要执行的所述恢复用主引导记录和所述被修改主引导记录中的一个;
根据所述***引导扇区中保存的扇区号,读取并执行被选择的所述恢复用主引导记录或所述被修改主引导记录。
5.根据权利要求4所述的方法,其特征在于,在选择将要执行的所述恢复用主引导记录和所述被修改主引导记录中的一个之前,所述方法还包括:
将引导程序保存至磁盘,并将保存所述引导程序的磁盘的扇区号保存至***引导扇区,其中,所述引导程序用于提供用户接口,所述用户接口用于用户选择所述恢复用主引导记录和所述被修改主引导记录中的一个,所述引导程序在所述恢复用主引导记录或所述被修改主引导记录之前被读取并执行;
其中,所述选择将要执行的所述恢复用主引导记录和所述被修改主引导记录中的一个包括:
根据用户通过所述引导程序提供的所述用户接口进行的选择,选择所述恢复用主引导记录和所述被修改主引导记录中的一个。
6.根据权利要求2所述的方法,其特征在于,所述原始数据还可以为原始***文件,所述修改数据还可以为所述原始***文件被修改后得到的被修改***文件,所述恢复数据还可以为所述原始***文件。
7.根据权利要求6所述的方法,其特征在于,所述保存所述恢复数据和所述修改数据包括:
将作为所述恢复数据的原始***文件和所述被修改***文件分别保存至磁盘;
记录保存作为所述恢复数据的原始***文件和所述被修改***文件的磁盘路径。
8.根据权利要求7所述的方法,其特征在于,执行所述恢复数据和所述修改数据中的一个包括:
选择将要执行的作为所述恢复数据的原始***文件和所述被修改***文件中的一个;
根据记录的所述磁盘路径,读取被选择的作为所述恢复数据的原始***文件或所述被修改***文件;
执行作为所述恢复数据的原始***文件或所述被修改***文件。
9.根据权利要求8所述的方法,其特征在于,执行所述原始***文件或所述被修改***文件包括:
根据所述磁盘路径,读取作为所述恢复数据的原始***文件或所述被修改***文件;
将作为所述恢复数据的原始***文件或所述被修改***文件复制到所述原始***文件的工作路径,其中,所述工作路径是所述原始***文件工作时被正常访问的路径;
在所述工作路径运行作为所述恢复数据的原始***文件或所述被修改***文件。
10.根据权利要求8所述的方法,其特征在于,在执行所述恢复数据和所述修改数据中的一个之前,所述方法还包括:
将所述磁盘路径保存在重定向驱动中,其中,所述重定向驱动用于在作为所述恢复数据的原始***文件或所述被修改***文件将被访问的情况下,根据所述磁盘路径将文件访问路径由所述原始***文件的工作路径重定向到被选择的作为所述恢复数据的原始***文件或所述被修改***文件的磁盘路径,其中,所述工作路径是所述原始***文件工作时被正常访问的路径。
11.一种数据处理装置,其特征在于包括:
第一获取模块,用于在原始数据被修改的情况下,获取恢复数据和修改数据,其中,所述修改数据是所述原始数据被修改后得到的数据,所述恢复数据是用于将所述修改数据中的至少部分数据恢复为所述原始数据中的数据;
第一处理模块,用于执行所述恢复数据和所述修改数据中的一个;
第二处理模块,用于在执行所述恢复数据和所述修改数据中的一个失败的情况下,执行所述恢复数据和所述修改数据中的另一个;
其中,所述原始数据为用于***启动的原始主引导记录,所述修改数据为所述原始主引导记录被修改后得到的被修改主引导记录,所述恢复数据为由所述原始主引导记录的一部分和所述被修改主引导记录的一部分组成的恢复用主引导记录,其中,所述被修改主引导记录的一部分包括所述被修改主引导记录的分区表。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
保存模块,用于保存所述恢复数据和所述修改数据,以将所述恢复数据和所述修改数据分别保存至预定的存储区。
13.根据权利要求12所述的装置,其特征在于,所述保存模块用于:将所述恢复用主引导记录和所述被修改主引导记录分别保存至磁盘,并将保存所述恢复用主引导记录和所述被修改主引导记录的磁盘的扇区号分别保存至***引导扇区。
14.根据权利要求13所述的装置,其特征在于,所述第一处理模块用于:选择将要执行的所述恢复用主引导记录和所述被修改主引导记录中的一个,根据所述***引导扇区中保存的扇区号,读取被选择的所述恢复用主引导记录或所述被修改主引导记录,并执行所述恢复用主引导记录或所述被修改主引导记录。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
储存模块,用于将引导程序保存至磁盘,并将保存所述引导程序的磁盘的扇区号保存至***引导扇区,其中,所述引导程序用于提供用户接口,所述用户接口用于用户选择所述恢复用主引导记录和所述被修改主引导记录中的一个,所述引导程序在所述恢复用主引导记录或所述被修改主引导记录之前被读取并执行;
其中,所述第一处理模块用于:根据用户通过所述引导程序提供的所述用户接口进行的选择,选择所述恢复用主引导记录和所述被修改主引导记录中的一个。
16.根据权利要求12所述的装置,其特征在于,所述原始数据还可以为原始***文件,所述修改数据还可以为所述原始***文件被修改后得到的被修改***文件,所述恢复数据还可以为所述原始***文件。
17.根据权利要求16所述的装置,其特征在于,所述保存模块用于:将作为所述恢复数据的原始***文件和所述被修改***文件分别保存至磁盘,并记录保存作为所述恢复数据的原始***文件和所述被修改***文件的磁盘路径。
18.根据权利要求17所述的装置,其特征在于,所述第一处理模块用于:选择将要执行的作为所述恢复数据的原始***文件和所述被修改***文件中的一个,根据记录的所述磁盘路径,读取被选择的作为所述恢复数据的原始***文件或所述被修改***文件,并执行作为所述恢复数据的原始***文件或所述被修改***文件。
19.根据权利要求18所述的装置,其特征在于,所述第一处理模块还用于:根据所述磁盘路径,读取作为所述恢复数据的原始***文件或所述被修改***文件;将作为所述恢复数据的原始***文件或所述被修改***文件复制到所述原始***文件的工作路径,其中,所述工作路径是所述原始***文件工作时被正常访问的路径;以及在所述工作路径运行作为所述恢复数据的原始***文件或所述被修改***文件。
20.根据权利要求18所述的装置,其特征在于,所述装置还包括:
储存模块,用于将所述磁盘路径保存在重定向驱动中,其中,所述重定向驱动用于在作为所述原始***文件或所述被修改***文件将被访问的情况下,根据所述磁盘路径将文件访问路径由所述原始***文件的工作路径重定向到被选择的作为所述恢复数据的原始***文件或所述被修改***文件的磁盘路径,其中,所述工作路径是所述原始***文件工作时被正常访问的路径。
21.一种电子设备,其特征在于,包括:
存储器,用于存储恢复数据和修改数据,其中,所述修改数据是原始数据被修改后得到的数据,所述恢复数据是用于将所述修改数据中的至少部分数据恢复为所述原始数据中的数据;
处理器,用于获取所述恢复数据和所述修改数据;
显示及输入设备,用于向用户提供显示界面,以及接收用户的输入,其中,所述显示界面用于显示对所述恢复数据和所述修改数据的选择过程,所述用户的输入用于确定执行所述恢复数据和所述修改数据中的一个;
所述处理器,还用于根据所述用户的输入,执行所述恢复数据和所述修改数据中的一个,在执行所述恢复数据和所述修改数据中的一个失败的情况下,自动或者根据用户的输入执行所述恢复数据和所述修改数据中的另一个;
其中,所述原始数据为用于***启动的原始主引导记录,所述修改数据为所述原始主引导记录被修改后得到的被修改主引导记录,所述恢复数据为由所述原始主引导记录的一部分和所述被修改主引导记录的一部分组成的恢复用主引导记录,其中,所述被修改主引导记录的一部分包括所述被修改主引导记录的分区表。
CN201310462344.XA 2013-09-30 2013-09-30 数据处理方法、装置及电子设备 Active CN104516791B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310462344.XA CN104516791B (zh) 2013-09-30 2013-09-30 数据处理方法、装置及电子设备
PCT/CN2013/085434 WO2015043010A1 (zh) 2013-09-30 2013-10-18 数据处理方法、装置及电子设备
US14/379,171 US9804932B2 (en) 2013-09-30 2013-10-18 Method and device for processing data and electronic apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310462344.XA CN104516791B (zh) 2013-09-30 2013-09-30 数据处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN104516791A CN104516791A (zh) 2015-04-15
CN104516791B true CN104516791B (zh) 2018-09-28

Family

ID=52741906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310462344.XA Active CN104516791B (zh) 2013-09-30 2013-09-30 数据处理方法、装置及电子设备

Country Status (3)

Country Link
US (1) US9804932B2 (zh)
CN (1) CN104516791B (zh)
WO (1) WO2015043010A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9547489B2 (en) * 2014-03-31 2017-01-17 Qualcomm Incorporated System and method for modifying a sequence of instructions in a read-only memory of a computing device
CN111651303A (zh) * 2020-07-07 2020-09-11 南京云信达科技有限公司 一种分布式架构的数据库在线备份和恢复方法技术领域

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1858714A (zh) * 2005-11-07 2006-11-08 珠海金山软件股份有限公司 一种预防与解决数据丢失的方法
CN101057246A (zh) * 2004-11-10 2007-10-17 松下电器产业株式会社 数据再现方法和数据处理装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205558B1 (en) * 1998-10-07 2001-03-20 Symantec Corporation Recovery of file systems after modification failure
US20060041738A1 (en) * 2004-08-17 2006-02-23 Yu-Chen Lai Recovery method for master boot record of hard disk drive
KR100746032B1 (ko) * 2006-01-04 2007-08-06 삼성전자주식회사 마스터 부트 레코드를 관리하는 저장 매체 및 상기 저장매체를 이용한 컴퓨터 시스템의 부팅 방법
US8037291B2 (en) * 2007-01-29 2011-10-11 Hewlett-Packard Development Company, L.P. Master boot record management
US9098448B2 (en) * 2007-05-29 2015-08-04 Dell Products L.P. Intelligent boot services
KR101489158B1 (ko) * 2008-05-21 2015-02-06 삼성전자 주식회사 마스터 부트 레코드가 저장되어 있는 저장매체, 이를포함하는 컴퓨터 시스템 및 그 부팅방법
CN101477484A (zh) * 2009-01-20 2009-07-08 杭州华三通信技术有限公司 一种恢复被破坏主引导程序的方法及设备
US8352717B2 (en) * 2009-02-09 2013-01-08 Cs-Solutions, Inc. Recovery system using selectable and configurable snapshots
CN101909087A (zh) * 2010-08-20 2010-12-08 北京联创信安科技有限公司 一种基于快照的应用服务器远程引导方法
CN102831031A (zh) * 2011-06-17 2012-12-19 鸿富锦精密工业(深圳)有限公司 操作***恢复方法及***
KR101403305B1 (ko) * 2012-08-23 2014-06-05 한국전자통신연구원 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법
CN102819444B (zh) * 2012-08-27 2015-09-02 新邮通信设备有限公司 一种基站中加载程序的方法和***
CN104008070A (zh) * 2013-02-25 2014-08-27 Lsi公司 固态驱动器中的主引导记录保护

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101057246A (zh) * 2004-11-10 2007-10-17 松下电器产业株式会社 数据再现方法和数据处理装置
CN1858714A (zh) * 2005-11-07 2006-11-08 珠海金山软件股份有限公司 一种预防与解决数据丢失的方法

Also Published As

Publication number Publication date
US20150309885A1 (en) 2015-10-29
WO2015043010A1 (zh) 2015-04-02
CN104516791A (zh) 2015-04-15
US9804932B2 (en) 2017-10-31

Similar Documents

Publication Publication Date Title
US11663323B2 (en) Process privilege escalation protection in a computing environment
US8966312B1 (en) System and methods for run time detection and correction of memory corruption
CN101479709B (zh) 在引导环境中标识恶意软件
KR100681696B1 (ko) 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법
US11438349B2 (en) Systems and methods for protecting devices from malware
EP4089556A1 (en) Code pointer authentication for hardware flow control
US20020178375A1 (en) Method and system for protecting against malicious mobile code
US6907524B1 (en) Extensible firmware interface virus scan
RU2697954C2 (ru) Система и способ создания антивирусной записи
US8910283B1 (en) Firmware-level security agent supporting operating system-level security in computer system
CN107330320A (zh) 应用进程监控的方法和装置
CN107479874B (zh) 一种基于Windows平台的DLL注入方法及***
CN106203092A (zh) 一种拦截恶意程序关机的方法、装置及电子设备
CN104516791B (zh) 数据处理方法、装置及电子设备
RU2583714C2 (ru) Агент безопасности, функционирующий на уровне встроенного программного обеспечения, с поддержкой безопасности уровня операционной системы
US7620983B1 (en) Behavior profiling
CN109583206B (zh) 监控应用程序的访问进程的方法、装置、设备及存储介质
US8868979B1 (en) Host disaster recovery system
KR101375656B1 (ko) 프로그램 보호 장치 및 프로그램 보호 방법
Shan et al. Device administrator use and abuse in Android: Detection and characterization
Whittaker et al. Neutralizing windows-based malicious mobile code
CN109344028B (zh) 一种免超级用户权限的进程行为监控装置与方法
CN115729647B (zh) 服务器启动管理***及方法
RU2739867C1 (ru) Способ определения модуля приложения, связанного с причиной неполадки, возникшей при работе приложения
US20240160735A1 (en) Malware Detection and Registry Repair Scripting

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100022 the 12 level of Fuxing International Center, 237 Chaoyang North Road, Chaoyang District, Beijing.

Applicant after: Beijing cheetah Mobile Technology Co., Ltd.

Address before: 100022 the 12 level of Fuxing International Center, 237 Chaoyang North Road, Chaoyang District, Beijing.

Applicant before: SHELL INTERNET (BEIJING) SECURITY TECHNOLOGY CO., LTD.

GR01 Patent grant
GR01 Patent grant