#include KEY1 = { 0xf2, 0xe7, 0xbf, 0xd7, 0x53, 0xc6, 0x4b, 0x26, 0x97, 0xf9, 0x69, 0x87, 0xe6, 0x84, 0x28, 0xe8 } KEY2 = { 0xdc, 0xf9, 0x90, 0x26, 0x92, 0x27, 0x33, 0x67, 0x24, 0x08, 0xc6, 0x45, 0x51, 0xc7, 0x3a, 0x33 } KEY3 = { 0xee, 0x31, 0xce, 0xd8, 0x10, 0x70, 0x40, 0xa0, 0xd9, 0x53, 0xcf, 0x57, 0x32, 0x79, 0x73, 0xd5 } int decrypt(EVP_PKEY_CTX *ctx,uchar *out,size_t *outlen,uchar *in,size_t inlen) { int local_c; for (local_c = 0; local_c < (int)outlen; local_c = local_c + 1) { AES_decrypt((uchar *)(ctx + (local_c << 4)),out + (local_c << 4),(AES_KEY *)in); } return local_c; } AES_KEY * the_third_key(void) { AES_KEY *key; key = (AES_KEY *)malloc(0xf4); AES_set_decrypt_key(KEY1,0x80,key); return key; } AES_KEY * the_second_key(void) { AES_KEY *key; key = (AES_KEY *)malloc(0xf4); AES_set_decrypt_key(KEY2,0x80,key); return key; } AES_KEY * the_first_key(void) { AES_KEY *key; key = (AES_KEY *)malloc(0xf4); AES_set_decrypt_key(KEY3,0x80,key); return key; } int main(){ undefined8 *crypt; crypt = (undefined8 *)malloc(0x20); FLAG = (char *)malloc(0x20); *crypt = 0xa646484365c8eb8c; crypt[1] = 0x9f803f2f42e80598; crypt[2] = 0x3ed81a287db3c9a8; crypt[3] = 0x6cb78fe92b1abaaa; }