Reverse Engineering exam
This exam measures what you've actually learned, in three stages: Easy, Medium, then Hard. Each stage unlocks the next. There are no hints and no ready-made solutions, so it's just you and your code, graded automatically like in the lessons.
- Stage 1Locked
Easy
- Reading an ELF headerPick the byte order from a field in the header12 min
- Breaking repeating-key XORRecover a repeating key from a known prefix14 min
- Stage 2Locked
Medium
- Extracting strings with their offsetsFind runs of printable characters and the offset of each14 min
- A disassembler with jumpsDisassemble a program with a conditional jump15 min
- Stage 3Locked
Hard
- An emulator with jumpsRun a program with a conditional jump and a loop18 min
- Reversing the keygenUndo a chain of transformations on a long key20 min