Показать сообщение отдельно
Старый 21.02.2012, 23:13   #119
Пользователь
 
Регистрация: 29.01.2012
Адрес: г. Минск
Сообщений: 64
Сказал Спасибо: 10
Имеет 5 спасибок в 5 сообщенях
Tin-moon пока неопределено
По умолчанию

Цитата:
Сообщение от Rzone Посмотреть сообщение
Проблема в том, что сервер присылает тебе ключ ксор шифрования, каждый раз ключ генерируется рандомно, а ты отсылаешь пакеты зашифрованные старым, нелигитным ключом. Мой совет - не спеши, делай по нормальному. Пакеты сам собирай из той информации которую тебе сервер пересылает. Проходи поэтапно, по пакетику. Снифери сравнивай правильно ли собрал пакет и дальше.
И причем тут ключ? Он пришел в предыдущем пакете. Этим ключом шифрую этот? Что ты имеешь ввиду под старым ключом?? Где я этот старый получил?

То что я написал в предыдущем посте говорит о том что алгоритмы работают верно (ну судя по полученным результатом).

Добавлено через 2 минуты
Цитата:
Сообщение от Demion Посмотреть сообщение
Если сервер ничего не отвечает, скорее всего на правильно шифруешь пакет. Вот часть исходников моего старого бота, может поможет.
Спасибо ща покурю код.

Код:
VOID GSAuthLogin(BYTE *buf, CHAR* Login, DWORD *SessionKey1, DWORD *SessionKey2, DWORD *SessionKey3, DWORD *SessionKey4, SOCKET s, BYTE *XorKeyEnc)
{
	WCHAR ULogin[15];
	swprintf(ULogin, 15, L"%hs", Login);
	memset(buf, 0, 65535);
	buf[0] = 0x2B;
	memcpy(buf+1, ULogin, wcslen(ULogin)*2+2);
	memcpy(buf+wcslen(ULogin)*2+3, SessionKey4, sizeof(DWORD));
	memcpy(buf+wcslen(ULogin)*2+7, SessionKey3, sizeof(DWORD));
	memcpy(buf+wcslen(ULogin)*2+11, SessionKey1, sizeof(DWORD));
	memcpy(buf+wcslen(ULogin)*2+15, SessionKey2, sizeof(DWORD));
	buf[wcslen(ULogin)*2+19]=0x08;
	buf[wcslen(ULogin)*2+23]=0x7A;
	buf[wcslen(ULogin)*2+24]=0x03;
	buf[wcslen(ULogin)*2+31]=0x01;
	SendPacket(buf, wcslen(ULogin)*2+35, s, 2, (DWORD)XorKeyEnc, 90);
}
а эти данные откуда?

Последний раз редактировалось Tin-moon, 21.02.2012 в 23:13. Причина: Добавлено сообщение
Tin-moon вне форума   Ответить с цитированием