This is series of challenges that I wrote for CSAW 2018 Quals.
The intended purpose of this challenge is to impart on people who know very little to nothing about x86 or general "reverse engineering" a working understanding of these topics.
This is a three-part series designed to get you comfortable with x86 assembly, covering 16, 32, and 64 bit code (part two containing all three, though part one is 16 bit and part three is designed to be 64 bit): In part one, you will employ static analysis techniques (which sounds scarier than it is) against the assembly source code to answer a short quiz. In part two, you will need a disassembler to allow you to read a compiled program, analyze what happens when it is executed, and determine a workaround for the problem that may become evident. In part three, you will need to write and compile some assembly of your own to send to a server for it to run such that it prints the flag.