近来经常有网友QQ问我,用winhex修改数据,先Add运算,再XOR运算,这样修改后(加密)的数据如何恢复(还原)?

这个好像是中职(或高职)学生在参加全国数据恢复比赛时的题目。我试着做了一下,下面是过程:

首先创建了一个名为“实验doc文档”,如下图:

用winhex打开这个文件,选定所有字节,作如下运算:

先 Add 23H ,再XOR 32H(这两个数值是随意选择的)。如下图:

这样运算之后的数据如下图:

数据已经被加密了。

下面开始恢复数据:

思路:首先把复合文档的文件头0xD0CF11E0A1B11AE1作为关键字,而加密后关键字偏移位置的值为0x C1C00631F6E60F36 。

已知关键字的当前值是由关键字先Add某个数值再XOR某个数值得到的,理论上反向操作(先XOR再Add)的话,由于按字节运算了两次(Add和XOR),而一个字节最大可以表示256个数值(00 H至FF H),那么使用穷举法,最多需要计算256的平方=  65536 次就可以了。

如果通过反向运算后,得到了文件头0xD0CF11E0A1B11AE1,那么就可以得到这两个运算(Add和XOR)的数值。

可能有人会问,Add运算的结果,要用减法来还原才行啊。其实减去一个数就等于加一个负数,这样就好理解了。呵呵。

很明显,这个数量级的计算用手工就太慢了,所以需要编写winhex脚本或小程序来完成计算。下图是我编写的小程序:

用程序计算效率就高多了,一秒钟结果就出来了。从图中可以看到,通过反向计算,一共找到了两组数值:1.  32H 和 DD H ; 2. B2 H和5D H。

通过验证,这两组数值都可以恢复原数据。那么为什么有两组呢?大家可以思考思考,在这儿就不详细讲了。

好了,以上就是我的恢复思路和方法。再见!

保定图锐数据恢复工作室:bsmao   QQ:281935223

2018 . 2 . 22

winhex先Add再XOR后的数据恢复相关推荐

  1. mysql数据库误删后能恢复吗_MySQL 数据库误删除后的数据恢复

    MySQL 数据库误删除后的数据恢复 MySQL 数据库误删除后的数据恢复 在日常运维工作中,对于数据库的备份是至关重要的!数据库对于网站的重要性使得我们对 MySQL 数据库的管理不容有失! 然而是 ...

  2. 关于mysql数据库误删除后的数据恢复操作说明

    在日常运维工作中,对于mysql数据库mysql数据库mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失! 然后,是人总难免会犯错误,说不定哪天大脑短路了 ...

  3. 电脑优化后的数据恢复

    电脑优化后的数据恢复 如果你正经历电脑运行慢,在面对众多的程序已经力不从心的困扰,不要想着另换一台.其实你的计算机还是有爆发潜质的,只要我们找到让它快速运行的方法,不管自组或选购的电脑,任何电脑都可以 ...

  4. MySQL中truncate误操作后的数据恢复案例

    MySQL中truncate误操作后的数据恢复案例 这篇文章主要介绍了MySQL中truncate误操作后的数据恢复案例,主要是要从日志中定位到truncate操作的地方然后备份之前丢失的数据,需要的 ...

  5. Intel不争气,7nm再延后两年将彻底落败

    据相关消息,Intel的7nm工艺将再延后两年到2022年量产,这意味着这家半导体巨头将在半导体制造工艺方面彻底落后于三星和台积电. 眼下的半导体制造工艺竞赛,台积电和三星将在今年底量产10nm工艺, ...

  6. MySQL 数据库误删除后的数据恢复操作说明

    在日常运维工作中,对mysql数据库的备份是万分重要的,以防在数据库表丢失或损坏情况出现,可以及时恢复数据. 线上数据库备份场景: 每周日执行一次全量备份,然后每天下午1点执行MySQLdump增量备 ...

  7. 二叉树前序遍历python输出_[宜配屋]听图阁 - Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例...

    本文实例讲述了Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作.分享给大家供大家参考,具体如下: 实现一个功能: 输入:一颗二叉树的先序和中序遍历 输出:后续遍历 思想: 先序遍历中,第 ...

  8. oracle删除的数据没有commit,在Oracle中误删除数据后并commit后的数据恢复办法

    在Oracle中误删除数据后并commit后的数据恢复办法 背景:表A数据误操作,被delete了,恢复. --1.先备份A表当前数据. --2.查询某 在Oracle中误删除数据后并commit后的 ...

  9. 计算机桌面显示360,我笔记本电脑扩展了一个显示器,但是再开机后360桌面图标不能显示归集整理框里,全铺开了...

    网友求助:我笔记本电脑扩展了一个显示器,但是再开机后360桌面图标不能显示归集整理框里,全铺开了 问题第一张是正常情况,文件夹和文件分两类归集起来.第二张是扩展显示器后,图标全铺开了,拔掉显示器就恢复 ...

  10. 重装系统后电脑数据恢复办法

    重装系统后电脑数据恢复办法 现在很多朋友都爱在电脑使用一段时间后给电脑重装系统 .重装系统有重装系统的好处,同样也会带来一些麻烦事.因为一次电脑中毒,我也不得不重装了系统.对于重装系统不是很了解的缘故 ...

最新文章

  1. [JAVA EE] Thymeleaf 常用工具类
  2. linux下查看线程数的几种方法
  3. RNA干扰各种方法优缺点简介?
  4. 阮一峰react demo代码研究的学习笔记 - demo10 debug
  5. JS关键字和保留字汇总(小记)
  6. Nature | 基于单细胞RNA测序绘制人类肺组织分子细胞图谱,成功鉴定多种未知细胞类型...
  7. photoshop cs6 安装过程 0920
  8. php上传文件表单,php中关于普通表单多文件上传的处理方法
  9. 目标跟踪_POI算法
  10. 用ghost备份和还原Linux系统
  11. 开源呼叫中心软件 GOautodial 存在两个漏洞,可导致RCE
  12. POJ3070 Fibonacci【矩阵快速幂】
  13. 金特会谈:有骨气的人,才会被人尊重
  14. oracle dba_tables degree default,oracle中如何将表的并行度设定为DEFAULT?如下:
  15. 工具说明书 - 单词发音及根据发音查单词
  16. 非因解读 | Multiplex immunofluorescnece-多重免疫荧光结合单细胞蛋白组技术探索肿瘤微环境
  17. 百度网盘资源转迅雷下载正确打开方式!(更新日期2018年11月24日,亲测可用)
  18. Linux从入门到精通二(Windows:你知道我的兄弟Linux吗?)
  19. python if并列条件_Python中if有多个条件怎么办
  20. 孩子学python用的笔记本电脑_教孩子学Python 后的一点感受

热门文章

  1. 唯一插件化Replugin源码及原理深度剖析--唯一Hook点原理
  2. 去除马赛克,有办法了 附运行教程
  3. 解决office 2003安装了office 2007兼容包还是打不开office 2007的文件
  4. 《羊了个羊》谁还在玩我笑他两年半
  5. 今日头条推荐算法原理
  6. html转邮件html格式转换,如何把电子邮件格式改成HTML格式
  7. 第三次作业——K米评测
  8. 小学生计算题生成器的python实现
  9. 物理层-宽带接入技术
  10. cad卸载_CAD一键卸载工具