1. Spiking
    1. Fuzzing
    1. Finding the Offset
    1. Overwriting the EIP
    1. Finding Bad Characters
    1. Finding the Right Module
    1. Generating Shellcode and Getting Root