Хотелось бы увидеть пример правильного шифрования пакетов для сервера( ну и если можно то и расшифровки).
Или хотя бы отправки 0х02 C2S (c той же правильной шифровкой).
Хотелось бы увидеть пример правильного шифрования пакетов для сервера( ну и если можно то и расшифровки).
Или хотя бы отправки 0х02 C2S (c той же правильной шифровкой).
Меня смущает указатель ref List<byte> UnpackedChunk
Это не указатель) а передача обьекта по ссылке.. т.е. в функцию передается ссылка на обьект, и при попытке записать будет идти запись в переданный обьект а не в его локальную копию(передача по значению).
Подскажите, как можно организовать проверку модулей MPPC и RC4. С виду все правильно работает. Начальные пакеты расшифровывает и распаковывает, но в ответ на 0x52 приходит всегда разный достаточно объемный пакет (не 0х8F как должно быть). Этот вот пакет при распаковке всегда выдает ошибку "MsgBox(16, "Error", "Unpack error")" в функции Copy из MPPC. Вот и не могу понять, что именно не правильно работает какой-либо из модулей, или пакет не правильно отправляю. Хотя, повторюсь, с виду все правильно...
Взять эталонный и проверить) удостоверится что в нем ошибки нет и после ковырять где же у вас в MPPC ошибка.
могу дать 2 файла, сжатые данные и не сжатые. делал по просьбе пишущих MPPC.... там около 8кб разархивированых данных. вход в мир есть вроде.
DecHash - Рандомный хеш, с помощью которого, как я уже описывал чуть выше, генерируется ключ для RC4, которым клиент будет расшифровывать трафик
Force - флаг(Усиленный вход)
Этот пакет, как и все последующие, шифруется
Если все последующие пакеты шифруются, то как их "читает" Пандора?
Ведь Она без всякой расшифровки корректно отображает данные
Мне нужна помощь для протокола подключения к общему серверу.
При передаче соединения с общим сервером первый пакет, который вы получаете, является ServerInfo, как с обычным сервером. После этого вы отправляете ему пакет 0x451, который содержит некоторую базовую информацию, такую как идентификатор персонажа на общем сервере и 32-байтовый токен входа. Байт входа в 32 байта, который вы получаете из последнего пакета, который вы получаете с обычного сервера после запроса перевода.
Сразу после этого второй пакет, который вы получаете с общего сервера, зашифрован, и я не знаю, как его расшифровать. Не было никакого пакета SMKey или CMKey, который предполагает, что вы используете EncHash / DecHash с обычного сервера. Я попытался использовать их как стандартные, но он не работал, тогда я попытался пересчитать ключ дешифрования / шифрования, используя ключ общего сервера в пакете ServerInfo для общего сервера, но это тоже не сработало.
У кого-нибудь есть идеи, куда идти отсюда? Я думаю, что единственными актуальными новыми данными будут 16-байтовый ключ в пакете ServerInfo с общим сервером и 32-байтовый токен входа, который вы используете для подключения к общему серверу. Как-то мне нужно сделать 16-разрядный ключ дешифрования от этого и то, что я получил от обычного сервера.
Есть идеи, как это решить? Прошу прощения, если этот текст трудно читать ... это на английском языке English
I need help for the protocol of connecting to the shared server.
When you transfer connection to the shared server the first packet you receive is ServerInfo like with the normal server. After that you send it a packet 0x451 which contains some basic info like the character ID on the shared server and a 32-byte login token. The 32 byte login token you get from the last packet you get from the normal server after you request a transfer.
Immediately after that the 2nd packet you receive from the shared server is encrypted and I don't know how to decrypt it. There wasn't any SMKey or CMKey packet which suggests you use the EncHash / DecHash from the normal server. I tried using those as standard but it didn't work then I tried recalculating the decryption / encryption key using the shared server key in the shared server's ServerInfo packet but that didn't work either.
Does anyone have any ideas where to go from here? I think the only relevant new data would be the 16-byte Key in the shared server ServerInfo packet and the 32-byte login token you use to connect to the shared server. Somehow I need to make the 16-byte decryption key from that and what I alread had from the normal server.
Друзья, у меня лыжи не едут. Делаю всё точно так же, но до Пандоры пакеты не доходят, судя по всему. На 2 ПК пробовал - не получается. Расскажите, пожалуйста, подробнее как это все делается. Спасибо большое