Binary exploitation (buffer overflows, stack canaries etc.), source code auditing, reversing assembly code to C code