Tags: movfuscated reversing gdb 

Rating: 5.0

# Mov it! (Rev 250pts 54 Solves)
For a complete writeup go here [https://github.com/mrchisel14/CTFs/tree/master/2018/TAMUCTF2018/movit](https://github.com/mrchisel14/CTFs/tree/master/2018/TAMUCTF2018/movit).

### Steps Taken
1) Use file and the disassembly to determine this is a 32-bit ELF movfuscated binary
2) Run strace and ltrace to see multiple SIGILL and SIGSEGV's thrown and multiple calls to strlen()
3) Realize movfuscated code uses signals to call libary functions
4) Use GDB to pass the signals to the binary rather than have GDB handle them first (handle <signal> pass)
5) Run the binary in GDB and realize the flag slowly prints out on the stack as you continue the program after each signal is thrown(using peda's context menu or whatever other method you would like)
6) Grab the flag from the stack when the program has printed the end curly brace, "}".

Original writeup (https://github.com/mrchisel14/CTFs/tree/master/2018/TAMUCTF2018/movit).