diskgenius
硬盘数据恢复基地 门户 数据恢复 WinHex 查看内容

使用Winhex扩容文件大小

2010-5-13 20:45| 发布者: intohard| 查看: 10887| 评论: 0

摘要: Winhex自带的数据解释器也可以实现进制转换。(看不到数据解释器的,单击视图——显示——数据解释器)把光标定在某一地址,数据解释器里便能显示对应的十进制数值。在数据解释器里输入十进制值然后按回车,则那个地 ...

Winhex打开要修改的文件,显示如下界面:

 
任何一个存储在计算机上的文件都可以认为是由最基本的01组成的,Winhex便是将这些文件以二进制形式打开。不过显示的时候是十六进制,一位十六进制相当于四位二进制,两位十六进制相当于八位二进制即一个字节,每个字节即对应一个地址。
左边那一列是行标,上边那一行是列标,行标和列标便组成了地址。如6BFA3003这个地址,其行标便是6BFA3000,列标为3
想要修改数值,直接键盘输入即可。
一个基本常识:对于有多位的十六进制数值而言,存储方式是低位在前,高位在后。如6e731f这么个值,存储方式便是1f  73  6e
既然显示十六进制,那么自然存在一个十六进制和日常使用的十进制转化的问题。通常可以靠Windows的计算器来完成,点击Winhex工具栏的图标即可打开。在计算器的查看菜单里选择科学型,便有进制转换的功能。
其实Winhex自带的数据解释器也可以实现进制转换。(看不到数据解释器的,单击视图——显示——数据解释器)把光标定在某一地址,数据解释器里便能显示对应的十进制数值。在数据解释器里输入十进制值然后按回车,则那个地址的数值就会被改写成对应的十六进制。在选项——数据解释器里还能对数据解释器的显示内容作设置,比如翻译无符号数、浮点数等,这个有兴趣的自己试试。


地址定位
靠行标和列标来定位地址显然是愚蠢废力的。Winhex的工具栏上有个图标,点击显示如下界面:

 
此时直接在新位置里输入地址便可完成定位。
也可以定位相对地址。比如此时位置在某ATK首地址,要往上移1000h到达MOV首地址,那么在新位置里输入1000相对于选择当前位置(P)(返回至)就行了。
同理,到了MOV首地址后又要往下移960h到达一方地址,则可以在新位置里输入960相对于选择当前位置(C
位置菜单里还有个很实用的功能:标记位置和转到标记,快捷键分别是Ctri+ICtrl+K。这个功能就不用多解释了吧,我是经常用的。


定义选块
定义选块主要是用来导出特定数据或缩小搜索范围,定义完成之后可以在位置菜单里快速定位到选块头和选块尾。
这个操作很简单。在选块头右键点击,选择选块开始,选块尾右键点击,选择选块结尾就完成了。

搜索

这个也很直观。搜索——查找十六进制数值,输入要查找的串即可,注意中间不要有空格。可以定义向上向下还是全面搜索,之前如果定义了选块可以选择仅在选块中搜索。其它几个选项建议不要动。找到后如果不是自己想找的目标,可以按F3继续搜索。

数据导出和导入
这个其实就是备份和还原的问题了。萧萧发过一个这方面的帖子,不过现在已经没有做txt补丁的必要了,备份成txt这一步骤也就多余了。
导出:首先把要备份的数据定义成选块,然后在选块中任意位置右键点击,选择编辑——复制区块——置入新文件即可。

导入:把备份数据定义选位,(如果是全文件那就直接Ctrl+A),然后右键右击,选择编辑——复制区块——十六进制数值;再定位到要还原的数据的首地址,右键点击,选择编辑——剪贴版数据——写入即可。注意是写入不是粘贴




文件扩容
MOTBGM的时候有可能需要在文件尾扩容,方法便是在文件尾右键点击,选择编辑——粘贴零字节,输入想扩容的大小即可。

 
不过那个2G多的list.data用这种办法扩容很耗时间。可以换个方法,点击文件菜单,新建一个合适大小(一般是所需扩容大小+1)的文件,然后把这个文件的数据复制后写入整个文件的尾地址,这也达到了扩容目的,而且处理速度很快。

电子文档下载:使用Winhex扩容文件大小.rar


开心

鄙视
1

鼓掌

愤怒
1

可怜

刚表态过的朋友 (2 人)

最新评论

图文热点

寻好东西

论坛精选

返回顶部