ev писал(а):а точнее?
Я про тему)
Дополняю:
Оригинальный пакет (черный)
Измененный пакет (красный)
D6 1F 00 00 6C 7B 7B 03 7D 7E 7E B4 87 B3 B3 B4 85 86 87 88 89 8A 8B 8D 84 C3 FD BE B1 D1 FB FD F0 F0 97
D6 1F 00 00 6C 7B 7B 03 7D 7E 7E B4 87 00 B3 B4 00 00 00 00 00 00 8B 8D 84 C3 FD BE B1 D1 FB FD F0 F0 97
Я подозреваю что данный пакет несет в себе список пользователей (подключенных в данный момент к чату). По характеристикам CommFort, там содержится Ник, IP, MAC-адрес и пол... (Хотя не факт что еще разработчику в голову пришло туда впереть).... Так, отошел от сути данного поста. Вообщем по идеи оригинальным МАС-адресом есть значение 00-00-00-00-00-00, но забив (просто меткое попадание пару значений заметил искажения в значении. Так вот, забив данные шести позиций значением #0 получил в значении мак-адреса -> 85 86 87 88 89 8A - что уже интересно если всмотреться в оригинальный пакет.
Подозреваю что используется простейшее шифрование текста через "исключающее или" (xor), но вот по какому принципу...
Может у кого-то в голове посвежее? У кого какие мысли по этому поводу?
-----P.S.
Длина тела данного пакета =
1Fh (31 байт)
Анализируем:
В чате 1 клиент;
Информация о клиенте:
- IP: "127.0.0.1" (возможно 4 байта по двум вариантам)
- MAC: "00-00-00-00-00-00" (выяснили, что поле равно 6 байтам)
- Ник - "Mr. Chief" (8 байт длина строки + допускаем еще один байт как значение длины строки, всего 9)
- Пол - "М" (допустим 1 байт)
Не забываем про количество пользователей (значение данного поля возможно равно 2 байтам -
dw, т.к. существует ограничение подключений до 4000 клиентов, да и дизассемблер показал массив пределом которого является 4000 элементов-указателей на наследника класса
TCustomServerSocket).
Так что получилось? 1 + 2 + 4 + 6 + 9 = 22 байта... А всего то их 31...........