Gray Hat Python by Justin Seitz but the exercises are in Python3 and for 64 bit systems
This is my attempt to go through the book, there is a chance I find something I can't really port, but for now I'm using the fact that the copy paste just doesn't work to make sure I understand the code.