1 #include <libcgc.h>
2 #include <stdlib.h>
3 #include <string.h>
4 
5 /* Just leak 4 bytes from the flag page, performing a simple mutation on those bytes */
6 
main(int secret_page_i)7 int __attribute((fastcall)) main(int secret_page_i)
8 {
9     int w = 0;
10     int aa = 0x41414141;
11     int x = 0;
12     int ab = 0x42424242;
13     int y = 0;
14     int ac = 0x43434343;
15     int z = 0;
16     int ad = 0x44444444;
17 
18     char *secret_page = (void *)secret_page_i;
19 
20     w = secret_page[0];
21     x = secret_page[1];
22     y = secret_page[2];
23     z = secret_page[3];
24 
25     transmit(1, &aa, 8, NULL);
26     transmit(1, &ab, 8, NULL);
27     transmit(1, &ac, 8, NULL);
28     transmit(1, &ad, 8, NULL);
29 }
30