Eiji James Yoshidaの記録

パケット作りが趣味のセキュリティ技術者の記録(2006年9月6日執筆開始)。当ブログはGoogle AnalyticsとAmazonアソシエイトを利用しています。

Windowsでファイルを16進数テキストに変換したり、16進数テキストをファイルに変換したりする方法

64bit版Windowsにはdebugコマンドが無いのでhexdumpができなくて困ったなぁ〜と思っていたら、certutilコマンドに"-decodehex"などのオプションを発見!
さっそく使い方をメモ。

Windowsでファイルを16進数テキストに変換(bin -> hex)

certutil -f -encodehex 入力ファイル名 出力ファイル名 12
(例)certutil -f -encodehex james.exe james_hex.txt 12

Windowsで16進数テキストをファイルに変換(hex -> bin)

certutil -f -decodehex 入力ファイル名 出力ファイル名 12
(例)certutil -f -decodehex james_hex.txt james.exe 12

オプションの最後にある"12"はフォーマットの指定でHEXRAWフォーマットにしている。
その他の出力フォーマットは下記の通り。

HEXフォーマット(4)

45 69 6a 69 20 4a 61 6d 65 73 20 59 6f 73 68 69
64 61

HEXADDRフォーマット(10)

0000  45 69 6a 69 20 4a 61 6d 65 73 20 59 6f 73 68 69
0010  64 61

HEXASCIIADDRフォーマット(11)

0000  45 69 6a 69 20 4a 61 6d 65 73 20 59 6f 73 68 69 Eiji James Yoshi
0010  64 61                    da

HEXRAWフォーマット(12)

45696a69204a616d657320596f7368696461

たぶんデフォルトはHEXASCIIADDRフォーマットだと思う。