2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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