Hi, i have work a little bit on this old client and i saw that packet were encrypt.
After some time i've find the way to decrypt them maybe you will find it interesting. ( but useless >< )
It's an easy encryption with each packet client and server send a key coded on a byte then after some modification you get a final key and client/server convert it using a encryption/desemcyption table.
Login packet struct :
<Packet ID> < First Key> <maybe crc > < login > < pass >Code:<2F00> <F6> <2AED2C000001> <C1D66E6EF16A6A6A6A6A6A6A6A6A6A6A6A6A6A> <F1F1F1F1F1F16A6A6A6A6A6A6A6A6A6A6A6A6A>
In this exemple i send to server login : gm001 pass : 11111
Next step, get the final key
you have to do two little operation on the key first do a logical and between First key and the hexadecimal value 0F next you shift bits two time to the left. (xD poor englis sorry)
example (first key <F6> )
Finaly add key value with each byte value of the packet to find the rank corresponding to your decrypted character.Code:asm : mov var,F6h and var,0Fh ; not sure of my asm code C : var = 0xF6; var &= 0x0F; var <<= 8;
DECRYPTED_CHAR = DECRYPT_TABLE [ FINAL_KEY + CRYPTED_CHAR_VALUE ]
In the attachment you will find an example programming in C language including the decrypt table from FirstLoginServer.
Certainly useless ... but i'm now working on the last Chinese client. ;)



Reply With Quote![Packet Decryption. [old chinese client]](http://ragezone.com/hyper728.png)


