オンラインバイナリエディタの使い方
- ファイルを枠内にドロップするか、枠をクリックしてファイルを選びます。実行ファイル、画像、アーカイブ、ファームウェア、ゲームのセーブデータなど、どんな形式でも開けます。
- スクロールまたは矢印キーでバイト間を移動します。バイトをクリックして16進数を2桁入力すると書き換えられます。変更したバイトは赤で表示され、元に戻す(Ctrl+Z)で取り消せます。
- 16進数のバイト列やテキストを検索したり、オフセットへ移動したりできます。編集が終わったらダウンロードをクリックして保存します。
16進ダンプ(hex dump)の見方
16進ビューアの各行には16バイトが表示されます。左の列は行頭バイトのオフセット(16進数)、中央は各バイトを2桁の16進数で、右の列は同じバイトをASCII文字で表示します。表示できないバイトはドット(.)になります。
00000010 48 65 6C 6C 6F 0A … Hello.
この行はオフセット10(16進数)=10進数で16の位置から始まり、48 65 6C 6C 6Fは「Hello」を表しています。
ファイルシグネチャ(マジックナンバー)
ほとんどのファイル形式は決まったバイト列で始まります。そのため16進ダンプの1行目を見れば、拡張子に関係なく、そのファイルの本当の形式がわかります。
| ファイル形式 | 先頭バイト | テキスト表示 |
|---|---|---|
| PNG画像 | 89 50 4E 47 0D 0A 1A 0A | .PNG.... |
| JPEG画像 | FF D8 FF | ... |
| GIF画像 | 47 49 46 38 | GIF8 |
| PDF文書 | 25 50 44 46 | %PDF |
| ZIP、DOCX、XLSX、APK | 50 4B 03 04 | PK.. |
| WindowsのEXE・DLL | 4D 5A | MZ |
| LinuxのELF実行ファイル | 7F 45 4C 46 | .ELF |
| GZIPアーカイブ | 1F 8B | .. |
数値の解釈とバイトオーダー(エンディアン)
バイトを選択すると、その位置から始まる値を符号なし・符号付きの8・16・32ビット整数として表示します。値はリトルエンディアン(下位バイトが先)で読み取ります。これはx86やARMのプロセッサ、そして多くのファイル形式で使われている方式です。たとえばバイト列34 12は16ビットの数値0x1234 = 4660、FF FFは符号なしで65535、符号付きで−1です。
よくある質問
機密ファイルを開いても安全ですか?
はい。ファイルはブラウザ内のJavaScriptで読み込まれ、アップロードされることはありません。ページの読み込み後なら、インターネット接続を切っても使えます。
どのくらいの大きさのファイルまで開けますか?
端末のメモリにもよりますが、最大1 GBまでです。画面に表示されている行だけを描画するので、数百MBのファイルでもスクロールは快適です。
バイトの挿入や削除はできますか?
いいえ。このエディタはバイトをその場で上書きするため、ファイルサイズは変わりません。実行ファイル、ファームウェア、セーブデータのパッチ当てでは、データがずれるとそれ以降のオフセットがすべて狂ってしまうため、これが安全な方式です。
テキストを検索するには?
検索対象をテキストに切り替えて単語を入力します。UTF-8として検索され、大文字・小文字は区別されません。4D 5Aのような正確なバイトパターンを探すには16進数(バイト列)を使います。Enterで次の一致、Shift+Enterで前の一致に移動します。