我正在逆转这个游戏并被卡住了。简单来说,您在游戏中拥有一定数量的硬币(float或double),您可以将其花在一些事情上。我开始嗅探网络流量并注意到不同数量的硬币,只有 2 个字节的变化。
我购买了不同数量的硬币并复制了这两个字节:
(5)
1111 0100 0000 0011 (F4 03)
---------------------------
(6)
1101 1000 0000 0100 (D8 04)
---------------------------
(7)
1011 1100 0000 0101 (BC 05)
---------------------------
(8)
1010 0000 0000 0110 (A0 06)
---------------------------
(9)
1000 0100 0000 0111 (84 07)
---------------------------
(10)
1110 1000 0000 0111 (E8 07)
(11)
1100 1100 0000 1000 (CC 08)
---------------------------
(12)
1011 0000 0000 1001 (B0 09)
---------------------------
(13)
1001 0100 0000 1010 (94 0a)
---------------------------
(14)
1111 1000 0000 1010 (F8 0a)
---------------------------
(15)
1101 1100 0000 1011 (DC 0B)
---------------------------
(16)
1100 0000 0000 1100 (C0 0C)
---------------------------
(17)
1010 0100 0000 1101 (A4 0D)
---------------------------
(18)
1000 1000 0000 1110 (88 0E)
---------------------------
(19)
1110 1100 0000 1110 (EC 0E)
---------------------------
(20)
1101 0000 0000 1111 (D0 0F)
第一行代表我拥有的硬币数量,第二行是来自wireshark的相应十六进制字节。我不知道为此使用哪种编码方法。也许有人有一些经验并知道其背后的算法。谢谢。
更新
8
1010 0000 0000 0110 (A0 06)
-----------------------------
16
1100 0000 0000 1100 (C0 0C)
--------------------------
256
1100 1000 0000 0001 (C8 01)
----------------------------
512
1001 0000 0000 0011 (90 03)
-----------------------------
2048
1100 0000 0000 1100 (C0 0C)
----------------------------
4096
1000 0000 0001 1001 (80 19)
-----------------------------
8192
1000 0000 0011 0010 (80 32)
------------------------------
请注意,2048并16具有相同的代码。我不明白为什么会这样,它是如何区分16和2048?
硬币的不同量可以在不同的房间费用,例如8与16在一个房间里的花,它具有的最大限制30。256和512在二号房,其余在三号房。当我进入一个有不同数量硬币的房间时,我所看到的只是同一个房间中字节之间的差异,不同的房间中有不同的字节,据我所知,这是对房间本身的描述。我是否可能丢失了一些字节?
但是当我用不同的硬币进入三号房间时,2048 4096 8192这些是唯一发生变化的字节。
更新 2
64 - 00110010
128 - 01100100
1024 - 1010000000000110
所以我们有
8 1010000000000110
16 1100000000001100
32 ?
64 00110010
128 01100100
256 1100100000000001
512 1001000000000011
1024 1010000000000110
2048 1100000000001100
4096 1000000000011001
8192 1000000000110010
我无法进入,32因为我无法进入具有该值的任何房间。