续写上次笔记:

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数据恢复笔记(二)的更多相关文章

  1. WinHex数据恢复笔记(一)

    WinHex数据恢复功能强大,可以从硬件簇上扇区进行数据扫描恢复.首先对winhex的各个功能介绍.之后对实例记录一个Word文档删除后进行恢复. 1.WinHex数据恢复软件的编辑区输入与其他普通文 ...

  2. Winhex数据恢复笔记(五)

    一.上次介绍了Windows API函数,这次对Windows API函数的参数做个笔记 1.IpFileName:  文件名指针,也可指向 MS-Dos设备名,同时支持文件和设备名,函数分为两个版本 ...

  3. Winhex数据恢复学习笔记(三)

    上次对文件系统进行简单的分析,这次就文件的镜像功能做一介绍 1.首先镜像的概念:镜像就是数据的副本,是原来数据在相同位置上以相同的排列模式生成的拷贝,所以镜像可以用来还原原始数据,代替原始数据工作,镜 ...

  4. 《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX

    <CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...

  5. jQuery源码笔记(二):定义了一些变量和函数 jQuery = function(){}

    笔记(二)也分为三部分: 一. 介绍: 注释说明:v2.0.3版本.Sizzle选择器.MIT软件许可注释中的#的信息索引.查询地址(英文版)匿名函数自执行:window参数及undefined参数意 ...

  6. Mastering Web Application Development with AngularJS 读书笔记(二)

    第一章笔记 (二) 一.scopes的层级和事件系统(the eventing system) 在层级中管理的scopes可以被用做事件总线.AngularJS 允许我们去传播已经命名的事件用一种有效 ...

  7. Python 学习笔记二

    笔记二 :print 以及基本文件操作 笔记一已取消置顶链接地址 http://www.cnblogs.com/dzzy/p/5140899.html 暑假只是快速过了一遍python ,现在起开始仔 ...

  8. WPF的Binding学习笔记(二)

    原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...

  9. webpy使用笔记(二) session/sessionid的使用

    webpy使用笔记(二) session的使用 webpy使用系列之session的使用,虽然工作中使用的是django,但是自己并不喜欢那种大而全的东西~什么都给你准备好了,自己好像一个机器人一样赶 ...

随机推荐

  1. Day19-File操作-创建 删除,文件过滤

    import java.io.File; import java.io.IOException; /* *创建功能: *public boolean createNewFile():创建文件 如果存在 ...

  2. Django 学习手册 - 下载数据库表格(XLS/CSV)

    下载XLS表格方式: 前置: 需要安装xlwt模块 views : def export_users_xls(request): response = HttpResponse(content_typ ...

  3. 将mnist数据集保存成numpy格式

    import numpy as np from urllib import request import gzip import pickle filename = [ ["training ...

  4. pythonのscrapy抓取网站数据

    (1)安装Scrapy环境 步骤请参考:https://blog.csdn.net/c406495762/article/details/60156205 需要注意的是,安装的时候需要根据自己的pyt ...

  5. 建立Oracle GoldenGate凭证

    了解如何为与数据库交互的流程创建数据库用户,分配正确的权限并防止未经授权使用凭据. 主题: 为Oracle GoldenGate分配凭证 保护Oracle GoldenGate凭证 3.1 为Orac ...

  6. string.Empty, "" 和 null 三者的区别

    转载:http://www.cnblogs.com/mxxblog/archive/2013/08/22/3275387.html 这是一个及其常见的问题,网上已经有关于这个问题的很多讨论.但是我觉得 ...

  7. [Kubernetes]如何使用yaml文件使得可以向外暴露服务

    最近因为项目需要上线,所以这段时间都扑到了Kubernetes上面. 昨天老大交代了一个任务,大概就是这样的: 看起来挺简单的,因为相关文件都给我了,我以为直接把文件拖上去,然后在访问ip:port方 ...

  8. Linux内核调试:kdump、vmcore、crash、kernel-debuginfo【转】

    转自:https://blog.csdn.net/guowenyan001/article/details/19807555 一.简介 linux内核发送崩溃时,kdump会生成一个内核转储文件vmc ...

  9. Django 的系统时区设置 RPC

    PRC   Deprecated +08:00 +08:00 Link to Asia/Shanghai settings.py  文件的设置项:   TIME_ZONE = 'PRC'     来源 ...

  10. 【转】Java并发编程:并发容器之CopyOnWriteArrayList

    Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改, ...