Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Need some information about gameguard heartbeat emulation

Newbie Spellweaver
Joined
Aug 14, 2015
Messages
79
Reaction score
18
Hello people. I've been trying to remove gameguard from a pvp server client. I've disabled the initialization through assembly but unfortunately there's a heartbeat and if clients doesn't send anything back or sends wrong keys the server disconnects after some time. I've read a bit and figured that there're 4 input keys and 4 output keys. I've also found an emulator source code but the keys it generates doesn't match with the ones gameguard generates. Here's a sample:

Code:
InKeys(Sent from server):
0x29DD954E
0x53C8011D
0x97ADB620
0x67CFBC30

OutKeys(Sent to server):
0x8CBFBF22
0xC996A39B
0xF5A6B443
0x3635576C

I've read that the switch-case might differ from game to game but I'm not sure how would I find that piece in assembly. Could anyone share some information about this or point me to somewhere I can find detailed information?
 
Newbie Spellweaver
Joined
Aug 14, 2015
Messages
79
Reaction score
18
Bump. Could anyone at least tell me how the games generally communicate with gameguard?
 
Newbie Spellweaver
Joined
Aug 14, 2015
Messages
79
Reaction score
18
The reason I want to emulate GG is because I'd like to use a client that doesn't have a built in GG.
 
Moderator
Staff member
Moderator
Joined
Feb 22, 2008
Messages
2,404
Reaction score
723
Hm... This is hard stuff I suppose, doesn't have a complex knoledge in crypto and in reverse engeneer but maybe I can help..

I think you should see how the client generates those keys that are sent in the heartbeat packet to the server. Try to figure how those keys are generated.
Then, (This I don't know, Its an assumption) When the server sends back the heartbeat to the client, try to find if the client doesn't do something with the output keys you said, like, checking to see if they are valid or not.

Then, knowing how to generate a key, and knowing how to verify the output key, maybe those things are enough to you to find yout what crypto they use and implement any method you like, like, generating the keys, and verifying them...
 
Back
Top