由于Google没有产生任何结果,所以我决定在这里询问。

我想反转游戏的登录顺序(使用gamespy)。
在此登录序列中,首先,游戏使用gamepy协议(可以使用Aluigi的工具轻松解决)。

此后,它将网络数据包发送到似乎是主服务器的位置(此数据包未加密)。
然后游戏(我假设)正在从主服务器中寻找答案(挑战或一些我不知道的信息)。
唯一的问题是游戏的服务器不是公开的,所以我只有游戏的代码可以使用。

是可以实现的事情还是我应该忘记呢?
我试图弄乱典型的winsocket函数(发送,接收...),但是除了Gamespy协议之外,我找不到与发送到主服务器的数据包有关的任何线索(客户端发送的第一个数据包除外) )。

如果有人可以提供帮助,我将非常感谢!

干杯。

评论

如果您无法访问正在运行的服务器,或者无法获得与服务器实际通信的一些示例,则需要一个水晶球,而不是反向工程工具。

看到这似乎是可以实现的。您需要做的是对登录顺序进行反向工程。接下来找到服务器期望的响应类型。然后,一旦掌握了这些知识,就可以创建一个假服务器,并在游戏要求时返回所需的响应。

这就是《魔兽世界》私有服务器开发人员所做的。他们也颠倒了数据包结构,因此您可以找到有关它的一些文章。您应该能够将这些知识用于您的目的。我将反向客户端,了解它如何处理/构建数据包,然后开始分析它们,何时发送它们,包含什么内容等。使用wireshark,您可以为自己编写自定义协议解析器包。

似乎您需要为协议编写自己的解剖器,然后使用它来分析由Wireshark收集的.pcap数据。顺便说一句,如果您的协议通过https工作,则除了实际解密原始数据包外,还需要提取.pem文件。

除了其他人所说的,您可能会考虑使用Scapy捕获发送到服务器的数据包,进行调整,并查看服务器给出什么样的响应。