电脑中所有文件都打不开,用这个方法准管用

【前期信息】

很多公司喜欢对办公室内的打印机配置一台共享PC,该PC机同时用于共享打印机和作为共享存储使用。内部文件可直接存储在这台pc机上,这样对于办公室文件共享及传输十分方便,但也有一个风险存在,一旦这台电脑硬盘出现故障,那么整个公司的文件都会受到影响,如果这台电脑真的出现故障了应该怎么恢复大家的数据呢?下面教给大家一种共享pc机硬盘损坏导致文件无法打开的恢复方法(适用于个人电脑):

【适用于此方法的故障表现】

1、磁盘中文件的名称、路径、时间等完全正确。磁盘占用空间也正确。但文件无法打开。
2、jpg图片文件打开都提示:“windows照片查看器无法打开此图片,因为照片查看器不支持此文件格式,或者您没有照片查看器的最新更新”;
3、所有的doc格式文件打开时都提示:"请选择使文档可读的编码",选择任何一个编码后文件都是错误的。;
4、所有的docx格式打开时都提示:"无法打开文件,因为内容有错误";
5、所有的xls打开时都提示:“您尝试打开的文件的格式与文件扩展名指定的格式不一致,打开文件前请验证文件没有损坏且来源可信”
6、所有的xlsx打开时都提示:"您无法打开文件,因为文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配"
7、所有的PDF文档打开时均提示:“打开文档时发生错误,文档已损坏且无法修复”
8、其他所有类型文件均无法正常打开。(键入上述错误提示的目的在于网友可以根据错误提示搜索到本文,没有稿费,不凑字数)

【可能出现该类故障的情况分析】

1、如果出现故障的设备为raid阵列,那么有可能是RAID旧盘同步数据后导致的故障,本文将的是单盘,这里可以忽略这种可能。
2、硬盘有物理故障,直接表现为硬盘链接电脑有异响、访问十分缓慢、提示IO错误等。
3、硬盘被加密后丢失加密链接、采用第三方软件(例如:Q(Norton PartitionMagic)、DiskGenius, Acronis Disk Director Suite)做过分区大小调整、合并导致分区错误。
4、操作系统故障、病毒挟持可执行文件、××××××等。

【举例讲解数据恢复方法】

把出现故障的硬盘连接到一个不会加载盘符、不自动写入数据的只读设备中,以一个PDF文件为例,在WINHEX中打开时如下图:
图一:

一个正常的PDF文件,二进制结构一定是以0x46445025(即ASCII的“%PDF”)做为开头标志。这个文件的开头以0x71736712开始。两者比较,显然是一种异或转换,通过计算,两者相差(异或)0x37。观察本PDF文件的尾部,发现同样做了篡改。
于是,在WINHEX中选中文件所有内容,对选中块以0x37做字节异或(xor):
图二:
保存出来后,打开,文件正常。接下来对其他文件做分析,发现篡改的算法均是全部文件对某个值xor,但此值不确定,按字节概率计算,应该有256种可能,加上文件数量及类型众多,显然不能手动进行修正。需要分析其xor加数的生成规律。
分析过程如下:
1、推断是否与路径相关:在同一路径下打开不同的文件分析篡改的异或加数,发现不尽相同,排除。
2、推断是否与文件名称相关:查找所有文件,按名称排序,找到相同文件名称但大小不同的文件,打开后分析篡改的异或加数,发现不相同,排除。
3、推断是否与类型相关:找到同一类型的几个不同文件,分析篡改的异或加数,发现不相同,排除。
4、推断是否与存储的物理位置相关:在WINHEX中按不同文件起始位置进行分析篡改的异或加数,未发现相关性,排除。
5、推断是否与文件头部相关:查找头部相同的文件(有同一文件的不同更新,头部是相同的),进行分析,也排除。
6、推断尾部相关的可能性不大。(当然如果后面分析仍无法得到规律,则需返回此项再做验证)
7、推断是否与文件创建时间相关:分别查找相同创建时间、相同访问时间、相同最后一次访问时间的2个文件,进行分析,发现与此无关,排除。
8、推断是否与大小相关:简单验证后,未举出反例推翻,但需要完全证明与大小相关,同时要得到算法,需要有足够多的样本。
对是否与大小相关的验证:
首先通过命令方式打印所有文件的大小,WINDOWS很不擅长此操作,改用LINUX处理:
find ./ |xargs ls -ld 2>/dev/null|awk ‘{printf($5"\t\t"$9"\n");}‘ >../list.txt
之后用excel打开此列表文件,
图三:

因篡改的异或加数只有一个字节,故推断,如果与大小相关,极有可能是对文件大小mod 256后关系对应,于是在excel中计算所有文件大小值 的mod 256,
图四:

对mod 256的值进行排序,excel可能可以直接实现,不过,至少可以复制整列,再以数字方式粘贴:排序后如下图:
图五:

对相同mod 256的文件进行篡改验证,未发现不符合规律者,基本断定篡改值与文件大小mod 256的值存在完全映射关系。
对所有可能做抽样分析后,得到篡改异或加数的生成规律:
图六:

至此,篡改算法得到,同时修正算法也自然就容易多了。

【解决方案】

通过VS2010下编写程序解决,修复程序源码如下:
图七:



【验证】

