![]() |
#2
zjsxwc2011-12-31 19:47
|
有如下一段代码:
push 0x1e380a6a ;messageboxa函数名的hash值
push 0x4fd18963 ;exitprocess函数名的hash值
push 0x0c917432 ;loadlibrarya函数名的hash值
mov esi,esp
lea edi,[esi-0xc]
...
call [edi-0x04] ;调messageboxa函数
...
call [edi-0x08] ;调exitprocess函数
...
现在的问题是调messageboxa函数好象应该是call [edi+0x04]?因为edi离栈顶有0xc的距离,加上0x4恰好等于messageboxa函数,但事实上我理解的不对,谁能解释为什么会是“-”?