I'm in the process of developing a new emulator for a game. We're trying to keep the emulator hush hush until we make more progress, which right now pretty much depends on this topic...
We've made a lot of progress for the game, but we have to skip the login process. Right now it basically says all logins are correct.
This is because, after having found and reversed the encryption decryption algorithm of the packets I found out that the login packet has a second layer encryption built on to it... Possibly even a hash(not 100% sure), behind the encryption.
I tried to find the second layer encryption for days, and even for a few more days the past few days...
I can't seem to find the point where the username is actually encrypted on the client. I have found where the packet is built, but by this point the username and password are already encrypted.
I've tried to build my own loginpacket by modifying the code to place the unencrypted data ontop of the encrypted data before sending the packet... This worked fine until I found out that the game requires a certain file to be present because this file has the character load packet structure in it... So without it, clients crash when they try to load other players... However, this file also holds protection from editing other files. So when I edit the .dll that handles the login packet, this .dll will close the game because the login packet .dll was edited... So I can't remove the protection .dll & I also can't edit the login packet .dll...
I'm asking someone, anyone really who has experience in this department, to help in one of the two following ways... I signaled Dwar out specifically, because he has done some work on the game already it seems.
1) Help figure out the second layer encryption of the login packet.
2) Remove the protection in the .dll that closes the game when there is a version mismatch of the login packet.dll
I can provide more information on the game itself, as well as a client that connects to our server via PM or skype.
My Skype is ricky_r.r