# SuperEncryptor
With some clever inputs, the challenge can easily be solved without analyzing the binary. When we feed `\x00`s, we get the following output:
```echo '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' | ./q3 _   _                   __  __ _ _             __      _____  __ | \ | |                 |  \/  (_) |            \ \    / / _ \/_ ||  \| | __ _ _ __   ___ | \  / |_| |_ ___  ___   \ \  / / | | || || . ` |/ _` | '_ \ / _ \| |\/| | | __/ _ \/ __|   \ \/ /| | | || || |\  | (_| | | | | (_) | |  | | | ||  __/\__ \    \  / | |_| || ||_| \_|\__,_|_| |_|\___/|_|  |_|_|\__\___||___/     \/   \___(_)_| String to encrypt (Max 5000) : Encrypted : abcdef4123310abcdef4123310ab```
First thought that came to my mind was that it was an XOR operation with the key `abcdef4123310`. When I XORed this key with the content of flag.enc, I got:
`rkd4y_{MgFS3lt4uArs_Ju3_5}mpdec0`
which looks like the shuffled version of the flag. Swapped two sides inside each 4-byte block, and got the flag:
`d4rk{My_S3gF4ults_Ar3_Jump5}c0de`