首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除了Wireshark之外,如何对基于UDP的自定义游戏协议进行逆向工程?

除了Wireshark之外,如何对基于UDP的自定义游戏协议进行逆向工程?
EN

Stack Overflow用户
提问于 2009-09-15 18:31:15
回答 2查看 3.5K关注 0票数 5

除了Wireshark之外,如何对基于UDP的自定义游戏协议进行逆向工程?我可以记录一大堆流量,但是然后呢?我的目标是为Wireshark编写一个分析插件,最终能够解码游戏命令。这看起来可行吗?我可能会面临哪些挑战?有没有可能命令是加密的?

EN

回答 2

Stack Overflow用户

发布于 2009-09-16 10:02:50

是的,这是可行的。但它的实用性将取决于所讨论的游戏。压缩将使您的工作变得更加困难,而加密将使其变得不可能(至少通过Wireshark -您仍然可以获取内存中的数据)。

也许最好的方法是有条不紊地去做--不要记录“一大堆流量”,而是在游戏中执行一个单一的动作或命令,看看发送了哪些数据来传达这一点。然后,您可以查看数据包,并尝试发现任何感兴趣的内容。通常,您不会从中学到很多东西,所以尝试另一个命令,并将新消息与第一条消息进行比较。哪些部件在同一位置?移动了哪些部分?哪些部分已经完全改变了?特别是在数据包开头附近的固定位置查找可能描述消息类型的值。一般来说,数据包的开头将是报头之类的通用内容,而数据包的后续部分将是特定于消息的内容。考虑到UDP协议通常有其自己的手动排序或可靠性方案,并且您可能会在其开头附近找到序列号。

了解您的数据类型是很方便的。例如,整数值可以以big-endian或little-endian格式存储。许多游戏以浮点值的形式发送数据,因此要注意一行中可能描述位置或速度的2到3个浮点数。

票数 9
EN

Stack Overflow用户

发布于 2009-09-15 18:40:47

商业游戏预计,人们会试图破解协议作为作弊的手段,因此通常会使用加密,可能还会使用篡改检测。

停止这种类型的活动是游戏制作者非常关心的问题,因为当少数玩家拥有超级工具时,它会破坏大多数玩家的体验。对于像在线扑克这样的游戏来说,后果甚至更加严重。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1428915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档