あめみやしろぐ

お仕事(院内SE)のことをかいたり思いついたことをかいたりします。

バイナリエディタを使わずHEXをデコードしてみる

twitterでこんなネタを見かけた。 

インターネットで遊んでいた歴の長い人ーつまりは「インターネット老人会」の人々ーにとっては懐かしの「バイナリ文字列を変換してファイルを取り出す」という代物だとピンとくるだろう。

折角なので自分もやってみた。今回はバイナリエディタを使わず、(Linuxコマンドを使用できるように設定した)WIndows10で作業を完結する。 

 

準備

まずはWindows10でLinuxコマンドを実行できるよう設定を行う。

このあたりを参考にしよう。 

 

手順

1.HEX文字列をメモ帳などにピペし、txtとして保存する。

 ※今回はhogehoge.txtとした。もちろん空白、改行などを含まない1行の文字列としておく必要がある。

2.以下コマンドにて変換を行う。

 certutil -f -decodehex [変換元ファイル名] [変換後ファイル名] 12

f:id:amemiyashiro:20190312224313p:plain

変換後ファイル名は20190312.txtとした

3.生成された変換後ファイルの素性をfileコマンドにて確認する。

 f:id:amemiyashiro:20190312224537p:plain

4.今回はzipファイルであることが確認された。拡張子をzipに書き換える。

 f:id:amemiyashiro:20190312224600p:plain

今回のネタ、ヒントは「zozo」だそうな。結果は各自ご確認いただければ幸いである。

手間の割には面白くないが。

certutilコマンドに decodehex オプションがある、ということは忘れがちである。

実際ほとんど使わないので覚える必要もないけれど。

 

手順を確認いただければお気づきの通り、変換後のファイルの素性を確認する為だけに、言い換えるとfileコマンドを使いたいが為だけにWindows10でbashを使っている。

「どのような拡張子のファイルに変換するべきか?」が事前にわかっているならば、WIndows標準のコマンドのみで変換可能なのだ。

「HEX文字列をデコードし、ファイルを生成する必要がある」という機会が果たしてどれだけあるのかわからないけれども。