binutils
同様の方法でバイナリファイルを解釈し、通常の文字列を出力するための良いCLIユーティリティがありますcat
。それは知られていますstrings
。
バイナリファイルを使用しようとすると、横説説するcat
テキストと外国のシンボルがたくさん表示されます。reset
シェルが必要な場合があります。これは時には不可能な時もあります
同様に、cat
基本的な使い方は簡単です。
strings ./example.bin
個人的に速い読書のために、次のようなものがあります。
strings -aws ' ' ./example.bin | fold -sw $COLUMNS ; echo
物理ファイルでテストするには、ディレクトリで次/bin
のことを試すことができます。
strings -aws ' ' /bin/true | fold -sw $COLUMNS ; echo
私の質問:これらの文字列を編集するための類似した、迅速で簡単な方法はありますか?
答え1
はい。 vim -b filename
。-b
バイナリファイルを表します。 vimのマニュアルページを参照してください。
-b Binary mode. A few options will be set that makes it
possible to edit a binary or executable file.
bvi
また適しています。
$ bvi /bin/ls
00000000 7F 45 4C 46 02 01 01 00 00 00 00 00 00 00 00 00 02 00 3E 00 01 00 00 00 .ELF..............>.....
00000018 A0 49 40 00 00 00 00 00 40 00 00 00 00 00 00 00 38 E7 01 00 00 00 00 00 .I@[email protected].......
00000030 00 00 00 00 40 00 38 00 09 00 40 00 1D 00 1C 00 06 00 00 00 05 00 00 00 [email protected]...@.............
00000048 40 00 00 00 00 00 00 00 40 00 40 00 00 00 00 00 40 00 40 00 00 00 00 00 @.......@.@.....@.@.....
00000060 F8 01 00 00 00 00 00 00 F8 01 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........................
答え2
私はバイナリデータ操作に関する次の素晴らしい記事を偶然見つけました。 Bashでバイナリデータを操作する
基本的に、次の非常に便利なツールについて説明します。xxd
たとえば、ASCII形式のバイナリファイルをダンプするには、次のようにします。
xxd -b myfile.bin
短い文字列を変換するには、古い文字列を使用できますbc
。
$ echo "obase=16; ibase=2; 1010" | bc
A
考慮すべき別のアプローチは次のとおりです。
$ base64 < binary.file > text.file
データベースそして肥満入出力数値の変換基準を定義します。入力と出力の両方のデフォルト基数は10です。