just search in you cache forlder with the string i post above without extension. This are not MPQ files, this are DDS file.
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts Menu // Pull the session key.
// uint8 K[40];
recvData.read(K, 40);
_crypt.Init(K);
BigNumber BNK;
BNK.SetBinary(K, 40);
...
Sha1Hash sha;
uint8 digest[20];
pAuthenticationPacket->read(digest, 20);
...
sha.UpdateData((uint8 *)&t, 4);
sha.UpdateData((uint8 *)&mClientSeed, 4);
sha.UpdateData((uint8 *)&mSeed, 4);
sha.UpdateBigNumbers(&BNK, NULL);
sha.Finalize();
if (memcmp(sha.GetDigest(), digest, 20))
{
// AUTH_UNKNOWN_ACCOUNT = 21
OutPacket(SMSG_AUTH_RESPONSE, 1, "\x15");
return;
}
*recvPacket >> mClientBuild;
*recvPacket >> unk2;
*recvPacket >> account;
*recvPacket >> unk3;
*recvPacket >> mClientSeed;
*recvPacket >> unk4;
void WowCrypt::Init(uint8 *K)
{
static const uint8 s[16] = { 0xF4, 0x66, 0x31, 0x59, 0xFC, 0x83, 0x6E, 0x31, 0x31, 0x02, 0x51, 0xD5, 0x44, 0x31, 0x67, 0x98 };
static const uint8 r[16] = { 0x22, 0xBE, 0xE5, 0xCF, 0xBB, 0x07, 0x64, 0xD9, 0x00, 0x45, 0x1B, 0xD0, 0x24, 0xB8, 0xD5, 0x45 };
uint8 encryptHash[SHA_DIGEST_LENGTH];
uint8 decryptHash[SHA_DIGEST_LENGTH];
uint8 pass[1024];
uint32 md_len;
// generate c->s key
HMAC(EVP_sha1(), s, 16, K, 40, decryptHash, &md_len);
assert(md_len == SHA_DIGEST_LENGTH);
// generate s->c key
HMAC(EVP_sha1(), r, 16, K, 40, encryptHash, &md_len);
assert(md_len == SHA_DIGEST_LENGTH);
// initialize rc4 structs
RC4_set_key(&m_clientDecrypt, SHA_DIGEST_LENGTH, decryptHash);
RC4_set_key(&m_serverEncrypt, SHA_DIGEST_LENGTH, encryptHash);
// initial encryption pass -- this is just to get key position,
// the data doesn't actually have to be initialized as discovered
// by client debugging.
RC4(&m_serverEncrypt, 1024, pass, pass);
RC4(&m_clientDecrypt, 1024, pass, pass);
m_initialized = true;
}