CN109614200A - 一种提取Parallels Desktop虚拟机的hds镜像数据的方法 - Google Patents

一种提取Parallels Desktop虚拟机的hds镜像数据的方法 Download PDF

Info

Publication number
CN109614200A
CN109614200A CN201811449342.6A CN201811449342A CN109614200A CN 109614200 A CN109614200 A CN 109614200A CN 201811449342 A CN201811449342 A CN 201811449342A CN 109614200 A CN109614200 A CN 109614200A
Authority
CN
China
Prior art keywords
hds
mirror image
image data
size
file
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.)
Pending
Application number
CN201811449342.6A
Other languages
English (en)
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.)
Sichuan Art Beats Nature Information Security Intelligent Equipment Co Ltd
Original Assignee
Sichuan Art Beats Nature Information Security Intelligent Equipment 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 Sichuan Art Beats Nature Information Security Intelligent Equipment Co Ltd filed Critical Sichuan Art Beats Nature Information Security Intelligent Equipment Co Ltd
Priority to CN201811449342.6A priority Critical patent/CN109614200A/zh
Publication of CN109614200A publication Critical patent/CN109614200A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种提取Parallels Desktop虚拟机的hds镜像数据的方法,其特征在于包括以下步骤:S100:获取并解析磁盘中所述hds镜像数据的头文件,获取头文件信息,并计算表项大小=所述块管理表大小/所述块管理表的表项数;S200:以所述头文件的结束地址的下一字节地址为起始地址,根据所述块管理表的表项数及所述表项大小,读取块管理表,所述块管理表以X字节为一组,其中,X等于所述表项大小;S300:遍历块管理表:根据步骤S200所获取的各个表项,获取所述hds镜像数据的文件系统;S400:根据所述hds镜像数据的文件系统与目标文件系统的对应关系,在所述hds镜像数据的文件系统中提取目标文件。

Description

