能力值:
( LV4,RANK:50 )
|
-
-
2 楼
1、为什么是减0xc呢? 需联系上下文
2、edi=esp-0xC
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
push 0x1234567
push 0x1e1f1212
push 0x0c917432
这么个数据入栈,正好是12个字节(0xc)
edi = esi - 0xc,而esi = esp,所以edi就是第一个入栈数据的指针
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
[QUOTE=leonpedy;1065037]CLD
;store hash
push 0x1234567
push 0x1e1f1212
push 0x0c917432
mov esi, esp
lea edi, [esi - 0xc]
想请教最后一句 lea edi, [esi - 0xc]
想问下,为什么是减0xc呢,...[/QUOTE]
1.这个需要引用上下文 下文中可能要对edi 或 esp 进行操作
这里的edi + 0xc 才是esp的寄存器的内容
2. edi = [esp - 0xc] 取的是 esp - 0xc 以后的 esp的寄存器内容 注意:不是内存中的内容
如果原始的esp = 0x0012ff3c 那么 edi = 0x0012ff30
|
能力值:
( LV3,RANK:20 )
|
-
-
5 楼
呵呵,貌似我解错了
|
|
|