1

そのため、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 です。

4

2 に答える 2

0

ネットワーク ダンプを見てプロトコルを推測するのは非常に非効率的です。Hex-Rays Decompilerなどの最新のツールを使用してゲームの一部を逆コンパイルし、ネットワーク モジュールで使用されるデータ構造の知識と、OllyDbg を使用したライブ アプリのデバッグを組み合わせることをお勧めします。

于 2013-08-19T09:14:14.057 に答える
0

理解しようとしているプロセスに ollydbg をアタッチし、WSARecv (または recv) http://msdn.microsoft.com/de-de/library/windows/desktop/ms741688(v=vs. 85).aspx 受信した次のパケットがブレークポイントに到達し、メモリ ptr をたどって別のウィンドウでそれを確認し、呼び出し WSARecv をステップ オーバーします。いっぱいになったバッファが表示され、新しく到着したデータの先頭にメモリ ブレークポイントを設定します。再生を押すと、暗号化されている場合は暗号化関数に到達するはずです。(その点に到達するには、もう少し逆にする必要がある可能性があります)リバースエンジニアリングアセンブリに入る出発点になることを願っています:)

多分私のツットは別のゲームのために少し役立つでしょうが、それはいくつかのアイデアを示すべきだと思います: http://blog.praty.net/?p=315

グリーツ デフラグ

于 2013-08-14T07:54:10.803 に答える