一种提取Parallels Desktop虚拟机的hds镜像数据的方法
技术领域
本发明属于数据恢复领域,涉及一种提取Parallels Desktop虚拟机的hds镜像数据的方法。
背景技术
Parallels Desktop是一款运行在Mac电脑上的极为优秀的虚拟机软件。用户可以在Mac OS X下非常方便运行Windows、Linux等操作系统及应用。用户不必繁琐重复地重启电脑即可在Win与Mac之间切换甚至同时使用它们。Parallels DeskTop是Mac OS最好用的虚拟机之一。
如果需要提取某个虚拟机镜像的文件,必须依赖于Mac OS X以及软件ParallelsDesktop软件,才能查看里面的数据。
发明内容
本发明针对现有技术的不足问题,提出了一种提取Parallels Desktop虚拟机的hds镜像数据的方法,通过直接解析Parallels Desktop虚拟机生成的镜像文件存储结构,对镜像文件里的数据进行提取和恢复,包括以下步骤:
S100:获取并解析磁盘中所述hds镜像数据的头文件,获取头文件信息,其中,所述头文件信息包含以小端格式存储的所述头文件的标识、块管理表的大小、逻辑块的大小、块管理表的表项数、hds镜像文件的大小、逻辑数据块开始位置,并计算表项大小=所述块管理表大小/所述块管理表的表项数;
S200:以所述头文件的结束地址的下一字节地址为起始地址,根据所述块管理表的表项数及所述表项大小,读取块管理表,所述块管理表以X字节为一组,其中,X等于所述表项大小;
S300:遍历块管理表:根据步骤S200所获取的各个表项,获取所述hds镜像数据的文件系统;
S400:根据所述hds镜像数据的文件系统与目标文件系统的对应关系,在所述hds镜像数据的文件系统中提取目标文件。
优选地,所述头文件的数据结构如下所示:
0x00至0x0F字节:所述头文件的标识
0x18至0x1B字节:块管理表的大小,单位为字节
0x1C至0x1F字节:逻辑块的大小,单位为扇区
0x20至0x23字节:块管理表的表项数
0x24至0x27字节:hds镜像文件的大小,单位为扇区
0x30至0x33字节:逻辑数据块开始位置,单位为扇区。
优选地,所述目标文件系统为所述Parallels Desktop虚拟机挂载的操作系统所支持的文件系统,包括Windows操作系统的NTFS文件系统、FAT文件系统及FAT32文件系统,Linux操作系统的EXT3、EXT4文件系统,Android操作系统的EXT3、EXT4文件系统。
优选地,所述目标文件包括当前目标文件系统所支持的所有类型的文件。
优选地,所述步骤S300包含以下具体步骤:
S301:以X字节为一组,分别读取所述块管理表中各个表项的内容,各自作为对应数据块的位置,所述位置的起始位置为所述hds镜像数据的起始位置,单位为扇区,其中,X等于所述表项大小;
S302:判断所述块管理表是否遍历完成,如果是,流程结束,否则执行步骤S303;
S303:判断当前表项的内容是否为全零,如果是,执行步骤S305,否则,执行步骤S304;
S304:读取以小端格式存储的表项的内容,作为对应当前逻辑块的位置,单位为扇区,并执行步骤S306;
S305:将当前逻辑块的内容填零,并执行步骤S306;
S306:根据逻辑块大小及步骤S304所获取的位置,在hds镜像数据中读取对应的数据。
优选地,所述步骤S400包含以下具体步骤:
S401:根据所述hds镜像数据的文件系统的元数据,获取所述目标文件在所述hds镜像数据的文件系统中的起始地址Adr及字节长度Len;
S402:判断数据是否读取完,如果是,结束流程,否则,执行步骤S403;
S403:计算当前Adr在所述hds镜像数据中的起始地址adrB及当前需读取字节长度lenB;
S404:对所述起始地址Adr及字节长度Len重新赋值,并执行步骤S402:Adr=Adr+lenB,Len=Len-lenB,执行步骤S402。
优选地,所述步骤S403包含以下具体步骤:
S4031:计算块管理表的位置index以及块内偏移offset:
index=Adr/逻辑块的大小,其中,/表示除后取整,index为不小于零的自然数;
offset=Adr%逻辑块的大小,其中,%表示除后取余;
S4032:计算当前需读取字节长度lenB:
lenB=min(逻辑块的大小–offset,Len),其中,min(逻辑块的大小–offset,Len)表示取Len和逻辑块的大小–offset两者中较小值;
S4033:计算adrB:
读取块管理表中第N个表项的内容作为adrB的值,其中,N等于index;
S4034:根据adrB及lenB的值,在所述hds镜像数据中读取所述目标文件。
本发明的有益效果是:
1.不需使用工具额外地克隆虚拟机镜像;
2.不依赖Mac OS以及虚拟机Parallels Desktop;
3.不需要启动虚拟机,可以直接提取文件;
4.不需要切换身份,可获取当前虚拟机上所有用户的数据。
从Parallels Desktop虚拟机软件的工作目录下提取后缀名为.hds的虚拟机镜像数据,以下统称为hds镜像数据。
附图说明
图1为本发明实施例中hds镜像数据的数据结构图;
图2为本发明所提供的方法的总流程图;
图3为本发明实施例中hds镜像数据中头文件的数据结构图;
图4为本发明中遍历块管理表的具体流程图;
图5为本发明中提取目标文件的具体流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步阐述。
图1示出了本发明实施例中hds镜像数据的数据结构图,图2本发明所提供的方法的总流程图。
如图1所示,本发明的方法包括以下步骤:
S100:获取并解析磁盘中hds镜像数据的头文件,获取头文件信息,其中,头文件信息包含以小端格式存储的头文件的标识、块管理表的大小、逻辑块的大小、块管理表的表项数、hds镜像文件的大小、逻辑数据块开始位置,并计算表项大小=块管理表大小/块管理表的表项数。
图3示出了本发明实施例中hds镜像数据中头文件的数据结构图,如图3中矩形框内容0x576974686F7574467265655370616365所示,即为头文件的标识(WithoutFreeSpace),该标识占0x00至0x0F字节;
如图3中粗黑下划线内容0x00001000所示,即为小端格式存储的块管理表的大小,单位为字节,即0x100000字节,该块管理表的大小占0x18至0x1B字节;
如图3中粗黑虚线内容0x00080000所示,即为小端格式存储的逻辑块的大小,单位为扇区,即0x0800扇区,该逻辑块的大小占0x1C至0x1F字节;
如图3中细黑下划线内容0x0000040000所示,即为小端格式存储的块管理表的表项数,即当前块管理表包含0x40000个表项,该表项数占0x20至0x23字节;
如图3中细黑虚线内容0x00000020所示,即为小端格式存储的hds镜像文件的大小,单位为扇区,即0x20000000个扇区,hds镜像文件的大小占0x24至0x27字节;
如图3中粗黑矩形框内容0x00100000所示,即为小端格式存储的逻辑数据块开始位置,单位为扇区,即0x1000个扇区,逻辑数据块开始位置占0x30至0x33字节;
表项大小=块管理表大小/块管理表的表项数=0x100000/0x40000=4字节。
从以上实施例中可知:块管理表大小为0x100000字节,每一个逻辑快大小为0x800扇区,块管理表的表项个数为0x40000,hds镜像文件的大小为0x20000000扇区,其中这个值恰好等于0x800*0x40000,第一个数据块开始位置为0x1000扇区,表项大小为4字节。
S200:以头文件的结束地址的下一字节地址为起始地址,即,以地址0x40为起始地址,以4字节为一组,获取0x100000个的表项的内容。
S300:遍历块管理表:根据步骤S200所获取的各个表项,获取hds镜像数据的文件系统,步骤S300包含以下具体步骤:
S301:以4字节为一组,分别读取块管理表中各个表项的内容,各自作为对应数据块的位置,位置的起始位置为hds镜像数据的起始位置,单位为扇区;
S302:判断块管理表是否遍历完成,如果是,流程结束,否则执行步骤S303;
S303:判断当前表项的内容是否为全零,如果是,执行步骤S305,否则,执行步骤S304;
S304:读取以小端格式存储的表项的内容,作为对应当前逻辑块的位置,单位为扇区,并执行步骤S306;
如图3中细黑虚线矩形框所示,地址0x40至0x43的内容为0x00100000,即为小端格式存储的第一个逻辑块的位置0x01000,单位为扇区,即第0x01000个扇区,寻址至该位置;
S305:将当前逻辑块的内容填零,并执行步骤S306;
如图3中细黑虚线椭圆框所示,地址0x48至0x4B的内容为0x00000000,即表示第三个逻辑块为零表项,需要将该逻辑块的0x800个扇区填零;
S306:根据逻辑块大小及步骤S304所获取的位置,在hds镜像数据中读取对应的数据。
S400:根据hds镜像数据的文件系统与目标文件系统的对应关系,在hds镜像数据的文件系统中提取目标文件。
其中,目标文件系统为Parallels Desktop虚拟机挂载的操作系统所支持的文件系统,包括Windows操作系统的NTFS文件系统、FAT文件系统及FAT32文件系统,Linux操作系统的EXT3、EXT4文件系统,Android操作系统的EXT3、EXT4文件系统。
目标文件包括当前目标文件系统所支持的所有类型的文件,例如,应用文件、系统文件、文本文件、图片文件、音乐文件、视频文件、压缩文件、可执行文件、互联网文件等。
S401:根据hds镜像数据的文件系统的元数据,获取目标文件在hds镜像数据的文件系统中的起始地址Adr及字节长度Len,例如,对Windows操作系统来说,可从文件系统的元数据(Metadata)中获取,如,从NTFS文件系统的文件$MFT中,可以获取起始地址Adr及字节长度Len。
S402:判断数据是否读取完,如果是,结束流程,否则,执行步骤S403;
S403:计算当前Adr在hds镜像数据中的起始地址adrB及当前需读取字节长度lenB,步骤S403包含以下具体步骤:
S4031:计算块管理表的位置index以及块内偏移offset:
index=Adr/逻辑块的大小,其中,/表示除后取整,index为不小于零的自然数;
offset=Adr%逻辑块的大小,其中,%表示除后取余;
S4032:计算当前需读取字节长度lenB:
lenB=min(逻辑块的大小–offset,Len),其中,min(逻辑块的大小–offset,Len)表示取Len和逻辑块的大小–offset两者中较小值;
S4033:计算adrB:
读取块管理表中第N个表项的内容作为adrB的值,其中,N等于index;
S4034:根据adrB及lenB的值,在hds镜像数据中读取目标文件。
S404:对起始地址Adr及字节长度Len重新赋值,并执行步骤S402:Adr=Adr+lenB,Len=Len-lenB,执行步骤S402。
通过本发明提供的方法,解决了现有技术中尚无一种提取Parallels Desktop虚拟机的hds镜像数据的方法的技术问题。
应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (7)

