Decompetition

Decompetition is not currently running.

Decompetition was a reverse engineering competition that ran between 2020 and 2022. It was part of a research project in which reverse engineers from all over the world reversed binaries in search of the holy grail of decompilation: source code that compiles to an identical binary.

Reversers tackled five compiled languages: C, C++, Go, Rust, and Swift (and the occasional bonus language, like Nim). Teams had twenty-four hours to reverse twenty-five binaries, and they did an amazing job. Almost every challenge had at least one perfect solution—and some had over fifty!

If you're interested in trying the challenges, or maybe in running a similar competition, you can find the challenges and the code for the disassembler and the server on GitHub. To recreate the compilation environment exactly, use the appropriate "builder" container from DockerHub:

If you're interested in researching the reversing process, all 35,000+ source code submissions from the 2020 competition can be downloaded from GitHub; source from the 2021 competition will be added eventually. You might also be interested in the resulting paper (based on the 2020 results only), which was published at USENIX Security 2022:

Happy hacking!