目录
一、简介:
空指令不会对程序运行状态造成任何实质影响的空操作或者无关操作指令
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
今天的文章空操作nop指令其实没有指令_法格系统循环指令分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/81593.html