汇编–一个rep stosd循环的简单理解

源代码:

IDA汇编代码:

rep stosd循环:
从lea edi , [EBP+arg_0] 开始,到rep stosd 结束。EDI中存入的是循环操作的起始地址,ECX存入的是循环次数,EAX是循环填入的值。这一段的操作就是从EBP+var_40处开始,循环十次,向下依次填入CCCCCCCC,写入的长度由EAX决定,32位。

OD动态调试:

初始状态:

EDI赋值:

ECX EAX 赋值:

循环一次,ECX减一,将EDI地址处写入CCCCCCCC,EDI存入下一个地址

循环第二次:

.........

 

JGE跳转
前≥后则跳转,注意可能直观上与源代码中有些不同,这里的跳转是跳过if语句,直接跳转到之后的语句。

文章同步到我的博客:http://www.zjzhhb.com/archives/571

禁止转载

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值