楼主: 南京畅远 - 

跪求WINHEX的 使用教程

[复制链接]

该用户从未签到

0

主题

75

回帖

207

积分

[INTOHARD]排长

Rank: 3Rank: 3

积分
207
发表于 2009-10-23 17:43:30 | 显示全部楼层
哈哈,路过!!!
  • TA的每日心情
    开心
    2023-3-28 08:34
  • 签到天数: 90 天

    [LV.6]五品郎中

    40

    主题

    2611

    回帖

    3万

    积分

    [INTOHARD]师长

    Rank: 10Rank: 10Rank: 10

    积分
    33406
    QQ
    发表于 2009-10-23 17:49:04 | 显示全部楼层
    本论坛太多这样的教程

    该用户从未签到

    1

    主题

    136

    回帖

    169

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    169
    发表于 2009-11-1 00:18:43 | 显示全部楼层
    支持楼主。。。。 版主

    该用户从未签到

    1

    主题

    136

    回帖

    169

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    169
    发表于 2009-11-15 21:37:18 | 显示全部楼层
    哪个能详细讲解下文件的结构都好了。比如文件头 尾。。。究竟应该怎么判断有多长。?

    该用户从未签到

    0

    主题

    13

    回帖

    58

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    58
    发表于 2009-12-5 03:09:54 | 显示全部楼层
    菜鸟都这样应该理解我们的心情

    该用户从未签到

    0

    主题

    393

    回帖

    550

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    550
    发表于 2009-12-10 15:48:20 | 显示全部楼层
    论坛内搜索一下就有了软件跟教程都有
  • TA的每日心情
    开心
    2017-10-27 12:15
  • 签到天数: 949 天

    [LV.10]一品大学士

    0

    主题

    1063

    回帖

    4958

    积分

    [INTOHARD]团长

    Rank: 8Rank: 8

    积分
    4958
    发表于 2009-12-18 17:20:15 | 显示全部楼层
    看看的......

    该用户从未签到

    3

    主题

    18

    回帖

    235

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    235
    QQ
    发表于 2009-12-20 12:27:44 | 显示全部楼层
    http://hi.baidu.com/ccjdwxw/blog ... b16485a0ec9ca2.html
    一、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操作就这么些。最后,改完了别忘记保存。
  • TA的每日心情
    开心
    2015-7-17 21:28
  • 签到天数: 5 天

    [LV.2]九品芝麻官

    5

    主题

    558

    回帖

    762

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    762
    发表于 2010-1-13 10:26:30 | 显示全部楼层
    这个东西论坛内很多的呀

    该用户从未签到

    1

    主题

    1239

    回帖

    1399

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1399
    发表于 2010-1-24 20:01:25 | 显示全部楼层
    好好找找!!!!!!!!!!!!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表