- Joined
- Feb 1, 2007
- Messages
- 96
- Reaction score
- 0
I've started work on a Guild Wars server emulator in C/C++. The login server is currently working up to the point where communication is encrypted. However, I've been unable to break the encryption. I've found the routine using OllyDbg and it appears to be:
[ key XOR source = encrypted/decrypted byte]
However, the "key" byte goes through a multitude of changes beforehand that I've been unable to pinpoint the source of. I've run GW.exe through PEiD with the Kanal plugin. BASE64 table, CRC32, MD5, and SHA-1 were found.
The last plain text packet the client sends is always 66 bytes in length. It appears to have a 2 byte header([00][42]) which leaves 64 bytes of data. I think this may be the key packet.
The actual point of encryption/decryption is found at: 0x0053724B
So, if you happen to know what encryption Guild Wars utilizes or would like to help, please reply.
~Theora
[ key XOR source = encrypted/decrypted byte]
However, the "key" byte goes through a multitude of changes beforehand that I've been unable to pinpoint the source of. I've run GW.exe through PEiD with the Kanal plugin. BASE64 table, CRC32, MD5, and SHA-1 were found.
The last plain text packet the client sends is always 66 bytes in length. It appears to have a 2 byte header([00][42]) which leaves 64 bytes of data. I think this may be the key packet.
The actual point of encryption/decryption is found at: 0x0053724B
So, if you happen to know what encryption Guild Wars utilizes or would like to help, please reply.
~Theora