月曜日がきました
今日の気分はどうですか?そうですね最高です。なぜなら、月曜日だからです。
月曜日という日がくるたびに心躍り、胸が高鳴るのを感じます。これから一週間がはじまるんだというフレッシュな気持ちでいっぱいになれます。
バイナリデータをいじってみよう
こんな清々しい気持ちになれないので、バイナリエディタを使って「月曜日大好き」文章をつくることをやっていきたいと思います。毎回ゲーム制作の進捗報告ではひねりがないので、今回の月曜ネタはバイナリデータをいじってみようという話です。
まずはバイナリデータという得体のしれない概念が出てきたのでまずは解説から。
バイナリデータ
コンピュータがデータを処理するために、全ての情報を「0」と「1」で表現されているデータ形式。2進数に変換したコンピュータが解釈するために用意されたデータのこと。
よくわかんないこと書いてますが、ざっくりと言いますと「コンピュータが理解するためのデータ」ということだと思います。
というわけで、コンピュータが理解するためのデータというものがどうなっているのかを覗いてみて、あわよくば改ざんしていこうということをやっていきます。
準備編
バイナリデータがどういったものかというモノを見るためにエディタを用意します*1。
今回は、Stirlingというバイナリエディタを使っていこうと思います。
Stirling
スターリング(Stirling)は、Windowsで動作する、後藤和重が開発したバイナリエディターである。
wikiより
公式サイトはすでにお亡くなりっぽいので、必要ならばVectorなどから落としてやってください。
まず、文字コード(Shift-JIS)でこのようなテキストファイル(.txt)を用意します。
そして、バイナリエディタで作成したファイルを開きます。文字コードが揃ってないと文字化けするので注意。
これで準備完了です。
最高の月曜日にしよう!
さてバイナリエディタを眺めると、どうやら「日」にあたる文字は「93 FA」だということがわかります。そして、「月」にあたる文字は「8C 8E」のようです。
はい、そうです。この部分を書き換えることで中身を改ざんすることができそうです。
そうして書き換えたものがこちらになります。右の文章が「月曜日最高!!」になりました。
さあ、この改ざんしたファイルはテキストエディタで見るとどうなっているのでしょうか?確認してみます。
テキストファイルで見ても月曜日最高になりました。最高の月曜日になったのです。やった、今日は最高の月曜日だ。月曜日最高だ!!!!
おわりに
今回はバイナリエディタでテキストファイルを編集するという面白みの薄いことをしましたが、バイナリデータはどんな形式のファイルでも閲覧して改ざんすることができるそうです。そうか…、どんなファイルでも編集できるのか……。次回があれば楽しみになりますね。
それでは今日はこの辺で、最高の月曜日を!
*1:コンピュータ目線で見ることのできるエディタを用意します