1.一种提取Parallels Desktop虚拟机的hds镜像数据的方法,其特征在于包括以下步骤:
S100:获取并解析磁盘中所述hds镜像数据的头文件,获取头文件信息,其中,所述头文件信息包含以小端格式存储的所述头文件的标识、块管理表的大小、逻辑块的大小、块管理表的表项数、hds镜像文件的大小、逻辑数据块开始位置,并计算表项大小=所述块管理表大小/所述块管理表的表项数;
S200:以所述头文件的结束地址的下一字节地址为起始地址,根据所述块管理表的表项数及所述表项大小,读取块管理表,所述块管理表以X字节为一组,其中,X等于所述表项大小;
S300:遍历块管理表:根据步骤S200所获取的各个表项,获取所述hds镜像数据的文件系统;
S400:根据所述hds镜像数据的文件系统与目标文件系统的对应关系,在所述hds镜像数据的文件系统中提取目标文件。
2.根据权利要求1所述的一种提取Parallels Desktop虚拟机的hds镜像数据的方法,其特征在于,所述头文件的数据结构如下所示:
0x00至0x0F字节:所述头文件的标识
0x18至0x1B字节:块管理表的大小,单位为字节
0x1C至0x1F字节:逻辑块的大小,单位为扇区
0x20至0x23字节:块管理表的表项数
0x24至0x27字节:hds镜像文件的大小,单位为扇区
0x30至0x33字节:逻辑数据块开始位置,单位为扇区。
3.根据权利要求2所述的一种提取Parallels Desktop虚拟机的hds镜像数据的方法,其特征在于,所述目标文件系统为所述Parallels Desktop虚拟机挂载的操作系统所支持的文件系统,包括Windows操作系统的NTFS文件系统、FAT文件系统及FAT32文件系统,Linux操作系统的EXT3、EXT4文件系统,Android操作系统的EXT3、EXT4文件系统。
4.根据权利要求3所述的一种提取Parallels Desktop虚拟机的hds镜像数据的方法,其特征在于,所述目标文件包括当前目标文件系统所支持的所有类型的文件。
5.根据权利要求4所述的一种提取Parallels Desktop虚拟机的hds镜像数据的方法,其特征在于,所述步骤S300包含以下具体步骤:
S301:以X字节为一组,分别读取所述块管理表中各个表项的内容,各自作为对应数据块的位置,所述位置的起始位置为所述hds镜像数据的起始位置,单位为扇区,其中,X等于所述表项大小;
S302:判断所述块管理表是否遍历完成,如果是,流程结束,否则执行步骤S303;
S303:判断当前表项的内容是否为全零,如果是,执行步骤S305,否则,执行步骤S304;
S304:读取以小端格式存储的表项的内容,作为对应当前逻辑块的位置,单位为扇区,并执行步骤S306;
S305:将当前逻辑块的内容填零,并执行步骤S306;
S306:根据逻辑块大小及步骤S304所获取的位置,在hds镜像数据中读取对应的数据。
6.根据权利要求5所述的一种提取Parallels Desktop虚拟机的hds镜像数据的方法,其特征在于,所述步骤S400包含以下具体步骤:
S401:根据所述hds镜像数据的文件系统的元数据,获取所述目标文件在所述hds镜像数据的文件系统中的起始地址Adr及字节长度Len;
S402:判断数据是否读取完,如果是,结束流程,否则,执行步骤S403;
S403:计算当前Adr在所述hds镜像数据中的起始地址adrB及当前需读取字节长度lenB;
S404:对所述起始地址Adr及字节长度Len重新赋值,并执行步骤S402:Adr=Adr+lenB,Len=Len-lenB,执行步骤S402。
7.根据权利要求6的一种提取Parallels Desktop虚拟机的hds镜像数据的方法,其特征在于,所述步骤S403包含以下具体步骤:
S4031:计算块管理表的位置index以及块内偏移offset:
index=Adr/逻辑块的大小,其中,/表示除后取整,index为不小于零的自然数;
offset=Adr%逻辑块的大小,其中,%表示除后取余;
S4032:计算当前需读取字节长度lenB:
lenB=min(逻辑块的大小–offset,Len),其中,min(逻辑块的大小–offset,Len)表示取Len和逻辑块的大小–offset两者中较小值;
S4033:计算adrB:
读取块管理表中第N个表项的内容作为adrB的值,其中,N等于index;
S4034:根据adrB及lenB的值,在所述hds镜像数据中读取所述目标文件。
CN201811449342.6A 2018-11-30 2018-11-30 一种提取Parallels Desktop虚拟机的hds镜像数据的方法 Pending CN109614200A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811449342.6A CN109614200A (zh) 2018-11-30 2018-11-30 一种提取Parallels Desktop虚拟机的hds镜像数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811449342.6A CN109614200A (zh) 2018-11-30 2018-11-30 一种提取Parallels Desktop虚拟机的hds镜像数据的方法

