|
楼主 |
发表于 2011-1-5 08:46:09
|
显示全部楼层
4.3.10 创建磁盘镜象
除了克隆功能菜单,Winhex还提供了制作磁盘镜象的功能菜单,用以将磁盘保存为可压缩的镜象文件(是否压缩可自行决定)。
在打开一个磁盘后,选择菜单File→Create Disk Image,即可弹出建立磁盘镜象对话框,如图4.63所示。
图4.63
1. Image file format
镜象文件格式。可以选择制作成后缀名为.dd、.001、.img的Raw格式,也可以制作为以.whx为后缀的Winhex备份文件。
如果选择了第一项的Raw image格式,制作完成后的镜象可以直接在Winhex中打开。但如果在制作镜象文件过程中使用了压缩功能,则文件的拷贝会稍有不便,因为虽然压缩过的镜象文件占用空间较小,但拷贝时会被解压缩,这也就意味着拷贝至的目标位置空间不能小于镜象未压缩前的原始大小。
.whx备份文件可以视为由Winhex生成的一种专门的数据库文件,即便在镜象制作过程中对镜象文件进行了压缩,对镜象文件进行拷贝时也不存在被解压缩的问题,因为这种压缩是由Winhex本身完成的,对于系统而言它并不是压缩的,而只是一个普通的文件而已。但在Winhex中打开.whx文件时,要么需要回写入一个磁盘,要么需要建立一个临时文件,要么需要将其解压缩另存为一个Raw类型的镜象文件。
提示:不需要进行拷贝传输或经常使用的,应该考虑制作成Raw格式镜象;如果需要拷贝传输,则应该考虑制作为.whx类型的备份文件。
2. Path and filename
路径及文件名。设定保存镜象文件的路径位置和文件名。
3. Power down computer after completion
任务完成后关闭计算机。如果勾选了此项,镜象制作完成后计算计算机将会自动关闭。
4. Scope:sectors
镜象扇区范围。如果选择制作Raw格式镜象,起始扇区处理不可选状态,只能由0号扇区开始。如果选择制作Winhex备份文件,则镜象扇区的起始和结束位置都可以自行设定。
5. Compute hash
计算hash值。勾选该项后,程序会按设定的校验方式计算hash值。
6. Compression
压缩方式。可以在此选择是否对镜象文件进行压缩,以及压缩的方式。
7. Split image into segments of..
将文件拆分为指定的大小。如果要使用光盘存储镜象文件,可以勾选此项并设定相应的单个文件大小,程序会按该指定的大小将镜象文件拆分成若干个文件,便于保存。
4.3.11 回写磁盘镜象
Winhex可以将镜象文件重新回写入一个指定的磁盘,该功能可以通过选择菜单File→Restore Image调用。
1. 回写非.whx文件
调用后将出现图4.64所示的文件选择框,默认文件类型为.whx,如果你的镜象文件是.001、.dd之类的非.whx备份文件,则可以在“文件类型”小窗口中进行类型选择,以使你所需要的文件出现在上面的文件选择窗口中。
图4.64
选择好镜象文件后双击该文件或点击“打开”,就会弹出目标磁盘选择框,可以在选择框中选择镜象要恢复至的磁盘。
选择好目标磁盘后点击OK,磁盘窗口关闭,显示克隆磁盘窗口,如图()所示。点击OK按钮即可开始写入磁盘。
2. 回写.whx文件
如果将.whx类型的文件回写入磁盘或试图将一个.whx类型文件拖入Winhex窗口将其打开时会弹出图()所示的对话框(使用Winhex的“打开文件”功能则不会弹出此对话框),由用户选择是否将其写回某磁盘以及写入磁盘的方式。
图4.65
(1) Write to the disk only on save request
只在接到写入请求后将数据写入磁盘。选择此项后,Winhex并不将数据直接写入磁盘,只有当用户下达保存入磁盘指令后才真正写入磁盘。
(2) Write sectors directly and immediately to the disk
直接写入磁盘。
注意,选择此项后,镜象文件会被直接写入对话框下面设定的目标磁盘内。如果选择错了目标磁盘,被破坏的磁盘上的数据将无法恢复。
(3) Export sector(s) into a raw,headerless image file
将当前.whx文件转换成其它类型的镜象文件。选择该项后,程序会将当前的.whx文件输出为一个指定类型的镜象文件并保存在指定的路径。
(4) Extract sectors
提取扇区数。可以在此设定要从镜象中提取的扇区数量。
(5) Base destination sector
基准扇区号。即从哪个扇区开始提取。
(6) Destination disk
目标磁盘。可以在此选择将要写入的目标位置磁盘,一定要慎重选择,避免错写入其他磁盘造成数据破坏。
用户可以根据需要自行选择相应的功能选项,具体操作不再赘述。
4.3.12 右键定义选块
Winhex中提供了很多右键菜单,使用起来非常方便。
我们经常会在Winhex中对某一区块进行操作,比如复制、粘贴等。对于较小的选块,可以直接按住鼠标左键由起始偏移位置移动结束偏移位置进行选取;要选取整个文件或磁盘,可以按键盘上的Ctrl+A进行全选;但对于较大范围部分选块的选取,右键菜单中提供的定义选块功能就显得更加实用且方便了。
在Winhex中打开一个文件或磁盘,在十六进制区或文本字符区内要做为选块起始的偏移位置右击,在弹出的菜单中选择Beginning of block(选块起始)或按键盘上的Alt+1将指针当前位置设定为选块的起始位置,如图4.66所示。
图4.66
图4.67
跳转到要做为选块结束位置的偏移字节处,在该位置右击,在弹出的菜单中选择End of block(选块结束)或按键盘上的Alt+2,将当前位置设定为选块结束位置,如图4.67所示。
选块范围设定完毕后,被选中的部分将以设定的选块颜色醒目显示,这时就可以对其进行后续操作了。
4.3.13 右键菜单之“撤销操作”
在对某个文件或磁盘内容进行修改前,我们首先应该了解如何对已进行的修改操作进行撤销,以使我们可以有机会更改错误的操作。
如果在Winhex内对文件或磁盘内容进行了更改后尚未关闭该操作对象,若要撤销该更改操作,可以右击,在弹出的菜单中选择Edit→Undo或按键盘上的Ctrl+Z进行回滚操作,如图4.68所示。
撤销操作并不是可以无限制地进行的,所以在更改操作中应该尽可能地做到准确无误。
图4.68
4.3.14 右键菜单之“剪切选块”
在Winhex内,剪切操作只对文件有效,且被操作的文件必须以页面形成显示,不能被解释为磁盘。
在要对其进行剪切操作的选块内右击,在弹出的菜单中选择Edit→Cut或按键盘上的Ctrl+X后,会弹出确认对话框,告知用户剪切掉当前选块内容将会使文件减小,是否确认进行剪切操作,点击Yes按钮确认后即开始剪切。
剪切操作只在内存中进行,要保存剪切后的文件,需要对其进行保存操作。
4.3.15右键菜单之“拷贝选块”
Winhex提供的复制功能非常丰富而细腻,可以进行各种各样的复制操作。操作菜单位于右键菜单Edit→Copy Block菜单下,如图4.69所示。
图4.69
下面我们对各个复制命令菜单进行介绍,操作时,在被操作的选块内右击,然后选择相应的操作命令即可。
1. Normally
常规复制。常规复制是Winhex中最普通、使用最为广泛的复制方式。它适合在Winhex窗口的工作区内进行复制、粘贴、写入操作。
如图4.70所示。我们要将偏移0x00处起始的16个字节复制后写到偏移0x20处起始的16个字节,可以首先选中0x00~0x0F这16个字节,然后在选块内右击,选择Edit→Copy Block→Normally菜单项,内容即被复制到剪贴板。
图4.70
然后在要写入的位置0x20处右击,选择Edit→Clipboard Data→Write将内容写入到该位置起始的16个字节处,如图4.71所示。关于clipboard Data内的菜单项,我们将在后面进行详细介绍。
图4.71
图4.72显示了写入后的情形,可以看到,0x00~0x0F字节处的16个字节已经被成功复制并写入到了0x20~0x2F处的16个字节处。但这个操作只是在内存中发生了改变,如果要将改变结果写入磁盘,需要进行保存操作。
图4.72
2. Into new file
右键菜单Edit→Copy Block→Into new file用于将选块内容重新写入、保存为一个新的文件。
例如,如图4.73所示,我们要将0x00~0x2F保存成一个新的文件,可以在选块内右击,选择Edit→Copy Block→Into new file。
图4.73
随后会弹出文件名设置与保存路径选择对话框,如图4.74所示。
图4.74
默认的文件名是noname,用户可以根据自己的需要对文件名进行设置,在此我们使用默认名,点击“保存”按钮后,文件保存成功并自动在Winhex中打开,如图4.75所示。
图4.75
3. Hex Values
拷贝十六进制值。假如我们要将Winhex的十六进制窗口中的十六进制数据拷贝到一个文档内,就必须使用Winhex提供的拷贝十六进制值的功能。
图4.76显示了使用Edit→Copy Block→Normally进行常规拷贝和使用Edit→Copy Block→Hex Values进行十六进制值拷贝的不同结果,上面的Winhex窗口中是被复制的内容,记事本中上面的一行是常规拷贝的结果,下面一行是进行十六进制值拷贝的结果。
图4.76
4. Editor Display
按编辑窗口显示的样式进行复制。该菜单项可以将Winhex窗口中显示的内容按其布局样式复制到文档中,如图4.77所示。
可以看到,记事本中精确地复制了Winhex窗口中的偏移值、十六进制内容及文本字符内容。
图4.77
5. GREP Hex
复制十六进制值为GREP语法形式。该菜单项是便于使用GREP语法工作的用户将Winhex窗口中的十六进制值直接拷贝并转换成相应的十六进制书写形式,复制结果如图4.78所示。
图4.78
6. C Source
复制十六进制值为C语言源码形式。该菜单项是便于使用C语言进行编程工作的用户将Winhex窗口中的十六进制值直接拷贝并转换成C语言源码形式。如图()所示,程序直接将复制的十六进制值做为无符号的字符数组输出。
图4.79
7. Pascal Source
复制十六进制值为Pascal语言源码形式。该菜单项是便于使用Pascal语言进行编程工作的用户将Winhex窗口中的十六进制值直接拷贝并转换成Pascal语言源码形式,复制转换结果如图4.80所示。
图4.80
4.3.16 右键菜单之“剪贴板数据处理”
在Winhex中,复制的数据暂时保存在剪贴板中,右键菜单Edit→Clipboard Data菜单下的菜单项用于对这些数据进行处理。它包含Paste(粘贴)、Write(写入)、Paste Into New File(粘贴进新文件)和Empty Clipboard(清空剪贴板)四项,如图4.81所示。
图4.81
1.Paste
粘贴。用于将剪贴板内的数据粘贴到一个指定的位置,该操作只对文件有效,对磁盘无效。粘贴操作会增加目标文件的大小,因为粘贴时剪贴板内的内容被写入指定位置,指定位置原来的数据将向文件尾部移动。
假设有一个文件在Winhex中打开如图()上半部分所示,我们要将0x00~0x0F处的这16个字节复制后粘贴到0x20处。请注意,现在0x20~0x27处的8个字节内容是“01 02 03 04 05 06 07 08”, 该文件的大小字节数目前为0x9F个字节。
图4.82下半部分是粘贴后的结果,可以看到,0x20处被粘贴进了与0x00~0x0F的16个字节相同的内容,0x20处原来的“01 02 03 04 05 06 07 08”向后顺延了16个字节到了0x30处,文件大小字节数也由原来的0x90个字节增加了16个字节,变成0xA0个字节。
图4.82
2.Write
写入。“写入”操作与“粘贴”操作不同的地方在于,“粘贴”操作“插入”指定的位置,该位置的原有数据向后移动,无论粘贴的内容是多少(不为0字节)都会改变文件的大小;“写入”操作则是由指定的写入位置开始“覆盖”,如果由写入位置开始至文件结尾处的空间大于或等于要写入的内容,则文件的大小不会改变。如果由写入位置开始至文件结尾处的空间小于要写入的内容,文件则会被增大,增加的数量是写入的内容与写入点至文件结尾处的空间大小之差。
3.Paste Into New File
粘贴进新文件。如果剪贴板中的内容是Winhex十六进制值,则粘贴进新文件命令与前面介绍的拷贝菜单中的粘贴入新文件命令功能相同。如果剪贴板中的内容不是Winhex十六进制值,比如从其他文档中复制的数据,对其进行“粘贴进新文件”操作时会弹出格式选择框,如图4.83所示,应该根据需要选择相应的格式。
图4.83
4.Empty Clipboard
清空剪贴板。该菜单项用于清空剪贴板中的内容,以释放内存资源。
4.3.17 右键菜单之“移除选块”
右键菜单Edit→Remove用于删除选块内容,该菜单项只对文件有效。
移除选块操作将会减小文件的大小。如图4.84所示,我们要移除0x00~0x07字节处的8个字节,移除前该文件大小为0x9F个字节。移除后,原0x08至文件结尾处的所有字节向文件头部移动8个字节,文件大小也就为0x97个字节,减小了8个字节。
图4.84
4.3.18 右键菜单之“粘贴零字节”
右键菜单Edit→Paste Zero Bytes用于在指定的位置插入指定数量的“00”,该操作只对文件有效,且会增加文件的大小字节数。如图4.85(A)所示,我们要在偏移0x10的位置插入16个字节的“00”,则在该偏移位置右击,然后选择Edit→Paste Zero Bytes。
随后,程序会弹出对话框询问要插入的“00”的数量,以十进制计数,在此我们输入“16”,如图4,85(B)所示。
然后点击OK,程序即会向指定位置插入指定数量的“00”,如图4.85(C)所示,可以看到,文件由原来的0x95个字节增加为0xA5个字节。
图4.85
4.3.19 右键菜单之“填充选块”
有时候,由于各种原因我们可能需要对磁盘上的的某些数据进行清除,比如对一些敏感数据进行销毁,对干扰数据进行清零等。Winhex 提供的右键菜单项Edit→Fill Block可以满足这些需求。
要对某选块进行清零或使用其他数据进行填充,可以在选块内右击,然后选择Edit→Fill Block菜单项,随后会弹出填充选块设置对话框,如图4.86所示。
图4.86
1. Fill with hex values
填充内容,可以自行设定任意十六进制值,默认为“00”。
2. Simple pseudo-random numbers
使用随机数据。如果选择了该项,其下的随机数字设定范围将会处于可填写状态,可以在其中填入0~255间的任意数值范围。
后面的两个选项为使用加密数据填充,不再详细介绍。
设置完毕后点击OK按钮即开始填充操作。
4.3.20 跳转到页
在Winhex中打开一个文件后,如果要跳转到某页,可以选择Position→Go To Page菜单项(如图4,87),在弹出的跳转到页窗口中输入要跳转到的页号(如图4.88所示),即可精确地跳转到目标页。
图4.87
图4.88
不过,更多的时候我们会在Winhex中将文件解释为磁盘,具体操作见下一小节。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|