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

news2024/9/20 10:39:15

硬盘数据恢复环境&故障情况:
某单位重要数据在一台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、交由用户方进行检测,用户方让让各部门抽调员工对恢复出来的数据进行检测,没有发现问题。本次数据恢复工作完成。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Effetive STL | 条款2 : 小心对“容器无关代码”的幻想

Effetive STL | 条款2 : 小心对“容器无关代码”的幻想 文章目录 Effetive STL | 条款2 : 小心对“容器无关代码”的幻想STL 容器特点推行自己的容器容器能力的交集 封装Method1: typedefMethod2: class>>>>> 欢迎关注公众号【三戒纪元】…

大数据学习:kafka-producer源码分析

kafka-producer源码分析 kafka-1.0.1源码下载地址 一.kafka发送示例 /*** Created by XiChuan on 2021/6/7.*/ public class ProducerTest {public static void main(String[] args) throws Exception {KafkaProducer<String, String> producer createProducer();JSO…

企业为什么需要IM “定制化”?

企业内外部的信息交流作为一种刚需&#xff0c;证明了企业级 IM 市场稳定可靠且前景十足的商业价值。不过&#xff0c;标准化的企业 IM 产品由于定制化能力不足&#xff0c;容易形成封闭的产品生态&#xff0c;对于企业管理者的吸引力正逐渐减弱。 WorkPlus作为一个企业数字化…

电子科大软件系统架构设计——系统分析与设计概述(含课堂作业、练习答案)

系统分析与设计概述 信息系统概述 what 信息系统是一种能够完成对业务数据进行采集、转换、加工、计算、分析、传输、维护等信息处理&#xff0c;并能就某个方面问题给用户提供信息服务的计算机应用系统。 组成 信息化基础设施&#xff08;计算机、计算机网络、服务器、系统…

git文件夹内容详解

.git文件夹是Git版本控制系统在项目根目录下创建的隐藏文件夹&#xff0c;包含了Git仓库的所有相关信息。如下是.git文件夹中常见的一些内容及其作用&#xff1a; HEAD&#xff1a;指向当前所在的分支&#xff08;或者是一个特定的提交&#xff09;。 branches&#xff1a;存储…

SoftwareTest1 - 打破你对软件测试的偏见

软件测试答疑篇 一 . 什么是软件测试二 . 软件测试和软件开发的区别2.1 难易程度2.2 工作环境2.3 薪水("钱"景)2.4 繁忙程度2.5 测试和研发中调试的区别 三 . 软件测试岗位四 . 软件测试人员应该具备的素质4.1 综合能力4.2 优秀的测试用例设计能力4.3 掌握自动化测试…

ShardingSphere——柔性事务SEATA原理

摘要 Apache ShardingSphere集成了 SEATA 作为柔性事务的使用方案&#xff0c;本文主要介绍其实现ShardingSphere中柔性事务SEATA原理原理。帮助你更好的理解ShardingSphere原理。同时帮助大家更好的使用柔性事务SEATA原理。 一、Seata柔性事务 Apache ShardingSphere 集成了…

合并区间【贪心算法】

合并区间 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 class Solution {public int[][] merge(int[…

uniapp 配置并使用 VueX

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

ICCV 2023 | 利用双重聚合的Transformer进行图像超分辨率

导读 本文提出一种同时利用图像空间和通道特征的 Transformer 模型&#xff0c;DAT&#xff08;Dual Aggregation Transformer&#xff09;&#xff0c;用于图像超分辨&#xff08;Super-Resolution&#xff0c;SR&#xff09;任务。DAT 以块间和块内的双重方式&#xff0c;在空…

轻松管理不同类型的文件,高效将文件按类型进行移动归类

如果你经常需要处理不同类型的文件素材&#xff0c;例如图片、音频、视频等&#xff0c;那么你一定知道这是一项繁琐的任务。为了帮助你快速整理这些文件&#xff0c;我们推出了一款强大的文件管理工具&#xff0c;让你能够轻松地将不同类型的文件素材归类到不同文件夹里单独保…

功率信号源的用途和作用有哪些

功率信号源是一种重要的电子设备&#xff0c;用于生成具有特定功率水平、波形和频率的电压或电流信号。它在各种应用中发挥着关键作用。下面介绍功率信号源的主要用途和作用&#xff1a; 电路测试和调试&#xff1a;功率信号源被广泛应用于电路测试和调试过程中。它可以提供不同…

SAP PP之定义活动/作业类型(Activity Type)

文章目录 前言 一、作业是什么 二、使用步骤 1.单独创建 2.创建组 注意点 前言 创建活动类型具有以下先决条件&#xff1a; 控制范围已创建并分配给公司代码。已创建成本要素类别为43的次要成本要素。 一、作业是什么 SAP活动类型是在成本范围的成本中心中产生的活动的分类。…

【JUC基础】JUC入门基础(二)

目录 异步回调JMM 理解对 volatile 的理解1、保证可见性2、不保证原子性3、禁止指令重排 对 JMM 的理解 详解单例模式饿汉式懒汉式DCL懒汉式&#xff1a;双重检测锁模式的懒汉式单例静态内部类实现单例通过反射破坏单例&#xff0c;修改后的DCL饿汉式枚举实现单例防止反射破坏 …

不需要Photoshop!这10款替代软件也能轻松处理图片

Photoshop是一款功能强大的图像处理工具&#xff0c;很多人说到修图就会想到要用PS&#xff0c;但是Photoshop是要付费的&#xff0c;对于业余设计师或者对修图需求量不太高的普通用户来说&#xff0c;使用Photoshop的成本略高。本篇文章&#xff0c;我们向你推荐5款Photoshop替…

FreeRTOS的信号量和互斥量之间的区别和联系

文章目录 信号量信号量简介信号量特征 互斥量互斥量的上锁机制互斥量的优先级继承机制 二值信号量和互斥量的作用二值信号量的作用互斥量的作用 二值信号量和互斥锁关系相同点不同点 如何根据场景选择回答信号量和互斥锁之间的区别&#xff1a; 信号量 信号量简介 队列(queue)…

Unity AssetBundle(1):Assets打包和依赖(Dependencies)

对Unity5.x后的AssetBundle依赖机制有了一点理解&#xff0c;创建了一个项目验证 github:GeWenL / AssetBundlePro AbScene.unity 资源有哪些&#xff1f; Some common types of Asset assetbundle打包命令是 BuildPipeline.BuildAssetBundles ,格式有&#xff1a; 引用&…

vue3+ts组件通信

1、父组件向组件传参 父组件代码 子组件代码 2、子组件向父组件传参 组件间代码 父组件代码 3、如果eslint报错&#xff0c;需在.eslintrc.js中添加一行代码 4、通过父组件通过 ref 获取子组件的属性或者方法 父组件代码 子组件代码 5、孙子组件provide和inject 父组件…

重磅!腾讯云 CODING 入选软件供应链产品名录

点击链接了解详情 2023 年 8 月 25 日&#xff0c;由中国信息通信研究院、中国通信标准化协会联合主办的**“2023 首届 SecGo 云和软件安全大会”在京召开。会上正式发布了第二期《软件供应链厂商和产品名录》&#xff0c;旨在提升软件供应链透明度&#xff0c;宣传推广一批成熟…

Ceph构件及组件分析

Ceph存储架构 Ceph 存储集群由几个不同的daemon组成&#xff0c;每个daemon负责Ceph 的一个独特功能并。每个守护进程是彼此独立的。 下面将简要介绍每个Ceph组件的功能&#xff1a; RADOS&#xff08;Reliable Autonomic Distributed Object Store, RADOS&#xff09; RADOS…