Ksh*_*KJ- 4 networking tcp protocols
手头有一个有趣的问题.我有一个角色扮演游戏MMOG通过客户端应用程序(不是浏览器)运行,它将我的播放器的动作发送到服务器,通过发送数据包使所有玩家保持同步.
现在,游戏使用TCP/IP上的顶层协议来发送数据.但是,wireshark不知道正在使用什么协议,并将TCP头之外的所有内容显示为转储.
此外,此转储没有任何纯文本字符串.虽然游戏具有聊天功能,但是在此转储中不会将发送的聊天字符串视为纯文本.
我的任务是对协议进行一些反向工程,以找到有关数据包中包含的数据的一些非常基本的东西.
有人知道为什么聊天字符串不能作为纯文本显示,是否可能使用标准的顶级协议?
此外,是否有任何工具可以帮助从转储中获取数据?
小智 5
如果它是加密的,你确实有机会(事实上,你有100%的机会,如果你正确处理它):密钥必须驻留在你的计算机上的某个地方.只需弹出你喜欢的调试器,看一下(错误,一百个字节,我希望)数据从套接字进来,设置一个关于该数据的观察点,并查看访问的东西的堆栈跟踪它.如果你真的很幸运,你甚至可能会看到它被解密了.如果没有,你可能会发现他们正在使用标准加密算法(从理论上的安全角度来看,他们不是傻瓜)要么通过查看堆栈跟踪(如果你很幸运),要么使用其中一个IV/S-box分析器(避开学术分析器,大多数都不会没有太多麻烦).许多加密算法使用可以检测到的"标准数据"块(这些是IV/S盒),这些是您在没有其他信息的情况下寻找的.无论你发现什么,谷歌它,并尝试覆盖他们的加密库来转储正在加密/解密的数据.从这些转储中,应该相对容易看到发生了什么.
重新加密会话可能会很有趣,但它需要你的调试器技巧和大量的阅读.这可能令人沮丧,但如果你花时间学习如何做,你不会后悔:)