硬盘数据恢复- 硬盘中文件打开报错的数据恢复案例

硬盘数据恢复环境&故障情况:
某单位重要数据在一台WINDOWS操作系统的PC机上通过网络共享给公司员工使用。这台PC同时也连接着打印机提供打印服务,很多员工直接将文件拷贝到这台PC上进行打印。该PC机上只有一块500G磁盘。
该PC的F盘分区所有类型文件突然全部无法打开。
故障表现:
1、文件名称,时间,路径完全正确,磁盘占用空间正确。
2、打开jpg文件提示:“windows照片查看器无法打开此图片,因为照片查看器不支持此文件格式,或者您没有照片查看器的最新更新”。
3、打开doc文件提示:"请选择使文档可读的编码",选择任何一个编码后文件都是错误的。
4、打开docx文件提示:"无法打开文件,因为内容有错误"。
5、打开xls文件提示:“您尝试打开的文件的格式与文件扩展名指定的格式不一致,打开文件前请验证文件没有损坏且来源可信”。
6、打开xlsx文件提示:"您无法打开文件,因为文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配"。
7、打开PDF文件提示:“打开文档时发生错误,文档已损坏且无法修复”。
8、其他类型文件均无法正常打开。

故障检测结果&分析:
1、硬盘不存在无物理故障。除了F盘,其他分区数据均正常。
2、无启用过任何加密。
3、没有采用第三方软件做过分区大小调整、合并。
4、无操作系统问题和电脑Virus入侵。
5、无其他异常操作。

将硬盘接入到安全(不加载盘符,不自动写数据,保证完全只读)的操作环境中,发现文件系统底层正常,但数据区出现错误。以一个PDF文件为例,在工具中打开如下图:

一个正常的PDF文件,二进制结构一定是以0x46445025(即ASCII的“%PDF”)作为开头标志,而这个文件的开头却是以0x71736712开始。将两者进行比较,这显然是一种异或转换。通过计算,两者相差(异或)0x37。在本PDF文件的尾部同样发现了篡改。
于是,在工具中选中文件所有内容,对选中块以0x37做字节异或(xor):

保存后打开,文件正常。接下来对其他文件做分析,发现篡改的算法均是全部文件对某个值xor,但此值不确定。按字节概率计算应该有256种可能,加上文件数量及类型众多,显然手动修正工作量太大。北亚企安数据恢复工程师分析其xor加数的生成规律。过程如下:
1、推断是否与路径相关:在同一路径下打开不同的文件分析篡改的异或加数,发现不尽相同,排除。
2、推断是否与文件名称相关:查找所有文件,按名称排序,找到相同文件名称但大小不同的文件,打开后分析篡改的异或加数,发现不相同,排除。
3、推断是否与类型相关:找到同一类型的几个不同文件,分析篡改的异或加数,发现不相同,排除。
4、推断是否与存储的物理位置相关:在工具中按不同文件起始位置进行分析篡改的异或加数,未发现相关性,排除。
5、推断是否与文件头部相关:查找头部相同的文件(有同一文件的不同更新,头部是相同的),进行分析后也排除。
6、推断尾部相关的可能性不大。如果后面分析仍无法得到规律,则需返回此项再做验证。
7、推断是否与文件创建时间相关:分别查找相同创建时间、相同访问时间、相同最后一次访问时间的2个文件,进行分析,发现与此无关,排除。
8、推断是否与大小相关:简单验证后,未举出反例推翻,但需要完全证明与大小相关,同时要得到算法,需要有足够多的样本。

针对是否与大小相关的验证:
通过命令方式打印所有文件的大小:    
find ./  |xargs ls -ld 2>/dev/null|awk '{printf($5"\t\t"$9"\n");}' >../list.txt 
用excel打开此列表文件。

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

对mod 256的值进行排序。

排序后:

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

至此,得到篡改算法。

硬盘数据恢复过程:
1、基于前面得到的算法,北亚企安数据恢复工程师通过Visual Studio编写修复程序。
2、使用程序对F分区中的数据进行修复。修复完成后随机抽检修复好的文件,无报错。为进一步确定恢复出来的数据是否正常,查找出所有JPG文件,显示缩略图,没有发现异常。

3、查找所有doc文件,显示作者、标题,未发现异常。

4、交由用户方进行检测,用户方让让各部门抽调员工对恢复出来的数据进行检测,没有发现问题。本次数据恢复工作完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/100513.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot:时间格式化的5种方法(解决后端传给前端的时间格式转换问题)推荐使用第4和第5种!

本文转载自:springboot:时间格式化的5种方法(解决后端传给前端的时间显示不一致)_为什么前端格式化日期了后端还要格式化_洛泞的博客-CSDN博客 时间问题演示 为了方便演示,我写了一个简单 Spring Boot 项目&#xff…

Spring Boot业务系统如何实现海量数据高效实时搜索

1.概述 我们都知道随着业务系统的发展和使用,数据库存储的业务数据量会越来越大,逐渐成为了业务系统的瓶颈。在阿里巴巴开发手册中也建议:单表行数超过500万行或者单表容量超过2GB才推荐进行分库分表,如果预计三年后数据量根本达…

微服务--服务介绍

Spring Cloud实现对比 Spring Cloud 作为一套标准,实现不一样 Spring Cloud AlibabaSpring Cloud NetflixSpring Cloud 官方Spring Cloud Zookeeper分布式配置Nacos ConficArchaiusSpring Cloud ConfigZookeeper服务注册/发现Nacos DiscoveryEureka--Zookeeper服务…

嵌入式学习笔记(7)ARM汇编指令4-多寄存器指令