程序运行完成后,对文件进行抽检,无报错,为进一步确定可靠性,查找所有JPG文件,显示缩略图,无异常。查找所有doc文件,显示作者,标题(这两个信息是通过内容部分得到的),未发现异常(只是OS盗版的痕迹挺重,呵呵),至此,确定算法正确。数据恢复完成。
图八

原文地址:http://blog.51cto.com/sun510/2163513

时间: 2024-10-10 08:03:48

电脑中所有文件都打不开,用这个方法准管用的相关文章

修改win7电脑中所有文件的默认查看方式

怎么修改win7电脑中所有文件的默认查看方式 如何设置才可以得到如下的效果:比如说打开一个盘符或者一个文件夹,进行设置之后,这个盘符里或者这个文件夹下的所有子文件夹.所有子文件夹里的所有文件都以“详细信息”的方式展现.不要挨个打开文件夹里来修改. 1.首先对着空白处,鼠标右键单击,然后点击“排列方式” 选一个 还有 你还可以点击“查看” 选择图标大小.详细信息.平铺.列表 等 2.点击我的电脑左上角的 组织 按钮 随后选择“文件夹和搜索选项” ,再点击“查看”选项卡 ,然后点击“应用到文件夹”这

电脑中dll文件丢失怎么恢复?

DLL文件是Windows系统中的动态链接文件,我们在运行程序时都必须链接到dll文件,如果缺少了则无法正常运行,相信大家都会遇到dll文件缺失的情况,那么电脑中dll文件丢失怎么恢复?下面装机之家分享一下计算机中丢失dll文件修复方法.   第一种方法: 1.在命令提示符下输入第一个命令:cd/d %systemroot%system32 2.在命令提示符下继续输入第二个命令:For %i in (*.dll) do regsvr32 %i /i /s 3.在注册表里: HKEY_LOCAL_

Win10正式版删除此电脑中的文件夹

Win10正式版如何删除"此电脑"中冗余的6个文件夹 将以下代码保存为123.bat文件,用管理员权限运行,选择显示或隐藏 _____________________________________________________________ @echo off set /P aa="隐藏此电脑中的文件夹请按1,按其它任意键则显示." if /i %aa%==1 ( set sss=Hide ) else ( set sss=show ) echo y | re

使用真机测试时,在eclipse中data文件夹打不开

我们知道,在真机测试的时候,在某个应用程序中产生的db文件存在于data/data/应用的包名/中,这是我们很可能需要去该文件夹去查看一下,但是这个文件夹很可能打不开.以下给出解决办法: 1)使用RE文件管理器把data文件夹的权限更改为可读写,问题就解决了 2)使用模拟器 使用真机测试时,在eclipse中data文件夹打不开

python—— 文件的打开模式和文件对象方法 & os、os.path 模块中关于文件、目录常用的函数使用方法

引用自"鱼c工作室"     文件的打开模式和文件对象方法  : https://fishc.com.cn/forum.php?mod=viewthread&tid=45279&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403 os.os.path 模块中关于文件.目录常用的函数使用方法: https://fishc.com.cn/forum.php?mod=viewthread&tid=45512&extr

Android studio关于真机调试DDMS中的data文件夹打不开的解决方法

由于做开发的时候想打开查看数据库存放的内容,在eclipse中数据库文件默认就在/data/data/应用包名/databases/数据库名,而用Android studio打开DDMS下面找时发现点击data下拉按钮没有任何反应(如下图所示)后来找了很久才发现是权限问题,需要修改文件的权限: 上面是未修改过的,可以看到data文件夹的读写权限只对用户组内的用户开放,对其他用户不开放,所以我们只需要把读写权限赋予其他用户即可,具体步骤如下所示: 1.进入Android SDK安装目录,找到pla

如何彻底粉碎电脑中的文件 防泄漏

本文小编教你怎样彻底删除苹果电脑中的数据文件 防止出现文件泄露,造成不必要的损失 如何才能更好地防范数据文件的泄露呢? 很多时候某些文件我们明明已经删除了 可还是会发生这种现象,只能说民间高手太多,恢复它们太容易 在苹果电脑上也同样如此,接下来让我们一起来看一看如何防止苹果电脑数据泄露. 在Cleanmymac中有一项清理功能是专门针对数据文件清理的,我们可以将一些重要的文件彻底删除并防止恢复. 当我们在中文官网上将cleanmymac下载之后,安装好这款清理软件,可以看到在它众多的清理选项中有

电脑中的文件是在硬盘扇区中存储的形式

在数据恢复的过程中,主要就是和数打交道的过程,所以有必要普及下数据进制的基础知识.由于计算机底层用二进制语言通信的,而二进制转换成16进制相对方便,所以我们在用磁盘编辑软件打开硬盘是大多数看到的都是十六进制格式的. 10进制 : 逢十进位有  0 1 2 3 4 5 6 7 8 9 2进制:逢二进位  只有0和1 两个数字 8进制:逢八进位 有0 1 2 3 4 5 6 7 八个数字 16进制:逢16进位  除了0-9 十个数字外.还有A B C D E F 六个字母 数的存储格式 数的存储格式

电脑中的文件名字中都显示属性,怎么去掉???

属性指的是文件扩展名打开我的电脑/工具/文件夹选项/查看,在高级设置里在"隐藏已知文件类型的扩展名"前打勾,确定