0

I'm trying to reverse the network of a game. The commands are strings, however, it's not as easy as getting the function that encrypts the packet, as it's not encrypted, just encoded in its own way, however, I'm having trouble finding what function encodes/decodes the packets sent/received, because it's probably nested in a bunch of functions.

Debugging the server, I set a memory breakpoint on the function that reads the socket and gets the packet, but I had no success, the memory got accessed a bunch of times and it probably gets copied somewhere amidst the accesses.

So what's the thought process you have when you're reversing a network? What tools can I use to help me? I tried using signsearch to get what encrypted the packets, but it's not encrypted by a famous algorithm. If I capture a bunch of packets, and if I know the command those packets mean, ex: "smile", can I do something to relate the command to the various packets?

1 Answer 1

0

To get a handle on the encoding scheme used by a game's network packets, especially when they're wrapped in layers of functions, Cheat Engine is one of the best. Start by using Cheat Engine to set a breakpoint on the buffer immediately before it's sent through the game's send function. This approach allows you to catch the packet in its final encoded form right before transmission. From this breakpoint, you can work your way backwards (backtrace) to uncover the functions responsible for the packet's encoding. This method usually takes you a couple functions back so I suggest you pair a good static analyzer for this as well.

For a more targeted analysis of the encoded packets, incorporating a tool specifically designed for understanding game packet data can be invaluable. Packet Ripper, for instance, could be particularly useful here. It's tailored to dissecting and making sense of game packets, potentially saving you a significant amount of time by providing insights into the structure and encoding patterns of network data. This could help you understand the logic of the game server so you can implement it later.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.