Publications (1)

Publication Number Publication Date
CN109614200A true CN109614200A (zh) 2019-04-12

Family

ID=66005617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811449342.6A Pending CN109614200A (zh) 2018-11-30 2018-11-30 一种提取Parallels Desktop虚拟机的hds镜像数据的方法

Country Status (1)

Country Link
CN (1) CN109614200A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111679838A (zh) * 2020-05-18 2020-09-18 广东海光云科技股份有限公司 镜像上传下发的方法及装置
CN115509624A (zh) * 2022-10-25 2022-12-23 中南大学 面向流式加载的镜像融合方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012045736A1 (en) * 2010-10-05 2012-04-12 Basf Se Oxime ester derivatives of benzocarbazole compounds and their use as photoinitiators in photopolymerizable compositions
CN103902349A (zh) * 2012-12-27 2014-07-02 中国移动通信集团江西有限公司 一种虚拟化平台存储管理服务器及其管理方法
CN105119749A (zh) * 2015-09-07 2015-12-02 烽火通信科技股份有限公司 一种家庭网关本地批量升级的方法和系统
CN108289066A (zh) * 2018-01-31 2018-07-17 盛科网络(苏州)有限公司 灵活调试交换芯片中数据业务的方法
CN108664523A (zh) * 2017-03-31 2018-10-16 华为技术有限公司 一种虚拟磁盘文件格式转换方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012045736A1 (en) * 2010-10-05 2012-04-12 Basf Se Oxime ester derivatives of benzocarbazole compounds and their use as photoinitiators in photopolymerizable compositions
CN103902349A (zh) * 2012-12-27 2014-07-02 中国移动通信集团江西有限公司 一种虚拟化平台存储管理服务器及其管理方法
CN105119749A (zh) * 2015-09-07 2015-12-02 烽火通信科技股份有限公司 一种家庭网关本地批量升级的方法和系统
CN108664523A (zh) * 2017-03-31 2018-10-16 华为技术有限公司 一种虚拟磁盘文件格式转换方法和装置
CN108289066A (zh) * 2018-01-31 2018-07-17 盛科网络(苏州)有限公司 灵活调试交换芯片中数据业务的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LUO_MINGHAO: "qcow2镜像格式解析", 《HTTPS://BLOG.CSDN.NET/U013472064/ARTICLE/DETAILS/47954583?UTM_SOURCE=BLOGXGWZ6》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111679838A (zh) * 2020-05-18 2020-09-18 广东海光云科技股份有限公司 镜像上传下发的方法及装置
CN115509624A (zh) * 2022-10-25 2022-12-23 中南大学 面向流式加载的镜像融合方法及系统

