Exploiting software: how to break code - Hoglund, Greg . (Addison Wesley, 2004)