首页
社区
课程
招聘
[求助]这条汇编指令是什么意思_x86
发表于: 2019-12-16 14:07 3007

[求助]这条汇编指令是什么意思_x86

2019-12-16 14:07
3007
地址: a44ebca1 
指令: data16 data16 data16 data16 data16 nop WORD PTR cs:[eax+eax*1+0x0]
长度: 15

地址: a40c787a 
指令: nop    WORD PTR [eax+eax*1+0x0]
长度: 6

gdb反汇编出来的
nop不是什么也不做的意思吗.后面跟内存地址是什么情况.


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
该指令不执行任何操作。它是一个单字节或多字节的NOP,它占用 
指令流中的空间,但除了
EIP寄存器外,不影响机器上下文  。
NOP的多字节形式在以下型号编码的处理器上可用:

CPUID.01H.EAX [字节11:8] = 0110B或1111B
多字节NOP指令不会更改寄存器的内容,并且不会 
发出内存操作。在非64位
模式和64位模式下,指令的操作相同  。
2019-12-16 14:43
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
补充一下,nop多种形式可以有0~9个字节,最多的如66 nop dword ptr[eax + eax * 1 + 00000000h]:  66 0f 1f 84 00 00 00 00 00,共9字节
2019-12-16 14:51
0
雪    币: 582
活跃值: (317)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
AHuang01 补充一下,nop多种形式可以有0~9个字节,最多的如66 nop dword ptr[eax + eax * 1 + 00000000h]: 66 0f 1f 84 00 00 00 00 00,共 ...
啥意思老哥,上面那个占15字节的也是什么都不做,只是影响了IP位置是吧?
只是用于内存对齐码?
2019-12-16 15:11
0
雪    币: 5734
活跃值: (1737)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
实用于代码动态修改占位
2019-12-16 17:59
0
游客
登录 | 注册 方可回帖
返回
//