掌桥专利:专业的专利平台
掌桥专利
首页

已删除文件数据的数据恢复方法、设备及存储介质

文献发布时间:2024-04-18 19:53:33


已删除文件数据的数据恢复方法、设备及存储介质

技术领域

本发明涉及数据处理领域,尤其涉及一种已删除文件数据的数据恢复方法、设备及存储介质。

背景技术

Apple M1芯片集成了CPU、GPU、神经引擎(Neural Engine)和其他组件,M2将在原有基础上进一步提升,随着使用M1/M2芯片处理器的电脑的流行,怎样找回已删除的数据是一个难题。

目前用户只能找到已存在数据,无法恢复已删除的文件数据。

发明内容

本发明的主要目的在于解决目前用户只能找到已存在数据,无法恢复已删除的文件数据的技术问题。

本发明第一方面提供了一种已删除文件数据的数据恢复方法,所述已删除文件数据的数据恢复方法包括:

检测到已删除文件数据的数据恢复请求时,加载已签名驱动;

根据所述已签名驱动,获取磁盘的读写接口;

修改所述读写接口,得到目标读写接口,并修改所述目标读写接口中的驱动读写接口,得到目标驱动读写接口;

将所述目标驱动读写接口,关联预设的文件标识符;

根据所述文件标识符以及所述恢复请求携带的读取偏移值,获取目标文件数据;

在得到所述目标文件数据时,输出所述目标文件数据以响应所述恢复请求。

可选的,在本发明第一方面的第一种实现方式中,所述根据所述文件标识符以及所述已签名驱动程序中的读取偏移值,获取目标文件数据的步骤之后,所述方法还包括:

通过预设的bdevsw_remove接口删除所述目标驱动读写接口,并通过所述bdevsw_add接口还原所述驱动读写接口。

可选的,在本发明第一方面的第二种实现方式中,所述根据所述文件标识符以及所述已签名驱动程序中的读取偏移值,获取目标文件数据的步骤包括:

解析出所述恢复请求中的所述读取偏移值;

根据所述读取偏移值,确定目标物理块位置;

根据所述文件标识符以及所述目标物理块位置,获取所述目标文件数据。

可选的,在本发明第一方面的第三种实现方式中,所述根据所述读取偏移值,确定目标物理块位置的步骤包括:

确定所述读取偏移值对应的目标物理块;

修改所述目标物理块的物理块位置,得到所述目标物理块位置。

可选的,在本发明第一方面的第四种实现方式中,所述修改所述读写接口,得到目标读写接口的步骤包括:

根据预设的bdevsw_add接口,修改所述读写接口,得到所述目标读写接口。

可选的,在本发明第一方面的第五种实现方式中,所述检测到已删除文件数据的数据恢复请求时,加载已签名驱动的步骤包括:

检测到已删除文件数据的数据恢复请求时,加载MFDataRecoveryDriver_m1.kext,得到所述已签名驱动。

可选的,在本发明第一方面的第六种实现方式中,所述根据所述已签名驱动,获取磁盘的读写接口的步骤包括:

获取预设的disk0驱动程序,并获取所述disk0驱动程序的major号;

根据所述major号获取磁盘的所述读写接口。

可选的,在本发明第一方面的第七种实现方式中,所述根据所述文件标识符以及所述恢复请求携带的读取偏移值,获取目标文件数据的步骤包括:

根据所述文件标识符以及所述恢复请求携带的读取偏移值,获取待处理文件数据;

根据所述恢复请求携带的备注信息,对所述待处理文件数据执行数据处理,得到所述目标文件数据。

本发明第二方面提供了一种已删除文件数据的数据恢复设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述已删除文件数据的数据恢复设备执行上述的已删除文件数据的数据恢复方法。

本发明的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的已删除文件数据的数据恢复方法。

