>>947
こういうの飽きるのは早いけど地味に好きなので壱もプレイ済み
コード提供しても良かったんだけどランキングがあるので作り方だけ
モンスターズ3、デイブ・ザ・ダイバー、カイロソフト製品などでよく見かけるチート対策が入っている
この暗号化方式Unity製のばっかりなのでそういうインターフェースを提供しているのかも

主要どころの定義は以下(SaveDataBridgeクラス)
ObscuredInt currentCoin; // 0x34 コイン枚数
ObscuredFloat jackpotPool; // 0x44 ジャックポットのコイン枚数
ObscuredInt jackpotTriggerCount; // 0x58 ジャックポット小判枚数
ObscuredInt currentMagatama; // 0x68 勾玉の数
ObscuredInt prizePoint; // 0x78 勾玉ゲージ
ObscuredInt defeatRating; // 0x88 評価値
ObscuredFloat skillCoolTime; // 0x98 吸引スキルクールタイム
ObscuredFloat cannonCoolTime; // 0xAC 勾玉大砲クールタイム
ObscuredInt coinType; // 0xC0
ObscuredBool[] unlockedCoinTypes; // 0xD0
ObscuredInt[] getPrizes; // 0xD8
ObscuredInt[] getDropRewards; // 0xE0
ObscuredInt[] unlockedUpgradeLevels; // 0xE8 アプグレアンロックLV
ObscuredInt[] currentUpgradeLevels; // 0xF0 現在選択しているアプグレLV
ObscuredInt[] unlockedEquipLevels; // 0xF8 装備アンロックLV
ObscuredInt[] currentEquipLevels; // 0x100 現在選択している装備LV

コインや勾玉の数などの整数のものはObscuredIntで定義されていて構造は
// Fields
internal int currentCryptoKey; // 0x0 ← XOR暗号化キー(0x3B9ACA00~0x7FFFFFFFの乱数)
internal int hiddenValue; // 0x4 ← ゲームで使われる値(実値とcurrentCryptoKeyのXOR値)
internal int fakeValue; // 0x8
internal bool fakeValueActive; // 0xC
internal bool inited; // 0xD

なのでまずコイン枚数を変動させて4Byteの変動検索をしコイン枚数のアドレスを特定する
特定後デバッガーが使えるなら書き込みBPを仕掛けてブレークしたところから遡って見ると
ObscuredIntの復号した値を取得する関数呼出をしてコインの増減値を加算し上限チェックを
していることがわかるのでコイン枚数減らないなら増減値がマイナスなら増減値を0にしたり
変動で最大なら最大値チェックで最大値を設定したりすれば良い
ジャックポット小判や勾玉の数も上の通りコイン枚数アドレスの+0x24、+0x34で上と同様にできる

デバッガーが使えない場合はSaveDataBridgeへのポインタアドレスを特定し
currentCryptoKeyに0、hiddenValueに設定したい値をセットしてやれば良い
currentCryptoKeyに0を設定する理由は
本来 hiddenValue = currentCryptoKey xor 画面上の値だが
currentCryptoKeyを0にすると
hiddenValue = 0 xor 画面上の値(= 画面上の値)
となり設定したhiddenValueに設定した値と画面上の値が一致するから

例)
[コイン9,999,999枚]
580F0000 xxxxxxxx ← SaveDataBridgeへのポインタアドレス
580F1000 000000B8
780F0000 00000034
680F1000 0098967F 00000000 ← hiddenValueへ9,999,999、currentCryptoKeyへ0

ただ、チート検知も入っているのでポインターコードは勧めはしない