Exploiting software: how to break code - Hoglund, Greg (Pearson education, 2006)