机器语言入门,机器语言属于
WinHex是一个很不错的16进制文件编辑与磁盘编辑软件。
WinHex以文件小、速度快,功能不输其它的Hex十六进位编辑器工具得到了ZDNet Software Library五颗星最高评价,可做Hex与ASCII码编辑修改,多文件寻替换功能,一般运算及逻辑运算,磁盘磁区编辑(支持FAT16、FAT32和NTFS)自动搜寻编辑,文件比对和分析等功能。
一、Winhex的使用353时代的主流修改工具是UE,可惜UE在打开linkdata.bin这种超大文件时的速度令人难以忍受,于是狂派都投入了Winhex的怀抱。
用Winhex打开要修改的文件,显示如下界面:

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

此时直接在新位置里输入地址便可完成定位。
也可以定位相对地址。
比如此时位置在某ATK首地址,要往上移1000h到达MOV首地址,那么在新位置里输入1000,相对于选择当前位置(P)(返回至)就行了。
同理,到了MOV首地址后又要往下移960h到达一方地址,则可以在新位置里输入960,相对于选择当前位置(C)。
位置菜单里还有个很实用的功能:
标记位置和转到标记,快捷键分别是Ctri+I和Ctrl+K。
这个功能就不用多解释了吧,我是经常用的。
定义选块 定义选块主要是用来导出特定数据或缩小搜索范围,定义完成之后可以在位置菜单里快速定位到选块头和选块尾。
这个操作很简单。
在选块头右键点击,选择选块开始,选块尾右键点击,选择选块结尾就完成了。


搜索

这个也很直观。
搜索查找十六进制数值,输入要查找的串即可,注意中间不要有空格。
可以定义向上向下还是全面搜索,之前如果定义了选块可以选择仅在选块中搜索。
其它几个选项建议不要动。
找到后如果不是自己想找的目标,可以按F3继续搜索。
数据导出和导入 这个其实就是备份和还原的问题了。
萧萧发过一个这方面的帖子,不过现在已经没有做txt补丁的必要了,备份成txt这一步骤也就多余了。
导出:
首先把要备份的数据定义成选块,然后在选块中任意位置右键点击,选择编辑复制区块置入新文件即可。

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


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

不过那个2G多的linkdata.bin用这种办法扩容很耗时间。
可以换个方法,点击文件菜单,新建一个合适大小(一般是所需扩容大小+1)的文件,然后把这个文件的数据复制后写入整个文件的尾地址,这也达到了扩容目的,而且处理速度很快。
基本上需要用到的Winhex操作就这么些,其它的操作有兴趣可以搜索网上教程。
最后,改完了别忘记保存。
版权保护: 本文由 次秀竹 原创,转载请保留链接: https://www.37uu.cn/detail/6933.html
- 上一篇:清理垃圾,系统清理
- 下一篇:大麦网安全吗,大麦网一直在安全验证