Buffer Overflows Demystified