NOP

A számítástechnikában a NOP vagy a NOOP (az angol rövidítése: " N o OP eration ") egy assembly nyelvű processzor-utasítás vagy protokollutasítás , amely a semmittevésre utasítja.

A NOP mint gépi utasítás

Sok processzor utasításkészlete tartalmaz olyan utasítást, amelynek célja nem egy regiszter vagy memóriahely állapotának megváltoztatása , hanem egy bizonyos számú processzorciklus eltöltése. Azoknál a processzoroknál, amelyekben nincs speciális utasítás, a NOP-t valamilyen más utasítás utánozza olyan paraméterekkel, hogy a regiszterek és a jelzők nem változnak (például SPARC processzorokban a " sethi 0, %g0 " utasítás NOP-ként javasolt ) .

A NOP-okat gyakran használják:

Útmutató Intel x86 - kompatibilis processzorokhoz:

Valójában az x86 processzorok NOP utasítása XCHG EAX, EAX vagy XCHG AX,AX , amelynek ugyanaz a 0x90 műveleti kódja, és nincs hatása, kivéve a következő speciális eseteket:

NOP track

A "NOP's track" vagy "NOP's springboard" egy jól ismert hacker technika, amely tetszőleges kód végrehajtásához kapcsolódik .

A tetszőleges kódvégrehajtás leggyakoribb oka a puffertúlcsordulás . Azonban gyakran csak hozzávetőlegesen ismert a visszatérési pont helyett kiírandó cím. Ebben az esetben a következő kód jön létre.

nop nop ... nop nop <rosszindulatú kód itt>

Miután bármelyik NOP-ra váltott, a processzor végül „legurul” egy rosszindulatú területre.

NOP a protokoll parancsokban

Sok protokoll, például a telnet tartalmaz egy NOP parancsot, amelyet az ügyfél küldhet, hogy választ kapjon a kiszolgálótól anélkül, hogy bármi mást tenne. A NOOP parancs a következő legismertebb protokollokban található:

A NOP parancs lehetséges felhasználási módjai:

Lásd még