“SELF-MODIFYING CODE allows for code injection attacks such as “Stack smashing”, “Format string attacks” and many others. In these attacks, the injected code is written to a program’s memory as input data to which control is subsequently transferred. The majority of attacks of this kind are prevented today at the hardware level by marking writable memory pages as non-executable.”
https://lnkd.in/dHTSZ_H