[IPSwitch]5.4.0向けインスタンスアドレス

話題

アドレスまとめ

クラス3.1.05.4.0意味
Game::PlayerMgr0415757802CFDCF8ガチマッチなどのプレイヤー情報
Game::Coop::RuleConfig04158008パラメータを設定する
Game::Coop::LevelsConfig04160E00詳細なパラメータを設定する
Game::Coop::Setting04160E08キケン度やステージなどの設定を司る
Game::Coop::EnemyDirector04165740シャケを司るクラス
Game::Coop::PlayerDirector04165DB802D0CEE0サーモンランのプレイヤー情報を司る
Game::Coop::EventDirector04167BC0夜イベントなどの情報を司る
Game::Coop::Moderator04168C78クマサンの挙動を司る
Game::Coop::ResultPlayReport04169050リザルトデータを司る

Hookするアドレスまとめ

クラスの定義のアドレスは変わっていなかったのですが、Hookする関数はズレていたので載せておきます。

Game::PlayerMgr::getControlledPerformer

サブルーチン3.1.05.4.0
Game::PlayerMgr::getControlledPerformer0x00F07B1C0x010E6D2C
5.3.1からズレました

自分自身のインスタンスを取得するために必要な関数。

Game::PlayerCloneHandle::sendSignalEvent

サブルーチン3.1.05.4.0
Game::PlayerCloneHandle::sendSignalEvent0x00E797FC0x0104C94C
5.3.1からズレました

ナイスやカモンをHookするための関数。

移植しよう

例のテンプレートをペタペタと埋めるだけ。

sendSignalEventのアドレスが変わったのでまずはそこをズラそう。

シグナルで999納品

// Game::PlayerCloneHandle::sendSignalEvent(Game::PlayerSignalCloneEvent::Type) [5.4.0]
0104C94C                 ADRP                X0, #0xXXXXX000
0104C950                 LDR                 X0, [X0, #0xYYY]
0104C954                 LDR                 X0, [X0]
0104C958                 MOV                 W1, #0x270F
0104C95C                 STR                 W1, [X0, #0x370]
0104C960                 MOV                 W1, #0x3E7
0104C964                 STR                 W1, [X0, #0x378]
0104C968                 STR                 W1, [X0, #0x37C]
0104C96C                 RET

こちらはBL命令を使わないのでコールスタックは不要。XXXXXとYYYの値を計算したらおしまい。

Game::Coop::PlayerDirector : 02D0CEE0 -> 02D0C
ADRP                       : 0104C94C -> 0104C

XXXXX = 02D0C - 0104C = 01CC0
// Game::PlayerCloneHandle::sendSignalEvent(Game::PlayerSignalCloneEvent::Type) [5.4.0]
0104C94C                 ADRP                X0, #0x01CC0000
0104C950                 LDR                 X0, [X0, #0xEE0]
0104C954                 LDR                 X0, [X0]
0104C958                 MOV                 W1, #0x270F
0104C95C                 STR                 W1, [X0, #0x370]
0104C960                 MOV                 W1, #0x3E7
0104C964                 STR                 W1, [X0, #0x378]
0104C968                 STR                 W1, [X0, #0x37C]
0104C96C                 RET

するとこんな感じになります。

これをARM64に変換するところは簡単ですので自分でやってみましょう。

金イクラを消してみよう

イクラを取得すると取った瞬間になかったことになるコードです。

Game::Coop::PlayerDirector : 02D0CEE0 -> 02D0C
ADRP                       : 0073C604 -> 0073C

XXXXX = 02D0C - 0073C = 02594
0073C604                 ADRP                 X0, #0x25D0000
0073C608                 LDR                  X0, [X0, #0xEE0]
0073C60C                 LDR                  X0, [X0]
0073C610                 STR                  WZR, [X0, #0x374]
0073C614                 RET
// Lost Cashed GoldenEggs [tkgling]
@disabled
0073C604 802E0190
0073C608 007047F9
0073C60C 000040F9
0073C610 1F7403B9
0073C614 C0035FD6

おまけ

これだけだと記事の内容として寂しいのでいくつかのコードを載せておきます。5.4.0で動きます。

金イクラがいっぱい

// Infinite Golden Eggs [tkgling]
@disabled
00667398 48018052 // Boss Salmonids
0066739C 0031881A // Salmonids
0068D680 40018052 // Bagman
006CF59C 40018052 // Chinooks

シャケが金イクラを10個ドロップするようになります。ただし、キンシャケ探しのキンシャケ・ラッシュのキンシャケ・霧のキンシャケ・グリルの四つのオオモノについては別パラメータで設定されているため変化しません。

切断チェック回避

本来であれば60秒間操作せずにいると回線落ち扱いになるのですが、3600秒放置しないと落ちないようになります。

// Disable MovelessPlayer Checker [tkgling]
@disabled
00F8EAD0 094C9D52

記事は以上。

コメント

  1. ジェリーハンナテリー より:

    Great Stuff My Friend! I am having a bit of an issue with a certain hack. I need a hack that instantly grabs all the Golden Eggs on the ground…

    素晴らしいもの私の友達!特定のハックで少し問題が発生しています。地面にあるすべての黄金の卵を即座につかむハックが必要です…

タイトルとURLをコピーしました