CLD
;store hash
push 0x1234567
push 0x1e1f1212
push 0x0c917432
mov esi, esp
lea edi, [esi - 0xc]
想请教最后一句 lea edi, [esi - 0xc]
想问下,为什么是减0xc呢,这句执行以后,edi是指向哪里 ?
小弟一直琢磨这句,苦思不得其解啊~~
------解决方案--------------------------------------------------------
减0xc是为了给局部变量留出栈空间,最后edi指向了栈顶的后0x0c字节处
一下示意图
| |
| |
| |<---------edi (esi-0x0c);edi的最终的位置
|
|
长度0x0C (这一段就可以存取其他的数据了)
|
|
| |<---------esp(esi)
| |
| |
|_|<--------栈底