#include <stdio.h>
#include <stdint.h>
// 01234567890123456789012345678901
#define K 3B7116E69E222295163FF1CAA1681FAC
#define STRINGIFY_HELPER(A) #A
#define STRINGIFY(...) STRINGIFY_HELPER(__VA_ARGS__)
#define KEY STRINGIFY(K)
#define HEXTONIBBLE(c) (*(c) >= 'A' ? (*(c) - 'A')+10 : (*(c)-'0'))
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
uint8_t aes_key[] = {
HEXTOBYTE(KEY+0),
HEXTOBYTE(KEY+2),
HEXTOBYTE(KEY+4),
HEXTOBYTE(KEY+6),
HEXTOBYTE(KEY+8),
HEXTOBYTE(KEY+10),
HEXTOBYTE(KEY+12),
HEXTOBYTE(KEY+14),
HEXTOBYTE(KEY+16),
HEXTOBYTE(KEY+18),
HEXTOBYTE(KEY+20),
HEXTOBYTE(KEY+22),
HEXTOBYTE(KEY+24),
HEXTOBYTE(KEY+26),
HEXTOBYTE(KEY+28),
HEXTOBYTE(KEY+30)
};
int main() {
for (int i=0; i<sizeof(aes_key); i++) {
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpbnQuaD4KCi8vICAgICAgICAgICAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMQojZGVmaW5lIEsgICAgM0I3MTE2RTY5RTIyMjI5NTE2M0ZGMUNBQTE2ODFGQUMKCiNkZWZpbmUgU1RSSU5HSUZZX0hFTFBFUihBKSAjQQojZGVmaW5lIFNUUklOR0lGWSguLi4pIFNUUklOR0lGWV9IRUxQRVIoX19WQV9BUkdTX18pCgojZGVmaW5lIEtFWSAgU1RSSU5HSUZZKEspCgojZGVmaW5lIEhFWFRPTklCQkxFKGMpICgqKGMpID49ICdBJyA/ICgqKGMpIC0gJ0EnKSsxMCA6ICgqKGMpLScwJykpCgojZGVmaW5lIEhFWFRPQllURShjKSAoSEVYVE9OSUJCTEUoYykqMTYgKyBIRVhUT05JQkJMRShjKzEpKQoKdWludDhfdCBhZXNfa2V5W10gPSB7CiAgICBIRVhUT0JZVEUoS0VZKzApLAogICAgSEVYVE9CWVRFKEtFWSsyKSwKICAgIEhFWFRPQllURShLRVkrNCksCiAgICBIRVhUT0JZVEUoS0VZKzYpLAogICAgSEVYVE9CWVRFKEtFWSs4KSwKICAgIEhFWFRPQllURShLRVkrMTApLAogICAgSEVYVE9CWVRFKEtFWSsxMiksCiAgICBIRVhUT0JZVEUoS0VZKzE0KSwKICAgIEhFWFRPQllURShLRVkrMTYpLAogICAgSEVYVE9CWVRFKEtFWSsxOCksCiAgICBIRVhUT0JZVEUoS0VZKzIwKSwKICAgIEhFWFRPQllURShLRVkrMjIpLAogICAgSEVYVE9CWVRFKEtFWSsyNCksCiAgICBIRVhUT0JZVEUoS0VZKzI2KSwKICAgIEhFWFRPQllURShLRVkrMjgpLAogICAgSEVYVE9CWVRFKEtFWSszMCkKfTsKCmludCBtYWluKCkgewoKICAgIGZvciAoaW50IGk9MDsgaTxzaXplb2YoYWVzX2tleSk7IGkrKykgewogICAgICAgIHByaW50ZigiJTAyWCAiLCBhZXNfa2V5W2ldKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:17:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+0),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[0]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:17:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+0),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:18:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+2),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[1]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:18:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+2),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:19:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+4),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[2]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:19:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+4),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:20:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+6),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[3]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:20:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+6),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:21:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+8),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[4]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:21:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+8),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:22:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+10),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[5]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:22:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+10),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:23:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+12),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[6]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:23:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+12),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:24:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+14),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[7]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:24:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+14),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:25:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+16),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[8]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:25:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+16),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:26:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+18),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[9]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:26:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+18),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:27:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+20),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[10]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:27:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+20),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:28:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+22),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[11]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:28:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+22),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:29:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+24),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[12]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:29:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+24),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:30:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+26),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[13]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:30:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+26),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:31:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+28),
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[14]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:31:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+28),
^~~~~~~~~
prog.c:14:22: error: initializer element is not constant
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:32:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+30)
^~~~~~~~~
prog.c:14:22: note: (near initialization for ‘aes_key[15]’)
#define HEXTOBYTE(c) (HEXTONIBBLE(c)*16 + HEXTONIBBLE(c+1))
^
prog.c:32:5: note: in expansion of macro ‘HEXTOBYTE’
HEXTOBYTE(KEY+30)
^~~~~~~~~