Reverse Engineering Challenges

If you've completed each of the ASM fundamentals lessons then you're ready for a challenge. This portion of the site contains a number of challenge binaries which either contain or dynamically generate a flag which can be submitted using the form below.

Submit Flags

Use the form below to submit flags. Select a challenge ID in the dropdown, and replace XXXXXXXXXX with the correct values.


x64 ASM Challenges

I made the decision to make a single Docker container with all of the challenge binaries inside. Challenges can be found under /challenges/ and they are obviously named with their challenge ID in the filename (they also print the challenge ID to the terminal to make things even easier). Reverse engineer the product, find out the flag and supply it to the web UI for some high praise and high fives from an Internet stranger.

Get the container and run it with -

Observe that the container exposes port 61616 to localhost on the host machine, this is because one of the challenges uses a port for... something... (which you have to ascertain as a reverse engineer). If you're uncomfortable with this then simply don't expose the port.

Just in case there is a reader who doesn't wish to jump through the hoops of getting Docker setup etc. just to tear apart my challenges, the challenge binaries can also be downloaded directly from here.

ARM ASM Challenges

Coming soon 😉