Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PBYTE CryptChallenge(BYTE* data, DWORD fileSize) {
- XECRYPT_RC4_STATE rc4;
- BYTE* decChalData = (BYTE*)XPhysicalAlloc(fileSize, MAXULONG_PTR, 0, PAGE_READWRITE);
- memcpy(decChalData, data, fileSize);
- BYTE* rc4Key = (BYTE*)XPhysicalAlloc(0x10, MAXULONG_PTR, 0, PAGE_READWRITE);
- BYTE key[0x10] = {0xDD, 0x88, 0xAD, 0x0C, 0x9E, 0xD6, 0x69, 0xE7, 0xB5, 0x67, 0x94, 0xFB, 0x68, 0x56, 0x3E, 0xFA}; // found in HV
- XeCryptHmacSha((BYTE*)key, 0x10, decChalData + 0x10, 0x10, 0, 0, 0, 0, rc4Key, 0x10); //get rc4 key
- XeCryptRc4Key(&rc4, rc4Key, 0x10);
- XeCryptRc4Ecb(&rc4, decChalData + 0x20, fileSize - 0x20);
- return decChalData;
- }
Add Comment
Please, Sign In to add comment