Reversing in the context of CTFs is usually the reverse engineering of software (executables/bin files) into assembly code and at times the original source code to understand what is happening in a program, break a program (e.g. buffer overflows), or to decrypt encryptions done by a program. Challenges related to reversing are usually not as easy to pick up on as others, and require a lot of diligence and learning to truly understand and be able to tackle.
- Reverse Engineering for Beginners - an extremely well-written and verbose free book which explains multiple CPU instruction sets and methods for writing and understanding them.
- gdb: Basic debugger (+gef/peda)
- objdump: Very basic disassembler
- ghidra: Sophisticated disassembler that can also decompile code (link)