![]() |
![]() |
|
|
|
| / в начала / статейки / Протокол MU Online | RU | EN |
Links
The story27 march 2006 Guy named MiKiOnE (mikione at o2.pl) find out algorithm for client-to-server communication encoding. Good work!
Hi.. I back :P
i found cript algorytm:
//code
unsigned char T1;//temp
unsigned char package[];//uncrypt
unsigned char crypt[];//crypt
unsigned char key[]={
0xe7,0x6D,0x3a,0x89,
0xbc,0xb2,0x9f,0x73,
0x23,0xa8,0xfe,0xb6,
0x49,0x5d,0x39,0x5d,
0x8a,0xcb,0x63,0x8d,
0xea,0x7d,0x2b,0x5f,
0xc3,0xb1,0xe9,0x83,
0x29,0x51,0xe8,0x56};
int a;
for(int b=0;b<=2;b++)crypt[b]=package[b]; // copy first 3 bits
int a=4;
int size; // size of package
for(int i=0;i<=size;i++,a++)
{
if (a == 32)a=0;
T1=crypt[i+2]^key[a];
package[i+3]=crypt[i+3]^T1;
};
//end code
its very simple :P [i use softice to find it]
with Greetings MiKiOnE
21 october 2004
New messages from RealKeeper. He found new message type - c4, next 2 bytes are message length (like c2). 18 october 2004 New messages from RealKeeper, plus some other corrected.
14 october 2004 Guy named RealKeeper (realkeep.com) send me 2 new packets: Thanks! 24 may 2004 Possibly, this is the last update. I show you the way I did this work. I write Perl-program to represent tcpdump -Xqt (yes, you need Unix or Linux or you should find windows ports) output in human-readible format. Known messages is decoded, unknown - in hex form. So, we can look on MU window and on program output and make a decision about the meaning of unknown messages. For example, you can run to coordinates 100,100 and cast some spell, then run to 105,105 and cast some other spell .) As far I remember, it is 'c11b' message, I don't check this. You can get program here - MU-dumper. Typical usage:
$ tcpdump -s 10000 -w ./mu.dump Typical output:
serv > me
Move ID:152d @ 96,bf
We meet 1 characters
char pinoy_nga Dark Knight ID:1405 stand @ 8b,c3->88,c4 [0]
Weared: Armor:scale Helm:scale Pants:scale Gloves:scale Boots:scale
LeftHand: 0b RightHand:NONE Pet:NONE Wind:no
[cpLLRRHAPGBf0080400000000800--C-H-A-R--N-A-M-E--XXYY6300]
We meet 2 monsters:
MOB Yeti ID:0517 @ 9b,c5->9b,c5 [000000|60]
MOB Yeti ID:0534 @ 9a,c7->9a,c7 [000000|70]
Guilds (01) :
guild MaRiKiNa ID:[18e7]
33133333
33133333
33133111
33333333
33333333
11133133
33333133
33333133
Char ID:[1405] binded to guild ID:[18e7]
Move ID:152d @ 96,bf
44:020a19
44:020a19
Move ID:0531 @ 94,c5
Move ID:11cd @ 96,be
me > serv ACK
serv > me
Move ID:133a @ a5,cb
2a:01f600
Damage: ID:04ec CRIT! hited on 92HP [04ec005c03]
me > serv ACK
serv > me
Move ID:133a @ a5,cb
2a:01f000
Damage: ID:04ec hited on 68HP [04ec004400]
me > serv ACK
serv > me
2a:01ef00
Death: 04ec killed by 133a
Skip C3 msg [2a653a29cf1d10ffc1e5d0]
me > serv ACK
Good luck! 23 may 2004
18 may 2004 Sque, please contact me via e-mail or IRC, need to talk. 11 may 2004
30 apr 2004 - I write some PHP-code for generating "message tables"
Some new messages:
26 apr 2004 - i recived by e-mail info about MU server download and setup: ------------------------------------------- Vendor has sent you this email from http://forum.zolik.net/index.php. здесь (here) www.rzpatches.com/Mu97Server.exe почитать про него можно тут (some reading about it) http://forum.ragezone.com/forumdisplay.php?f=82 Инструкция по установке тут (installation instruction) http://members.lycos.co.uk/metasha/ Поищи на микрософте (seek on microsoft) Mysql для него (mSql:) for it) sql2ksp3.exe - 55 Mb SQLEVAL.exe - 267 Mb -------------------------------------------- 20 apr 2004 Some intersting results, I'm not ready to describe it. Some notes about message format: each message begin from c1, c2 or c3. If message begins from c1, next byte is whole message length; if begins from c2 - next 2 bytes is message length. 13 apr 2004 - first look thru dumps. first results. Server message with character list on account (for character select menu):
"Object stand (stop moving)" server message. I walk around and write down the coordinates; laster search in dump and find "stand here" message. After it I ask friend of mine walk around me and tell coodrinates.
12 apr 2004 - Work is going on. I take some initial net flow dumps. In few simple steps was generated special-crafted dumps:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||