Reversing and Exploiting with Free Tools: Part 1