while this method definitely makes the canonical approach to stack buffer overflow exploitation fail, it is not without its problems. first, it is common to find ways to store shellcode in unprotected memory regions like the heap, and so very little need change in the way of exploitation.