多寄存器访问指令 ldr/str每周期只能访问4字节内存,如果需要批量读取、写入内存的话太慢,解决方案就是ldm/stm,ldm(load register multiple),stm(store register multiple) 举例: stmia sp, {r0 - r12} 将r0存入sp指…

自动驾驶——【规划】记忆泊车特殊学习路径拟合

1.Back ground 如上图,SLAM学习路线Start到End路径,其中曲线SDAB为D档位学习路径,曲线BC为R学习路径,曲线AE为前进档D档学习路径。 为了使其使用记忆泊车时,其驾驶员体验感好,需去除R档倒车部分轨迹&#x…

画流程图都可以用哪些工具?

在日常生活中,我相信我们很多人都看到过流程图。对于设计师来说,它还需要涉及流程图来反映用户的旅程和交互方式。那么你知道哪些流行的流程图设计软件呢?作为高级设计师,我今天推荐10款流程图设计软件。你可以和我一起读这篇文章…

Aidex 移动端快速开发框架# RuoYi-Uniapp项目,uniapp vue app项目跨域问题

参考地址: manifest.json官方配置文档:manifest.json 应用配置 | uni-app官网 Chrome 调试跨域问题解决方案之插件篇: uni-app H5跨域问题解决方案(CORS、Cross-Origin) - DCloud问答 其实uni-app官方有解决跨域的办…

【C++心愿便利店】No.4---C++初谈类和对象

文章目录 前言一、面向过程和面向对象初步认识二、类的引用三、类的定义四、类的访问限定符及封装五、类的作用域六、类的实例化七、类对象模型八、this指针 前言 👧个人主页:小沈YO. 😚小编介绍:欢迎来到我的乱七八糟小星球&…

uniapp 配置并使用 VueX

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 uni-app 内置了 VueX 1、创建需要的文件 右键点击 根目录【我的是 uni-shop】,然后新建 目录&a…

OBS Studio 30.0 承诺在 Linux 上支持英特尔 QSV,为 DeckLink 提供 HDR 回放功能

导读OBS Studio 30.0 现已推出公开测试版,承诺为这款广受欢迎的免费开源截屏和流媒体应用程序提供多项令人兴奋的新功能,以及大量其他更改和错误修复。 OBS Studio 30.0 承诺在 Linux 上支持英特尔 QSV(快速同步视频)、WHIP/WebRT…

对战ChatGPT,创邻科技的Graph+AI会更胜一筹吗?

大模型(大规模语言模型,即Large Language Model)的应用已经成为千行百业发展的必然。特定领域或行业中经过训练和优化的企业级垂直大模型则成为大模型走下神坛、真正深入场景的关键之路。 但是,企业级垂直大模型在正式落地应用前…

idea --Git Commit Template插件

Git Commit Template是一款免费的IntelliJ IDEA插件,用于提供Git提交模板。该插件可以帮助开发者编写规范的Git提交信息,提高代码管理效率。 首先安装插件: 使用Git Commit Template插件: 注:long description和Breaking changes…

新能源汽车动力总成系统及技术

需要动力系统总成的请联:shbinzer 拆车邦 需要动力系统总成的请联:shbinzer 拆车邦 需要动力系统总成的请联:shbinzer 拆车邦 需要动力系统总成的请联:shbinzer 拆车邦 需要动力系统总成的请联:shbinzer …

卸载Pycharm

1.运行 ‪‪D:\PyCharm 2019.3.3\bin\Uninstall.exe 2.删除相关注册表 删除 HKEY_CURRENT_USER\Environment\PyCharm 文件 删除 HKEY_CURRENT_USER\Software\JavaSoft\Prefs\jetbrains 文件夹 3.删除本地缓存 4.重启

博流RISC-V芯片Eclipse环境搭建

文章目录 1、下载 Eclipse2、导入 bouffalo_sdk3、编译4、烧录5、使用ninja编译 之前编译是通过 VSCode 编译,通过手工输入 make 命令编译,我们也可以通过 Eclipse 可视化 IDE 来编译、烧录。 1、下载 Eclipse 至 Eclipse 官网 https://www.eclipse.org…

下面是实践百度飞桨上面的pm2.5分类项目_logistic regression相关

part1:数据的引入,和前一个linear regression基本是一样 part2:数据解析——也就是数据的“规格化” 首先,打算用dataMat[]和labelMat[]数据存储feature和label,并且文件变量fr 然后,是这个for line in fr.readlines()循环&#…

kubernetes进阶 (一) 环境搭建

我是基于一台centos7.6的腾讯云主机进行操作的,配置为4C8G,之前的文档自己试着搭建发现有问题了,这里重新整理下笔记,集群版本选择1.22.2(一年前搭的)用的还不错 清理环境 之前我的环境可能装过docker或者什…

实现公网远程访问:Windows本地快速搭建SFTP文件服务器并配置端口映射

文章目录 1. 搭建SFTP服务器1.1 下载 freesshd服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内网连接测试成功 3 使用cpolar内网穿透3.1 创建SFTP隧道3.2 查看在线隧道列表 4. 使用SFTP客户端&#xff0…

最详细Maven下载、安装、配置教程

Maven是一个跨平台的项目管理工具。作为Apache组织的一个颇为成功的开源项目,其主要服务于基于Java平台的项目创建,依赖管理和项目信息管理。maven是Apache的顶级项目,解释为“专家,内行”,它是一个项目管理的工具&…

JVM调优指令参数

常用命令查找文档站点:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.html -XX:PrintFlagsInitial 输出所有参数的名称和默认值,默认不包括Diagnostic和Experimental的参数。可以配合 -XX:UnlockDiagnosticVMOptions和-XX:UnlockEx…