┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─
┼─┼─┌─┐─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┌─┐─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─
┼─┼─│ │─┼─┌─┐─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─│ │─┼┌─┐┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─
┼─┼─│ │─┼─└─┘─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─│ │┌─┼─┘┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─
┼─┼─│ └──┐┌─┐┌────┐┌────┐─┌────┐┌─┐┌─┐┼─┌────┐┌────┐│ ││ └─┐┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─
┼─┼─│ ┌┐ ││ ││ ┌┐ ││ ┌┐ │─│ ┌──┘│ ││ │┼─│ ┌┐ ││ ┌┐ ││ ││ ┌─┘┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─
┼─┼─│ └┘ ││ ││ ││ ││ └┘ └┐│ │─┼─│ └┘ │┼─│ └┘ ││ └┘ ││ ││ │┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─
┼─┼─└────┘└─┘└─┘└─┘└─────┘└─┘─┼─└──┐ │┼─└──┐ │└────┘└─┘└─┘┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─
┼─┼─▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄┌──┘ │▀▄┌──┘ │▀▄▀┌─┐▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄┼─┼─
┼─┼─▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄└────┘▀▄└────┘▀▄▀│ │▀▄▀▄▀▄▀▄▀▄▀▄▀▄┌─┐▄▀▄▀▄▀▄┼─┼─
┼─┼─▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀│ │▀▄▀▄▀▄▀▄▀▄▀▄▀▄└─┘▄▀▄▀▄▀▄┼─┼─
┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼┌────┐┌────┐┌────┐ ┌────┐┌──┘ │┼─┌────┐┌────┐┌─┐┌─┐ ┌─┐┼─┼─
┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼│ ┌┐ ││ ┌──┘│ ┌┐ │ │ ┌┐ ││ ┌┐ │┼─│ ┌┐ ││ ┌──┘│ │└─┼─┼─┘┼─┼─
┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼│ └┘ ││ │┼─┼│ └┘ └┐│ ││ ││ └┘ │┼─│ └┘ ││ │─┼─│ │┌─┼─┼─┐┼─┼─
┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼└──┐ │└─┘┼─┼└─────┘└─┘└─┘└────┘┼─│ ┌──┘└─┘─┼─└─┘└─┘ └─┘┼─┼─
┼─┼─╒════════════════┌──┘ │ ══════════════════════════│ │ ═════════════════╕┼─┼─
┼─┼─│ June 18 '21 ►►►└────┘►►►►►►►►►►►►►►►►►►►►►►►►►►►└─┘►►►► Sept. 17 '21 │┼─┼─
┼─┼─│ ──────────────────────────────────────────────────────────────────── │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│                       A N N O U N C E M E N T                        │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ [ WELCOME ]─────────────────────────────────────────────────────//── │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ Strange files are serious business...                                │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ Zero Trust.                                                          │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ Advanced Heuristics.                                                 │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ Anomaly Detection.                                                   │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ Anything that could potentially execute code: personally deleted by  │┼─┼─
┼─┼─│ the CISO herself...                                                  │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ What if instead of hiding a file within a file, we made the file     │┼─┼─
┼─┼─│ become whatever the observer was looking for?                        │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ Last year, we challenged you to create the smallest binary that      │┼─┼─
┼─┼─│ could be exec'd the same backwards as forwards: a Binary Palindrome. │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ This year, we challenge you to create the smallest executable binary │┼─┼─
┼─┼─│ that is more than one file at once: a Binary Polyglot.               │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ This challenge has many different ┌────────────────────────────────┐ │┼─┼─
┼─┼─│ and interesting ways to approach. │ Polyglot files are files that  │ │┼─┼─
┼─┼─│ A total abandonment of your pre-  │ are considered valid in mult-  │ │┼─┼─
┼─┼─│ concieved notions about your fav- │ iple formats. This could be a  │ │┼─┼─
┼─┼─│ orite file formats is necessary.  │ GIF that is also a PDF. Or a   │ │┼─┼─
┼─┼─│                                   │ NES ROM that's also a ZIP file │ │┼─┼─
┼─┼─│ Because things are slowly coming  │ that's also an HTML page.      │ │┼─┼─
┼─┼─│ back to normal around the world,  │                                │ │┼─┼─
┼─┼─│ the BGGP will be three months,    │ A binary polyglot is a binary  │ │┼─┼─
┼─┼─│ instead of two months like last   │ program that is also valid as  │ │┼─┼─
┼─┼─│ year, to encourage people to take │ another file type.             │ │┼─┼─
┼─┼─│ their time and do non-computer    └────────────────────────────────┘ │┼─┼─
┼─┼─│ things too.                                                          │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ We encourage people who haven't done anything like this before to    │┼─┼─
┼─┼─│ work on this as well. You can work alone or with others to take      │┼─┼─
┼─┼─│ on this task. As much as this is a "competition", anything that      │┼─┼─
┼─┼─│ comes out of this challenge will be interesting no matter what!      │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ For more information about polyglot files in general, check out      │┼─┼─
┼─┼─│ the RESOURCES section before proceeding!                             │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ [ GUIDELINES ]──────────────────────────────────────────────────//── │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ Here are the guidelines for this challenge:                          │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ ► The host file must be a binary executable.                         │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│   This is any binary executable that stores either machine code      │┼─┼─
┼─┼─│   (such as ELF, PE etc.) or bytecode (wasm, pyc, etc.)               │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ ► Overlap with at least one additional file of any type to create    │┼─┼─
┼─┼─│   a polyglot.                                                        │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ ► The host binary must return or print the number 2 when executed.   │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ [ Scoring ]                                                          │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ There will be two scoring categories for this challenge, each one    │┼─┼─
┼─┼─│ with it's own set of considerations. Participants can aim for one    │┼─┼─
┼─┼─│ or the other, or both.                                               │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ Category 1 is the simplest: The smallest binary polyglot that meets  │┼─┼─
┼─┼─│ the above criteria.                                                  │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ Category 2 uses a point system, with scores based on:                │┼─┼─
┼─┼─│  - Number of overlapping bytes                                       │┼─┼─
┼─┼─│  - Number of bytes in the executable code section of the host file   │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ ► 1 point per byte from a guest file overlapping with the host file  │┼─┼─
┼─┼─│ ► 2 points per byte from the guest file overlapping with the         │┼─┼─
┼─┼─│   executable code section of the host file.                          │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ Each additional file is scored individually, adding to the total     │┼─┼─
┼─┼─│ number of points.                                                    │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ These points are then divided by the total number of bytes in the    │┼─┼─
┼─┼─│ host file, giving the final score. See the EXAMPLE section for       │┼─┼─
┼─┼─│ more details.                                                        │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ [ Other Rules ]                                                      │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ ► The host binary must be able to execute as submitted.              │┼─┼─
┼─┼─│ ► Guest files must be parsable as the given file type on at least    │┼─┼─
┼─┼─│   one program that was published before the start of the contest.    │┼─┼─
┼─┼─│ ► File size should not exceed 4096 bytes (4KB)                       │┼─┼─
┼─┼─│ ► The size of the executable section will only be counted as what is │┼─┼─
┼─┼─│   defined by the binary itself, or by the last executed instruction  │┼─┼─
┼─┼─│   for files with ambiguous code sections.                            │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ [ EXAMPLE ]─────────────────────────────────────────────────────//── │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ It helps to look at a visual representation to understand how each   │┼─┼─
┼─┼─│ file overlaps. The following is an example of how a Category 2       │┼─┼─
┼─┼─│ submission would be scored with two guest files.                     │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│  ┌────────┬────────┬───────┬─────────┬─────────┬──────────────────┐  │┼─┼─
┼─┼─│  │ START  │ END    │ SIZE  │ FILE OL │ EXEC OL │ Description      │  │┼─┼─
┼─┼─│  ├────────┼────────┼───────┼─────────┼─────────┼──────────────────┤  │┼─┼─
┼─┼─│  │ 0x0000 │ 0x0200 │ 0x200 │    -    │   -     │ Host Binary      │  │┼─┼─
┼─┼─│  │ 0x0080 │ 0x0150 │ 0xD0  │    -    │   -     │ Executable Code  │  │┼─┼─
┼─┼─│  │ 0x0100 │ 0x0180 │ 0x80  │  0x80   │  0x50   │ File1            │  │┼─┼─
┼─┼─│  │ 0x0130 │ 0x01D0 │ 0xA0  │  0xA0   │  0x20   │ File2            │  │┼─┼─
┼─┼─│  └────────┴────────┴───────┴─────────┴─────────┴──────────────────┘  │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ host.bin                                                             │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│  0000:   0000 0000 0000 0000 0000 0000 0000 0000   ................  │┼─┼─
┼─┼─│  0010:   0000 0000 0000 0000 0000 0000 0000 0000   ................  │┼─┼─
┼─┼─│  0020:   0000 0000 0000 0000 0000 0000 0000 0000   ................  │┼─┼─
┼─┼─│  0030:   0000 0000 0000 0000 0000 0000 0000 0000   ................  │┼─┼─
┼─┼─│  0040:   0000 0000 0000 0000 0000 0000 0000 0000   ................  │┼─┼─
┼─┼─│  0050:   0000 0000 0000 0000 0000 0000 0000 0000   ................  │┼─┼─
┼─┼─│  0060:   0000 0000 0000 0000 0000 0000 0000 0000   ................  │┼─┼─
┼─┼─│  0070:   0000 0000 0000 0000 0000 0000 0000 0000   ................  │┼─┼─
┼─┼─│         ┌───────────────────────────────────────┬─── Code @ 0x80     │┼─┼─
┼─┼─│  0080:  │0000 0000 0000 0000 0000 0000 0000 0000│  ................  │┼─┼─
┼─┼─│  0090:  │0000 0000 0000 0000 0000 0000 0000 0000│  ................  │┼─┼─
┼─┼─│  00a0:  │0000 0000 0000 0000 0000 0000 0000 0000│  ................  │┼─┼─
┼─┼─│  00b0:  │0000 0000 0000 0000 0000 0000 0000 0000│  ................  │┼─┼─
┼─┼─│  00c0:  │0000 0000 0000 0000 0000 0000 0000 0000│  ................  │┼─┼─
┼─┼─│  00d0:  │0000 0000 0000 0000 0000 0000 0000 0000│  ................  │┼─┼─
┼─┼─│  00e0:  │0000 0000 0000 0000 0000 0000 0000 0000│  ................  │┼─┼─
┼─┼─│  00f0:  │0000 0000 0000 0000 0000 0000 0000 0000│  ................  │┼─┼─
┼─┼─│        ┌─────────────────────────────────────────┬── File1 @ 0x100   │┼─┼─
┼─┼─│  0100: ││0000 0000 0000 0000 0000 0000 0000 0000││ ................  │┼─┼─
┼─┼─│  0110: ││0000 0000 0000 0000 0000 0000 0000 0000││ ................  │┼─┼─
┼─┼─│  0120: ││0000 0000 0000 0000 0000 0000 0000 0000││ ................  │┼─┼─
┼─┼─│       ┌───────────────────────────────────────────┬─ File2 @ 0x130   │┼─┼─
┼─┼─│  0130:│││0000 0000 0000 0000 0000 0000 0000 0000│││................  │┼─┼─
┼─┼─│  0140:│││0000 0000 0000 0000 0000 0000 0000 0000│││................  │┼─┼─
┼─┼─│       ││└───────────────────────────────────────┘││                  │┼─┼─
┼─┼─│  0150:││ 0000 0000 0000 0000 0000 0000 0000 0000 ││................  │┼─┼─
┼─┼─│  0160:││ 0000 0000 0000 0000 0000 0000 0000 0000 ││................  │┼─┼─
┼─┼─│  0170:││ 0000 0000 0000 0000 0000 0000 0000 0000 ││................  │┼─┼─
┼─┼─│       │└─────────────────────────────────────────┘│                  │┼─┼─
┼─┼─│  0180:│  0000 0000 0000 0000 0000 0000 0000 0000  │................  │┼─┼─
┼─┼─│  0190:│  0000 0000 0000 0000 0000 0000 0000 0000  │................  │┼─┼─
┼─┼─│  01a0:│  0000 0000 0000 0000 0000 0000 0000 0000  │................  │┼─┼─
┼─┼─│  01b0:│  0000 0000 0000 0000 0000 0000 0000 0000  │................  │┼─┼─
┼─┼─│  01c0:│  0000 0000 0000 0000 0000 0000 0000 0000  │................  │┼─┼─
┼─┼─│       └───────────────────────────────────────────┘                  │┼─┼─
┼─┼─│  01d0:   0000 0000 0000 0000 0000 0000 0000 0000   ................  │┼─┼─
┼─┼─│  01e0:   0000 0000 0000 0000 0000 0000 0000 0000   ................  │┼─┼─
┼─┼─│  01f0:   0000 0000 0000 0000 0000 0000 0000 0000   ................  │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ The scoring would break down like so:                                │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│   File1:                                                             │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│     0x80 (128.) bytes of File1 overlap the host file                 │┼─┼─
┼─┼─│     0x50 (80.) of those overlap the binary code section              │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│   File1 Points:                                                      │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│     128 + (80*2) = 288                                               │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ If this was the only file overlapped, the score would be             │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│   288 / 512 = 0.5625                                                 │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ For additional files, we score the same way and add to the total.    │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│   File2:                                                             │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│     0xA0 (160.) bytes overlap                                        │┼─┼─
┼─┼─│     0x20 (32.) are in the binary code section                        │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│   File2 Points:                                                      │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│     160 + (32*2) = 224                                               │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ Add to the File1 points:                                             │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│   224 + 288 = 512                                                    │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ Divide by the total number of bytes for the final score:             │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│   512 / 512 = 1.0                                                    │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ [ TIPS ]────────────────────────────────────────────────────────//── │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ 1. There's a lot of research that has been done into polyglot files  │┼─┼─
┼─┼─│    to explore. Take time to read through some literature (as shared  │┼─┼─
┼─┼─│    below) and play around with weird files to get in the mood!       │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ 2. If this is your first time playing with polyglot files: pick a    │┼─┼─
┼─┼─│    few file formats you want to explore and stick with them until    │┼─┼─
┼─┼─│    you feel comfortable. Even if you don't end up making the small-  │┼─┼─
┼─┼─│    est binary polyglot, you'll learn an awful lot about files and    │┼─┼─
┼─┼─│    parsers that will stay with you forever.                          │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ 3. The Binary Golf Association recommends that you set up a VM or    │┼─┼─
┼─┼─│    other dedicated workspace for playing with polyglot executables.  │┼─┼─
┼─┼─│    Be prepared to break certain programs that try to parse your      │┼─┼─
┼─┼─│    files, and possibly corrupt your data. Also, Windows will some-   │┼─┼─
┼─┼─│    times just delete your work because it thinks it's malicious.     │┼─┼─
┼─┼─│    An Ubuntu Linux VM is the safest bet, and has many readily avail- │┼─┼─
┼─┼─│    able tools!                                                       │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ 4. Two of the most common tools for creating polyglots are hex       │┼─┼─
┼─┼─│    editors and assemblers. Anything that allows you to define and    │┼─┼─
┼─┼─│    control individual bytes will work. You could even write a script │┼─┼─
┼─┼─│    to generate files for you by writing raw bytes, it's up to you :} │┼─┼─
┼─┼─│    P.S. `nasm -f bin` > all                                          │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ 5. It's really helpful to record your progress in a dedicated notes  │┼─┼─
┼─┼─│    file. Turn these notes into a writeup for extra brownie points    │┼─┼─
┼─┼─│    and show others what you found!                                   │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ [ RESOURCES ]───────────────────────────────────────────────────//── │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ This is one of the best papers regarding the theory and practice of  │┼─┼─
┼─┼─│ polyglot files, and we suggest you start here:                       │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│   PoC||GTFO 7:6 (pg. 18)                                             │┼─┼─
┼─┼─│   Abusing file formats; or, Corkami, the Novella - Ange Albertini    │┼─┼─
┼─┼─│   https://www.alchemistowl.org/pocorgtfo/pocorgtfo07.pdf             │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ [ Videos ]                                                           │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│  https://youtu.be/VVdmmN0su6E What is a File Format? - LiveOverflow  │┼─┼─
┼─┼─│  https://youtu.be/hdCs6bPM4is Funky File Formats - Ange Albertini    │┼─┼─
┼─┼─│  https://youtu.be/VLmrsfSE-tA Adventures in Binary Golf - netspooky  │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ [ Repos ]                                                            │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│  https://github.com/corkami/pocs Many interesting file PoCs          │┼─┼─
┼─┼─│  https://github.com/corkami/mitra Polyglot Generator                 │┼─┼─
┼─┼─│  https://github.com/Polydet/polyglot-database Polyglot file PoCs     │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ Don't forget to check out the BGGP Repo to see last years entries!   │┼─┼─
┼─┼─│ https://github.com/netspooky/BGGP The BGGP Repo                      │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ [ SUBMISSIONS ]─────────────────────────────────────────────────//── │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ When submitting your entry, please include the following:            │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ - A text file containing a hex dump of your file using xxd, hexdump  │┼─┼─
┼─┼─│   or other similar tool.                                             │┼─┼─
┼─┼─│ - A second text file containing the SHA256 hash of the binary file   │┼─┼─
┼─┼─│   (not the hex dump), and a list of files in your polyglot and what  │┼─┼─
┼─┼─│   programs to use to open them.                                      │┼─┼─
┼─┼─│ - If you want to include the source code and/or a write up, please   │┼─┼─
┼─┼─│   feel free!                                                         │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ We'd prefer if you put your whole entry into a Github repository, as │┼─┼─
┼─┼─│ it will be easier to track, thank you!                               │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ You can DM your submissions to @netspooky on Twitter or send an      │┼─┼─
┼─┼─│ email to bggp@thugcrowd.com                                          │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ ──────────────────────────────────────────────────────────────────── │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ Good luck! We look forward to seeing what you come up with.          │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│ The BGA would like to thank ThugCrowd, tmp.0ut, and everyone doing   │┼─┼─
┼─┼─│ cursed things with files and/or computers. We love you!              │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─│                                                                      │┼─┼─
┼─┼─╘══════════════════════════════════════════════════════════════════════╛┼─┼─
┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─
┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─