HP(゚∀゚) > KAIZO(´∀`) > KAISEKI(^w^)

ポインタとはメモリ上にアドレスが表示されているところをいいます。
まあ辞書でいう目次だか索引みたいなものだと思ってください。

ポインタ(固定アドレス)
|-基準アドレス(ポインタに入っているアドレス値)

基準アドレス+差(オフセット)で特定のデータにアクセスする

--------------------------------------------------------------
オフセット=0の場合
数値サーチとかででてきたアドレスに+0x8800000してサーチしてみる。 運がよければこれだけで見つかります。+0x8800000を足す理由はPSPの実メモリの0x8800000がCWCアドレス0になっているからです。CWCがアドレス部に+8800000してコード処理していると思われる?
PSP 0x8000000 特権用仮物理アドレス?



PSP 0x8800000 CWC開始アドレス0x0000000



PSP 0xA000000 CWC終了アドレス0x1800000
例:SO1のアイテムなど
----------------------------------------------------------------
オフセット=0で無い場合
cwcだと候補が10までしかでないため、SCMMOD/FreeCheatやCheatMasterFusionを使う
例:みんごる,FreeCheat/SCMMOD使用
風アドレス
風アドレス
風のアドレスは文字列サーチで3d/windのところから常に-0x8Bしたところにあります。今回は0x009D9B08から-0x8Bなので0x009D9A7Dが風力のアドレスになる。ここで0x009D9A7Dに0x8800000をたすと0x091D9A7Dになる。さらに上位ビットの0x091Dで16bitサーチをして0x091D9A7Dに近そうなアドレスだけメモする。
候補1
候補2
候補3
再調査
リセットするなりしてもう一度しらべる

アドレス 1回目 2回目 3回目
方向 0x09D9A36 0x8452B6
3D/WIND 0x09D9B08 0x888B78 0x845388
0x09D9A7D 0x888AED 0x8452FD
アドレス候補 1回目メモリにある値;差分 2回目〃;差分 3回目〃;差分
0x3641A4 0x091D9720;0x35D 0x09088790;0x35D 0x09044FA0;0x35D
0x33ECA4 0x091D9670;0x40D 0x090886E0;0x40D 0x0904AE80;×一致せず
0x3424EC 0x091D93F0;0x68D 0x09088460;0x68D 0x0904AB00;×一致せず
0x34258C 0x091DBB70;0xF3 0x0908ABE0;0xF3 0x0904AE90;×一致せず

#差分=|メモリにある値-(kaze+0x8800000)|

3641A4がポインタアドレスだとわかるのであとはコード化
6aaaaaaa 000000vv
000t0001 0000ssss

aaaaaaa=3641A4,vv=00~7F 逆風FF~7F,t=0(8bit),ssss=035D
だいたい差分が一番近いのが使えます。慣れれば鶴使用より早い場合もあ るのでサーチして候補がおおい場合以外はやってみたほうがいいかも。
追記:FCだと数値フィルターがあるので0x8800000でふるい落とすと見やすくなります。
-----------------------------------------------------------------
例2;パズルクエスト(動画付き)

1;数値サーチでお金のアドレスをわりだす、サーチは初期化(最初からやり直し)にしておく
2:数値サーチで 数値0x880 範囲0xA00 で16bitサーチ,終わったら範囲を0000に戻す
3;1でだした0xD930A0 の5桁目以降 0xD9に0x880を足した0x959で16bitサーチ アドレス範囲を1の0xD930A0以下にする
4;残りの4桁 30A0に近そうな物を選ぶ 3020 の2つが該当
5;オフセットを計算してあとはコード化
#2~3を省略して32bit 数値(お金のアドレス+0x8800000-0x1000) 範囲(お金のアドレス+0x8800000+0x1000)でも可能
#+-0x1000で見当たらないときはオフセットを調整する
-----------------------------------------------------------------
例:PATAPON2体験版ステータス、CMFusion使用
比較
最初に比較を選択します。
変動アドレス1
YGF_GFPからPATAのデータらしきものが並んでるのでこれをメモっておく。DUMPをとってじっくり観察すればわかります。
変動アドレス2
ステージ中1回目
変化量指定
ステージ中2回目の時、再サーチする。数値比較は使えないのでTXTサーチを利用する。 □で変化量が指定できるので(ベースアドレスの変化)=0xFB0F40-0xEC88C0=0xE8680 を入力して、減少を選択します。
フィルター
数値0x8800000未満のものはポインタではないのでふるい落とします。数値大で0x8800000を入力して実行。
ベースアドレス判明
結果はほぼ1つしかでません。あとは確認だけ。
変動アドレス3
ステージ中2回目で再確認して終了。ここはオフセ0なので一番上の方法でもでるけど。

DUMPを眺めると、unit2からが弓ポンの初期データになっており、各unitのでーたさいずが0x1C0なので2*0x1C0,YGF_GFPからunit0までが0x80。unit2のオフセットが0x400になる。
あとはメモリでステータスの差分をしらべてコード化するだけです。入れっぱなしだとフリーズするのでPADが必須。

HP(゚∀゚) > KAIZO(´∀`) > KAISEKI(^w^)
  プロフィール  PR:無料HP  合宿免許 二輪  Webデザイン 学校  WPサスペンション  中古ホイール 沖縄  タイヤ エリシオン 新品  自動車整備 専門  IKD  特殊免許 取得  水晶  宮城 合宿免許  音楽 専門学校 福岡  タイヤ 取付 神戸市  中古マンションをリノベする