■ このスレッドは過去ログ倉庫に格納されています
PSVita チート解析スレ Part005【vitacheat】
- 7 :名無しさん@お腹いっぱい。:2020/02/15(土) 10:04:14 ID:l3Qq1mzc.net
- 【$B2コードを使用するケースについて】 [Z05以降のみ使用可]
ゲームを起動する度に、アドレスが変動してしまい、コード化
出来ないケースがあるが、原因はセグメントの読込アドレスが
変動する場合と、ポインタを使用している場合の2通りある
メモリブラウザで右アナログスティックを上に倒すと画面上部
にセグメント1,2の範囲が以下の様に表示される
seg0:0x81aaaaaa - 0x8xxxxxxx seg1:0x81bbbbbb - 0x8xxxxxxx
seg0、seg1の開始アドレス(0x81aaaaaa、0x81bbbbbb)が起動毎
に変動する場合には、ポインタの使用、不使用に関わらず必ず
$Bコードを使用してセグメントの読込位置の変動に対応しなく
てはならない
【対応方法について】(目的のアドレスの値を9999にする例)
$B200 0000000X 00000000
$0200 YYYYYYYY 0000270F
seg0の開始アドレス(0x81aaaaaa)が、0x81005000
seg1の開始アドレス(0x81bbbbbb)が、0x82005000とする
まず、サーチを掛けるなどして目的のアドレスを特定する
<目的のアドレスが0x82055000の場合>
目的のアドレスとseg1の開始アドレス(0x81bbbbbb)を比較する
0x82055000 > 0x82005000が成立するため、0000000XのXは、
"1"(seg1の開始アドレスをアドレス欄にプラスする)を設定し、
YYYYYYYYには、0x82055000 - 0x82005000 の 00050000を設定する
$B200 00000001 00000000
$0200 00050000 0000270F
<目的のアドレスが0x81555000の場合>
目的のアドレスとseg1の開始アドレス(0x81bbbbbb)を比較する
0x82055000 > 0x81555000が不成立のため、0000000XのXは、
"0"(seg0の開始アドレスをアドレス欄にプラスする)を設定し、
YYYYYYYYには、0x81555000 - 0x81005000 の 00550000を設定する
$B200 00000000 00000000
$A200 00550000 0000270F
[Z06の新機能]
従来まではメインとなるモジュール(ダンプテキストファイルの
00番目)以外のモジュールの動的ロードによるアドレスの変動に
対応できなかったが、$B2XXのXXにモジュールのシリアル番号を
指定することにより対応可能となった
モジュールのシリアル番号の確認はダンプテキストファイルの
module nameの左に記載されている
例)0A. module name :sub
$B2XX → $B20A
ただし、このモジュールのシリアル番号指定は例の番号0Aが0B
などに変わるケースもあるため、完全な動作保証はありません
確実に対応するためには、ソースコードでモジュール名の指定
を行いsuprx形式にコンパイルしプラグインとして使用する
例)taiGetModuleInfo ("sub", tai_module_info_t *info)
utf8対応によりコードの日本語表示が可能となっている
デフォルトで全範囲(全モジュールおよび全ヒープ)検索可能
デメリットとしてZ05と比べ動作が不安定になるタイトルがある
また、通常検索で範囲指定を行った場合はバグで検索できない
ケースがある(変動検索の==検索で代用すれば問題ない)
総レス数 1031
463 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200