【うさみみハリケーン】うさみみハリケーンを使ってみよう【お触り編】
お触り編です。今回は実際に触ってみてメモリをイジイジするところまでちゃんとやってみようと思います。
あぁ、そうだいい忘れてたけど。
このうさみみハリケーンの関連記事はチートを推奨する記事ではありません。あくまでも、解析して遊びたいなどの知識欲を埋めるためだけに存在する記事です。
あとね、記事と同じことを実行して仮にお前のPCに不利益を被ってもアザラシ(この記事書いてる俺)に責任は一切なしだから(でりさくら)
自己責任ね。
動画版作りましたのでよかったら見てください。
はい、では前回の続き。
うさみみハリケーンとぱちゅコン起動してプロセス選択のところからです。
これがその一覧。(流石にトリミングした)
PatchCon.exeっていうのがあるのみえますね?今回はそれを選択。
こんな画面になったよね?(なってないならなんかおかしいぞ見直して)
なったら、編集タブ-> 1秒ごとに表示を自動更新を押しておくと、毎秒ごとのメモリの変動がみえるよ。ちなみにココの緑の部分は変動しないから。変動するのは後で確認できるよ。
んで、うさみみハリケーンは一旦ココまでで、ぱちゅコン!の方を操作しましょう。
今回はいろいろいじって遊びたいので、Extraの∞モードを選ぶよ。
難易度はなんでもいいよ。キャラもなんでもいいよ。
はい。とりあえず戦闘準備画面に行きました。
ココからいろいろやっていきますよ。
チートって言われて大体思いつくものって、お金MAXだったり、死なないとかいろいろあるよね。一旦はお金MAX・・・というかお金いっぱい増やすのが一番やりやすいのでそれをやるよ。
さっきのスクショから今一旦わかってる情報は現状お金は2000あるということ。
なのでうさみみハリケーンの検索タブ -> メモリを範囲指定して検索(64bit Mode)を選択。
こんなのが出るね?
そしたら一旦、比較用メモリの欄があると思うんだけど、そこの確保・記録押しておこう。これを押しておくと、変動検索実行といって、メモリ検索(このあとやる)をしたあとに、数値が変動したか?という検索ができるようになる。
つまり正確な数字を入れて変動した値を絞り込むことが困難なものも調べられるようになる。(格ゲーとかのHPゲージとかがそう)
んで、今回はお金の値なのでそんなにめちゃ多い数値にはならなそうなので、
検索比較単位を 4Byteにする。
通常検索のところの明らかに数字を自分で入れられそうなところに 2000(現状のお金の値)と入れる。
こんな感じになったかな?なってないならしてね。
早速通常検索実行をしてみよう。
押すと一瞬ゲームが止まるが安心してね。それはオプションのところにあるけど、検索時対象のプロセスを停止。という項目にチェックが入ってるからである。
検索してる最中にアクティブだと数値が変動してしっかりとした検索がし辛いものがある用の対策だと思う。(例えばタイムリミットカウンタ)
はい。検索したらこんな感じになったかな?
なってないなら(ry
で、このように現状メモリには2000という値が208件ある。
総当たりすればお金の値にたどり着くことはできるだろうが、いじってるうちにゲームがフリーズする可能性のほうが高い。
なので一旦この状態で変動検索実行の不動を押してみよう。
1件だけ減ったね。これはその名前の通り、値が動いてないもののみ残すということです。まあこれはあくまでも件数がめちゃくちゃ多いときとかに有効かも。
で、もっと絞りたいので、ココで一旦ぱちゅコン!にうつる。
何をするか?
ゲーム内でのお金を変動させることで更に値を絞るのである。
なのでこのゲームに置いてお金が変動する行動は、キャラを買う行動なので、とりあえず一旦一番低コストで変える橙を1体購入する。
橙は1体95円なので今資金が変動して1905になった。
この値を先程の検索にかける。
先程2000と打ち込んだところに1905と打ち込み通常検索を開始。
これはなかなかレアケースだが、一回の変動で1件に絞ることができた。
今検索結果にでているものが、お金を管理しているメモリアドレスである。右のリストをクリックすることで該当のアドレスに飛ぶ。
飛びました。黄色くなっているところが該当の箇所である。
ココがお金のアドレスです。
1081141Cの部分を見ると 71となっており
1081141Dの部分をみると 07となっいる。
アドレスの見方がよくわからないという人は自分で調べて見るのが一番いいが、僕が今最低限できる説明を書きます。
というか最初に書いておけばよかったが、最低でも16進数が分かる人じゃないときついぞ。解析は。
この 71 07 が一体どうしたら 1905という数字になるかというと、
これは16進数なので10進数として理解したいのであれば戻してあげる必要がある。
0x7107としてそのまま素直に戻すと28935になるが、これは間違い。
これはリトルエンディアンという並び順になっているので
11 22 33 44という数値であれば、
0x44332211 として直す必要がある。
よって今回の 71 07は 0x0771であるので、これを計算すると、
この様になる。
HEXと書かれている部分が16進数で、DECと書かれている部分が10進数である。なのでこれは1905であることが間違いない。
ちなみにWindows付属の電卓は割と便利なんでみんな使おう。
これは補足だが、 11223344をそのまま11223344と読む場合は
ビッグエンディアンという。
詳しい記事はココにあるから読もう。
じゃあ早速お金の値を99999とかにしてみましょうか。
先程の部分にただ 99999 と打ってもこれは16進数で打たなければ行けないので、先程の電卓の機能で99999は16進数だとどのような値になるのか調べる。
DEC 99999 の時
HEX 1869F であることがわかった。
なのでこれをうさみみハリケーンの先程のところに書き込むのであれば
0x01869F ではなく
0x9F860100 である。先程のリトルエンディアンのことを思い出してほしい。
ちなみに1869Fなのに 0はどこからきたのか?ということを思う人もいるかも知れない。
1869Fは正確には 00 01 86 9F のように、2個づつのペアになっている。
なのでこれを先程のリトルエンディアンに倣うと、
9F 86 01 00 となるのです。
そもそも この2個のペアが4つあるのは 4byteということです。
1byte = 0xFF = 255 です。
(あれ?FFって256でしょ?って思う人は 0を含めて0~255で256個の通りであることをおぼえてね。)
なので横一列で 16byteということです。
小話はさておき、早速先程のところに 9F 86 01 00 と打ってみたいと思います。
このように打ってみました。
さてぱちゅコン!を確認してみましょう。
わぁ~!99999ですね。すごい。
ゲーム上で数値がでているものであれば簡単に数字をイジれるのが理解できたでしょうか?本当であればこの状態からさらにお金を減らさない方法まで解説したいですが、この記事も大分長くなってしまったので一旦次回に回します。
なので次回はうさみみハリケーンでお金を減らさない方法を実践します。
やることとしては、逆アセンブルです。アセンブリ言語が分かるといいかも。(僕は毎回しらべながらやってるけど)
ディスカッション
コメント一覧
めっちゃ分かりやすいw
ちぃ さん
ありがとうございます!
今後もわかりやすい記事を心がけて行きますので、どうぞよろしくお願いいたします
できました!めっちゃ分かりやすかったです!!
いなば さん
ありがとうございます!
うさみみハリケーンの記事は簡単な部分のみを記事にしていますが、(自分自身もそんなに出来るわけではない為)
これをきっかけに勉強するきっかけになればと思って記事を書いています。
これからもよろしくお願い致します。