Similar Documents

Publication Publication Date Title
EP2805258B1 (en) Low resolution placeholder content for document navigation
US20120209921A1 (en) Instant Message Management Method and Apparatus
CN105431838A (zh) 串流内容和占位符
US10430040B2 (en) Method and an apparatus for providing a multitasking view
CN108959117B (zh) H2d写操作加速方法、装置、计算机设备及存储介质
CN103218176B (zh) 数据处理方法及装置
CN104298695B (zh) 数据缓存方法、装置及服务器
CN104468734A (zh) 一种基于克隆的虚拟集群扩展方法
CN102495772B (zh) 一种基于特征的终端程序云备份及恢复方法
CN104160397A (zh) 位置独立文件
US9330075B2 (en) Method and apparatus for identifying garbage template article
CN102523533A (zh) 视频内容关联的在线视频广告管理方法
WO2019011295A1 (zh) 负一屏内容推送及请求方法、装置、服务器及终端
US20210192046A1 (en) Resource Management Unit for Capturing Operating System Configuration States and Managing Malware
US20210326151A1 (en) Methods, devices and computer-readable storage media for processing a hosted application
US20170090725A1 (en) Selecting at least one graphical user interface item
CN102272751A (zh) 在数据库环境通过背景同步的数据完整性
EP3256958A1 (en) Supporting digital ink in markup language documents
CN109614200A (zh) 一种提取Parallels Desktop虚拟机的hds镜像数据的方法
US20240012683A1 (en) Resource Management Unit for Capturing Operating System Configuration States and Offloading Tasks
CN109783589A (zh) 电子地图解析地址的方法、装置及存储介质
US20140258347A1 (en) Grouping files for optimized file operations
CN104717175A (zh) 虚拟桌面的处理方法和系统
CN102760212B (zh) 一种基于存储镜像克隆机制虚拟桌面恶意代码检测方法
CN112181596B (zh) 一种虚拟机克隆方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190412

RJ01 Rejection of invention patent application after publication