In the "Hacking the art of Exploitation" its said that the basic idea of stack overflows attacks is that the operating system can't differentiate instructions from data inside the stack ,and the solution to this problem was to implement a "non executable stack".

My question is how is this implemented ??

  • Well ,looks like it is , i haven't noticed because i didn't know what are (ASLR) and (DEP). What should i do know ? delete the question ?
    – HSN
    Apr 15, 2013 at 12:19
  • 1
    dont worry, the question will be closed automatically soon. You don't need to do anything :) What you are talking about is called 'DEP'. 'ASLR' is a different thing, but similar in that it is memory-corruption-protection related.
    – lynks
    Apr 15, 2013 at 12:26
  • 1
    @HSN do not worry that you didn't know - that's not the point of closing a question. The point of closing a question is to get you to the answer you needed in the first place. It is possible that you might not get such high quality answers again, so where a really high quality question exists that explains the topic well, we try to direct you to that so you get the best answer possible.
    – user2213
    Apr 15, 2013 at 12:32

1 Answer 1


You could compile with the stack protection flag. https://stackoverflow.com/questions/1629685/when-and-how-to-use-gccs-stack-protection-feature is a similar question that asks how to enable stack protection for executables compiled with GCC.

Not the answer you're looking for? Browse other questions tagged or ask your own question.