QAK, чтож ты.-) помагай-) я думал ты весь день голову ломал и к концу дня напишеш-)
проблема впринципе в чем.. давайте разберемся..
мы имеем что:
1. для однобайтового пакета- лог - константа...
2. для пакета 5 и 10 байтов второй байт ключа вычисляется так: key[1]:=key[1] xor (pck[1]+size); //1- потомучто нумерация байтов с нуля..
3. для пакетов 20+ байтов размерностью так: key[1]:=key[1] xor 2;
4. для пакетов 30+ : key[1]:=key[1] xor ($3);
5. и т.д.
6. для пакетов 60+байтов: key[1]:=key[1] xor ($6);
как бы ето всё обобщить в одну красивую формулу?
выснил что переход (в етом key[1]:=key[1] xor ($6)
с 2 на 3 4 5 6 7.. - происходит при смене размерности с 27 на 29 байтов, с 37 на 39, с 47 на 49 .... соттветственно будет 2 3 4 5.. ..
но для маленьких пакетов работает key[1]:=key[1] xor (pck[1]+size);