私のゲーム (Need for Speed: High Stakes) が、ファイルに保存されている 16 進値から、プレイヤーがゲームを起動したときに表示される 10 進値にプレイヤーのお金をどのように変換しているかを理解しようとしています。
周りのデータを見ると、
0x30 00 00 00 00 00 00 00 00 00 00 00 00 00 E0 8B 46
0x40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
オフセット 3E と 3F に格納されている影響のある値を見つけることができましたが、それらがどのように 16 進数値として取得され、通常の 10 進数値に変換されるのかは謎です。
しばらく 16 進値をいじってみたところ、次のようなパターンを見つけることができました。
Hex Decimal
7B 46 16120
8B 46 17904
9B 46 19952
AB 46 22000
興味深いことに、10 進数の AB、9B、8B の値の差は 2048 (うーん、2 のべき乗...) でした。 7Bは1784年…
ここにあるパターンを誰でも見ることができますか? 何か不足していますか?