Показать меню

NOP

02.12.2020
78

В информатике NOP или NOOP (сокращение от английского: «No OPeration») инструкция процессора на языке ассемблера, или команда протокола, которая предписывает ничего не делать.

NOP как машинная инструкция

Набор команд многих процессоров содержит инструкцию, цель которой состоит не в том, чтобы изменить состояние какого-либо регистра или ячейки памяти, а в том чтобы затратить определённое число тактов процессора. Для тех процессоров, в которых специальная инструкция отсутствует, NOP имитируется какой-то другой инструкцией с такими параметрами, что регистры и флаги не меняются (например в SPARC-процессорах в качестве NOP рекомендуется инструкция "sethi 0, %g0").

NOP’ы обычно используются:

  • для создания задержки на определённое время, например, в целях синхронизации с другими устройствами в компьютере. В частности: в микроконтроллерах AVR цифровые порты имеют очень высокое быстродействие, и между коммутацией выходных портов и считыванием входных рекомендуется установить NOP, чтобы схема успела стабилизироваться;
  • для заполнения памяти программ при выравнивании;
  • для предотвращения ошибок в аппаратной части процессора;
  • для передачи управления при конвейерной организации вычислительного процесса;
  • как заполнитель во время разработки программы;
  • как заполнитель удалённых инструкций, например, при взломе программ. То есть, проверка регистрационного номера и т. п. заменяется на код, который ничего не делает.

Инструкция для Intel x86 совместимых процессоров:

  • Название: NOP
  • Количество используемых тактов: 3
  • Размер: 1 Байт
  • Код машинной команды: 0x90

На самом деле, инструкция NOP для x86-процессоров является XCHG EAX, EAX или XCHG AX,AX, которая имеет тот же опкод 0x90, и не производит никакого эффекта, за исключением следующих специальных случаев:

  • Сочетание "REP NOP" (0xF3 0x90) в процессорах, начиная с Xeon и Pentium 4, интерпретируется как команда PAUSE, сообщая процессору, что программа выполняет цикл ожидания изменения другими процессорами состояния ячейки памяти, что позволяет процессору оптимизировать работу с памятью и энергопотребление.

Дорожка NOP’ов

«Дорожка NOP’ов» или «трамплин NOP’ов» — известный хакерский приём, связанный с исполнением произвольного кода.

Наиболее распространённая причина исполнения произвольного кода — переполнение буфера. Впрочем, зачастую адрес, который запишется вместо точки возврата, известен лишь приблизительно. В таком случае создаётся такой код.

nop nop ... nop nop <тут вредоносный код>

Перейдя на любой из NOP’ов, процессор в конце концов «скатится» на вредоносный участок.

NOP в командах протокола

Многие протоколы, например telnet, содержат NOP-команду, которую клиент может отправить, чтобы получить ответ от сервера без выполнения каких-либо других действий. Команда NOOP присутствует в следующих наиболее известных протоколах:

  • telnet
  • FTP
  • SMTP
  • X11
  • POP3
  • NNTP
  • finger

Возможные применения команде NOP:

  • Ответ на команду NOP может быть использован клиентом для определения доступности сервера по сети.
  • Сервер может быть запрограммирован автоматически отключаться, если клиент некоторое время не посылает данных. В таком случае периодически посылаемая команда NOP означает, что клиент ещё «жив» и соединение разрывать нельзя.
Еще по этой теме:
Вентиляционные выходы для металлочерепицы
01:32, 03 сентябрь
Вентиляционные выходы для металлочерепицы
Кровля из природных материалов быстро приходит в негодность, разрушается под воздействием окружающей среды. На смену приходят более стойкие материалы, например, металлочерепица. У нее много
Качественные парники и теплицы – залог богатого урожая!
11:08, 22 февраль
Качественные парники и теплицы – залог богатого урожая!
От материала изготовления, а также качественной сборки зависит надежность парника или теплицы из сотового карбоната. Можно провести возведение конструкции самому (инструкция прилагается), но лучше
Метод искусственных нейронных сетей (часть 1)
14:34, 13 март
Метод искусственных нейронных сетей (часть 1)
Искусственные нейронные сети (ИНС) становятся обычным инструментом для моделирования сложных зависимостей «ввода - вывода» ввиду их способности подражать поведению комплексных систем. В основе ИНС
Построение выходных кривых и расчеты (часть 1)
14:31, 13 март
Построение выходных кривых и расчеты (часть 1)
Выходные кривые хлорид-иона строят в безразмерных координатах концентрации и времени: (1) относительная концентрация от тактов; (2) приращение концентрации иона от тактов. Для этого производят
Описание прибора «LANDMAPPER-03» (часть 2)
14:26, 13 март
Описание прибора «LANDMAPPER-03» (часть 2)
Режим измерения электрического сопротивления. Путем одновременного нажатия кнопок вправо и вверх войти в режим геометрических коэффициентов К. При этом может появиться любая из девяти ячеек и
Составление дополнительных картографических материалов (часть 2)
12:55, 13 март
Составление дополнительных картографических материалов (часть 2)
Основные критерии для объединения почв в агропроизводственные группы следующие («Общесоюзная инструкция по почвенным обследованиям и составлению крупномасштабных карт землепользований». 1.
Комментарии:
Добавить комментарий
Ваше Имя:
Ваш E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent