Вот что значит, если нет знаний в какой-то области.
Я так понял можно использовать стандартные методы криптования (blowfish, twofish, в зависимости от того, какой метод используется в клиенте). В моем случае это blowfish.
Надеюсь можно задать такой нубский вопрос:
Для эн(де)крипторов (будь то mcrypt для php или что-то другое) есть определенные настройки криптования. Вот описание функции mcrypt_decrypt():
Code:
string mcrypt_decrypt ( string $cipher , string $key , string $data , string $mode [, string $iv ] )
Decrypts the data and returns the unencrypted data.
Parameters:
cipher One of the MCRYPT_ciphername constants, or the name of the algorithm as string.
key The key with which the data was encrypted. If it's smaller than the required keysize, it is padded with '\0'.
data The data that will be decrypted with the given cipher and mode. If the size of the data is not n * blocksize, the data will be padded with '\0'.
mode One of the MCRYPT_MODE_modename constants, or one of the following strings: "ecb", "cbc", "cfb", "ofb", "nofb" or "stream".
iv The iv parameter is used for the initialization in CBC, CFB, OFB modes, and in some algorithms in STREAM mode. If you do not supply an IV, while it is needed for an algorithm, the function issues a warning and uses an IV with all its bytes set to '\0'.
Может кто-нибудь объяснить с какими настройками используется blowfish в UO при пост-логине (
пакет 0х91)?
Как я понял:
cipher = MCRYPT_BLOWFISH - понятное дело
key = 100007F - login seed? или это один из ключей, которые нужны для запуска инжекта? IRW в логе пишет следующее:
Code:
CLIENT: Initializing blowfish crypt with seed 100007F "the seed is unimportant" *the voices mutter*
IRW: Initializing blowfish crypt with seed 100007F
Switching to game socket, seed 0x0100007F
Отсюда вывод, что все-таки
key - это, наверное, login seed.
data = тоже понятно.
mode и
iv - понятия не имею. что-то мне подсказывает, что режим должен быть STREAM, но так ли это?
Надеюсь на помощь.
add:
Еще как вариант, что там используются режимы без применения IV (Initilization vector). Например ecb или nofb.
Пробую методом тыка подобрать - никак не получается...