:: Admin ::: NewEntry ::

--.--/-- *--*
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

NPJG-00122 パタポン3 お金 (チャリン) n倍

2011.04/30 *Sat*
前回は直接チャリンの数値を弄ることに成功したので
今回は獲得したチャリンをn倍するコードをつくってみます

まずは前回と同様にチャリンを数値サーチしてアドレスを割り出します
ステージに入りPSPLINKでブレークポイントを設置
チャリンを獲得したらステージリタイア

すると画面が止まるのでPSPLINKで見てみるとこんな感じ
2011430-01.jpg
0x08A33E0Cで止まっています

ps2disでこの場所を見てみると
2011430-02.jpg
どうやら分岐の遅延命令でチャリンのアドレス(a0)に書き込みしてるようです

では少し上から流れを追ってみましょう

# 08a33df8:8c830000 lw v1, 0x0000(a0)
v1レジスタにa0(チャリンのアドレス)から値をロード

# 08a33dfc:3c013b9a lui at, 0x3b9a at=0x3b9a0000
# 08a33e00:3421ca00 ori at, at, 0xca00 at=0x3b9aca00

atレジスタに0x3b9aca00を格納
0x3b9aca00は10進法で1000000000
つまりチャリン最大値+1

# 08a33e04:00651821 addu v1, v1, a1
v1(現在のチャリンの値)とa1レジスタの値を足してv1に収め直しています
a1に変動させたチャリンの値が入っているようです

# 08a33e08:0061082a slt at, v1, at
チャリンと最大値+1を比較して結果をatに格納

# 08a33e0c:14200004 bne at, zero, 0x08a33e20
# 08a33e10:ac830000 sw v1, 0x0000(a0)

チャリンのアドレス(a0)にチャリンを書き込み
その後at次第で分岐

こんな感じの流れになってます

どうやら獲得チャリンをn倍するにはa1レジスタを弄ればよさそうです

できたコードはこちら
2011430-03.jpg
倍率は2倍
お店なんかでも併用されるので
変動値がマイナスの場合は回避してあります

動作チェック
2011430-04.jpg
2011430-05.jpg
2011430-06.jpg
2011430-07.jpg
意図した通りに動いてくれました
この辺弄ればチャリン関係は色々できそうですね



今回の改造コード
GameID: NPJG-00122

チャリンn倍

PMEtan
_CN0 Charin xn
_NWR 0x80000000 0x00233DF8 0x0A200400
_NWR 0x80000000 0x00001000 0x8C830000
_NWR 0x80000000 0x00001004 0x5CA00001
_NWR 0x80000000 0x00001008 0x00252xxx
_NWR 0x80000000 0x0000100C 0x0A28CF80

cwcheat
_C0 Charin xn
_L 0x20233DF8 0x0A200400
_L 0x20001000 0x8C830000
_L 0x20001004 0x5CA00001
_L 0x20001008 0x00252xxx
_L 0x2000100C 0x0A28CF80

xxx=
840=2倍
880=4倍
8c0=8倍
900=16倍
改造コードのオンラインでのご使用はお控え下さい。 また、改造コードを使用する事で
データの破損等がございましても当ブログでは一切責任を負いません、自己責任でお願いします。
Copyright © 改造のススメ All Rights Reserved.
テンプレート配布者: サリイ  ・・・  素材: HELIUM  ・・・ 
11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

オススメ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。