【Winhex】狂派入門: Winhex的簡單使用教程

一、Winhex的使用
353時代的主流修改工具是UE,可惜UE在打開linkdata.bin這種超大文件時的速度令人難以忍受,於是狂派都投入了Winhex的懷抱。
WinHex v14.1 SR-6 漢化破解版下載地址:
http://www.gamersky.com/Soft/200805/13669.shtml
用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操作就這麼些,其它的操作有興趣可以搜索網上教程。最後,改完了別忘記保存


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章