【技术实现步骤摘要】
一种解析并提取qcow2及qcow3镜像文件的方法
本专利技术属于数据恢复领域,涉及一种解析并提取qcow2及qcow3镜像文件的方法。
技术介绍
Qemu发源码的模拟处理器,与其他模拟处理器相比有开源、可移植、仿真速度快的等优点,在GNU/Linux平台上使用广泛。qcow2及qcow3是其扩展镜像文件的后缀,qcow2及qcow3镜像文件具有相同的数据结构,但与qcow镜像文件的数据结构不同。qcow2及qcow3文件系统不支持空洞,拥有更小的文件占用、支持写时拷贝、支持快照、可以选择际遇zlib的压缩方式以及AES加密,qcow2及qcow3镜像被使用广泛。那么,如何把镜像文件里面的内容提取出来、并获取qcow2及qcow3镜像文件中的用户数据呢?当前主流方法有两种:网络传输或者使用9psetup协议实现虚拟机与宿主之间的文件传输,但它们在提取数据上存在如下弊端:1.利用网络来进行文件提取,需要先在宿主机上配置网络桥架,在qemu-kvm启动配置网卡。这种方法受网络限制特别大,且文件的传输速度也比较慢。2.9psetup协议需先让宿主机在内核中配9p选项,同 ...
【技术保护点】
1.一种解析并提取qcow2及qcow3镜像文件的方法,其特征在于包括以下步骤:S100:查找并解析磁盘中qcow2及qcow3镜像文件的头文件,获取头文件信息,其中,所述头文件信息包含所述头文件的标识、版本、簇位移数、镜像文件的容量、簇位移数、加密标识、一级表的项数及所述一级表的起始地址;S200:根据所述头文件信息,获取并解析所述一级表,根据解析所述一级表的结果,获取并解析所述二级表,根据解析所述二级表的结果,获取簇地址;S300:根据所述步骤S200的方法,遍历所述qcow2及qcow3镜像文件的所述一级表及所述二级表,获取各个簇地址各自对应的簇数据并顺序保存为系统文 ...
【技术特征摘要】
1.一种解析并提取qcow2及qcow3镜像文件的方法,其特征在于包括以下步骤:S100:查找并解析磁盘中qcow2及qcow3镜像文件的头文件,获取头文件信息,其中,所述头文件信息包含所述头文件的标识、版本、簇位移数、镜像文件的容量、簇位移数、加密标识、一级表的项数及所述一级表的起始地址;S200:根据所述头文件信息,获取并解析所述一级表,根据解析所述一级表的结果,获取并解析所述二级表,根据解析所述二级表的结果,获取簇地址;S300:根据所述步骤S200的方法,遍历所述qcow2及qcow3镜像文件的所述一级表及所述二级表,获取各个簇地址各自对应的簇数据并顺序保存为系统文件;S400:根据指定文件在所述系统文件中的绝对偏移地址及所述指定文件的大小,计算出所述指定文件在所述qcow2及qcow3镜像文件中的地址,并获取所述指定文件的内容。2.根据权利要求1所述的一种解析并提取qcow2及qcow3镜像文件的方法,其特征在于,所述步骤S100中所述头文件信息的数据结构如下:0x0至0x3字节:所述头文件信息的标识0x514649FB0x4至0x7字节:版本0x14至0x17字节:簇位移数,表示将二进制数“1”向左移的位数,左移完毕后的二进制数的大小为簇大小0x18至0x1F字节:镜像文件的容量0x20至0x23字节:加密标识,0表示未加密,1表示加密0x24至0x27字节:一级表的项数0x28至0x2F字节:一级表的起始地址。3.根据权利要求1所述的一种解析并提取qcow2及qcow3镜像文件的方法,其特征在于,所述步骤S200的具体步骤如下:S201:根据簇位移数,计算簇大小;具体地,将二进制数“1”向左移,左移的位数等于所述簇位移数,左移完毕后的二进制数的大小为所述簇大小;S202:根据所述头文件信息的数据结构,读取所述一级表的项数;S203:根据所述头文件信息的数据结构,读取所述一级表的起始地址,寻址所述起始地址并以8字节为一项分别读取各个项,读取所述项的个数为所述二级表的项数,其中,所述二级表的项数=所述簇大小/8;以所述一级表的起始地址为首地址,以8字节为一项,寻址并读取各个项,将所读取各个项的8字节内容中的第62比特位至第1比特位的内容作为所述二级表的起始地址;如果读取所述项的内容为零,则不做解析;S204:寻址所述二级表,判断当前二级表中当前项的首字节的次高位是否为1,如果是,表示当前二级表中当前项的内容所表示的簇数据为压缩数据,执行步骤S205,否则,表示当前二级表中当前项的内容为非压缩数据,执行步骤S206;S205:解压所述压缩数据作为当前二级表中当前项表示的簇数据,执行所述步骤S300;S206:将当前所读取各个项的8字节内容中的第62比特位至第1比特位的内容作为大端存储的簇地址并进行保存,用以寻址并读取当前二级表中当前项对应的簇数据。4.根据权利要求2所述的一种解析并提取qcow2及qcow3镜像文件的方法,其特征在于,所述步骤S300的具体步骤如下:S301:遍历所述一级表;S302:判断是否完成所述一级表的遍历,如果是,执行步骤S400,否则,执行步骤S303;S303:判断当前一级表中当前项的内容是否为零,如果是,执行步骤S304,否则,执行步骤S305;S304:将当前一级表对应的二级表中所有项的内容填零,执行步骤S305;S305:遍历所述二级表;S306:判断是否完成所述二级表的遍历,如果...
【专利技术属性】
技术研发人员:梁效宁,朱星海,刘波,许超明,吕靓婷,
申请(专利权)人:四川巧夺天工信息安全智能设备有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。