Показать сообщение отдельно
Старый 02.10.2009, 01:34   #2
Новичок
 
Аватар для birmanian
 
Регистрация: 01.10.2009
Сообщений: 3
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
birmanian пока неопределено
Восклицание Newxor под L/2/f/i/n/a/l/...

Речь пойдёт о недавно открытом сервере с клиентом Gracia Final...

После некоторых манипуляций с RAW траффиком мне удалось выяснить, что:
1) Шифрование пакетов начинается сразу после пакета KeyPacket;
2) Шифрование на сервере - обычное смещение XOR;
3) Ключ XOR состоит из 2х частей по 8 байт, причём 1я часть приходит с сервера и находится непосредственно в KeyPacket (с 3 по 10 байты), вторая же часть является заданной константой, которая берётся по всей видимости из недр клиента...

Покопавшись в пакетах и помудрив с ними при помощи l2dpx выяснился и алгоритм шифрования:
Код:
var
  k: integer;
begin
  for k:=size-1 downto 1 do
  pck[k]:=pck[k] xor key[k and 15] xor pck[k-1];
  if size<>0 then pck[0]:=pck[0] xor key[0];
  IncAsInteger(key, 8, size);
end.
Также выяснилось, что ключи исходящего траффика и входящего не зависят друг от друга! Однако для исходящих и входящих пакетов применяется, по сути хоть и один и тот же алгоритм, но со своими счётчиками! Я имею ввиду, что начальный 16 байтный ключ применяется для обоих типов траффика и каждый из типов потом идёт по одинаковому алгоритму, но у каждого свой цикл. (для тех, кто интересуется, пакеты сырые, шифрованые и расшифрованые для наглядности собраны тут).

И наконец, к чему это всё: нужен кто-то, кто сможет проанализировав всю эту инфу состряпать newxor.dll, чтобы l2phx дал возможность нормально работать с траффиком! Помогите плз с dll'кой или если кто в курсе как это делается, то подскажите как оформить скрипт для тех же целей).

Используемая версия l2phx: 3.5.24.142. В настройках снята галка "Обход смены XOR ключа" и стоит галка "Не дешифровать траффик". Включён LSP перехват коннекта.

Последний раз редактировалось birmanian, 02.10.2009 в 01:38.
birmanian вне форума   Ответить с цитированием
За это сообщение birmanian нажился спасибкой от: