WPE封包异或运算讲解封包的异或运算与解密:例:第一个文件:SEND->0000E6560D227E6BE417131312131213671BSEND->00101712DD341212121217120E1212129BSEND->0000E6561EF1290617123B0E171AS
WPE封包异或运算讲解
封包的异或运算与解密:
例:
第一个文件:SEND->0000E6560D227E6BE417131312131213671BSEND->00101712DD341212121217120E1212129BSEND->0000E6561EF1290617123B0E171ASEND->0000E6561BC0681212125ASEND->0000E65602C813C97E6BE417103527131212SEND->0000E65617C912
第二个文件:SEND->0000833368471B0E8172767677767776027ESEND->00107277071C777777777277727777776DSEND->000083337B944C6372775E6B72F3SEND->000083337EA5217777773FSEND->0000833367AD76CF1B0E8172755042767777SEND->0000833372AC77
这是一格某网游的封包.一般的数据包加密都是异或运算.异或就是"相同为0,不同为1"(这是针对二进制按位来讲的).
0001和0010异或,我们按位对比,得到异或结果是0011,计算的方法是:0001的第4位为0,0010的第4位为0,它们相同,则异或结果的第4位按照"相同为0,不同为1"的原则得到0,0001的第3位为0,0010的第3位为0,则异或结果的第3位得到0,0001的第2位为0,0010的第2位为1,则异或结果的第2位得到1,0001的第1位为1,0010的第1位为0,则异或结果的第1位得到1,组合起来就是0011.
0001
0010
↓
0011
下面我们继续看看上面的两个文件,按照常理,数据包的数据不会全部都有值的,游戏开发时会预留一些字节空间来便于日后的扩充,也就是说数据包里会存在一些"00"的字节,观察上面的文件,我们会发现文件一里很多"12",文件二里很多"77",那么这是不是代表我们说的"00"呢?推理到这里,我们就开始行动吧!
然后用封包分析器.把密文复制进去.填写密码字符串12,在点击解密.就出现了明文.你现在就可以分析那些是物品代码了.
或者.如:第一个文件里的E6换算成2进制成11100110把字符串12换算成2进制10010(也可写成00010010.只是凑个位大家不要误解.00010010就是等于10010)