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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 20.07.2015, 15:07   #38
Пользователь
 
Регистрация: 19.08.2014
Сообщений: 58
Сказал Спасибо: 12
Имеет 0 спасибок в 0 сообщенях
cvillian пока неопределено
По умолчанию

У меня похоже не правильный алгоритм кодировки пакета. После того как пакет кодируется и отправляется, в WP PPC я вижу что каждый 16-й байт =
1А:

Код:
[106]           C>s             0ms.            13:57:15 .481      20.07.15
-------------------------------------------------------------------------------
 TType: LA2     Server: GS3     Parse: 2 (auto)    EnCode: DT2 KT4 (auto)
------- 0  1  2  3  4  5  6  7 -  8  9  A  B  C  D  E  F    -------------------
000000 3F 00 49 70 00 72 00 69 | 00 76 1A 65 00 74 00 20     ?.Ip.r.i.v.e.t. 
000010 00 70 00 72 00 69 00 76 | 00 65 1A 74 00 20 00 70     .p.r.i.v.e.t. .p
000020 00 72 00 69 00 76 00 65 | 00 74 1A 20 00 70 00 72     .r.i.v.e.t. .p.r
000030 00 69 00 76 00 65 00 74 | 00 00 1A 00 00 00 00        .i.v.e.t.......
-------------------------------------------------------------------------------
LA2:      "Say2"                             size: 63     prot: 152  $098
Addr:  Size:    Type:         Description:     Value:
0000     2   word          psz               63         | $003F
0002     1   byte          ID                73         | $49 'I'
0003    58   WideString    Text              "pri?et priv?t prive? privet?"
003D     4   integer??     Type              ALL  ($00000000)
Мог бы ктонибуть подсказать в чём ошибка?

Код:
procedure GS_Encode(var buff: AnsiString; var key: AnsiString);
var
  i, j, i1, sz, sk : integer;
  val1: integer;
begin
  sz := length(buff);
  sk := length(key);
  if sk < 1 then exit;
  i1 := 0; j := 1;
  for i := 1 to sz do begin
    buff[i] := AnsiChar(ord(buff[i]) xor (ord(key[j])) xor i1);
    i1 := (ord(buff[i]));
    Inc(j,1);
    if j > 16 then j := 1;
  end;

  Move(key[9], val1, 8);
  val1:= val1 + sz - 2;
  Move(val1, key[9], 8);
end;
Алгоритм взял из демо скриптов в wp ppc

Последний раз редактировалось cvillian, 20.07.2015 в 15:38.
cvillian вне форума   Ответить с цитированием
 

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



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

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


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

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

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