Nops(空指令模块):作用、使用方法

举报
黑色地带(崛起) 发表于 2023/02/18 23:52:37 2023/02/18
【摘要】 Nops(空指令模块):作用、使用方法

 目录

一、简介:

二、作用:

三、使用方法:

 3.1、第一步:查看可用的模块

 3.2、第二步:直接使用




一、简介:

空指令不会对程序运行状态造成任何实质影响的空操作或者无关操作指令

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 

编辑



【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。