首页
社区
课程
招聘
求助:prefix rep是怎样的指令
发表于: 2005-8-10 11:31 11724

求助:prefix rep是怎样的指令

2005-8-10 11:31
11724
在脱壳过程中,常见到prefix rep这样的指令,比如:

0041177D    3D 00001000       cmp eax,100000
00411782    F3:               prefix rep:
00411783  - 0F87 760F3678     ja 787726FF
00411789    8D85 1C234000     lea eax,dword ptr ss:[ebp+40231C]
0041178F    8038 01           cmp byte ptr ds:[eax],1
00411792    0F85 C6010000     jnz SCP.0041195E
00411798    E9 4A010000       jmp SCP.004118E7

现在eax==1512e ,od 跳到00411789执行。
不知道是什么道理,没找到相关资料,望指教

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 147
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
我也想知道是什么
2005-8-10 12:50
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
3
刚刚叔叔告诉我
F3是rep的前缀
其实这2行
00411782    F3:               prefix rep:
00411783  - 0F87 760F3678     ja 787726FF
应该是一条指令 F3:0F87760F3678
2005-8-10 14:10
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
4
申明:我的菜鸟,说错了望指正。
我查阅INTEL的手册,rep是指令前缀。prefix可能是od为了突出rep指令是前缀自己加的。prefix就是前缀的意思。
原文的意思是rep的功能是让相关联的指令重复执行,直到ecx=0。
附:All of these repeat prefixes cause the associated instruction to be repeated until the count in
register (E)CX is decremented to 0
详细清参考:
IA-32 Intel® Architecture
Software Developer’s
Manual
Volume 2:
Instruction Set Reference 编号是:24547104
2005-8-10 14:17
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
5
不过,我看rep后面什么也没有。会不会是花指令?
2005-8-10 14:19
0
雪    币: 242
活跃值: (135)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
刚才试验了一下,原理还不是很明白,不过效果是0f3(rep)指令可以nop掉,对结果没任何影响。
多谢 shoooo  (4个哦),Isaiah
2005-8-10 16:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
但是壳里面为什么大量用到这个0F3呢?有什么作用呢?
2005-8-11 13:13
0
游客
登录 | 注册 方可回帖
返回
//