Macでバイナリファイルを扱う
バイナリファイルを参照する
1.odコマンドを使う
od -x /usr/bin/awk
0000000 facf feed 0007 0100 0003 8000 0002 0000
0000020 0010 0000 06a0 0000 0085 0020 0000 0000
0000040 0019 0000 0048 0000 5f5f 4150 4547 455a
0000060 4f52 0000 0000 0000 0000 0000 0000 0000
0000100 0000 0000 0001 0000 0000 0000 0000 0000
2.hexdumpコマンドを使う
hexdump -C /usr/bin/awk 00000000 cf fa ed fe 07 00 00 01 03 00 00 80 02 00 00 00 |................| 00000010 10 00 00 00 a0 06 00 00 85 00 20 00 00 00 00 00 |.......... .....| 00000020 19 00 00 00 48 00 00 00 5f 5f 50 41 47 45 5a 45 |....H...__PAGEZE| 00000030 52 4f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |RO..............| 00000040 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 |................| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000060 00 00 00 00 00 00 00 00 19 00 00 00 28 02 00 00 |............(...| 00000070 5f 5f 54 45 58 54 00 00 00 00 00 00 00 00 00 00 |__TEXT..........| 00000080 00 00 00 00 01 00 00 00 00 60 01 00 00 00 00 00 |.........`......|
3.xxdコマンドを使う
xxd /usr/bin/awk 00000000: cffa edfe 0700 0001 0300 0080 0200 0000 ................ 00000010: 1000 0000 a006 0000 8500 2000 0000 0000 .......... ..... 00000020: 1900 0000 4800 0000 5f5f 5041 4745 5a45 ....H...__PAGEZE 00000030: 524f 0000 0000 0000 0000 0000 0000 0000 RO.............. 00000040: 0000 0000 0100 0000 0000 0000 0000 0000 ................ 00000050: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000060: 0000 0000 0000 0000 1900 0000 2802 0000 ............(... 00000070: 5f5f 5445 5854 0000 0000 0000 0000 0000 __TEXT.......... 00000080: 0000 0000 0100 0000 0060 0100 0000 0000 .........`......
バイナリファルを編集する
バイナリファイルを編集するためファイルをvimのバイナリーモードで開く。
vim -b バイナリファイル.bin
16進数で表示するためvim内でxxdコマンドを実行
:%!xxd
任意の箇所を16進数で修正する。検索などvimの機能も使える。
修正したファイルをバイナリ形式に戻す
:xxd -r
保存して終了
:wq