首页
社区
课程
招聘
[旧帖] [求助]OllyDBG 入门系列(三)-函数参考 这个帖子没看懂啊 0.00雪花
发表于: 2013-8-7 20:49 1796

[旧帖] [求助]OllyDBG 入门系列(三)-函数参考 这个帖子没看懂啊 0.00雪花

2013-8-7 20:49
1796
地址:http://bbs.pediy.com/showthread.php?s=&threadid=21330

004013F2 |. 8D0C89            LEA ECX,DWORD PTR DS:[ECX+ECX*4]            ; 把前面运算后保存在ECX中的结果乘5再送到ECX
004013F5 |. 8D0C48            LEA ECX,DWORD PTR DS:[EAX+ECX*2]            ; 每位字符运算后的值与2倍上一位字符运算后值相加后送ECX

这两句不懂啊,前面运算结果怎么就保存在ecx里了呢?

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 30
活跃值: (36)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
LEA:load affective address 加载/传送有效地址
DS:[ECX+ECX*4] 这条指令标示该地址中的值
LEA ECX,DWORD PTR DS:[ECX+ECX*4]    这条指令的意思就是  ecx=ecx*5
2013-8-7 22:08
0
雪    币: 60
活跃值: (434)
能力值: ( LV5,RANK:65 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=闪光灯主;1207413]LEA:load affective address 加载/传送有效地址
DS:[ECX+ECX*4] 这条指令标示该地址中的值
LEA ECX,DWORD PTR DS:[ECX+ECX*4]    这条指令的意思就是  ecx=ecx*5[/QUOTE]

LEA是获取地址啊

LEA ECX,DWORD PTR DS:[ECX+ECX*4]

是把ecx*5的地址赋给ecx吧
2013-8-8 08:41
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
LEA ECX,DWORD PTR DS:[ECX+ECX*4]    这条指令的意思就是  ecx=ecx*5

LEA ECX,DWORD PTR DS:[ECX*5],为啥不这么搞?效率原因?
2013-8-8 08:55
0
雪    币: 60
活跃值: (434)
能力值: ( LV5,RANK:65 )
在线值:
发帖
回帖
粉丝
5
[QUOTE=makefriend;1207488]LEA ECX,DWORD PTR DS:[ECX+ECX*4]    这条指令的意思就是  ecx=ecx*5

LEA ECX,DWORD PTR DS:[ECX*5],为啥不这么搞?效率原因?[/QUOTE]

为啥是把地址给ecx呢 不是用mov呢???
2013-8-8 09:12
0
雪    币: 60
活跃值: (434)
能力值: ( LV5,RANK:65 )
在线值:
发帖
回帖
粉丝
6
我明白了。
LEA ECX,DWORD PTR DS:[ECX+ECX*4] 就是把ecx+ecx*4的值放入ecx
如果用mov 就是把[ECX+ECX*4] 地址所存的值放入ecx了。

004013D5  |.  8D35 C4334000 lea esi,dword ptr ds:[0x4033C4]          ;  取字符串首地址 到esi
看这个就会明白 esi中放的是0x4033C4,而不是 ds:[0x4033C4]地址的值。如果要取值,用mov。
2013-8-8 10:58
0
游客
登录 | 注册 方可回帖
返回
//