From 0294966cd508270d3365ca5ca5fa1e0ada67d359 Mon Sep 17 00:00:00 2001 From: officialcjunior Date: Sat, 15 Aug 2020 21:21:55 +0530 Subject: [PATCH] Add Misc challenge: Invisible Maze --- 2020/Misc/Invisible-Maze/Admin/README.md | 5 + 2020/Misc/Invisible-Maze/Admin/image_data.c | 64 +++++++ 2020/Misc/Invisible-Maze/Admin/image_map.c | 21 +++ 2020/Misc/Invisible-Maze/Admin/output.c | 185 ++++++++++++++++++++ 2020/Misc/Invisible-Maze/Handout/output.gb | Bin 0 -> 32768 bytes 2020/Misc/Invisible-Maze/README.md | 14 ++ 2020/Misc/README.md | 1 + 7 files changed, 290 insertions(+) create mode 100644 2020/Misc/Invisible-Maze/Admin/README.md create mode 100644 2020/Misc/Invisible-Maze/Admin/image_data.c create mode 100644 2020/Misc/Invisible-Maze/Admin/image_map.c create mode 100644 2020/Misc/Invisible-Maze/Admin/output.c create mode 100644 2020/Misc/Invisible-Maze/Handout/output.gb create mode 100644 2020/Misc/Invisible-Maze/README.md diff --git a/2020/Misc/Invisible-Maze/Admin/README.md b/2020/Misc/Invisible-Maze/Admin/README.md new file mode 100644 index 0000000..c3b2c73 --- /dev/null +++ b/2020/Misc/Invisible-Maze/Admin/README.md @@ -0,0 +1,5 @@ +## Build Instructions + +Install Game Boy Development Kit (GBDK) and use the following command: + +`lcc -Wa-l -Wl-m -o output.gb test.c` \ No newline at end of file diff --git a/2020/Misc/Invisible-Maze/Admin/image_data.c b/2020/Misc/Invisible-Maze/Admin/image_data.c new file mode 100644 index 0000000..f43dcec --- /dev/null +++ b/2020/Misc/Invisible-Maze/Admin/image_data.c @@ -0,0 +1,64 @@ +/* + Tiles data + + Number of Tiles : 54 +*/ + +const unsigned char image_data[] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x02, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x01, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x04, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01, + 0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x18,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x00,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x01,0x00,0x01,0x00,0x52,0x00,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x81,0x42,0x64,0x01,0xE5,0x00,0x34,0x00,0x10,0x00,0x00,0x00,0x02,0x00,0x0F,0x00, + 0x21,0x10,0x3A,0x01,0xC9,0x00,0x4D,0x80,0x8B,0x00,0x00,0x00,0xAA,0x00,0xFF,0x00, + 0x0C,0x20,0x64,0x00,0xCC,0x00,0x64,0x00,0x2C,0x00,0x00,0x00,0xAA,0x00,0xFF,0x00, + 0x43,0x00,0x62,0x00,0x47,0x00,0x64,0x00,0x40,0x00,0x00,0x00,0xAA,0x00,0xFF,0x00, + 0x80,0x00,0x00,0x80,0xC0,0x00,0x45,0x00,0x44,0x00,0x00,0x00,0xA2,0x00,0xCF,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x00,0x92,0x00,0x00,0x00,0xAA,0x00,0xFF,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0x48,0x00,0x00,0x00,0xA8,0x00,0xF8,0x00, + 0x1E,0x00,0x1D,0x02,0x1F,0x00,0x1F,0x00,0x1F,0x00,0x1F,0x00,0x1D,0x02,0x1F,0x00, + 0x00,0x00,0x80,0x00,0x80,0x00,0x00,0x80,0x80,0x00,0xC0,0x00,0x8F,0x00,0x9F,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xFF,0x00, + 0x1F,0x00,0x1F,0x00,0x1D,0x02,0x1F,0x00,0x1F,0x00,0x1F,0x00,0x1D,0x02,0xDF,0x00, + 0xFF,0x00,0xFF,0x00,0xBF,0x40,0xC0,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xC0,0x00, + 0xFF,0x00,0xFE,0x01,0xFF,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00, + 0xEF,0x10,0xFD,0x02,0xFF,0x00,0xDC,0x20,0xFC,0x00,0xFC,0x00,0xF8,0x00,0xFC,0x00, + 0xEF,0x00,0xFF,0x00,0xEB,0x04,0x0F,0x00,0x1F,0x00,0x07,0x08,0x0D,0x02,0x1F,0x00, + 0xFF,0x00,0xFF,0x00,0x7B,0x84,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xFF,0x00, + 0xF8,0x00,0xF8,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00, + 0x1F,0x00,0x1F,0x00,0x1F,0x00,0x1B,0x04,0x1F,0x00,0x1E,0x01,0x1F,0x00,0x1F,0x00, + 0x3F,0x80,0x9F,0x00,0xDF,0x00,0xBF,0x00,0xBF,0x00,0xB7,0x08,0x9F,0x00,0x3F,0x80, + 0xFF,0x00,0xFF,0x00,0x8F,0x00,0x8B,0x04,0x0F,0x00,0x8F,0x00,0x8E,0x01,0x0F,0x00, + 0xDE,0x01,0xDF,0x00,0xDF,0x00,0x5F,0x80,0xDF,0x00,0xD7,0x08,0xDF,0x00,0xDF,0x00, + 0x80,0x00,0x80,0x00,0x00,0x80,0x00,0x80,0x80,0x00,0x7F,0x80,0xFF,0x00,0xFF,0x00, + 0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xF1,0x00,0xF0,0x00,0xF9,0x00, + 0xD8,0x20,0xFC,0x00,0xFC,0x00,0xB8,0x40,0xFC,0x00,0xFC,0x00,0x78,0x80,0xFC,0x00, + 0x0F,0x00,0x1F,0x00,0x0E,0x01,0x1F,0x00,0x0F,0x00,0x0B,0x04,0x03,0x00,0x01,0x00, + 0xFF,0x00,0xFF,0x00,0xEF,0x10,0xC4,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00, + 0x00,0x80,0x00,0x80,0x80,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x1F,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xBB,0x04,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x8F,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x4B,0x84,0xC3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xFF,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xFC,0x00,0xF4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xB8,0x40,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0xC0,0x00, + 0x0E,0x01,0x0E,0x04,0x08,0x04,0x0C,0x00,0x0C,0x00,0x08,0x04,0x0E,0x04,0x0E,0x01, + 0x03,0xC0,0x43,0x21,0x12,0x21,0x33,0x00,0x33,0x00,0x13,0x20,0x43,0x20,0xC3,0x80, + 0xA0,0x63,0x8E,0x04,0x04,0x08,0x08,0x08,0x0F,0x0F,0x00,0x08,0x08,0x04,0x07,0x01, + 0x42,0x81,0x62,0x04,0x24,0x24,0x15,0x22,0xE1,0xE0,0x00,0x00,0x24,0x00,0x60,0x83, + 0x40,0x81,0x27,0x02,0x02,0x04,0x84,0x04,0xA7,0x47,0x20,0x24,0x44,0x22,0x43,0x80, + 0x23,0xC0,0x33,0x01,0x13,0x10,0x13,0x10,0xFB,0xF0,0x03,0x00,0x13,0x00,0xA3,0xC0, + 0x81,0x70,0x90,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08, + 0xF9,0xF0,0xC1,0x02,0xC2,0x02,0xC2,0x01,0xC0,0x00,0xC0,0x00,0x82,0x40,0x58,0x31, + 0x20,0xC0,0x10,0x00,0x00,0x00,0xC0,0x00,0xD0,0x20,0x10,0x10,0x20,0x10,0x20,0xC0, + 0x0C,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + +}; + diff --git a/2020/Misc/Invisible-Maze/Admin/image_map.c b/2020/Misc/Invisible-Maze/Admin/image_map.c new file mode 100644 index 0000000..e7bd22a --- /dev/null +++ b/2020/Misc/Invisible-Maze/Admin/image_map.c @@ -0,0 +1,21 @@ +/* + Tiles map + + TileMap Size : 20 x 18 +*/ + +const unsigned char image_map[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x24, 0x25, + 0x26, 0x27, 0x28, 0x29, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; \ No newline at end of file diff --git a/2020/Misc/Invisible-Maze/Admin/output.c b/2020/Misc/Invisible-Maze/Admin/output.c new file mode 100644 index 0000000..c493dad --- /dev/null +++ b/2020/Misc/Invisible-Maze/Admin/output.c @@ -0,0 +1,185 @@ +#include +#include +#include +#include +#include +#include +#include "image_data.c" +#include "image_map.c" +#define key "KRUHZ=\x03\t\x07!R\x04!0\x05\n\x05RX!\x04:!>\x05PX\x08?" + +char fakeflag[49] = "flag{https://www.youtube.com/watch?v=dQw4w9WgXcQ}"; + +char k[30]; + +unsigned char backgroundcharacters[] = { 0xFF, 0x00, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, + 0xFF, 0x00, 0x01, 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x0F, 0xF0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7F, 0x80, + 0xFF, 0x00, 0xFE, 0x01, 0xFC, 0x03, 0xF8, 0x07, 0xF0, 0x0F, 0xE0, 0x1F, 0xC0, 0x3F, 0x80, 0x7F, + 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, + 0xFF, 0x00, 0xFF, 0x01, 0xFD, 0x03, 0xF9, 0x07, 0xF1, 0x0F, 0xE1, 0x1F, 0xC1, 0x3F, 0x81, 0x7F, + 0x80, 0x7F, 0x81, 0x7E, 0x83, 0x7C, 0x87, 0x78, 0x8F, 0x70, 0x9F, 0x60, 0xBF, 0x40, 0xFF, 0x00, + 0xFF, 0x70, 0xFF, 0x98, 0xEF, 0xB8, 0xCF, 0xF8, 0xFF, 0x70, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x01, + 0xFF, 0x00, 0xFE, 0x01, 0xFC, 0x03, 0xF8, 0x07, 0xF0, 0x0F, 0xE0, 0x1F, 0xC0, 0x3F, 0xFF, 0xFF +}; + +unsigned char spritetiles[] = { 255, 0, 255, 0, 255, 0, 255, 0 }; + +unsigned char bgmap[] = { 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, + 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3 +}; + +void printflag(UBYTE k1, UBYTE k2, int i) +{ + for (i = 0; i < 29; i++) + { + k[i] = (((key[i] + k1) ^ k2)); + } + k[i] = 0; + printf("Way to go! \n flg if u not noob: %s\n", k); + +} + +//beep sound on each movement +void beep(UBYTE counter) +{ + NR50_REG = 0xFF; + NR51_REG = 0xFF; + NR52_REG = 0x80; + if (counter) + { + NR10_REG = 0x38 U; + NR11_REG = 0x70 U; + NR12_REG = 0xE0 U; + NR13_REG = 0x0A U; + NR14_REG = 0xC6 U; + NR51_REG |= 0x11; + delay(20); + } +} + +void milestone_beep(UBYTE counter) +{ + NR50_REG = 0xFF; + NR51_REG = 0xFF; + NR52_REG = 0x80; + if (counter) + { + NR10_REG = 0x15; + NR11_REG = 0x96; + NR12_REG = 0x73; + NR13_REG = 0xBB; + NR14_REG = 0x85; + delay(20); + } +} + +void main() +{ + UBYTE counter, x, y, i, k1, k2; + x = 6; + y = 8; + k1 = 0; + k2 = 0; + font_init(); + + set_bkg_data(0, 112, image_data); + set_bkg_tiles(0, 0, 20, 18, image_map); + SHOW_BKG; + DISPLAY_ON; + waitpad(J_START); + + gotogxy(7, 88); + printf("Weclome! \n\n\n to the invisible maze \n Press Start to \n play. \n\n Place the flag \n on the right \n position to get the\n flag!"); + waitpad(J_START); + + disable_interrupts(); + DISPLAY_OFF; + + set_bkg_data(0, 4, backgroundcharacters); + for (counter = 0; counter <= 16; counter += 2) + set_bkg_tiles(0, counter, 20, 2, bgmap); + + SPRITES_8x8; + set_sprite_data(0, 1, spritetiles); + set_sprite_tile(0, 0); + move_sprite(0, x, y); + + SHOW_BKG; + SHOW_SPRITES; + DISPLAY_ON; + enable_interrupts(); + + while (1) + { + for (counter = 0; counter < 9; counter++) + { + wait_vbl_done(); + } + counter = joypad(); + + if (counter & J_UP) + { + y--; + beep(counter); + } + if (counter & J_DOWN) + { + y++; + beep(counter); + } + if (counter & J_LEFT) + { + x--; + beep(counter); + } + if (counter & J_RIGHT) + { + x++; + beep(counter); + } + + if (x == 6 && y == 8) + { + k1 = k1 + x; + k2 = k2 + y; + milestone_beep(counter); + } + + if (x == 5 && y == 3) + { + k1 = k1 / x; + k2 = k2 / y; + milestone_beep(counter); + } + + if (x == 12 && y == 5) + { + k1 = k1 + x; + k2 = k2 + y; + milestone_beep(counter); + } + + if (x == 4 && y == 5) + { + k1 = k1 * x; + k2 = k2 * y; + milestone_beep(counter); + } + + if (x == 15 && y == 10) + { + k1 = k1 - x; + k2 = k2 - y; + milestone_beep(counter); + } + + if (k1 == 37 && k2 == 25) + { + printflag(k1, k2, i); + set_sprite_tile(0, 0); + break; + } + + move_sprite(0, x, y); + } +} diff --git a/2020/Misc/Invisible-Maze/Handout/output.gb b/2020/Misc/Invisible-Maze/Handout/output.gb new file mode 100644 index 0000000000000000000000000000000000000000..abd06ba89d9863605a0b414f3e33cfd6a13e9a92 GIT binary patch literal 32768 zcmeHN3s@6ZzCSYwLkKYh2sl8134=63w^F59+8ZNM3RdOOE{b-yf>eWUDd3|L9>#za zwZ0Hm*S5QB?LOM=y}Pt^TiWgJHVNV-gmg>0c4@V3*lj3fyA^A-F=BH6XC@F(@9w?d z{l0s@?|w5$=A8fk{9osH&Yai8?w@^`a~Oq0OcDesmMEAU^X$@_DYyDXYi||uyVbu9 zqyvHU!$3NY)60El(_hnsyYH!~a+=TxOJ5waUL5)0^P3I+FLO|D3Gw#d4TixvC|tA+ z?M5;*2T3B6_wGaT^Mf^`AAR(}Q*XXm^+=8Ui@}f1KXu~GHx}uOSCy8mDn&P4#N~HS zUMlOp6S>s>Pvi`R7KSjBbC|1YzmLzW{eH@fnT_KotGUQ~$+ zfX)ffW`xWZbRWtC`Z@GR1`@bERKu+T|^V;DjMb@dp!roXEaX&;>k!3o+41VSOl`z{sqP9 zKztTJ2HP@E1qjmAbRK8k6hAYIK72#@iniWa<=FnrYZ84ulSHrQ{B9O)o<+?jFoJSI zE|!R8FkDE)aj3TGb#=l@+DIFLeYfVU zxs$Qro@+txFbV~uU@SNi+3Ya?Pbq>FiDv~6LWN4gq~WqT@*q1x5g8S&jES8)^}Iq+ zTzrBmF)5i*rv&BL)Ol&QY38H!AnPCHGG-Ru{;fL}WZt=OQPvFRT{H6k!|aL&S1o&J zu_!E5{h(N#86pjNaE)4gk6Is6vPQB5m91}Jw%0OMwQ5Gn7^T&966;-JX!w20jQS6n=d+NksbfbtDnx*Skm}+OL;J;R(&k>iv!67O{+8gILtHpo9pw^GjR<9C;R?rCzbn z%~|+C+?WW$y{Q)D&2=De!84Q2))*Y4C)DH%)1$e?-7gPp59@Qzi5V&MgyxIude?+G zcf_smgl;j7iWyOFN0=w%E|!HFI9o%<2+$jq0Q-4hXU%4l!2W%hhq`N)Fag~6fSVQM zQYIf|3z5>I-VmuL#N?Aq6XJBXJtJcwcdrLm;PgCp3K}7{BCJuwX^5r?3S=@eu%J}7 zVvO{Nw_rarIifAI4asa~Y{<+R3YjMUforkNfi)ZfjVU7Nx>)6zF z&XjbT0O!ZJdc%EYy~QTqJX>}+Xk>?bL?&O{G$AfB%{@`jhilFOi^v(hrMEB~aOF#; zdrfa?*qFp#w(*hb+Q&A+^DdR*M}PaKjm+kn9hmS+3DH*EQS3yZ_4M%O=T(xOC7OdU2dHZI}gi&Q9Xm8qx z2bT3!YNQsSyVqsZ6grp7)|S|3PLS3x|@m-?neAfJ~2GF+OQ^#5k0WNQa`Y;hAFN(*;YiMOK2Odmk)Do%bbJ`AiLDJY@QKw9PcGwAsDSSw~4Gq|f=B%Ib}_mCt4< zf#FuC+4RwW(1^0=2rW|IX46M<1gS+McH?-QtzkUD);%6?YaCbE7SyKsSqLy}=eXL| zJkHp>@wNi5%GNRLrENWf<#I1$bL`T53sa{ZbD&fQn!qgZs%^z-2pF~V=Z6s#3d7pi z3jI4ySR@Y!Q&^}t%@0-=)Ushyx>!pZ)PmB*5Kr&@bG&h2Ji%5BT4lg3?>lSksxs~_ zXlN}iUF$p*F=TD*>7QnHPBHEOT<>P3#x88Bv&z_7(9ktyX_~WpigPR5oQ5+mYRHPs z7BqAgPZ6C34ZEiaE^e*_qUOC}S5vZ}*g8#s$ytg4le~Apup?8_0PSbQEs(%96VFNj zmdb|fU&a9kpaD*R-)uS#+Aa<^@M3HLql^&-q&ev+S{0z7!TSS3&>0dyH^CNYq=0i^ z$3Qd1+Qws`PsQGBQpGjo>lzB{(yrOk_J*!Za)E9<$yR0T&cI}O#&Zyry9 zKFHciAND5leLHTdTTU@RJQkJ5foLj-&a;g`LAh}>^o*jILehd_2kxQJAa1r4Nf2CPemz)$GeNCk=;T55c`Akns50S0^5N8!L!5Sd2lKBK5j zLq#Lq5icid{JTW?O( zh#d>)s~``y8@k?I3Qz}82E_jv%H=AEsAqtUx)JK68=(#`K>P-%lV(9Zg&c>O7-MGT zv8QhhHoXvI%*Y(bk)u&WPWa^AVc)K2o#9C(^81>0Rd4LE zSnbO|faJ^NQ{_#_3ytBrXrj#Mv*9W=TDb1EXew)qS2h)>}IDJk9 zQ&_Q+j&_F6;ij?lg7jkNU!(Y$ECys_VK$pPOCF1)mzl{mV*D3Y`$W#3ce*b@?%EFI{e`th zlI@+y8QtZ|vBP0pzFxDKxo-FV-0CBlunA)PXI4F;y|@{)&y!#$JBe+{o-;5^NF zR0$2hXP*gXPX@Ek2eZElW={pPZv?Y%1+#s@tOK$D#HI9WtIO^75%2TX%dned(^>cU z^VV_1s5PL14LN1&)ugc^9^y*KZ^d^C2= z6AGbAJw$!?YXe`?ctbKk!-iyl7Qr5ot&fnyvf zp?m*Ad**-v5w2div=}yMp0Iqjh{FQ#1^1uNb#Gb^U`&hhvf*n>;)|o>3q0Xmowz%$ zwOWeYe4YO*3dDa`0eevVGY=$gD-xe-z)>^c0+kG#YG4nEEAYd`~hMaQ!X!7Yr!Q9%aa!>%pa85P|e zHAdPm_fdXlZd?!J31PmmUbOe=85bOJPM`&&5sq&c=oLJLIRWlVn4RfDMynkZpVfGA zQjQ<&d}nQ3IXr*J;!r!(uoq}bX-wgt_|@z>=M!;wOmbA&zKrXG!-I?>*u>SiyH7D8 zkw`&@rJ+Y*8k%4F@W{^46ID3dN1%={tK)kb%CQ0Fv7b#Wg*}f~nj%VQJjIORvE(0F zNkah}<}j;sOS0A8c&fkIcRXA4zM`u8O@@f!XD~1q$kdB&XC$d0!jNfu6B$wb^^D}J3SGv_E~YW0l$45*+wRE zuC$DP27`8hzb+Ozq8(9FKiKAviU>2DscWPVE-X|;aH!6*VTF0#>sDAoVqo+gZB-W? zWdn)vz2AvXAHQx*9|tGneyiOlW#pH!X9*MHyi;}2e$iQz;LKOqr;>P;9zouI+3UCV zFmgCZ>xQV{h0XKuCg5V!y| zZDfd>9q{bxd?DUFgUU{@Mj~X#n_ZaMkgZ!y*r=!!c=Mze!2}L7QmoDChYd2UTF~(% zCYIq%!keHN=Icb}!pIP8hof!XumQe{mTIHbN}MO|8nL^(VMh&QU~?>TZdU;lWCL4g z2DZ-ArO_A^u_mk=cHp2!^U_dX@JcYplajIHKo{j5Pcif;1sJ%7m*5H5rNIY*#NtGl z`<+8dVp$?A4j|)nsHR%>njHrQexP1@5*8EzMG-zhL@kl#SPD6pB!dn7UTs;T^9`kb znd?4%o@?oZ{|f2yLr8iBAwx+~vC0%(40A0kk+}@kkBolf$^jIggQ*=BK0yGl!LxZq z0cBvu&f^CwgA2HmasJ>D0(>{&C5>YqbfMCRVI_*6bM8rpLE5k>F0XK;ulZFC1?zAS zAF=Z3tVJANpq0ZC6&krb5gL5P`mQ+Nxe8dQg=`VGP%V-cX^X5y-jdUr+nU#!-@2@I zdF#s7qE_?n*4=Hp+jsBX{p9WgyASQQwAtEDx1DM0ZyRVEY8Qv14ReS2U`!e9c(|i_u!KU4;(yn z&~nIj==7m8hx!i<92z|I_94_kc8EKu4oQc!L)Ibh$T^aGB=1Q6k!44gA6a>%=!m(q zwX?0Wy>oBplbr`T4|Q6)Y+a|j&UE#64Rj55z1@Y5l1IfysiTsk(xbAY@}oJ&a*yR5 z%Rjd4*z#j5j};y3a}vqaLK;ndLTuwn$jVdpgr-;esYO#oGzzhWCQnKJm79Z{pC;MW zfPio)!TeiNw82lBfGSR{08S zh2f()JhtO^<9O7Cc>xB0n8h&$dHW@2EF6G&VKwH0?6CKwo;Ieb3%~Pwt1dJlt`lv+D;(kNxoY zQ%^thqaXj|#Iq-#`{~bq{)^{d_~ncL`ftDbb@xjzzjEp~ufEpv`WwG}^LM}h!&?@s zt@m`_nSbxM4>$&$Z~yU~p?BZ=)7kg`Jp93j=gxoh@h7g4zx?%6_vmM1pO63Ti@$$) zVdCOfm%hGyT1iZ!&q zg}eNoy@&T*UAlCaf8V}+S6f>AgorvYT*n|&?|bi^>+Lnsy4!Cz(KJ%1q7;g{iHZq} zZ}?-N>-s-Fcg~cM0I!GOWjR8sz}0-_3_5eB8Br9){hBGN*n2Bke zVtF8Vc_28NlWRsumrt1tI%G8L++Y%gQ{XQ-Ia#HGbaHZ%a|$%)AL!uADjHwVPYs4V zo|$S&g)dU-SLu>g>6MiR8J%g!N5;YRZx0R{5l!Rwg$RiySWzNo6gX8ds5IM`jsMF) z(-;Q+%FJXSqYF^D42dYPS7AXqL(L8Y#7k#meHv)FD!a~vOfp(W>RRSzfLEI`T~gf!hYb=@#zL5?iXNi z64O|fOR<~@!v}FDacW5@2UnOPk&&Z~NReGV-3$ns;FYhXf@A3N^|(G5U0h!d0H{9& zT+D|6O%*^VWj1HRg%IZJ^L4zu0grI_LWt`RYceY~Y~t$AacOvy%maV|fMR=aL4#m_ zfBVVQ%uh?gfbsoDPD8uXay}}s zPzOff4jtgDpWye}3WY|Km)Gj!+gX*F${E%p8FWDt^amQ6fHLXf-8ul1567Os$23%t zOEEr`I;dI0m+dI}G5(r!pFPHnbPCMZ&IO6Ix;%{@648 z3Bq7*gsCe-W1KHT+2f{K)68~%i)Su>S)zHxWP;qCJZH(sx}zDn8pRy7uO3? z3^Z4N><4JDr${UVZt;xjJ3$8?V0cYOe0$ zcUL{|07x3psKIcBQeA=C;uINn=xVSrTnpSRNt8TE3n>gjP%Yq7APA`{KqtxY@C@Zz zxS)H%s9?Z)I!+o;fnq)IO_1WhDpbRRQxnkVPy;m;&{!SonG8E9oI;)CIMq{HZ5GtY z81RS35g+iItE;QOfRu{^0>gfAAijWqYzNa|9S5#jh~ZtCjR$};tziC}r=Gfi>w$Kh z??1l-skGdXUK$c9~>rS1DOr-n7zvaf#Uw6fL;Z5X*_^Jt3ZW- zG^859p7H$P7e;80?9$R~7;qKM5O}jf4}()hot_ipfP^6x4@3NPVS;{+ThN5t5uSP| zkS8QyNB9~Zt^+w>!VN84iN7eDiwV+Z92uu_7>I#v-e)`;;b>U=S?cCn>Z%%sS*gJH6z>JBregM2)l$OIY1!=}%#` z6^<8Lun6;r&%(NkO^0RJJFw)6eAc2jM5#|&wAHM3J*%x^wN0#c6RX|Med}25HdcEN zt6ji->sc-Ty@S;@u-aNy`#2{C_exf~k<|kK5sv@Zlswo3Q@{k9OIYm=R=b$hZeXk?dMx!T-bZ5tDF= zG!fxSwk$D&Ji>p2n*KnBxGuUHdNE=o*}9|!Y_*tnH}5eXt~*ijRt}Wb`Hx?C{f{0< zu@W)c9;V^X6cC7nD+Un+|HuGZ1OKSI=|hNa{viDCMBx$;5D*X$5D*X$5D*X$5D*X$ z5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$ z5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$ z5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$5D*X$`2UH(e*kB4 B+3^4X literal 0 HcmV?d00001 diff --git a/2020/Misc/Invisible-Maze/README.md b/2020/Misc/Invisible-Maze/README.md new file mode 100644 index 0000000..c2c994d --- /dev/null +++ b/2020/Misc/Invisible-Maze/README.md @@ -0,0 +1,14 @@ +# Invisible Maze + +**Description** + +Move the flag in just the right ways or just hack the game! + +**Author**: [officialcjunior](https://twitter.com/cjuniorstweeets) & [k4iz3n](https://twitter.com/akulpillai) + +**Short writeup** ++ Challenge is a Nintendo GameBoy ROM image. ++ Reverse the ROM and figure out the implementation ++ Analyze the calling function's checks to find the path along which we must move. + +**FLAG**: `inctf{175_n0_L363nd_0F_z3ld4}` \ No newline at end of file diff --git a/2020/Misc/README.md b/2020/Misc/README.md index cbb8aa7..42aef47 100644 --- a/2020/Misc/README.md +++ b/2020/Misc/README.md @@ -3,4 +3,5 @@ |S.No.| Challenge Name | Status | |:---:|:--------------:|:-------:| |1| [Secure Note](Secure-Note/)|Done| +|2| [Invisible Maze](Invisible-Maze/)|Done|