沉迷塔科夫,发现了一个基于网络流量分析的雷达外挂。

原理是它能够解密塔科夫的UDP游戏数据包,解析出有用的数据,比如其他玩家移动,玩家ID,游戏物品及其位置。

WireShark抓包获取UDP流量样本 EFT_2020-3-17_Wireshark_packet

原始数据如下

红色的为客户端,蓝色的是服务器数据包。可以观察到数据包都以000开头,且多个零结尾,推测不可能为如TLS,AES等的强加密。ASCII,UTF8等都不是,尝试发现可以YAML解密。

发现有把每一个包号都标注,同时仍有一些无法解密的数据,这些数据也有很强的逻辑关系,比如都以AA开头,中间有//////,同时以AAA=结尾。

推测可能为未知的加密方式或是游戏自建的内容传输机制。

采集一些经常出现了的样本,比较分析

服务器发送过来的数据包中有大量这个格式的数据包,推测这应该就是我们想要的其他玩家移动的数据包。将不变的固定的位置圈出来。

固定值有

AAn
PXE
//////////////////
FRUw
OAKoADABS
CoQA
AAAAA=

变动的值中有规律的有

l-k
L-r-7-b
r-s-t-u-v-w-x
D-j
A-B-C….-Z
w-4-A-I-Y-Q
Q-I
g-w-Q-A

变动区块中按顺序分析

3-2-1-3-1-1-3

第一块3个字符中,我们可以发现3处规律。

k-l  实际上是不停增大的所有字符合集,增大较慢

+-/-A-B-C-D-E-F 实际上是不停增大的所有字符合集,增大较快

L-r-7-b 四个不同的变量

我们稍作考虑,就可以发现,实际上AA是开头符号,然后后面的四位是逐渐增大的数字。

例子中的nk+ —> nlF 实际上是逐渐增大的数据,而后的Lr7b我认为可以理解为4个方向,也许是xy坐标体系中的上下左右。也许是xyz坐标系的某个值???

而之后的PXE+r到x我认为可以和之前的理解为也是一样的逐渐增大的数据,只不过增长的特别慢,没有进位。而且增长速度特别统一,也许是游戏时间???

之后的D和j可以理解为一个是或否的数据,具体怎么理解没想通。

在后面的UwG —> UwL后面也跟了Lr7b,和之前的特别像,也许也是代表坐标。

向后一位的EIMQ是单单一位增大特别快的字符合集。

0AKoAD在其他数据包中也经常见到,也许有特殊的含义。

之后跟了一个w-4-A-I-Y-Q,我认为这应该就是代表了三维坐标系中的上下左右前后。

之后则是CoQA被两个是否变量夹在中间。

然后就是一个逐渐增大的符号集合,后面跟着一个gwQA四变量。

具体这一类数据包什么作用,怎么分析,还需要控制一些变量抓更多的包来看,今天暂时到这。

2020-10-10

发现讲得很好的视频 https://www.youtube.com/watch?v=TG_FVzBijrk