【问题标题】:Reverse engineering high tec games' network traffic逆向工程高科技游戏的网络流量
【发布时间】:2013-08-13 11:50:12
【问题描述】:

所以我试图通过 LAN 解构一个相当古老的 Halo 游戏中服务器-客户端交互传递的消息。我一直在用 Wireshark 和大数据包进行测试。尽管我对应该分析哪种类型的数据感到困惑。在一个全是字符的聊天消息包中,我收到了这个:

fe:fe:00:03:3a:00:11:19:39:1a:28:0d:b9:20:9d:7b:b8:59:52:90:e3:3e:93:7b:b8:59:52:90:e3:3e:93:7b:b8:59:52:90:e3:3e:93: [SNIP]

在除了前 3 个字母以外的所有字母都是“a”的消息中,我收到了这个:

fe:fe:00:21:64:00:68:8f:02:6d:5f:ab:a7:cb:d0:78:0f:e9:6d:55:89:13:72:7b:b8:59:52:90:e3:3e:93:7b:b8:59:52:90:e3:3e:93: [SNIP]

现在,我可以在某些阶段(可能是 a 的)看到数据包之间的一些相似之处,我得出的结论是:

7b:b8:59:52:90:e3

可能是一个“a”字符。但是没有办法证明。我怎样才能把上面的奇怪字符串变成一个可读的字符,即回到'a'?可能吗?

感谢您查看此问题! 协议是 UDP。

【问题讨论】:

  • 您是否尝试过使用十六进制到 ascii 的转换器?
  • 我应该……把那一点数据塞进去吗?即使是冒号之类的?
  • 好吧,我离题了。事实证明,小数据的 sn-p 实际上意味着:{?YR??
  • 是的,这里得到了相同的结果..可能是加密的..
  • 我也这么认为,不过还是谢谢你的帮助!

标签: reverse-engineering network-protocols


【解决方案1】:

您只需将 ollydbg 附加到您尝试了解的进程,并在 WSARecv(或 recv)http://msdn.microsoft.com/de-de/library/windows/desktop/ms741688(v=vs.85).aspx 处设置断点 您收到的下一个数据包将到达您的断点,按照内存指针在单独的窗口中查看它并跳过调用 WSARecv。你现在应该看到一个填充的缓冲区,在新到达的数据的顶部设置一个内存断点,如果你按下播放,你应该进入 crypt 函数,如果它是加密的。 (有可能,您必须进行更多的逆向操作才能达到这一点)我希望这是您进入逆向工程组装的起点:)

也许我的 tut 会有所帮助,它适用于另一款游戏,但我认为它应该显示一些想法: http://blog.praty.net/?p=315

Greetz 碎片整理程序

【讨论】:

    【解决方案2】:

    通过查看网络转储来猜测协议是非常低效的。我建议使用 Hex-Rays Decompiler 等现代工具反编译游戏片段,然后将网络模块中使用的数据结构知识与使用 OllyDbg 调试实时应用程序相结合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-27
      • 2013-05-28
      • 2021-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-10
      • 1970-01-01
      相关资源
      最近更新 更多