第1回  「書き換えってどうするの?」





そもそも改造ってどういうこと!?

一口にゲームを改造するといっても、その方法は様々です。

 1.セーブデータ(ファイル)を書き換える
 2.メモリ(プロセス)を書き換える
 3.レジストリを書き換える

と、大きく分けて3つほどありますが、それぞれの主な用途は

 1.「HP、MP、お金、CGモードON」
 2.「無敵(HP減らない)」
 3.「CGモードON」

という所でしょうか?(他にもありますが)
つまり、これらのデータを好きなように書き換える事が、改造するという事になります。

とりあえず、使用頻度も高く、簡単に実行できる1番から試していきたいと思います。


セーブデータの書き換えとは?

普通セーブデータは、ゲームをインストールしたフォルダか、そのサブフォルダの中に作成されています。
探し方は簡単で、エクスプローラーからファイルの更新日時を見て、自分がセーブした時間のものがあれば、
おそらくそれがセーブデータファイルです。
ファイルの名前は大抵「save01.dat」「data01.sav」「game1.dat」といった感じになっていますので、すぐに分かるでしょう。

この中に、キャラクターのHP、MP、お金といった情報が記録されていますので、
後はそれを好きな値に変更してやれば、改造完了となります。


それでは実行してみよう

まず、サンプルプログラムに含まれていた、sample1.txt というファイルを
「メモ帳」等のテキストエディタで開きます。(内容は以下の様になっています)
sample1.txt を開いた時の画面
1111111111111111111111111
1111111111111111111111111
上記の様に「1」が並んでいるのを確認したら、ファイルを閉じます。

では次に、VBを起動して「s_file.vbp」というファイルを読み込んで下さい。
そして、いきなりプログラムを実行させてみましょう。 (VBを持っていない人は、s_file.exe を実行して下さい)
以下のような画面が出てきたはずです。(ボタンは省略しています)
また、HTMLでの表現なので、見た目はかなり違うと思います。

ファイルのフルパス名           
コード           


次に、「ファイルのフルパス名」と、「コード」を入力します。
先ほど開いた、sample1.txt というファイルが、C:\Test というフォルダにある場合は
以下のように入力することになります


ファイルのフルパス名 C:\Test\sample1.txt
コード 10-61


その後、「書き換え」のボタンを押してみて下さい。
「書き換えに成功しました」というメッセージが表示されますので、「OK」を押します。

「エラーです」というメッセージが出た場合は、もう一度「ファイルのフルパス名」を確認してやり直します。

書き換えに成功したら、先ほどのように、テキストエディタで sample1.txt を開きます。
sample1.txt を開いた時の画面(改造後)
1111111111111111a11111111
1111111111111111111111111
一ヶ所だけ書き変わっているのが分かりますでしょうか?
そう、「1」が「a」に置き換わっているのです。
なぜこうなったのでしょうか?

先ほどのサンプルプログラムで、「コード」のところに「10-61」と入力しましたよね?
これは、アドレス(ファイルの中の位置を示す情報)の10番地の値を、16進数の61に
書き換えなさいという命令なのです。

コンピュータの内部では、数値・文字・画像・音声等の情報は全て16進数で表現されています。(厳密には少し違いますが)
そして、16進数の61とは、アルファベットのaの小文字を示す値です。
これでピンときた人は分かると思いますが、先ほどのコードを「10-62」とするとどうなるのでしょうか?
答えは、各自で実行して確かめておいて下さい。

今回は単なるテキストファイルを書き換えたにすぎませんが、これがゲームのセーブデータであったなら
HP、MP、お金を書き換えるのも、全く同じように行えるわけなんですね。


さて、第1回はここまでと致します。
まだ、プログラムを1つ実行しただけで、ソースの解説も何も行っていませんが、
こちらは第2回に触れる事になりますので、それまでお待ち下さいませ。



前に戻る     次に進む

講座の初めに戻る