macOSでの16進数ソースの表示と編集

異常なファイルを扱う際、ファイルを構成する実際のビットを見ることは非常に価値があります。少なくとも、ファイルのヘッダーを読み、その目的を解読することができます。16進数コードの編集は複雑な作業ですが、macOSのさまざまな16進数エディタを使用することで可能です。16進数コードとは何か、なぜそれを調べる価値があるのかを見てみましょう。

さらに読む: バイナリ、10進数、16進数の違いは何ですか?

16進数コードとは?

コンピュータにおいて、16進数はバイナリ値を表現するためのより簡潔な方法を提供します。これは、バイナリの基数2の代わりに基数16の数値システムを使用します。より大きな数値空間のおかげで、複数のバイナリ桁を1つの16進数桁で表現できます。各16進数桁は4つのバイナリ桁を表します。バイナリを覚えていれば、半バイトには正確に16の可能な値があることがわかります。これは、16進数桁が持つことができる値の数と同じです。以下の表を見て、等価性を確認してください。

hexadecimal-decimal-binary-equivalent-values

2つの16進数を組み合わせると、8ビットの情報を表現できます。これは、32の可能な値を持つ1バイトに相当します。1バイトは0000 0000から1111 1111までの範囲です。16進数では、これはそれぞれ00からFFです。16進数の値をペアの系列として書くことで、ファイルのバイナリデータを簡単にバイトに「チャンク」できます。

本質的に、16進数とバイナリは同じ基盤データに対して異なる「フレーム」を提供します。人間は16進数を簡単に読み取ることができ、コンピュータはバイナリを簡単に読み取ることができます。

16進数値の読み書きのための慣習

16進数値を書くとき、0xという文字が値の前に付くことがあります。これらの文字は、次の値を16進数としてラベル付けします。16進数、バイナリ、8進数は一見同じに見えることがあるため、この予約された接頭辞は混乱を避け、エラーを減らします。

例えば、0x2FF0C4は、バイナリ値0010 1111 1111 0000 1100 0100および10進数値3,141,828に相当するメモリ内の16進数アドレスを説明します。2FF0C4のみが値の一部としてカウントされます。先頭の0x文字は、数値システムを示すだけです。

ドキュメント全体が16進数として処理されると、値はFF A0 2D CEのようにペアで表示されます。これは、値をバイト長の文字列に分けるのに役立ち、人間が解析しやすくなります。

macOSでの16進数コードの表示と編集

macOSで16進数コードを表示するには、16進数ビューアアプリケーションが必要です。いくつかの無料オプションがあります。

  • 0xEDは、いくつかのカスタマイズオプションを提供する無料でシンプルなエンコーダです。このアプリケーションは、16進数値の明確で迅速な解釈に焦点を当てています。これは、16進数エディタへの基本的ですが便利な入門です。

hexadecimal-editor-0xed-hero

  • Synalyze It!は、視覚的なファイル分析のために値の色分けが組み込まれたプロフェッショナルグレードの有料16進数インタープリタです。また、「文法」の巨大なリポジトリも含まれています。これらは、既知のファイル構造を16進数コードに適用します。これらのフレームは、16進数コードを理解し、解釈し、検索し、編集するのに役立ちます。

hexadecimal-editor-synalyze-it-hero

どちらかのアプリケーションを持っていれば、任意のファイルを開いて、16進数値で表示された基盤のバイナリコードを見ることができます。これは、特定の種類のファイルにはより有用ですが、ほとんどの場合、左側に16進数値が、右側にそれらの値のASCII解釈が表示されます。これにより、ファイルを「読む」ことができ、何が起こっているのかを理解し始めることができます。

16進数エディタは、16進数コードを編集することもできます。しかし、テキストを編集するのと同じくらい簡単ではなく、また寛容でもありません。16進数エディタは、バイト長のペアでコードを編集し、2つの値を同時に上書きおよび置き換えます。非常に注意しないと、機能するファイルを瞬時に破損させる可能性があります。この脆弱性から保護するために、常にファイルを編集する前に複製してください。

さらに読む: Linuxでの16進数エディタの使用

結論: 16進数エディタは何に使われるのか?

16進数エディタでランダムなファイルを開くのは楽しいかもしれません。しかし、それはあまり役に立ちません。16進数エディタがその品質を示すのは、限られた状況においてです。バイナリコードを表示および編集する必要がある場合、16進数エディタが最適なツールです。

例えば、バイナリデータを出力するプログラムを書く際には、品質のためにファイルを手動で検査する必要があります。また、破損したサードパーティのファイルを回復または分析するのにも役立ちます。16進数エディタは、破損しているか無効なファイルを開くことができます。これは、時には16進数エディタで破損したファイルを「修正」したり、少なくともエラーの原因を特定したりできることを意味します。kextのメモリアドレスを変更するなど、システムファイルに正確な編集を加える必要がある場合、16進数エディタが唯一のツールです。その広範な有用性のおかげで、コンピュータやプログラミングの詳細に興味がある人は、16進数エディタに慣れておくと良いでしょう。