在本发明实施例中,检测到已删除文件数据的数据恢复请求时,加载已签名驱动;根据所述已签名驱动,获取磁盘的读写接口;修改所述读写接口,得到目标读写接口,并修改所述目标读写接口中的驱动读写接口,得到目标驱动读写接口;将所述目标驱动读写接口,关联预设的文件标识符;根据所述文件标识符以及所述恢复请求携带的读取偏移值,获取目标文件数据;在得到所述目标文件数据时,输出所述目标文件数据以响应所述恢复请求。已删除文件数据的数据恢复设备加载已签名的驱动程序可以确保其来源可信,确保系统能够安全地访问硬件设备。通过获取磁盘的读写接口,可以获得对存储介质的底层访问权限,为接下来的数据恢复提供必要的操作基础。根据实际需求,修改读写接口可能使数据恢复操作更加精确和高效,提高恢复文件数据的准确性。通过修改目标读写接口中的驱动读写接口,可能能够更好地控制文件读写操作,提高数据恢复的成功率。将目标驱动读写接口与预设的文件标识符关联后,可以准确指定要恢复的特定文件,避免误操作导致非目标文件的恢复。通过使用预设的文件标识符和恢复请求中携带的读取偏移值,可以精确地定位提取目标文件数据,提高数据恢复的准确性。成功在磁盘中获取目标文件数据后,将其输出可以满足用户的数据恢复需求,确保用户能够获得所需文件,达到恢复已删除的文件数据的目的。

附图说明

图1为本发明实施例中已删除文件数据的数据恢复方法的第一个实施例示意图;

图2为本发明实施例中已删除文件数据的数据恢复方法的第二个实施例示意图;

图3为本发明实施例中已删除文件数据的数据恢复设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种已删除文件数据的数据恢复方法、设备及存储介质。

下面将参照附图更详细地描述本发明公开的实施例。虽然附图中显示了本发明公开的某些实施例,然而应当理解的是,本发明公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本发明公开的附图及实施例仅用于示例性作用,并非用于限制本发明公开的保护范围。

在本发明公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中已删除文件数据的数据恢复方法的一个实施例包括:

101、检测到已删除文件数据的数据恢复请求时,加载已签名驱动;

在本实施例中,检测到已删除文件数据的数据恢复请求时,加载MFDataRecoveryDriver_m1.kext,得到所述已签名驱动。具体的。已删除文件数据的数据恢复设备通过预设程序加载MFDataRecoveryDriver_m1.kext已签名apple驱动,即上述签名驱动,当驱动被加载时侯进行遍历apple驱动,得到disk0磁盘驱动程序的major号。其中,FDataRecoveryDriver_m1.kext是一个扩展名为.kext的文件,它通常是macOS操作系统中的内核扩展文件。根据其名称推测,它可能是与数据恢复相关的驱动程序。.kext文件是macOS操作系统中的内核扩展,用于加载驱动程序、插件或其他内核功能。这些文件包含了操作系统运行所需的代码、配置和资源文件。disk0磁盘驱动程序是一种用于操作和管理磁盘设备的软件。它提供了与磁盘交互的接口,使操作系统和应用程序能够读取和写入磁盘上的数据。磁盘驱动程序通常由操作系统厂商提供,并随着操作系统安装在计算机上。它负责管理磁盘的物理操作,包括扇区的读取和写入、磁道的定位、磁头的选择等。磁盘驱动程序还处理与文件系统的交互,将文件系统中的数据映射到磁盘的物理位置。

磁盘驱动程序的功能通常包括以下方面:

设备初始化和识别:磁盘驱动程序负责初始化磁盘设备,并确定设备的类型、容量和其他属性。这个过程通常涉及到与磁盘控制器进行通信,获取设备信息。

扇区读写:驱动程序提供了读取和写入扇区数据的接口。通过指定扇区号和磁头号,应用程序可以使用驱动程序来读取或写入特定扇区的数据。

磁道和磁头控制:驱动程序负责控制磁盘的磁道和磁头的选择,以定位到指定的物理位置进行读写操作。这个过程通常涉及到磁盘寻道、转盘旋转等操作。

缓存管理:驱动程序可能会使用缓存来提高数据访问的性能。它可以将最近访问过的数据保存在内存中,以便在后续的读取请求中更快地响应。

