can you explain what you exactly mean?Quote:
Originally posted by monkeyleader@Jul 17 2005, 14:27
um about the whole packet thing... what is the point of making the keys?
can you explain what you exactly mean?Quote:
Originally posted by monkeyleader@Jul 17 2005, 14:27
um about the whole packet thing... what is the point of making the keys?
OK there are two keys that are used by conquer those two of the tutorial!Quote:
Originally posted by meow`@Jul 21 2005, 08:38
Ok, first thx for this nice tuto, then sorry for my bad english, i'm french so perhaps i don't see it but can u precise where is store the first and second key ? there is a routine to calculate them too or this key are fixe ?
sorry for noobish question, i'm not at home and i can't disassemble, thx a lot :)
Right that was only that i would to know, thx a lot :)Quote:
They are hardcoded don`t know where they are but they are fixed!
SEND:1C 00 1C 04 xx xx xx xx 00 00 00 00 72 65 73 2E 64 61 74 00 00 00 00 00 00 00 00 00 |:ASCII:| ÉD res.dat [type 4 ] [ key3 ] [ ] [r e s . d a t]
yep but no i think we dont talk with the same packet, i have no problem with the res.dat packet, it's the second packet on the gameserver, not on the login server.Quote:
this is the 2nd packet sent to the server
first thing to say you got the wrong key of the key packetQuote:
Originally posted by meow`@Aug 2 2005, 07:15
Hy all,
first sorry for my bad english, but i'm french, so if u don't understand something please tell me and i'll try to correct my sentences
Ok so, i'm trying to study the protocol and i've got a problem with the second packet i send to the gameserver, so it's the client to the server's packet send after the language packet send.
In my example, the decrypt packet look like:
1C 00 F2 03 3F 5A 11 00 63 22 11 00 00 00 00 00 00 00 00 00 00 00 00 00 89 00 00 00
and the real encrypt packet send is:
74 2D B7 18 07 CE 4E 6F 06 88 04 A4 7B EC D5 EF B4 28 9F 29 FB 6E 5A 64 A7 A5 18 A5
this encrypt packet change on every session, so i think it's the first packet encrypt with the random key3 and key4 we receive.
so i try to generate this 2 new key with the second packet receive.
In my example, the real encrypt packet is:
47 48 AA 12 5A 2D 6B 2E 2D 88 01 CA 52 9F 24 14 F6 7A 08 C0 2A 64 6F 3E 6D 00 E3 2A FA 2D 87 C6
and the decrypt packet is:
20 00 1F 04 35 97 45 00 0D 87 23 09 31 32 37 2E 30 2E 30 2E 31 00 00 00 00 00 00 00 B8 16 00 00
So i extract the two vector like this:
first vector = 12th + 11th + 10th + 9th byte:
31 09 23 87
second vector = 8th + 7th + 6th + 5th byte:
0D 00 45 97
1>31092387 + 0D004597 = 3E09691E
2>3E09691E xor 4321 = 3E092A3F
3>31092387 xor 3E092A3F = 0F0009B8
4>0F0009B8 imul 0F0009B8 = 905E7440
first 4 bytes of my key3:
8A83909D xor 0F0009B8 = 85839925
25998385
first 4 bytes of my key4:
15E84F62 xor 905E7440 = 85B63B22
223BB685
So now, if i apply my 2 new key on the second packet i send to the gameserver, i must find the real encrypt packet..
1C xor 25 = 39
39 xor 22 = 1B
invert 1B = B1
B1 xor AB = 1A
i find "1A" for my first byte, and i want to find "74"...
So perharps i've got a problem with my counter, don't know, i would appreciated if someone can correct my mistake.
thx :)
you tookQuote:
and the decrypt packet is:
20 00 1F 04 35 97 45 00 0D 87 23 09 31 32 37 2E 30 2E 30 2E 31 00 00 00 00 00 00 00 B8 16 00 00
but itsQuote:
So i extract the two vector like this:
first vector = 12th + 11th + 10th + 9th byte:
31 09 23 87
second vector = 8th + 7th + 6th + 5th byte:
0D 00 45 97
ya, I know that.Quote:
Originally posted by wondersven+Jan 12 2005, 03:09--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (wondersven @ Jan 12 2005, 03:09)</td></tr><tr><td id='QUOTE'> <!--QuoteBegin--razorwolf@Jan 12 2005, 04:28 AM
Reverse engineering