20145302张薇《课程设计》数据恢复——WinHex实践

实践内容

  • 使用WinHex破损一个U盘
  • 使用WinHex通过DBR备份数据来修复已损坏U盘

实践详细步骤

1.准备一个文件格式为NTFS的U盘

2.使用WinHex以物理方式打开此U盘

  • WinHex->Tools->Open disk

  • 由此,出现Boot区NTFS文件格式的数据

  • 我们可以看到其offset为:001FBE0000

3.损坏boot区破损U盘

  • 选中这一区域,右键选择Edit->Fill Block

  • 在此,我选择使用Fill with hex values“00”来覆盖填充此区域的数据,效果如下:

  • Simple pseudo-random numbers为使用随机数填充,效果如下:

  • U盘已无法正常打开,需要格式化

4.使用DBR备份修复U盘

  • 找到DBR备份区数据(一般DBR备份数据在磁盘的最后):

  • 可以看到,DBR备份的offset为1F3FFFFE00
  • 选中该区域数据,右键Edit->Copy Block->Normally对此区域数据进行复制
  • 点击U盘名称,回到初始boot区,在初始位置右键选择Edit->clipboard data->write将刚刚复制的数据粘贴过来,需要注意粘贴的位置一定要正确,WinHex会提示位置信息:

  • 测试U盘是否可用:

  • 成功修复

20145302张薇《课程设计》数据恢复——WinHex实践的更多相关文章

  1. 20145302张薇 《网络对抗技术》 web安全基础实践

    20145302张薇 <网络对抗技术> web安全基础实践 实验问题回答 1.SQL注入攻击原理,如何防御 原理:攻击者把SQL命令插入到网页的各种查询字符串处,达到欺骗服务器执行恶意的S ...

  2. 20145302张薇 《网络对抗技术》逆向及BOF基础实践

    20145302张薇 <网络对抗技术>逆向及BOF基础实践 实验内容 实践对象:名为20145302的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单 ...

  3. 20145302张薇 《Java程序设计》第二周学习总结

    20145302张薇 <Java程序设计>第一周学习总结 教材学习内容总结 第三章 第三章讲的是基本类型,变量,运算符和基本条件语句. 基本类型分为: 整数:short(2 byte),i ...

  4. 20145302张薇 Java第一周学习总结

    20145302张薇 <Java程序设计>第一周学习总结 教材学习内容总结 第一章 1995年,java被公认诞生.java第一开始为了消费性数字产品(如手机)而设计,所以java本身有很 ...

  5. 20145302张薇《Java程序设计》实验三报告

    20145302张薇<Java程序设计>实验三:敏捷开发与XP实践 实验内容 使用git上传代码 使用git实现代码开发实践 实现代码的重载 使用git上传代码 git init git ...

  6. 20145302张薇 《网络对抗技术》 web基础

    20145302张薇 <网络对抗> web基础 实验问题回答 1.什么是表单 表单在网页中主要负责数据采集功能:一般网页上需要用户输入.选择的地方都会用到表单 表单标签:即,用于确定表单所 ...

  7. 20145302张薇 《网络对抗》MSF应用基础

    20145302张薇 <网络对抗>MSF应用基础 实验内容 掌握metasploit的基本应用方式 1.主动攻击--ms08_067 2.针对浏览器的攻击--ms11_050 3.针对客户 ...

  8. 20145302张薇《Java程序设计》实验五报告

    20145302张薇 实验五:Java网络编程及安全 实验内容 掌握Socket程序的编写: 掌握密码技术的使用: 设计安全传输系统. 实验要求 基于Java Socket实现安全传输 基于TCP实现 ...

  9. 20145302张薇《Java程序设计》实验二报告

    20145302张薇<Java程序设计>实验二:Java面向对象程序设计 使用TDD的方式设计实现复数类:Complex 测试代码 import org.junit.Test; publi ...

随机推荐

  1. Shuffle'm Up---poj3087

    题目链接 题意:有两个字符串s1,s2:经过交叉问是否得到字符串s,不能输出-1,能就输出交叉的次数 每次重组的串都是s2开始,重新组合时,前面一半是s1,后一半s2: #include<std ...

  2. React-生命周期的相关介绍

    1.mounting/组件插入相关 (1)componentWillMount  模板插入前 (2)render 模板插入 (3)componentDidMount 模板插入后 2.Updating/ ...

  3. js-jquery-Validate校验【一】

    一.导入 js 库 <script src="http://static.runoob.com/assets/jquery-validation-1.14.0/lib/jquery.j ...

  4. Vue.js - 概述

    概述 Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的库.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. Vue.js ...

  5. 输出log到指定文件

    0:pom.xml中添加依赖 <!--log4j--> <!--有错误时,可能版本不对,或者依赖没有加全 'org.apache.logging.log4j:log4j-core:2 ...

  6. Andrew Ng-ML-第七章-逻辑回归

    1.极大似然估计-逻辑回归代价函数的简化 Andrew Ng的ML视频上讲到:逻辑回归的代价函数可以用最大似然估计法进行简化成上图中第二个式子. 所以学习了一下极大似然估计原理: 2.求偏导 逻辑回归 ...

  7. [LeetCode] 694. Number of Distinct Islands

    Given a non-empty 2D array grid of 0's and 1's, an island is a group of 1's (representing land) conn ...

  8. MVC左边导航,左边内容变,通过AJAX方法实现

    前台: @{ ViewBag.Title = "爱湛师-个人信息"; Layout = "~/Views/Shared/DefaultMaster.cshtml" ...

  9. C# 后台动态添加标签(span,div) 以及模板添加

    很多时候.我们需要在后台用C#代码添加html标签.而不是在html源码中添加. 比如在html源码中简单的一个input 标签 <input type="type" nam ...

  10. lambda函数和map函数

    lambda函数,简化了函数定义的书写形式,使代码更为简洁,但是使用自定义函数的定义方式更为直观,易理解 g = lambda x:x+1 #上面的lambda表达式相当于下面的自定义函数 def g ...