Writing Security Tools and Exploits