Pwn / Binary exploitation / Reverse

Commands:

First thing first, we should check out what type of file we're dealing with:

$ file program

Check for plaintext strings within the file:

Sometimes it helps to see if there is any useful information in plaintext within the file, if the programmer has done something like
"if (!strncmp(input, "password", 8))"
then it is checkmate.

$ strings program

Gdb is your best friend and it will be forever:

$ gdb program

Get basic information about the program

(gdb) info files

Get information about the used functions

(gdb) info functions

Set a breakpoint

(gdb) b main

(gdb) b *0x4242424242

(gdb) b main+42

Links:

A must to solve challenges
CTF101
CTFtools
LiveOverflow
AwesomeCTF