首页
社区
课程
招聘
[旧帖] [求助]大虾帮小弟解释一句指令? 0.00雪花
发表于: 2010-4-11 20:32 1445

[旧帖] [求助]大虾帮小弟解释一句指令? 0.00雪花

2010-4-11 20:32
1445
lea ecx,dword ptr ds:[ecx]
这句把ecx的地址放到ecx中,感觉没什么作用啊?大虾帮小弟解释一下下,谢谢

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 67
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不同的

lea ecx, dword ptr ds:[ecx]

把ecx装的值作为地址 再把该地址的值 给ecx
2010-4-11 20:58
0
雪    币: 435
活跃值: (1207)
能力值: ( LV13,RANK:388 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=Tangsir;789520]不同的

lea ecx, dword ptr ds:[ecx]

把ecx装的值作为地址 再把该地址的值 给ecx[/QUOTE]

你想太多了,那是mov

就像lz说的,这条指令真的什么作用都没有
2010-4-11 21:34
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
使我想起mov edi,edi,都是两个字节,大概是Hot-patching吧。
2010-4-12 16:33
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
当源操作数很简单的情况下,完全可以用mov指令代替lea指令,如lea esi,Buffer,完全可以用指令mov esi,offset Buffer代替;但当源操作数稍微复杂一点的话,单用mov指令就代替不了了,至少要用到算术运算指令。指令集中提供lea指令,就是为了减少这些计算上的麻烦。

制造出来的设备、工具是为了减轻人们的劳动强度和提高工作效率。犹如,用原始的铁锅、烧柴禾能够烧菜、做饭,用煤气灶、电饭锅也能烧菜、做饭,你愿意用哪个呢?
2010-4-12 16:52
0
雪    币: 2323
活跃值: (4113)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
6
我觉得是把ecx的内容扩展为双字节然后在存入ecx中!不知道对不对,还请高手请答!
2010-4-12 17:58
0
雪    币: 333
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
[QUOTE=Tangsir;789520]不同的

lea ecx, dword ptr ds:[ecx]

把ecx装的值作为地址 再把该地址的值 给ecx[/QUOTE]

如下

005475EE   .  8D45 EC       lea     eax, dword ptr [ebp-14]
EAX 0054C290 5winchm.0054C290
ECX 0012FF78
EDX 00000000
EBX 7FFD5000
ESP 0012FF80
EBP 0012FFC0
ESI FFFFFFFF
EDI 7C930228 ntdll.7C930228
EIP 005475EE 5winchm.005475EE

执行后eax为0012FFAC
即ebp-14=0012FFC0-14

005475F6   .  8B55 EC       mov     edx, dword ptr [ebp-14]
EAX 0012FFAC
ECX 00000000
EDX 00000000
EBX 7FFD5000
ESP 0012FF80
EBP 0012FFC0
ESI FFFFFFFF
EDI 7C930228 ntdll.7C930228
EIP 005475F6 5winchm.005475F6
执行后edx为00B9232C
即0012FFAC地址内的值
2010-4-12 19:13
0
游客
登录 | 注册 方可回帖
返回
//