プログラミング

【VS Code】バイナリエディタプラグイン

開発をしているとたまにバイナリエディタを使用したくなります。バイナリファイルの中の構造を知るためにはバイナリエディタが必要になりますからね。

VS Codeを使用する前は専用のバイナリエディタをインストールしてみたこともありましたが、VSCodeのプラグインにないのかな、と検索してみたところ、やっぱりありました。

ということで、今回はVS Codeのバイナリエディタプラグインについて紹介します。

バイナリエディタとは

バイナリエディタとは、その名前の通りバイナリファイルを開くことができるエディタです。基本的にどのファイルでも開くことができ、どこのアドレスにどの値が入っているかを見ることができます。

バイナリエディタプラグインのインストール

まず、バイナリエディタプラグインのインストール手順を紹介します。

VS Codeを起動し、左メニューの上から5番目のプラグインメニューをクリックし、検索ボックスに「hex」と入力します。すると、以下の図のように一番上に「Hex Editor」が出てきますので、今回はこれをインストールします。

探せばほかにもいくつかありそうですが、「Hex Editor」は公式のプラグインのようなので、こちらを使用していきます。プラグインなどを選ぶときには、サポートなどの観点からできるだけ公式のものや信頼できる所属のものを使用することをお勧めします。

「Hex Editor」をクリックすると以下の図のように「Hex Editor」の説明が出てきますので、インストールボタンをクリックしてインストールします。

これでインストールは完了です。

「Hex Editor」の使い方

以下の、

binary test editor
testing...30%

というテキストファイルを作成し、これをバイナリエディタで見ていきます。

バイナリエディタの開き方

説明文の開き方のところを見てみると、

  • Right click a file -> Open With -> Hex Editor
  • Trigger the command palette (F1)-> Open File using Hex Editor
  • Trigger the command palette (F1) -> Reopen With -> Hex Editor

と書かれています。
順番に見ていきましょう。

開き方1つめ

ファイルを右クリックして”Open With”を選択する、とあります。

日本語版で実際にやってみると、以下の図のように、ファイル名が書かれているタブで右クリックして「エディターを再度開くアプリケーションの選択…」を選択するのだと思われます。

クリックしてみると、以下のような表示になるので、「Hex Editor」を選択するとバイナリ表示になります。

戻す時も同様の手順で「Text Editor」を選択すると元に戻ります。

開き方2つ目

2つ目はキーボードのF1を押して、”Open File using Hex Editor”と入力すれば開けられるとあります。

実際にF1を押して”Open File”と打ってみると、”Hex Editor: Open Active File in Hex Editor”と表示され、これを選択するとバイナリエディタとして開くことができるようです。

このやり方で開いた場合、1つ目の開き方のときとは異なり、Text形式の表示のタブは残ったままバイナリ形式の表示は別タブで開かれるようです。

開き方3つ目

3つ目もF1を押したあと、”Reopen With…”を選択してから”Hex Editor”を選択する、と説明されています。

F1を押して”Reopen”と入力してみると、以下の図のように、「表示: エディターを再度開くアプリケーションの選択…」”View: Reopen Editor With…”というのがありますので、これを選択します。

日本語の名称を見たらわかるように、1つ目の開き方をキーボードのみの操作で開くことができる方法のようです。
ですので、このあとに出てくる表示は1つ目の方法と同じものになりますので、「Hex Editor」を選択することでバイナリエディタとして開くことができます。

バイナリファイルを開く場合

ここまではテキストファイルをバイナリエディタとして開く方法を見てきました。

バイナリファイルを上記の方法で開こうとすると、なぜか2つ目の開き方ではうまく開くことができませんでした。理由は解明できていないのですが、何かしらの制約があるのかもしれませんので、2つ目の開き方は使用しない方が無難かもしれません。

どの開き方がいいの?

1つ目と3つ目の開き方は、マウスを使うかキーボードを使うかの違いだけなので、好みの方法で開いていただければよいでしょう。

私はキーボードだけで開いた方が早く開くことができるので、3つ目の方法を使ってファイルを開いています。

バイナリエディタの見方

バイナリエディタとしてファイルを開くと、以下の図のようになります。

左側にはバイナリ値が表示されています。まず、枠外には16進数のアドレスが表示されています。横軸に16進数の1桁目、縦軸に16進数の2桁目以上が並べられていて、マトリクス形式でアドレス位置がわかりやすく表記されます。そして、各アドレスにあるバイナリ値が16進数で表示されています。

右側にはバイナリ値をASCII変換した文字列が表示されています。今回はテキストファイルを開きましたので、右側にはきれいに文字列が並んでいますが、バイナリファイルの場合はきれいに文字列が表示されることは少ないです。

例えば、アドレス0x08の値を見てみると、testのeにあたる場所なので、eのASCII値に相当する0x65が配置されていることがわかります。

また、アドレス0x12と0x13を見てみると、右側には何も表示されていません。ここは改行コードにあたるところだからです。これはWindows環境で作成されたものなので改行コードはCR+LFであり、アドレス0x12にはCRに相当する0x0Dが、アドレス0x13にはLFに相当する0x0Aが配置されています。

バイナリの編集

バイナリの値を変更して、30%となっているところを40%に変更してみます。

文字の3はアドレス0x1Eに配置されているので、ここをクリックし、文字の4に相当する”34″を入力します。すると以下の図のように、編集されたところが黄色くなり、編集された箇所がわかるようになっています。

このあと保存をすると黄色がなくなり、40%への編集が完了します。

undo機能などもあるので、Ctrl+zで戻すこともできます。

検索・置換機能

検索や置換の機能もあります。

例えば、アドレス0x07と0x08の”te”の部分を検索してみましょう。0x07と0x08をドラッグしてCtrl+cでコピーし、Ctrl+fで検索画面を出してCtrl+vで張り付けてEnterで検索してみます。
すると、アドレス0x14・0x15が検索に引っかかることがわかります。

Replaceのところに置換したい値を入れると置換が実行できます。なぜか直接入力ができなかったのですが、コピーで張り付けることはできました。以下の図は、”62 69″を張り付けてReplace Allをクリックしたときの結果になります。

まとめ

以上、VS Codeのバイナリエディタプラグイン、「Hex Editor」の紹介でした。

使用感としては、表示が白黒なので特別きれいというわけではなく、普通のバイナリエディタという感じですが、見やすく表示がされていて、編集がもちろんできて、検索などの機能もあって、普段使いする分にも問題はない、という印象です。

いつものエディタでバイナリエディタが使用できる、マイクロソフト社公式のプラグインである、というだけで十分価値があるので、これからも使っていきたいと思います。

COMMENT

メールアドレスが公開されることはありません。

CAPTCHA