WinHex数据恢复笔记(二)
续写上次笔记:
1、Winhex数据恢复软件的界面上的所有功能已经介绍了一遍,最主要的还是编程恢复的能力。
今天主要看看记事本的编辑恢复及其相关的一些问题,记事本的 编辑值是ASCII值,所以没有文件的特征头格式,将winhex编辑区的十六进制数据复制到新的记事本当中,汉字的编码是每四个字节编码一个汉字。所以会看到如下图的处理结果。碎片文档的恢复一种思路就是,通过回忆自己之前在文档中的内容,记录下来之后将内容转换成十六进制的数据,再用Winhex数据恢复软件在碎片文件中进行遍历群举查找。找到破碎的文档之后再根据文档的格式的头部特征找到文档头,文档尾,恢复整个文档,恢复文档主要看文档自身的价值来衡量这次文档恢复的收费。(文档收费一般都是按字节收费的)
记事本的编码格式决定了该文档中不能隐藏数据,但是像其他的Word格式图片格式(png,img)文档中存在很多的0值,编辑之后就可以以用来隐藏数据。

2、新建文件的作用尤为重要的,当恢复文档碎片的时计算字节的偏移量是很费神的但是可以通过新建多个文件将每一个碎片复制进去,这样将字节相对偏移变成了绝对偏移。那么新建文件需要多大的文件,选择恰当的文件大小,避免了过多的0值填充。恢复提取中尽量设置要大于碎片文件的大小。找到第一个碎片文件将其编辑区的十六进制的数据复制到新建的文件中,继续找到第二个文件紧跟在第一个文件的后面复制进去。保存之后重新定义文档格式和名字并保存文件。这样就将碎片文件恢复当原来的样子。这种思想可以用在很多格式文档的恢复中,无论是Word文档还是Excel文档,都可以用这样的思路来重建。新建的文件都是拿0值填充的。

3、文件格式究竟是什么样子的,最终还是逃不了数据,也就是说所有的文件其实就是一堆数据,只是格式不一样。下看看JPEG图片的文件格式。
如下图JPEG的头文件格式编码是 FF D8 FF E1,文件句柄是FF D9,现在按照这个格式重新新建一个文件,中间的数据编辑区随意填写或者复制一点其他图片的数据填充并保存


这里要说明的是这样随便填充的图片任然图片查看器无法浏览的,因为图片中的哈夫曼编码损坏啦,不能正确解析数据。要掌握图片的压缩的原理和技术。关于JPEG图片的恢复问题并不是根据MBR引导区的修复问题,JPEG图片有自己的构造。不过你可以根据文件的头格式,和文件句柄格式大致在数据中确定一个大致范围,然后在进行准确的判断。
4、文件数据碎片的归类问题
这个问题很多国外数据专家都在研究,但是没有彻底的解决,较常提的是模式识别算法。像“费舍尔线性鉴别理论” 、“奥斯卡检测模式”。在数据篡改问题上研究数据的底层排列形式尤为重要。如果用垃圾数据直接覆盖原本的数据,这样追溯到原本的数据是很难的。对于文档可以提取能够识别的数据段,进行拼合数据,但是对一幅图片进行数据修改本身技术要求很高,图片的数据压缩算法就决定了,修改一个数据导致全部的数据都会变化。
5、下一次对硬盘镜像问题做一个说明。
WinHex数据恢复笔记(二)的更多相关文章
- WinHex数据恢复笔记(一)
WinHex数据恢复功能强大,可以从硬件簇上扇区进行数据扫描恢复.首先对winhex的各个功能介绍.之后对实例记录一个Word文档删除后进行恢复. 1.WinHex数据恢复软件的编辑区输入与其他普通文 ...
- Winhex数据恢复笔记(五)
一.上次介绍了Windows API函数,这次对Windows API函数的参数做个笔记 1.IpFileName: 文件名指针,也可指向 MS-Dos设备名,同时支持文件和设备名,函数分为两个版本 ...
- Winhex数据恢复学习笔记(三)
上次对文件系统进行简单的分析,这次就文件的镜像功能做一介绍 1.首先镜像的概念:镜像就是数据的副本,是原来数据在相同位置上以相同的排列模式生成的拷贝,所以镜像可以用来还原原始数据,代替原始数据工作,镜 ...
- 《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX
<CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...
- jQuery源码笔记(二):定义了一些变量和函数 jQuery = function(){}
笔记(二)也分为三部分: 一. 介绍: 注释说明:v2.0.3版本.Sizzle选择器.MIT软件许可注释中的#的信息索引.查询地址(英文版)匿名函数自执行:window参数及undefined参数意 ...
- Mastering Web Application Development with AngularJS 读书笔记(二)
第一章笔记 (二) 一.scopes的层级和事件系统(the eventing system) 在层级中管理的scopes可以被用做事件总线.AngularJS 允许我们去传播已经命名的事件用一种有效 ...
- Python 学习笔记二
笔记二 :print 以及基本文件操作 笔记一已取消置顶链接地址 http://www.cnblogs.com/dzzy/p/5140899.html 暑假只是快速过了一遍python ,现在起开始仔 ...
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
- webpy使用笔记(二) session/sessionid的使用
webpy使用笔记(二) session的使用 webpy使用系列之session的使用,虽然工作中使用的是django,但是自己并不喜欢那种大而全的东西~什么都给你准备好了,自己好像一个机器人一样赶 ...
随机推荐
- sqlserver分组统计合并
---分组partition by;统计:Count();合并:for xml path('') with cte as( select COUNT(t2.Id) OVER(PARTITION BY ...
- Android逆向基础----Dalvik字节码
参考此微博,更多详细内容可以到这里查看 http://blog.csdn.net/dd864140130/article/details/52076515 Dalvik字节码 1.寄存器位32位,64 ...
- python - psutil 系统信息模块
# .psutil是一个跨平台库能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息. # 它主要用来做系统监控,性能分析,进程管理. # 它实现了同等命令行工具提供的功能 ...
- css3新属性运用
1.css3新单位vh.vw,这个单位是相对显示窗口的宽度或高度 vh等于viewport高度的1/100.例如,如果浏览器的高是900px,1vh求得的值为9px.同理,如果显示窗口宽度为750px ...
- 在Ubuntu 16.04下安装nodejs
源安装: 1.curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash - 2.sudo apt-get install -y node ...
- PDB文件详解
原文地址:http://blog.csdn.net/feihe0755/article/details/54233714 PDB文件的介绍 PDB(Program Data Base),意即程序的基本 ...
- nginx指定文件路径有两种方式root和alias
背景 一直没明白这个配置啥意思,反正凑合用吧,不过老凑合总不是个事,没搞明白更容易忘,别人问还答不上来.反正也很简单,就搞明白点记下来. 知识点 root实例: location ^~ /t/ { r ...
- ECC加密算法入门介绍 --- 看雪
标 题:ECC加密算法入门介绍 作 者:zmworm 时 间:2003/05/04 08:32pm 链 接:http://bbs.pediy.com ECC加密算法入门介绍 作者 :ZMWorm[C ...
- mongodb内建角色
MongoDB内建角色 数据库用户角色:read.readWrite; 数据库管理角色:dbAdmin.dbOwner.userAdmin: 集群管理角色:clusterAdmin.clusterMa ...
- top 分析
Top命令监控某个进程的资源占有情况 下面是各种内存: VIRT:virtual memory usage 1.进程“需要的”虚拟内存大小,包括进程使用的库.代码.数据等 2.假如进程申请10 ...