xxxx・暗号化とは?
PS2やGBA、GCのコードは暗号化という作業をしなくては使用できません。
PS2のコードの多くの場合は解析者が暗号化したものを公開していますので通常暗号化の必要はありません。
しかし、中には復号化状態(暗号化を解除した状態と思っていいです)となっているコードや、
「xxxx」や「+〜h」
等使用者が自分で暗号化や計算をしなくてはならない場合があります。
「+〜h」は次の項目で説明しているのでここでは暗号化、「xxxx」
の具体的な数値をどの様に導き出すのか?
という事を説明したいと思います。
まずは暗号化の仕方ですが、これはツールによって変わりますここでは
hanimarさん作成のps2cheatを使った場合の方法を説明します。
ps2cheatは一番下にあるリンク先の改造支援プログラムで入手できます。
R2を押すと主人公1つ目武器のグラフィック変更(復号化状態)
D0BE3F88 00000002
00B67069 000000xx
xx=
31=月光(セラ専用)
34=デスサイズ(カルラ専用)
36=破滅の槍(ネメア専用)
46=竜破
この様に復号化状態と書かれているものは暗号化しなければ使用不可能ですのでこれを例に暗号化をしていきます。
この場合はまずxxに変えたいものの数値を入れ、暗号化をします。今回は月光でやってみます。
D0BE3F88 00000002
00B67069 00000031
これを暗号化
ps2cheatを起動しテキストは暗号化されていますにチェックが入っていないか確認し、
入っていなければ数値を入れます。
この時に半角で16桁ないとうまく変換されないので注意して下さい。
暗号化をクリックします。
これで暗号化出来ました。
次はxxxxに入る数値ですが例えば1C978328 3855xxxxとあった場合
まず、自分が入れたい数値を決めます。
xxの場合10進数で255まで
xxxxの場合10進数で65535まで
xxxxxxxxの場合10進数で4294967295まで
一部例外があります。
例えば50000だとした場合それを16進数へ変換します。
具体的にはwindowsのスタートメニューをクリックし、
すべてのプログラムをクリック、アクセサリの中の電卓を起動します。
通常の場合は関数電卓の状態ではないので、表示をクリックし関数電卓を選びます。
そうして10進をチェックしてから50000と入れます。
次に16進をチェック。
これで16進数のC350に変換されました。
次は暗号化ですが必要な部分のみでいいのでC350以外には0を入れてあります。
と入れます。後は暗号化をクリックすると結果は
となり後はこの1456A475の下4桁A475を右側のxxxxへ入れて終了です。
しかし、いくら上の数まで入れる事が可能だといっても実際の数値には、
ほとんどの場合最大値というものが存在します。
例えばLVが99になるとそれ以上上がりません。
これはプログラムの中に99よりも大きくならないと書かれている為です。
その為、最大値より大きな数を入れる事は不具合(フリーズ等)の原因となる場合があります。
ですから最大値より大きな数を入れない様にしましょう。
参考URL
ps2dis,ps2cheat作成者hanimarさんのサイト