我刚看老罗的书有一点不大明白,就是下面这段代码中为什么要在 DefWindowProc,hWnd,uMsg,wParam,lParam
ret
这个函数调用后加一个RET指令,而前面的函数调用都没有加?我认为既然前面都没有ret指令也能返回0那么这个函数没有RET应该也能返回吧,结果我把这个RET指令去掉后窗口就不显示了。我比较菜,希望大侠们不要笑,给我解释下~~谢谢大家了。
.if eax == WM_PAINT
invoke BeginPaint,hWnd,addr @stPs
mov @hDc,eax
invoke GetClientRect,hWnd,addr @stRect
invoke DrawText,@hDc,addr szText,-1,
addr @stRect,
DT_SINGLELINE or DT_CENTER or DT_VCENTER
invoke EndPaint,hWnd,addr @stPs
;********************************************************************
.elseif eax == WM_CLOSE
invoke DestroyWindow,hWinMain
invoke PostQuitMessage,NULL
;********************************************************************
.else
invoke DefWindowProc,hWnd,uMsg,wParam,lParam
ret
.endif
;********************************************************************
xor eax,eax
ret
[课程]Linux pwn 探索篇!