> For the complete documentation index, see [llms.txt](https://www.ctfrecipes.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.ctfrecipes.com/pwn/protections/no-execute.md).

# No eXecute

The NX bit, which stands for No eXecute, defines areas of memory as either **instructions** or **data**. This means that your input will be stored as **data**, and any attempt to run it as instructions will crash the program.

To get around NX, attackers use a technique called [**ROP**, Return-Oriented Programming.](/pwn/stack-exploitation/arbitrary-code-execution/code-reuse-attack.md)

{% hint style="info" %}
The Windows version of NX is DEP, which stands for **D**ata **E**xecution **P**revention
{% endhint %}

{% hint style="danger" %}
add the paramters `-z execstack` to gcc in order to disable the NX protection
{% endhint %}
