2009-09-15 32 views

回答

2

商業遊戲預計人們會試圖破解協議作爲一種欺騙手段,所以通常會使用加密,也可能會使用篡改檢測。

停止這種類型的活動是遊戲製造商非常關心的問題,因爲當少數玩家擁有超級工具時,會破壞大多數玩家的體驗。對於在線撲克等遊戲,其後果更爲嚴重。

+0

謝謝,等不及要深入挖掘今晚的工作:)你知道解決這類問題的任何資源嗎?我可以嘗試解密和搜索數據包加密功能嗎? muahah – Shawn 2009-09-15 19:32:31

+0

如果數據已加密,那麼Wireshark將對您無用。你需要一個調試器來讀取和解密數據。 – Kylotan 2009-09-16 09:51:46

8

是的,這是可行的。但它的實用程度取決於所討論的遊戲。壓縮會使你的工作變得更加困難,並且加密將使它變得不可能(至少通過Wireshark - 你仍然可以獲得內存中的數據)。

也許最好的方法是有條不紊地做 - 不要記錄'一堆流量',而是在遊戲中執行一個單獨的動作或命令,並查看發送了哪些數據以進行通信。然後,您可以查看包並嘗試找出任何感興趣的東西。通常你不會從中學到很多東西,所以試試另一個命令並將新消息與第一條消息進行比較。哪些部分在同一個地方?哪部分移動了?哪些部分完全改變了?尤其要注意可能描述消息類型的數據包開始附近的固定位置的值。一般來說,數據包的開始將是類似於頭部的通用內容,後面的部分數據包將成爲特定於消息的部分。考慮到UDP協議通常有自己的手卷訂單或可靠性方案,並且您可能會在開頭附近找到序列號。

瞭解您的數據類型非常方便。例如,整數值可能以big-endian或little-endian格式存儲。許多遊戲都會將數據作爲浮點值發送,因此可以查看可能描述位置或速度的連續2或3個浮點數。

相關問題