Начальный ключ считаеться с помошью
procedure L2Xor.InitKey(const XorKey; Interlude: Boolean);
эта функция вызываеться в
procedure TencDec.ProcessRecivedPacket(var packet:tpacket);
при приходе пакета от сервера с айди $00 (ил и ниже) либо $2e (камаель и выше)
в свою очередь ProcessRecivedPacket вызываеться в
procedure TencDec.DecodePacket(var Packet:Tpacket; Dirrection: byte);
а сам DecodePacket вызываеться при приходе пакета от клиента/сервера
ему пепедаеться пакет и флаг указывающий направление.
в общемu encdec.pas содержит все функции для работы с протоколом.
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 17.09.2009 в 17:40.
За это сообщение alexteam нажился 2 спасибками от:
Ребят, играю на Грации Эпилог. У самого не получилось декодировать, может кто сможет ключ получить? Ключ шифрования меняется только при запуске клиента, а вот его вытянуть я и не могу. МОжет кто-то на досуге сможет вытащить. Заранее благодарен. Вот пакеты: ProtocolVersion:
Код:
0E 94 00 00 00 D2 D3 8F DA 5F 36 CA 0A C0 56 FD BA 85 F8 C4 BC 86 6F D2 82 B3 D2 5F AA 94 56 02 7A 79 8E 30 59 7A 77 13 B1 57 E4 C7 D8 28 EC B9 7A BD 39 06 3F AE 31 F8 F7 2B 4D 02 88 7C 6F 95 5A B1 90 F1 E2 82 77 A9 BE 4F 4B FF 46 70 F5 77 76 D2 84 9E 8D B6 C4 C7 83 A3 C6 07 97 8D E8 84 E9 E9 BA AA 21 2A A7 64 D4 D5 3F 61 DF 58 03 93 91 2D 97 1E B6 83 A5 D3 EC 1B ED A8 0C AC F4 98 16 86 66 36 DC B2 AF C1 FC BF 93 AB C0 8B FB A0 EA E5 77 AF E6 66 FD 9E 84 86 D2 12 53 74 D6 CA 25 59 8B 18 A4 DA 87 4E 2C B7 35 80 79 88 E5 9A 7D 9D 98 3C 47 0E 6C 47 BF 0B 31 74 A7 DC 02 1A 62 91 E4 92 9F 62 D8 B2 67 AF 9C F5 76 D0 88 73 E0 55 CB A0 6C 16 77 3F D4 83 14 D4 77 A4 B3 23 02 C9 FF 12 16 50 65 6F B6 A7 F4 29 05 38 E0 22 08 0D 22 09 6D 3E 6B 4A 10 7B 59 58 6D 0C 0A 90 7E 01 CF BD 4F A6 23 F4 FE
WhiteAngel, вообще, ключ шифрования вытягивается в готовом виде из пакета CharacterSelectionInfo ... это если ручками тягать ...
Извини, может я глупость сейчас напишу, но просто я этот пакет не совсем могу найти. После первых 2-х пакетов начинает все шифроваться и названия всех пакетов перепутаны. Как можно клчик в таком случае подтащить?
П.С. В приват тебе не смог написать - пишет, что у тебя забить ящик...
Добавлено через 11 часов 49 минут
Цитата:
Сообщение от WhiteAngel
Извини, может я глупость сейчас напишу, но просто я этот пакет не совсем могу найти. После первых 2-х пакетов начинает все шифроваться и названия всех пакетов перепутаны. Как можно клчик в таком случае подтащить?
П.С. В приват тебе не смог написать - пишет, что у тебя забить ящик...
В моем случае проблема состоит в том, что пакеты, которые отсылаются на сервер имеют на 1 байт большую длинну, чем нормальные пакеты.
Выкладываю лог пакетов. Может найдется кто умнее меня, ибо сам допереть не могу. Формат файлов следующий:
"Название действия/пакета/введенное слово"
[Правильный Пакет]
[Пакет с моего сервера, при выключенном дешифровании]
Файла 2, поскольку 2 разных захода в игру и соответственно разные ключи
Последний раз редактировалось WhiteAngel, 29.12.2009 в 16:27.
Причина: Добавлено сообщение
Цитата:
Извини, может я глупость сейчас напишу, но просто я этот пакет не совсем могу найти. После первых 2-х пакетов начинает все шифроваться и названия всех пакетов перепутаны. Как можно клчик в таком случае подтащить?
П.С. В приват тебе не смог написать - пишет, что у тебя забить ящик...
В моем случае проблема состоит в том, что пакеты, которые отсылаются на сервер имеют на 1 байт большую длинну, чем нормальные пакеты.
Выкладываю лог пакетов. Может найдется кто умнее меня, ибо сам допереть не могу. Формат файлов следующий:
"Название действия/пакета/введенное слово"
[Правильный Пакет]
[Пакет с моего сервера, при выключенном дешифровании]
Файла 2, поскольку 2 разных захода в игру и соответственно разные ключи
Значиццо так, пакет CharacterSelectionInfo идет(обычно) четвертым, имеет формат: 1й байт - идентификатор пакета, следующие 4 байта - количество чаров на акке, дальше иде ник первого чара, этой инфы вполне достаточно, чтобы найти ключ.
При мониторинге ставь галку "не дешифровать данные".
Значиццо так, пакет CharacterSelectionInfo идет(обычно) четвертым, имеет формат: 1й байт - идентификатор пакета, следующие 4 байта - количество чаров на акке, дальше иде ник первого чара, этой инфы вполне достаточно, чтобы найти ключ.
При мониторинге ставь галку "не дешифровать данные".
Спасиб конечно, но все не так просто: длинна каждого пакета на моем серваке ровно на 1 байт больше. И откуда берется этот байт и за что ответчает так и не получилось ни у кого определить.