В информатике NOP или NOOP (сокращение от английского: «No OPeration») инструкция процессора на языке ассемблера, или команда протокола, которая предписывает ничего не делать.
Набор команд многих процессоров содержит инструкцию, цель которой состоит не в том, чтобы изменить состояние какого-либо регистра или ячейки памяти, а в том чтобы затратить определённое число тактов процессора. Для тех процессоров, в которых специальная инструкция отсутствует, NOP имитируется какой-то другой инструкцией с такими параметрами, что регистры и флаги не меняются (например в SPARC-процессорах в качестве NOP рекомендуется инструкция "sethi 0, %g0").
NOP’ы обычно используются:
Инструкция для Intel x86 совместимых процессоров:
На самом деле, инструкция NOP для x86-процессоров является XCHG EAX, EAX или XCHG AX,AX, которая имеет тот же опкод 0x90, и не производит никакого эффекта, за исключением следующих специальных случаев:
«Дорожка NOP’ов» или «трамплин NOP’ов» — известный хакерский приём, связанный с исполнением произвольного кода.
Наиболее распространённая причина исполнения произвольного кода — переполнение буфера. Впрочем, зачастую адрес, который запишется вместо точки возврата, известен лишь приблизительно. В таком случае создаётся такой код.
nop nop ... nop nop <тут вредоносный код>
Перейдя на любой из NOP’ов, процессор в конце концов «скатится» на вредоносный участок.
Многие протоколы, например telnet, содержат NOP-команду, которую клиент может отправить, чтобы получить ответ от сервера без выполнения каких-либо других действий. Команда NOOP присутствует в следующих наиболее известных протоколах:
Возможные применения команде NOP:
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .