RUOSI
Суббота, 15.12.2018, 05:16



Приветствую Вас Гость | RSS
[ Главная ] [ Статьи ] [ Регистрация ] [ Вход ]
Меню сайта

Категории каталога
Ultima Online Development [3]

Главная » Статьи » Ultima Online Development

How to work with 6.0.5.0 2D client (Not for RunUO.com users)
First of all, i want to thank Mr. Jeremy from The Abyss for hours of laughing. After i read his posts about 6.0.5.0 solution - i was in hysterical state. New auth packet with size of 6 kb is nonsense! Good joke!
OK, my dear ladies and gentlemen, i want to say that NO NEW encryption was implemented in 6.0.5.0 patch. NO NEW packets were added in this patch. It was just a game for children and you're faked :)
How UO works before this patch: client sends seed (4 bytes, really local IP-address) and then sends packets for login server stage authorization.
How UO works after this patch: client sends seed (same 4 bytes), THEN SENDS 17 NEW BYTES, after this sends packets for login server state authorization. That's all! It's very simple, really? OK, now for these 17 cursed bytes
First byte is random value, usually it's last byte of seed, because first byte of seed is really new byte and our IP begins from second byte.
Next 16 bytes is client version - 00 00 00 06 00 00 00 00 00 00 00 05 00 00 00 00
So, all we need is to expand seed buffer for new clients.
OK, example changes:

MessagePump.cs:
1) m_Peek = new byte[21]; // we need to increase buffer's size
2) int length = buffer.Length;
int seed_length = buffer.GetSeedLength(); // calculate our seed_length
3) if (buffer.Length >= seed_length) // change 4 for seed_length
4) buffer.Dequeue( m_Peek, 0, seed_length ); // change 4 for seed_length

ByteQueue.cs:
1) Add new function void GetSeedLength():
public int GetSeedLength()
{
if ( m_Buffer[4] == 0x80 ) // we need this check for old clients
return 4;

return 21;
}

That's all. RunUO 2.0 will now work with ANY 2D client.
Категория: Ultima Online Development | Добавил: ruosi (24.11.2007)
Просмотров: 5121 | Комментарии: 1 | Рейтинг: 5.0/2 |

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Поиск


Copyright RUOSI © 2018      Сайт управляется системой uCoz