- 精华
- 8
- 帖子
- 6183
- 威望
- 18 点
- 积分
- 6871 点
- 种子
- 166 点
- 注册时间
- 2004-3-24
- 最后登录
- 2024-11-27
|
看不太明白,请哪位高手翻译一下,谢谢
PS2でコードを使うにはマスターコードが必要です
これが無ければ通常のコードは使えず
自分で見つけたコードも動きません
(一部例外があります、これについてはPS2コードの種類参照)
では、マスターコードの見付け方です
アクションリプレイ誌(Vol.25)参照・・・という手抜きはダメですね(笑)
冗談はさておき、まず実行ファイルをPS2DISで開いて下さい
マスターコードを見つけた後に通常の解析も進めれるので
この段階で逆参照解析さんも起動してしまいましょう
処理が終わるまで、しばらく待ちます。
逆参照さんが終了したらマスター候補になる場所を探します
目安になるのは「42000038 ei」という命令です
サイレントヒル3を参考に探してみましょう
ファイルを開いた場所から少し下方向を探すと
001001A8のアドレスにこの命令が存在します
ここが見つかったら、マスターは見つかったも同然です
このei命令から数行下にある1つめのjal命令
ここがマスターコードのアドレス部分になります
サイレントヒル3では001001B8がそうですね
マスターコード用にアドレスの先頭をF(マスター)に変更します
F01001B8あとは、ここにマスターコード用の数値を入れます
形式2=000001FD もしくは 形式3=0000000E
どちらかを選んで暗号化すればマスターコードの完成です。
形式2ならば
EC8782E0 1456E60A
形式3ならば
EC8782E0 1456E79B
になります。
しかし、この時点では何も改造コードは出来ていないので
本当にマスターコードとして使用できるか分かりません
そこで考え出されたのがフラッシュコードです
PARのバージョンが1.3なら
2C988329 0656E705
PARのバージョンが1.6なら
2CB78329 0656E705
というコードを、自作したマスターコードと一緒に入力して
ゲームを始めて見て下さい。
もし、作成したマスターコードが正しく使える物であれば
TVの枠あたりが点滅するようになります。
(この原理については、個人的見解書き物を見て下さい)
しかし、たまにフラッシュコードを使用しても点滅しないゲームがあり
マスターコードが有効になっていないように見えますが
ちゃんと効いてる事が多いので、有効なのか無効なのか
判断が難しいソフトもあるので注意して下さい。
ちなみに、シンボル残りのソフトであれば
この001001B8でjal命令で飛ぼうとしているアドレスが
mainというラベルが貼られている事が多いので
それを目安に探す事も出来ます。
ある程度、PS2サーチに慣れてきた方は
形式4マスターコードの作成にチャレンジしてみて下さい
マスターコードには、全部で4つの形式があります
形式1は、マスターコードが効くかどうかの確認だけで
実際にコードを動かすという機能はありません
形式2、形式3は、syscallへ割り込む物で
どのゲームでも共通で使用出来るという利点があります
しかし、稀に誤動作する、効果が出なくなるなどの症状が出てしまい
現在のサイバーガジェット提供のマスターコードは
どれもこの形式を採用しなくなりました。
現在、マスターコードの主流となっているのは
形式4というちょっと特殊な形式で
誤動作する可能性はほとんど無い、優れた形式です
ある特定のプログラム内にフックを掛けるというもので
そのプログラム部分は自分で探す必要があります
形式2、3のように決まった数値ではありません。
まず、シンボルが残っていないソフトであれば
残っているソフトから「関数ラベルの移植」を行います
形式4を探すにはシンボル情報が必須だからです。
移植後に「ラベルを選び移動」を選択して
「scePadRead」という名前を探します
移植されない場合はライブラリ違いの可能性が高いので
他のライブラリのシンボル残りを使用してみて下さい
「scePadRead」のラベルが見つかったら
ダブルクリックをしてそのプログラム部分へ飛びましょう
このscePadReadは、名前の通りパッドに関係するプログラムで
ゲーム中にコントローラーで何か操作が出来る場面では
常に実行されている(処理が流れている)プログラムです
形式4は、こういう常に実行されているプログラムに
PARのプログラム引っ掛けるという仕組みになっています。
このscePadReadプログラム内に
memcpyというプログラムへジャンプする場所があります
(画像のプログラムはトルネコの大冒険3の物です)
このmemcpyへのjalが存在するアドレスが
形式4マスターコードの数値部分の基盤になります
このアドレス、0033E8DCに+3hした数値
0033E8DFが形式4マスターコードの数値部分になります
今回のトルネコで形式4マスターコードを作ると
F02002B8 0033E8DF
~暗号化~
ECB785E0 1423BFEC
アドレス部分は通常編で探すものと同じです
形式4用に新しく探す必要はありません
違うのは数値部分だけです。
他にも、常に実行されているプログラムはあるので
必ずしもscePadReadでなくても形式4は作成できます
自信が付いたらそれらを探してみるのも面白いと思います。
また、ライブラリによってscePadReadプログラムの構成が
大きく変わってしまったりしますが基本は同じで
memcpyへのjalがあるアドレス+3hで出来ます。. |
|