わたし自身未だ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など他にも色々あるのですが何か解説出来るほどの脳みそが詰まっておりませんので現段階では特に触れずにおきます
今後またメインタイプについて気が付いた情報があった場合はバカなわたしなりにメインタイプ関連の記事も投稿したいと思います
コメント
コメントを投稿