1. 思百科首页
  2. 思投稿

压缩文件头部数据已经损坏怎么办(硬盘文件损坏修复方法)

作为效率源自主研发的首款集文档、图片、视频、音频、压缩文件等多类型文件修复功能于一体的工具,上月,FRM5200星火文件修复大师一经推出,我们就陆续接到了大量的咨询与试用申请。

为了让大家更加深入了解该产品,今天,我们将通过分享一个案例,来揭秘FRM5200星火文件修复大师如何修复损坏的ZIP加密压缩包?


案例背景

杨女士电脑的ZIP压缩包“sql2000.zip”由于误操作被删除,一周后才发现该文件已被删除。据她陈述,该文件由数据库备份文件通过7-Zip工具压缩打包,并设置了加密密码。通过数据恢复手段从磁盘中恢复该文件后,双击打开文件时提示:

f4ec073c5b934eae8866b862dbbcec51noop.image_ 第2张

Zip压缩包“sql2000.zip”目录下原有的18个文件现在仅显示文件“c012012log.ldf *”,在双击该文件解压时提示:

a4542af69c8c4b418e45ecf8bb988b59noop.image_ 第4张

杨女士使用某ZIP修复工具对其进行修复,由于该工具不支持加密的ZIP压缩包修复,因此未能修复出任何文件。目前的国内外ZIP修复工具,大部分都不支持加密文件的修复。

5b23a849465d41d0999e06e9c0b36a9bnoop.image_ 第6张

技术原理

效率源技术工程师通过Winhex工具查看该文件的二进制数据,发现其与正常ZIP压缩包的数据存在一定差异。

该文件尾部的二进制数据:

9cb61793479c4fe19f4924c61a9bff6bnoop.image_ 第8张

正常ZIP压缩包尾部的二进制数据:

8338d8fc036a4f8883744c495f9ae4dbnoop.image_ 第10张

针对上述情况,效率源技术工程师对ZIP压缩包文件结构进行研究,其总体结构如下所示:

e8b449c2543f4a89859d88a68c1a2249noop.image_ 第12张

ZIP压缩包中每个文件对应一个文件记录和一个目录记录。每个文件记录包括:文件记录头(local file header)、加密头(encryption header)、文件数据(file data)、数据描述(data descriptor)。文件记录头中记录了文件的相关信息、解密参数、解压缩参数;加密头中记录了生成解密秘钥的相关信息;目录记录中仅有一个记录头,其同样记录了文件的相关信息、解密参数、解压缩参数。

对于加密的ZIP压缩包,效率源技术工程师发现,其中的文件原始数据先进行压缩,再进行加密,最后作为文件数据(file data)存放于文件记录中。通过一系列深入研究,效率源技术工程师找到了通过加密密码生成解密秘钥的方法——在已知密码的情况下,只要文件记录头(或目录记录头)、加密头没有受到损坏,即可实现相应文件数据的解密和解压缩,达到修复该文件的目的。

经过上述研究,总结出一种损坏的zip加密压缩包的修复方法,如下所示:

bd0a0106220441b28d9f254b34d3fea4noop.image_ 第14张

步骤1:通过特殊标记在损坏zip压缩包中检索目录记录,并检查其结构是否正确;

步骤2:通过特殊标记在损坏zip压缩包中检索文件记录,并检查其结构是否正确;

步骤3:通过加密密码、文件记录头(或目录记录头)和加密头生成解密文件数据所需的秘钥;

步骤4:通过文件记录头(或目录记录头)中记录的解密算法和步骤3生成的秘钥对文件数据进行解密;

步骤5:通过文件记录头(或目录记录头)中记录的解压缩算法对步骤4解密后的文件数据进行解压缩;

步骤6:按目录结构创建文件,并将步骤5解压缩后的文件数据写入新文件中。

该方法在zip压缩包遭受严重损坏和设置了加密密码时,依然有较高的几率修复其中的文件。并且在修复损坏的zip压缩包的同时,也完成了文件的解压缩。

案例实操

上述方法现已集成于“FRM5200星火文件修复大师”中,在知晓加密密码的情况下,通过FRM5200星火文件修复大师对损坏的加密zip压缩包“sql2000.zip”进行修复。

步骤1:打开FRM5200星火文件修复大师,选择压缩文件修复模式,添加压缩文件,开始修复。

3ac870ec106e4669bf98004530175ba0noop.image_ 第16张

步骤2:当程序提示输入密码时,输入正确的密码,点击确定继续修复。

f875ff259be44a1c98882d4eb1ead738noop.image_ 第18张

步骤3:完成修复后,可查看压缩包内的文件,并将其进行导出。

9a68a9525d7347c9b29fdfa80231c6ecnoop.image_ 第20张

0654677acd024316a8a7783e2cbc81f5noop.image_ 第22张

FRM5200星火文件修复大师帮助杨女士成功修复了sql2000目录下18个文件中的17个,仅有1个文件因为损坏严重而无法修复。修复出来的数据库备份文件,能够导入SQL SERVER数据库中继续使用。

feae8006fa6c4d25b18de5e00366ef50noop.image_ 第24张

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 engola@qq.com 举报,一经查实,本站将立刻删除。文章链接:https://www.4baike.com/n/64551.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注