RPGツクール3を使ったPS1セーブデータの改ざん方法

2019年5月14日

RPGツクール3』はRPGを作ることのできるPS1ソフトです。

かなり特殊な方法ではありますが、RPGツクール3を使ってPS1のセーブデータをある程度自由に作成することができるので紹介します。

アニメティカとは

RPGツクール3の中には”アニメティカ”というお絵かきソフトが入っており、RPGツクール3で作成するRPGで使うタイトル画像やモンスター画像などを自由に描くことができます。

このアニメティカでは、RPGデータをつくるから『タイトルをかく』、またはデモをつくるから『背景をかく』を選択した場合のみ、カラーパレットに登録できる色の数が256色となっています。

この256色はゲーム中の情報だと”00~FF”で表現されていますが、実はこれをそのままメモリーカードに書き込むことが可能です。
例えば、カラーパレットの一番左上の色ですとこれは内部情報では”00”となっており、逆にカラーパレットの一番右下は内部情報で”FF”となっています。全部左上のもので埋めると全てのデータが00となったセーブデータがメモリーカードに記憶されます。

使う色のカラーパレットの位置によって”00~FF”までの全てのデータを再現できるので、アニメティカをバイナリエディタとして用いることができます。

実際のやり方

RPGツクール3のアニメティカ

まずはRPGツクール3を起動して下のアニメティカを選択します。
アニメティカでは様々な画像を作ることができますが、まずはRPGデータをつくるから『タイトルをかく』を選んでみましょう。

アニメティカの画面

後ろのホワイトボードが実際に絵を描き込む場所で、前に映し出しているのがカラーパレットの画面です。

このカラーパレットを例とすると、一番左上のカーソルが指し示している場所が”00”となっています。ここから右に1つ進むごとに01、02と進んでいき、一番右上は0Fです。

対して、00の場所から下に進むごとに10、20と進んでいき、一番左下はF0です。横の動きは一緒なので、一番右下はFFとなっています。

アニメティカは操作が難しい(マウスに最適化されているのでコントローラだときつい)のですが、00からFFまでの値を全て入れることができるので、理論上はどんなセーブデータでも再現できます。
多くのPS1ゲームはデータを圧縮してセーブしますが、アニメティカで作ったデータは無圧縮で保存することができるという点もポイントです。

セーブデータ改ざんの方法

RPGツクール3のデータを作っても、それを他のゲームとして読み込むことはできません。なので、アニメティカで作成したセーブデータを一度削除する必要があります。

まずPS1ゲームの仕様として、セーブデータを消しても中に入っているデータは削除されません。
あくまでこのセーブデータは他のセーブデータで上書きしても良いという状態にしているだけです。

そして、PS1ゲームをセーブするときはまず最初にこのセーブデータはこのゲームのものだという情報を書き込み、その後に実際のセーブデータを書き込む仕様となっています。

この仕様を利用してセーブデータを改ざんします。
やり方としては、まずRPGツクール3のアニメティカで作ったデータを消し、RPGツクール3のデータに他のゲームデータを書き込もうとしている最中で強制的にメモリーカードを抜いてセーブを中断させます。
これでゲームの情報はセーブをしたゲームのものになり、実際のセーブデータの中身はRPGツクール3で作ったものになります。

上記動画はRPGツクール3は使いませんでしたが、セーブデータ改ざんに成功した実際の例です。

メモリーカードを抜くのではなくリセットで行っていますが、セーブを途中で中断させればいいので方法は何でも構いません。推奨しませんしやったことはないですが、セーブ途中でコンセントを抜くことでもセーブデータの改ざんが可能だと思われます。

原理としてはFCやSFCのゲームなどで使われるゲームデータセーブ中のサブフレームリセットと同じですが、PS1ゲームの場合はそもそもゲームデータのセーブに時間がかかるためセーブを中断させるための猶予時間はそれほどシビアではありません。何十回も試してようやく成功するというものではなく、大抵は1,2回試せば成功します。

まとめ

自由にセーブデータを改ざんできるとはいえ、実際に使いたいセーブデータのバイナリデータを知っていないとそもそもRPGツクール3で再現できないので難易度は高いです。

ちなみにアニメティカの『タイトルをかく』ですと無圧縮保存で8ブロック使用しますが、最初の1ブロックはアニメティカでのカラーパレット情報なども入ります。また、最後の1ブロックも余計な情報が入ります。なので、特殊なセーブの仕方をしない限り現実的な改ざん可能領域は6ブロックのようです。

実際のメモリーカードのセーブデータ領域については

辺りが詳しいです。興味を持った方は是非試してみてください。