ну, он такой и в 83 был, один в один, они расчитаны на то что первые 2 байта означают длинну пакета, если они не означают длинну пакета - то одним ксорингом и енкдеком тут не обойдешься. прийдется еще и сокетный движек выносить в отдельный модуль, и в глобалфункс модуле покопаться по идее, в общем та еще задачка.
работоспособность невксора на протоколе где первые 2 байта пакета = длинне пакета
только что проверена
Добавлено через 2 минуты
по поводу того ассорти которое надо поставить,
в первом посту я бог знает когда приколотил архивчик с компонентами (полный) который юзаю на семерке.
в архивчике нет только правленого фастскрипта, он на фтп, кстати, щас его обновлю.
Добавлено через 9 минут
в общем идея неоднократно обмозговывалась, руки вот до реализации не доходили, суть идеи довольно проста как в реализации так и в использовании.
требуется помимо этих вот функций
procedure DecryptGP(var Data; const Size: Word);override;
procedure EncryptGP(var Data; const Size: Word);override;
добавить еще 2 функции
procedure DecryptTRAFFICK(var Data; const Size: Word);override;
procedure EncryptTRAFFICK(var Data; const Size: Word);override;
непосредственно вызываемые в сокетном енджине при приходе пакета до обработки их.
(кстати, равлоги текущие это глубокое эхо этой самой идеи... )
DecryptTRAFFICK должен будет приводить траффик в порядок (в вид первые 2 байта = длинне пакета)
и по аналогии EncryptTRAFFICK вызываемый непосредственно перед отправкой, с обратым DecryptTRAFFICKу действием.
т.е. схема.
сокетный движек получает часть данных с стека
отправляет эту часть в DecryptTRAFFICK (при чем следует учесть что частью траффика может быть и
полпакета такие случаи очень редки но исключать их нельзя, у меня за это аккумулятор в пх отвечает, а тут прийдеться без него)
далее декодинг с помошью DecryptGP
встроенная вытягивалка имени содинения, плагины, скрипты,
енкодинг с помошью EncryptGP
и последующий енкодинг EncryptTRAFFICKом непосредственно перед отправкой.