错误处理和纠正:磁盘驱动程序可以检测和处理磁盘读写过程中的错误。这包括校验错误、坏扇区处理、硬件故障等情况的处理。

102、根据所述已签名驱动,获取磁盘的读写接口;

在本实施例中,一旦加载了已签名驱动,可以通过操作系统提供的相关接口或使用应用程序编程接口(API)调用驱动程序的功能。这些接口可能包括标准的文件系统接口,例如Windows的Win32 API或Linux的POSIX API,或者专门为驱动程序设计的特定接口。

可选的,使用驱动接口中提供的函数或方法,可以获取磁盘的读写接口。这些接口可能涉及到打开磁盘设备、读取、写入数据等操作。具体的接口方法和参数取决于驱动程序的设计和操作系统的支持。

103、修改所述读写接口,得到目标读写接口,并修改所述目标读写接口中的驱动读写接口,得到目标驱动读写接口;

在本实施例中,根据预设的bdevsw_add接口,修改所述读写接口,得到所述目标读写接口。具体的,通过bdevsw_add接口修改磁盘的读写接口的同时,修改驱动读写接口。bdevsw_add接口是指在FreeBSD操作系统中用于添加块设备驱动程序的函数。它是一个在内核中定义的函数,用于将驱动程序注册到块设备子系统,以便允许操作系统与该驱动程序交互并使用该驱动程序管理的块设备。bdevsw_add函数的作用是向块设备子系统注册驱动程序,并将其与相应的设备号相关联。设备号是用于唯一标识驱动程序和设备之间关系的值。

通过调用bdevsw_add函数,可以将驱动程序的相关操作和功能添加到系统中,使得操作系统可以正确识别、管理和操作该驱动程序所控制的块设备。

可选的,基于驱动读写接口进行修改,得到目标驱动读写接口。

104、将所述目标驱动读写接口,关联预设的文件标识符;

在本实施例中,可将得到的目标驱动读写接口关联预设的文件标识符,例如映射{DC73CF06-9725-49E9-BAA8-010F413683F2}文件,获取程序设置的读取偏移值,修改struct buf对应的物理block位置,程序中通过读取{DC73CF06-9725-49E9-BAA8-010F413683F2}文件获取到数据。

105、根据所述文件标识符以及所述恢复请求携带的读取偏移值,获取目标文件数据;

在本实施例中,读取到文件数据后,根据文件内容进行数据的处理,获取到已删除的文件数据。

可选的,在得到所述目标文件数据时,通过预设的bdevsw_remove接口删除所述目标驱动读写接口,并通过所述bdevsw_add接口还原所述驱动读写接口。具体的,找到对应目标驱动的读写接口所在的位置。可以通过查阅系统文档、源代码或驱动开发者提供的接口信息来确定。然后,使用bdevsw_remove接口将目标驱动的读写接口从系统中移除。具体操作可能包括设置函数指针为NULL或将其从相关数据结构中删除。使用适当的方法,获取目标文件的数据。这可能涉及到从磁盘读取文件、通过网络传输等方式。通过预设的bdevsw_add接口将之前移除的驱动读写接口还原。使用bdevsw_add接口将还原的驱动读写接口添加回系统,以便后续的读写操作可以正常进行。

可选的,根据所述文件标识符以及所述恢复请求携带的读取偏移值,获取待处理文件数据;根据所述恢复请求携带的备注信息,对所述待处理文件数据执行数据处理,得到所述目标文件数据。具体的,读取到文件数据后,根据文件内容进行数据的处理,获取到已删除的目标文件数据。

106、在得到所述目标文件数据时,输出所述目标文件数据以响应所述恢复请求。

