Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Закрытая тема
 
Опции темы Опции просмотра
Старый 11.11.2010, 05:35   #1
Новичок
 
Аватар для Marfey
 
Регистрация: 14.04.2008
Сообщений: 19
Сказал Спасибо: 7
Имеет 3 спасибок в 3 сообщенях
Marfey
По умолчанию Дешифровка трафика с гейм сервера

Доброе время суток. Подскажи в чем мб проблема дешифрую трафик с гейм сервера потом сверяю как расшифровывает l2phx и есть разница.
8байт норм расшифровывается потом 8 байт неправильно потом опять 8 норм и т д

вот процедуры расшифровки
Код:
procedure TCryptXOR.Decrypt(var Data; const Size: Word);
var
  k:integer;
  pck:array[0..90] of Byte absolute Data;
begin
  if(not isInit)or(size<1)then Exit;
  for k:=size-1 downto 1 do
    pck[k]:ck[k] xor GKeyR[k and keyLen] xor pck[k-1];
  pck[0]:ck[0] xor GKeyR[0];
  Inc(PCardinal(@GKeyR[keyLen-7])^,size);
end;

procedure TCryptXOR.InitKey(const keyInit; const Size: Cardinal);
const
  KeyConst: array[0..3] of Byte = ($A1,$6C,$54,$87);
  KeyConstInterlude: array[0..7] of Byte = ($C8,$27,$93,$01,$A1,$6C,$31,$97);
begin
  if Size=16 then begin
    keyLen:=15;
    Move(keyInit,GKeyS,8);
    Move(KeyConstInterlude,GKeyS[8],8);
  end else begin
    keyLen:=7;
    Move(keyInit,GKeyS,4);
    Move(KeyConst,GKeyS[4],4);
  end;
  Move(GKeyS,GKeyR,16);
  isInit:=True;
end;
вот так инициализирую ключ
Код:
procedure KeyPacket(buff: array of byte; Len: integer);
begin
Move(buff[4],key,16);
fCryptSrv:=TCryptXOR.Create;
fCryptSrv.InitKey(key,16);
end
Вот так расшифровываю
Код:
   fCryptSrv.Decrypt(buff[2],len-2);
Добавлено через 11 часов 16 минут
Вопрос снимается сам разобрался

Последний раз редактировалось Marfey, 11.11.2010 в 05:35. Причина: Добавлено сообщение
Marfey вне форума  
Старый 12.11.2010, 02:49   #2
Новичок
 
Аватар для LAV45
 
Регистрация: 13.05.2010
Адрес: Минск
Сообщений: 13
Сказал Спасибо: 6
Имеет 0 спасибок в 0 сообщенях
LAV45 пока неопределено
По умолчанию

KeyConst: array[0..3] of Byte = ($A1,$6C,$54,$87);
KeyConstInterlude: array[0..7] of Byte = ($C8,$27,$93,$01,$A1,$6C,$31,$97);

Для декодирования используется часть динамического ключа которая приходит от сервера и часть статического ключа.
Статический ключ находится в клиенте и похоже он у тебя явно не ($C8,$27,$93,$01,$A1,$6C,$31,$97)

точно не помню в какой DLL но когда открывал HEX редактором то видел прямым текстом там лежал StaticKey (может и ошибаюсь, сильно не бейте).
LAV45 вне форума  
Старый 12.11.2010, 05:39   #3
Новичок
 
Аватар для Marfey
 
Регистрация: 14.04.2008
Сообщений: 19
Сказал Спасибо: 7
Имеет 3 спасибок в 3 сообщенях
Marfey
По умолчанию

Цитата:
Сообщение от LAV45 Посмотреть сообщение
KeyConst: array[0..3] of Byte = ($A1,$6C,$54,$87);
KeyConstInterlude: array[0..7] of Byte = ($C8,$27,$93,$01,$A1,$6C,$31,$97);

Для декодирования используется часть динамического ключа которая приходит от сервера и часть статического ключа.
Статический ключ находится в клиенте и похоже он у тебя явно не ($C8,$27,$93,$01,$A1,$6C,$31,$97)

точно не помню в какой DLL но когда открывал HEX редактором то видел прямым текстом там лежал StaticKey (может и ошибаюсь, сильно не бейте).
Спасибо что хоть кто-то ответил))) Но я уже писал выше что

Код:
Добавлено через 11 часов 16 минут
Вопрос снимается сам разобрался
В коде было все правильно
Была проблема во тут

Код:
procedure KeyPacket(buff: array of byte; Len: integer);
begin
Move(buff[4],key,16);
fCryptSrv:=TCryptXOR.Create;
fCryptSrv.InitKey(key,16);
end
в глобальных переменных я переменную key обозначил как string а нужно было как word

Последний раз редактировалось Marfey, 12.11.2010 в 05:41.
Marfey вне форума  
Старый 12.11.2010, 17:39   #4
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от Marfey Посмотреть сообщение
а нужно было как word
оОоОоОоО
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума  
Закрытая тема

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 13:09.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!