Linuxでバイナリファイルをダンプするツール
od
パッケージ coreutils に入ってるツール
man od (1): ファイルを 8 進数やその他の形式でダンプする
オプション | 意味 | 備考 |
---|---|---|
-Ax | -A でオフセット(左端のやつ)の表示を指定 x ←16進表記 |
未指定時は8進表記 |
-tx1z | -t でフォーマットを指定 x1 ←16進で1バイトずつ x4 ←16進で4バイトずつ z ←テキスト表示 |
リトルエンディアン |
-v | 重複行を省略しない | デフォルトは省略する |
od 1バイトごとに表示、省略なし
$ od -Ax -tx1z -v /tmp/test.bin 000000 78 56 34 12 01 02 03 04 30 31 32 33 34 35 36 37 >xV4.....01234567< 000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< 000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< 000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< 000040 e3 81 82 00 82 a0 82 a2 >........< 000048
od 4バイトごとに表示、省略あり
$ od -Ax -tx4z /tmp/test.bin 000000 12345678 04030201 33323130 37363534 >xV4.....01234567< 000010 00000000 00000000 00000000 00000000 >................< * 000040 008281e3 a282a082 >........< 000048
xxd
パッケージ xxd に入ってるツール
man xxd (1): 16 進ダンプを作成したり、元に戻したり。
オプション | 意味 | 備考 |
---|---|---|
-g1 | -g 16進で表示するバイト数を指定 1 ←1バイトずつ 4 ←4バイトずつ |
|
-e | リトルエンディアンで表示 | デフォルトはビッグエンディアン |
-a | 重複行を省略する | デフォルトは省略しない |
xxd 1バイトごとに表示、省略なし
$ xxd -g1 /tmp/test.bin 00000000: 78 56 34 12 01 02 03 04 30 31 32 33 34 35 36 37 xV4.....01234567 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000040: e3 81 82 00 82 a0 82 a2 ........
xxd 4バイトごとに表示、省略あり
$ xxd -eg4 -a /tmp/test.bin 00000000: 12345678 04030201 33323130 37363534 xV4.....01234567 00000010: 00000000 00000000 00000000 00000000 ................ * 00000040: 008281e3 a282a082 ........
hexdump
パッケージ bsdextrautils に入っているツール
man hexdump (1): ASCII, 10 進, 16 進, 8 進でダンプする
オプション | 意味 | 備考 | |
---|---|---|---|
-C | 1バイトずつ表示するよう指定 | ||
-v | 重複行を省略しない | デフォルトは省略する |
hexdump 1バイトごとに表示、省略なし
$ hexdump -Cv /tmp/test.bin 00000000 78 56 34 12 01 02 03 04 30 31 32 33 34 35 36 37 |xV4.....01234567| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 e3 81 82 00 82 a0 82 a2 |........| 00000048
hexdump 4バイトごとに表示、省略あり
出力フォーマットを自分で作ればできるけど、すっげー大変なので省略