Network Security Tools: Writing, Hacking, and Modifying Security Tools