能力值:
( LV9,RANK:380 )
|
-
-
2 楼
如果你反汇编过一个C程序,你一定会看到类似:
sub esp,8或者 add esp,8 之类的。
add esp,0c 其实就是恢复堆栈。这个在C语言中很普遍,堆栈由自己清除。
|
能力值:
(RANK:210 )
|
-
-
3 楼
说明函数有三个参数吧
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
我知道有3个参数,但应该前面有个ESP-0C,调用完成后再esp+0c.现在只有加,没有减.所以返回后esp出错.如果手动把esp+c给nop掉,程序就能顺利执行.这是为什么?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
PUSH XXX
PUSH XXXXX
PUSH XXXXXXX
CALL XXXXX
ADD ESP,0C
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
PUSH XXX
PUSH XXXXX
PUSH XXXXXXX
CALL XXXXX
ADD ESP,0C
这些在程序中都有,原来的程序中前面还有个 dec esp,0c
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
stdcall调用不是子程序自动恢复堆栈??
|
|
|