[Mac] 使用 hexcurse 來編輯二進位 (binary) 檔案
今天想要修改一個二進位檔案,但平常常用的 Sublime Text 是不方便編輯二進位檔的,
雖然有 Hex Viewer 這個 plugin 讓我們可以看到 binary 檔的內容,
也可以修改,但只能修改 hex 的部分,沒辦法直接打入 ASCII,很不方便…
用 Homebrew 搜尋了一下,有 hex 名稱的有好幾個,
像 dhex, ghex, hexcurse, hexedit 等等,
試用了幾個,覺得 hexcurse 的介面用起來算是最順手的,於是就決定用這個啦~
1. 安裝 hexcurse
brew install hexcurse
2. 執行 hexcurse 檢視二進位檔
執行 hexcurse <檔名> 就可以開始編輯二進位檔案了~
可以先按 F1 (Mac 上要按 Fn+F1) 或是 Ctrl+? 來看一下說明訊息,
常見的快速鍵如下:
– Ctrl + S = Save
– Ctrl + O = Open
– Ctrl + F = 搜尋 hex 或是 ASCII
– Ctrl + Q = Quit
– TAB = 在 Hex 與 ASCII 區域切換
按下 ESC 就可以關閉說明訊息~
hexcurse 一開始執行後,游標預設是在左邊的 hex 區:
按下 TAB 鍵之後,就會跳到 ASCII 區,再按一次 TAB 鍵又會回到 hex區:
3. 編輯與儲存二進位檔
假設現在游標是在右邊的 ASCII 區,那就可以直接鍵入要修改的文字,
像我的游標原本是在 This program cannot 的 program 開頭,
這時我鍵入 MALWARE,就會把原本的 program 字串覆蓋掉:
想要儲存修改後的檔案,按下 Ctrl+S,再輸入要儲存的檔名就行了:
4. 搜尋 Hex 或是 ASCII 文字
游標在左邊 Hex 區域時按下 Ctrl+F,就可以搜尋 hex 字串,
像是我想找 6D 6F (文字的 mo),就直接打 6D6F:
游標就會自動跳到找到的位置:
如果按 TAB 鍵切換到 ASCII 區域的話,Ctrl+F 做的就是搜尋 ASCII 字串~
像我輸入 DOS 這個字串:
游標就會跳到 DOS 這個字串上了:
5. 離開 hexcurse
按下 Ctrl+Q 就可以離開 hexcurse,可以按下 y/n 來決定是否要儲存目前的修改,
c 則是取消離開,繼續留在 hexcurse 畫面:
目前用起來,hexcurse 算是還蠻順手易用,之後有需要修改二進位檔案也都可以用它囉~^^