MAIN TYPE のコードを探すにあたって

このブログについて





わたし自身未だARM Assemblyなど到底理解出来ていませんが是非皆様に知っていただきたい事があります

もちろん自身でコードを探そうかなサーチの基本は10進数ではなく16進数である事はご存じだと思います

そしてまず復習の意味もかねてになりますがスピードアドレス・サイズアドレス・Jump系のアドレスのサーチで関連してくる浮動小数点について以下に記述します

3F800000 = 1.0
40000000 = 2.0
40800000 = 4.0
41000000 = 8.0
41800000 = 16.0
BF800000 = -1.0
C0000000 = -2.0
C0800000 = -4.0
C1000000 = -8.0
C1800000 = -16.0


上記の値はHeap領域「メモリ部分」を解析をするにあたって非常に重要になります

10進数を16進数に変換してサーチする

浮動小数点でサーチする

しかしMainタイプ「プログラム部分」の解析では以下のような数値も大切になるので覚えておいてください

意味的にはfmov命令でSレジスタに浮動小数点を即値で直接入れられるようです


1E37D000 = -30

1E361000 = -16

1E341000 = -8

1E331000 = -6

1E329000 = -5

1E321000 = -4

1E311000 = -3

1E301000 = -2

1E3E1000 = -1

1E2703E0 = 0

1E281000 = 0.12500000

1E291000 = 0.18750000

1E2A1000 = 0.25000000

1E2B1000 = 0.37500000

1E2C1000 = 0.5

1E2D1000 = 0.75

1E2E1000 = 1

1E2E9000 = 1.25

1E2F1000 = 1.5

1E2F9000 = 1.75

1E201000 = 2

1E205000 = 2.25

1E209000 = 2.5

1E20D000 = 2.75

1E211000 = 3

1E215000 = 3.25

1E219000 = 3.5

1E21D000 = 3.75

1E221000 = 4

1E229000 = 5

1E231000 = 6

1E241000 = 8

1E249000 = 10

1E24B000 = 10.5

1E24D000 = 11

1E261000 = 16

1E271000 = 24

1E27D000 = 30

1E27F000 = 31


攻撃の当たり判定なんかでの倍率やおそらくジャンプ系のチートやサイズ変更などでも使えるのではないかと感じています

因みに末尾は0から1Fと定まっていないのですが簡単に言うとレジスタの番号なのかな?と思います

メインでサーチする場合の例として

ゼロの値を探したい場合

1E2703E0を入力してGreater or Equal でサーチ → 1E2703FFを入力してLess Than or Equalみたいな感じでサーチすると良いかもしれません

次にresultが表示されたらsearchタブにてNewの部分を数回クリックして数値順でソートします

そうすると末尾が昇順もしくは降順で揃うのでpokeをかけやすいです

アドレスを見つけるコツとしてあまり大きな倍率の値をいきなり入力するよりも小さな値を入力するほうがエラー落ちしにくい感じがします

例としてサーチした値が1でそれをいきなり30とかに変更するより1.5や2など近似値を入力したほうがよいという意味になります

面倒だとしても1ページまとめてpokeするよりは10個とか20個とか少ない個数でまとめてpokeするほうがエラーは避けられるので個人的にはオススメです

D65Fxxxxや4EA9xxxxや1A8xxxxxなど他にも色々あるのですが何か解説出来るほどの脳みそが詰まっておりませんので現段階では特に触れずにおきます

今後またメインタイプについて気が付いた情報があった場合はバカなわたしなりにメインタイプ関連の記事も投稿したいと思います

コメント