在本发明实施例中,检测到已删除文件数据的数据恢复请求时,加载已签名驱动;根据所述已签名驱动,获取磁盘的读写接口;修改所述读写接口,得到目标读写接口,并修改所述目标读写接口中的驱动读写接口,得到目标驱动读写接口;将所述目标驱动读写接口,关联预设的文件标识符;根据所述文件标识符以及所述恢复请求携带的读取偏移值,获取目标文件数据;在得到所述目标文件数据时,输出所述目标文件数据以响应所述恢复请求。已删除文件数据的数据恢复设备加载已签名的驱动程序可以确保其来源可信,确保系统能够安全地访问硬件设备。通过获取磁盘的读写接口,可以获得对存储介质的底层访问权限,为接下来的数据恢复提供必要的操作基础。根据实际需求,修改读写接口可能使数据恢复操作更加精确和高效,提高恢复文件数据的准确性。通过修改目标读写接口中的驱动读写接口,可能能够更好地控制文件读写操作,提高数据恢复的成功率。将目标驱动读写接口与预设的文件标识符关联后,可以准确指定要恢复的特定文件,避免误操作导致非目标文件的恢复。通过使用预设的文件标识符和恢复请求中携带的读取偏移值,可以精确地定位并提取目标文件数据,提高数据恢复的准确性。成功获取目标文件数据后,将其输出可以满足用户的数据恢复需求,确保用户能够获得所需文件,达到恢复已删除的文件数据的目的。

请参阅图2,图2为本发明实施例中已删除文件数据的数据恢复方法的第二个实施例,在105步骤中可以执行以下步骤:

1051、解析出所述恢复请求中的所述读取偏移值;

在本实施例中,修改驱动程序的读写接口,使其能够映射指定标识符为{DC73CF06-9725-49E9-BAA8-010F413683F2}的文件。然后,通过读取该文件中存储的读取偏移值,更新数据结构(struct buf)对应的物理块位置。最后,程序可以通过读取{DC73CF06-9725-49E9-BAA8-010F413683F2}文件来获取所需数据。

具体的,通过对驱动程序的读写接口进行适当修改,使其能够处理映射文件的请求。这意味着在驱动程序中添加逻辑,以允许对特定标识符为{DC73CF06-9725-49E9-BAA8-010F413683F2}的文件进行访问。

已删除文件数据的数据恢复设备的程序中有设置读取偏移值的部分,可能通过用户输入或其他方式提供。修改驱动接口后,从程序中获取该读取偏移值,这个读取偏移值将被用于后续的操作。

1052、根据所述读取偏移值,确定目标物理块位置;

在本实施例中,根据获取到的读取偏移值,将其用于更新struct buf对应的物理块位置。这个过程可能涉及到修改数据结构或调整相关的指针,以确保后续的读取操作能够定位到正确的物理块位置。

1053、根根据所述文件标识符以及所述目标物理块位置,获取所述目标文件数据。

在本实施例中,修改后的驱动接口允许程序通过读取{DC73CF06-9725-49E9-BAA8-010F413683F2}文件获取数据。程序可以使用已更新的物理块位置,以及可能的其他参数,从文件中读取所需的数据。

在本发明实施例中,通过解析恢复请求中的读取偏移值,可以准确地确定要恢复的目标文件数据位置。这有助于从文件或存储设备中精确地提取所需的数据,从而实现有效的数据恢复。根据读取偏移值,可以确定目标物理块的位置。这对于需要直接访问特定位置的数据非常重要,例如在文件系统修复、数据提取或恶意软件分析等场景中。

图3是本发明实施例提供的一种已删除文件数据的数据恢复设备的结构示意图,该已删除文件数据的数据恢复设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对已删除文件数据的数据恢复设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在已删除文件数据的数据恢复设备500上执行存储介质530中的一系列指令操作。

基于已删除文件数据的数据恢复设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,Free BSD等等。本领域技术人员可以理解,图3示出的已删除文件数据的数据恢复设备结构并不构成对基于已删除文件数据的数据恢复设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述已删除文件数据的数据恢复方法的步骤。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

相关技术
  • 电力传送装置、电力接收装置、控制方法和程序
  • 电力控制系统、电力控制方法、电力控制装置及电力控制程序
  • 电力控制系统、电力控制方法、电力控制装置及电力控制程序
技术分类

06120116338002