バイナリエディタなるものを使ってみる
簡単にですが、ここではバイナリエディタの使い方…というか、メインとなる書き換え機能ついて説明したいと思います。
また、使用画像はすべて 「Stirling」 によるものです。あらかじめご了承ください。
さて、某掲示板などにいくと以下のような書き方が目につくと思います。
そこで、まずはその見方から始めてみます。
巷でよく見る表記
FILENAME test.exe
------------------
00001000 : 55 fc
00001d01 : a0 eb
00001e00 : a2 XX
------------------
A1754F09 :A016DF44
まず、それぞれの文字列が何を示しているのか順を追って見ていきます。
最初の 「FILENAME test.exe」ですが、これはパッチを当てるファイル、つまり対象ファイルを示しています。
ですから、バイナリエディタでこの対象ファイルである 「test.exe」を読み込まなくてはなりません。
↓バイナリエディタ(ここではStirling)を起動した直後。

↓ 「test.exe」 ファイルを読み込ませた後。
そして次は 「00001000 : 55 fc」 についてです。
まず左側の 「00001000」 ですが、これはメモリアドレスのことを指してます。
ここでの意味は「そこのメモリアドレスにある値を書き換えろ」というものですが、
ひとまずこのアドレス 「00001000」 に移動してみたいと思います。
(移動する際はスクロールを使うより、ツールバーにある 「アドレスに移動」↓を使った方が早いです)
↓移動後

画面内に赤いラインが引いてあると思います。
そこが、アドレス 「00001000」 となっています。
続いて、アドレスの右側に書いてあった 「55 fc」に話は移ります。
これは、左側の数字が元の値、右側の数字が書き換える値ということを示しています。
上の画面をみると、 「00001000」 の値が 55 になっていることがわかりますね。
もう、わかったでしょうか?つまり、ここの値を fc にすればいいということです。
ということで、実際に書き換えてみましょう。
書き換えるのは、テキストエディタのように普通に書き換えることが出来ます。
55 のところにカーソルを持っていき、半角英数字で fc と打ち込むだけです。
書き換えてみた図

ほかの二行についても同じことがいえます。
「00001d01 : a0 eb」は、アドレス 「00001d01」
の値 「a0」 を 「eb」 に書き換えるというこですね。
これ 「00001e00 : a2 XX」 についても同様です。
アドレス 「00001e00」 のところにある 「a2」 を 「XX」 に書き換えればよしです。
そして、最後の行にある謎の文字列 「A1754F09 :A016DF44」
これは、ファイルの CRC の値です。
先程と同じで左側が書き換える前の値、右側が書き換えた後の値となっています。
CRCの値が何故あるかというと、正確にファイルが書き換えているかの確認を行うためです。
この値が違うと、どこかで間違えているか、もしくは書き換え前のファイル自体が違うかのどちらかだと思います。
実のところ、書き換える方法はほかにもまだあります。
今回説明したのは一番原始的な方法であって、楽な方法ではなかったりします(笑)
他の方法についてはそれぞれで調べてみてください。