update 2005.04.11

No.04 Phasteでマスターコードをサーチ
概要
マスターコードをサーチするには、いくつかの方法があります。
最も有名なものとして
アドレスは「PS2DISでプログラムを開き、1つめのei命令の直後のjal命令の箇所」を対象とし、
パラメータ 000001FD もしくは 0000000E にする。

という方法があり、これらは一般的に「形式2」「形式3」と呼ばれます。
一部の改造対策の施されたゲームを除き、大抵は上記のものを使えばOKです。

そして、この方法ではeiという固定された命令を基準に箇所を特定する手法ですので、
パラメータサーチ、つまりPhasteでのサーチが可能です。

準備
今回のサーチには以下のものを使用します。
・PCSX2言うまでもなくPS2エミュレータ本体。今回はVer0.7を使用しました。
・Phaste改造コードサーチツール
・PS2DIS「PSのBIOS吸出し」でおなじみのhanimarさん作のツール。PS2改造コードサーチの世界標準
・もじぴったん(ベスト版)SYSTEM.CNFに記載されたバージョンはVER = 1.30

アドレス部のサーチ
サーチ手順は以下のような流れになります。
1.PCSX2を起動して「もじぴったん」をスタート。
2.Phasteを起動してメニューの[PCSX2補足]をクリックしてプロセス補足。
3.しばらく進行したらエミュレーションウインドウを閉じる(PCSX2は終了しない)。
4.Phasteで「サーチ結果クリア(初期化)」をクリック。
5.サーチパレットの数値検索で 38000042 をサーチ。
(該当1番目にアドレス 001001A8 がヒットする)。

実質、この値に+10h加算した箇所(001001B8)にjal命令があるのですが、念のため、
そこから+03hの箇所に 0C があるかどうかを確認してください。
(まれに、1番目がこの条件を満たさず、2番目のアドレスが当たりの場合があります)。
こんなかんじ
(=サーチ該当 =+10h =+03h)
この値の1桁目をFにしたアドレス F01001B8 がマスターコードのアドレス部になり、
これをコード化すると下記のようになります。
形式2F01001B8 000001FD(暗号化)EC8782E0 1456E60A
形式3F01001B8 0000000E(暗号化)EC8782E0 1456E79B


さいごに
普通、あえてPhasteでマスターコードをサーチする意味は全くと言っていいほどありません。
本当に逆アセンブルそのものを毛嫌いする人でも無い限りはPS2DISを使うべきでしょう。
また、今回は「マスターコードとは何なのか?」「どういう原理なのか?」を大幅に端折っています。
この手法でマスターコードをサーチできても、実際には何も実力が向上していないため、
オススメしません(あくまでアプローチの1つとして紹介しただけですので)。

技術情報に関しては、大御所自然(Be natural)さんの「改造コード講座」が非常にオススメです。
形式4のマスターコードサーチ技法や、PS2DISでのパラメータサーチのチュートリアルなど、
とても参考になるコンテンツが盛りだくさんです。
私自身も管理人のshinさんにアドバイスを貰うこともあり、日頃お世話になっております(^^;