目录
一、简介:
二、作用:
一、简介:
空指令不会对程序运行状态造成任何实质影响的空操作或者无关操作指令
eg:x86 CPU---->0x90
二、作用:
(1)填充:(nop指令一个字节),使指令按字对齐,减少取指令时的内存访问次数
eg:偶数对齐,若一条指令占3字节,使用nop指令,cpu 就可从第四个字节处读取指令了
(2)延迟:nop指令会产生一定的延迟(效果取决于CPU性能),使用rep前缀,多占用几个时钟脉冲
(3)等待:使用 nop,等待缓冲区清空,总线恢复(i/o传输)
(4)清除:清除上一个算术逻辑指令设置的flag位
(5)破解:将程序验证部分用nop填充,致使验证失效
三、使用方法:
3.1、第一步:查看可用的模块
#查看支持的空指令
show nops
NOP Generators
==============# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 nop/aarch64/simple normal No Simple
1 nop/armle/simple normal No Simple
2 nop/mipsbe/better normal No Better
3 nop/php/generic normal No PHP Nop Generator
4 nop/ppc/simple normal No Simple
5 nop/sparc/random normal No SPARC NOP Generator
6 nop/tty/generic normal No TTY Nop Generator
7 nop/x64/simple normal No Simple
8 nop/x86/opty2 normal No Opty2
9 nop/x86/single_byte normal No Single Byte
3.2、第二步:直接使用
use nop/aarch64/simple