x86-64 فن تعمیر میں، آپریٹنگ سسٹم یہ کیسے بتا سکتا ہے کہ کون سے صفحات میں قابل عمل کوڈ نہیں ہو سکتا؟
No-Execute بٹ یا NX بٹ (صفحہ ٹیبل کے اندراج کا بٹ 63) آپریٹنگ سسٹم کو یہ بتانے کی اجازت دیتا ہے کہ ورچوئل ایڈریس اسپیس کے کون سے صفحات قابل عمل کوڈ پر مشتمل ہوسکتے ہیں اور کون سے نہیں۔ "no execute" کے ٹیگ والے صفحہ سے کوڈ پر عمل درآمد کرنے کی کوشش کے نتیجے میں میموری تک رسائی کی خلاف ورزی ہوگی، جیسا کہ صرف پڑھنے والے صفحہ پر لکھنے کی کوشش کی طرح ہے۔ اس سے بدنیتی پر مبنی کوڈ کے لیے "بفر اووررن" یا "غیر چیک شدہ بفر" حملوں کے ذریعے سسٹم کا کنٹرول حاصل کرنا مزید مشکل ہوجائے گا۔ اسی طرح کی ایک خصوصیت x86 پروسیسرز پر 80286 سے سیگمنٹ ڈسکرپٹرز کی خصوصیت کے طور پر دستیاب ہے۔ تاہم، یہ ایک وقت میں صرف ایک پورے حصے پر کام کرتا ہے۔
آپریٹنگ سسٹم ورچوئل ایڈریس اسپیس کے صفحہ کو No-Execute یا NX بٹ کے ساتھ ٹیگ کر سکتا ہے، جو صفحہ ٹیبل کے اندراج کا بٹ 63 ہے۔