MCPcopy Create free account
hub / github.com/SaadAhla/Shellcode-Hide / DecryptAES

Function DecryptAES

3 - Encrypting/1 - AES/AES/AES.cpp:53–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51
52
53void DecryptAES(char* shellcode, DWORD shellcodeLen, char* key, DWORD keyLen) {
54 HCRYPTPROV hProv;
55 HCRYPTHASH hHash;
56 HCRYPTKEY hKey;
57
58 if (!CryptAcquireContextW(&hProv, NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT)) {
59 printf("Failed in CryptAcquireContextW (%u)\n", GetLastError());
60 return;
61 }
62 if (!CryptCreateHash(hProv, CALG_SHA_256, 0, 0, &hHash)) {
63 printf("Failed in CryptCreateHash (%u)\n", GetLastError());
64 return;
65 }
66 if (!CryptHashData(hHash, (BYTE*)key, keyLen, 0)) {
67 printf("Failed in CryptHashData (%u)\n", GetLastError());
68 return;
69 }
70 if (!CryptDeriveKey(hProv, CALG_AES_256, hHash, 0, &hKey)) {
71 printf("Failed in CryptDeriveKey (%u)\n", GetLastError());
72 return;
73 }
74
75 if (!CryptDecrypt(hKey, (HCRYPTHASH)NULL, 0, 0, (BYTE*)shellcode, &shellcodeLen)) {
76 printf("Failed in CryptDecrypt (%u)\n", GetLastError());
77 return;
78 }
79
80 CryptReleaseContext(hProv, 0);
81 CryptDestroyHash(hHash);
82 CryptDestroyKey(hKey);
83
84}
85
86
87int main(int argc, char** argv) {

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected