ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
windows»·¾³ÏÂ32λ»ã±àÓïÑÔ³ÌÐòÉè¼Æ-µÚ15²¿·Ö
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡
_ProcWinMain¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡proc¡¡¡¡¡¡¡¡uses¡¡ebx¡¡edi¡¡esi£»hWnd£»uMsg£»wParam£»lParam
¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡_ShowMessage£»uMsg£»wParam£»lParam
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»uMsg
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡eax¡¡¡¡¡¡WM_XXX
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
_ShowMessage×Ó³ÌÐòÓÃÀ´½«ÏûÏ¢²é±í·Òë³É×Ö·û´®£¬Ô´³ÌÐòÈçÏ£º
_ShowMessage¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡proc¡¡¡¡¡¡¡¡¡¡¡¡¡¡_uMsg£»_wParam£»_lParam
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡local¡¡¡¡¡¡@szBuffer£§128£§£ºbyte
¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pushad
£»********************************************************************
£»¡¡²éÕÒÏûÏ¢µÄ˵Ã÷×Ö·û´®
£»********************************************************************
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡eax£»_uMsg
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡edi£»offset¡¡dwMsgTable
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ecx£»MSG_TABLE_LEN
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡cld
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡repnz¡¡¡¡¡¡scasd
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ZERO£¿
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡sub¡¡¡¡¡¡¡¡¡¡edi£»offset¡¡dwMsgTable¡¡£«¡¡sizeof¡¡dword
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡shr¡¡¡¡¡¡¡¡¡¡edi£»2
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»edi
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡ecx£»MSG_STRING_LEN
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mul¡¡¡¡¡¡¡¡¡¡ecx
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add¡¡¡¡¡¡¡¡¡¡eax£»offset¡¡szStringTable
£»********************************************************************
£»¡¡·Òë¸ñʽ²¢·¢Ë͵½¡¡Notepad¡¡´°¿Ú
£»********************************************************************
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡wsprintf£»addr¡¡@szBuffer£»addr¡¡szFormat£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_uMsg£»eax£»_wParam£»_lParam
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡_SendtoNotepad£»addr¡¡@szBuffer
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡popad
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡
_ShowMessage¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡endp
ÔÚÕâÀïÒªÓõ½repnz¡¡scasdÖ¸ÁscasdÖ¸ÁîÊÇ°ÑeaxÖеÄÖµ´Ó£§edi£§¿ªÊ¼µÄÄÚ´æÖа´Ë«×ֱȽϣ¬Í¬Ê±½«edi¼Ó4£¬Èç¹ûÏàµÈ£¬ÔòZR±êÖ¾ÖÃ룬·ñÔòΪNZ£¬repnz±íʾÈç¹û±ê־ΪNZ£¬ÔòÒÔecxΪÖظ´´ÎÊýÖظ´ËÑË÷£¬Ö±µ½ÏàµÈ»òecxΪÁãΪֹ¡£
½«ecx¸³ÖµÎªÏûÏ¢±íµÄÏîÊýMSG_TABLE_LEN£¬½«edi¸³ÖµÎªÏûÏ¢±íµÄ¿ªÊ¼µØÖ·offset¡¡dwMsgTable£¬È»ºó¿ªÊ¼²éÕÒ£¬Í£Ö¹ºó¿ÉÒԲ鿴±êÖ¾Zero룬Èç¹ûÊÇ·ÇZERO£¬±íʾ²éÍêÈ«²¿¶¼Ã»ÓÐÕÒµ½£¬Èç¹ûÊÇZERO£¬Ôò±íʾÕÒµ½±íÏî¡£
µ±±ê־ΪZEROʱ£¬ediÖ¸ÏòÕÒµ½ÏîÄ¿µÄºóÒ»Ï½«edi¼õÈ¥Ò»ÏîµÄ³¤¶È£¨sizeof¡¡dword£©ÒÔ¼°±íµÄ»ùÖ·£¬ÔÙ³ýÒÔ±íÏîµÄ³¤¶È£¨sizeof¡¡dwordµÈÓÚ4£¬³ýÒÔ4µÈÓÚÓÒÒÆÁ½Î»£¬ËùÒÔ³ÌÐòÖÐÓÃshr¡¡edi£»2£©£¬¾ÍÊÇÏûÏ¢ÔÚ±íÖеÄË÷ÒýÁË£¬½ÓÏÂÀ´Ëã³öÏûÏ¢×Ö·û´®µÄλÖã¬Î»ÖõÈÓÚ£ºË÷Òý¡Á×Ö·û´®³¤£«×Ö·û´®±í»ùÖ·£¬´úÂëÈçÏ£º
¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡ecx£»MSG_STRING_LEN
¡¡¡¡¡¡¡¡mul¡¡¡¡¡¡¡¡¡¡ecx
¡¡¡¡¡¡¡¡add¡¡¡¡¡¡¡¡¡¡eax£»offset¡¡szStringTable
ÕâÑù£¬eaxÖоÍÊÇ×Ö·û´®µÄµØÖ·ÁË¡£×îºó½«ÏûÏ¢±àºÅ¡¢Ãû³ÆºÍ²ÎÊýÓÃwsprintfº¯Êý¸ñʽ»¯³É¿ÉÒÔ·¢Ë͵Ä×Ö·û´®´æ·Åµ½@szBufferÖУ¬²¢ÓÃ_SendtoNotepad×Ó³ÌÐò½«@szBufferÖеÄÄÚÈÝ·¢Ë͵½¼Çʱ¾È¥¡£
³ÌÐòÔö¼ÓµÄµÚ¶þ²¿·Ö¾ÍÊÇÏÂÃæÕâ¸ö_SendtoNotepad×Ó³ÌÐò£º
szDestClass¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Notepad'£»0
_SendtoNotepad¡¡¡¡¡¡proc¡¡¡¡¡¡¡¡¡¡¡¡_lpsz
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡local¡¡¡¡¡¡¡¡¡¡@hWinNotepad
¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pushad
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡¡¡FindWindow£»addr¡¡szDestClass£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡¡¡¡¡eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡ecx£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡ChildWindowFromPoint£»ecx£»20£»20
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡¡¡¡¡eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡@hWinNotepad£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡esi£»_lpsz
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡@@£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lodsb
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡or¡¡¡¡¡¡¡¡¡¡¡¡¡¡al£»al
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡jz¡¡¡¡¡¡¡¡¡¡¡¡¡¡@F
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡movzx¡¡¡¡¡¡¡¡eax£»al
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡PostMessage£»@hWinNotepad£»WM_CHAR£»eax£»1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡jmp¡¡¡¡¡¡¡¡¡¡¡¡@B
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡@@£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡popad
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡
_SendtoNotepad¡¡¡¡¡¡endp
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
vÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ4Õ¡¡µÚÒ»¸ö´°¿Ú³ÌÐò
4¡£4¡¡Êµ¡¡Ñ飨2£©
¡¡¡¡¡¡¡¡
¸Ã×Ó³ÌÐòÖÐÊ×ÏÈÓÃFindWindowº¯ÊýÀ´²éÕÒ¼Çʱ¾³ÌÐòÊÇ·ñÒѾÔËÐУ¬¼Çʱ¾³ÌÐòµÄ´°¿ÚÀàÃû³ÆΪ¡°Notepad¡±£¬FindWindow¿ÉÒÔÓô°¿ÚÀ൱×öµÚÒ»¸ö²ÎÊýÀ´²éÕÒ£¬Èç¹ûÕÒµ½£¬·µ»ØµÄÊǼÇʱ¾³ÌÐòµÄÖ÷´°¿Ú¾ä±ú£¬·ñÔò·µ»Ø0¡£
Òª·¢Ë͵ÄÊÇÄ£Äâ¼üÅÌ°´¼üµÄÏûÏ¢WM_CHAR£¬ÕâÑù¾ÍºÃÏñÔÚ¼Çʱ¾ÖÐÈ˹¤¼üÈë×Ö·û£¬µ«Ö±½ÓÏò¼Çʱ¾Ö÷´°¿Ú·¢ËÍWM_CHARÏûÏ¢ÊDz»Ðеģ¬ÒªÏò¼Çʱ¾´°¿Ú¿Í»§ÇøÖеıà¼×Ó´°¿Ú·¢ËÍÏûÏ¢²ÅÐУ¬ËùÒÔ³ÌÐòÖÐÓÖÓôÓλÖûñÈ¡×Ó´°¿Ú¾ä±úµÄº¯ÊýChildWindowFromPointÀ´»ñµÃ±à¼×Ó´°¿ÚµÄ¾ä±ú¡£
Ëø¶¨ÁË×îºóµÄÄ¿±ê¼´¼Çʱ¾Öеıà¼×Ó´°¿Úºó£¬³ÌÐòÓÃPostMessageÏòËü·¢ËÍÏûÏ¢£¬¸ù¾Ý×Ö·û´®µÄ³¤¶È£¬ÓÃÒ»¸öÑ»·Ã¿´Î·¢ËÍÒ»¸öWM_CHARÏûÏ¢£¬WM_CHARÏûÏ¢µÄwParamºÍlParamµÄº¬ÒåÊÇ£º
wParam¡¡=¡¡chCharCode¡¡¡¡¡¡¡¡//¡¡wParamÊǼüÖµ
lParam¡¡=¡¡lKeyData¡¡¡¡¡¡¡¡¡¡¡¡//¡¡lParamÊǼüÊý¾Ý£¨Öظ´´ÎÊý£©
³ÌÐòÖÐÓÃmov¡¡eax£»al½«¼üÖµÀ©Õ¹µ½²ÎÊýËùÐèµÄ32룬µ±×öwParam²ÎÊý·¢ËÍ£¬lParamΪ1£¬±íʾ¼üµÄÖظ´´ÎÊýΪ1´Î£¬ÕâÑùÒ»À´£¬¼Çʱ¾ÖоÍÔ´Ô´²»¶ÏµØÏÔʾ³öMsgWindow³ÌÐòµÄÔËÐй켣ÁË¡£
MsgWindow³ÌÐòÔö¼ÓµÄµÚÈý²¿·ÖÊÇÔÚÿ¸öº¯ÊýµÄÇ°ºóÔö¼ÓÁËÏÔʾ״̬µÄÓï¾ä£¬ËüÃÇÖ»ÊǼòµ¥µØ°ÑÒ»¸ö×Ö·û´®·¢Ë͵½¼Çʱ¾ÖÐÈ¥£º
£»¶¨ÒåһЩ×Ö·û´®
szCreateWindow1¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Creating¡¡Window¡£¡£¡£'£»0dh£»0
szCreateWindow2¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'CreateWindow¡¡end'£»0dh£»0
szShowWindow1¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Showing¡¡Window¡£¡£¡£'£»0dh£»0
szShowWindow2¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'ShowWindow¡¡end'£»0dh£»0
szUpdateWindow1¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Updating¡¡Window¡£¡£¡£'£»0dh£»0
szUpdateWindow2¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'UpdateWindow¡¡end'£»0dh£»0
szGetMsg1¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Getting¡¡Message¡£¡£¡£'£»0dh£»0
szGetMsg2¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'£§£¥04x£§Message¡¡gotten'£»0dh£»0
szDispatchMsg1¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Dispatching¡¡Message¡£¡£¡£'£»0dh£»0
szDispatchMsg2¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'DispatchMessage¡¡end'£»0dh£»0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡_SendtoNotepad£»addr¡¡szCreateWindow1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡CreateWindowEx£»¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡_SendtoNotepad£»addr¡¡szCreateWindow2
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡_SendtoNotepad£»addr¡¡szShowWindow1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡ShowWindow£»hWinMain£»SW_SHOWNORMAL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡_SendtoNotepad£»addr¡¡szShowWindow2
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡_SendtoNotepad£»addr¡¡szUpdateWindow1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡UpdateWindow£»hWinMain
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡_SendtoNotepad£»addr¡¡szUpdateWindow2
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÃæ´úÂëÖеĴÖÌ岿·Ö¾ÍÊÇÏà¶ÔÓÚFirstWindow³ÌÐòÔö¼ÓµÄÄÚÈÝ£¬ºÃÁË£¬ÏÖÔÚDOS¿ØÖÆ̨ÉϼüÈënmake½«MsgWindow³ÌÐò±àÒë³öÀ´£¬È»ºó´ò¿ª¼Çʱ¾£¬ÔÙÔËÐÐMsgWindow¡£exe£¬Èç¹û¼Çʱ¾ÉϳöÏÖÒ»´ó¶ÑµÄ¶«Î÷£¬¾Í˵Ã÷ʵÑé¿ÉÒÔ¿ªÊ¼ÁË£¡
4¡£4¡£2¡¡¡¡¿ªÊ¼ÊµÑé
ʵÑé1¡£¡¡ÑéÖ¤ÊÕµ½ÏûÏ¢µÄ˳Ðò
´ò¿ª¼Çʱ¾£¬È»ºóÔËÐÐMsgWindow³ÌÐò£¬¼Çʱ¾ÉϳöÏÖµÄÄÚÈÝΪ£º
Creating¡¡Window¡£¡£¡£
WndProc£º¡¡£§0024£§WM_GETMINMAXINFO¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡0012fda4
WndProc£º¡¡£§0081£§WM_NCCREATE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡0012fd8c
WndProc£º¡¡£§0083£§WM_NCCALCSIZE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡0012fdc4
WndProc£º¡¡£§0001£§WM_CREATE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡0012fd68
CreateWindow¡¡end
Showing¡¡Window¡£¡£¡£
WndProc£º¡¡£§0018£§WM_SHOWWINDOW¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000001¡¡00000000
WndProc£º¡¡£§0046£§WM_WINDOWPOSCHANGING¡¡¡¡¡¡00000000¡¡0012fec0
WndProc£º¡¡£§0046£§WM_WINDOWPOSCHANGING¡¡¡¡¡¡00000000¡¡0012fec0
WndProc£º¡¡£§001c£§WM_ACTIVATEAPP¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000001¡¡00000450
WndProc£º¡¡£§0086£§WM_NCACTIVATE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000001¡¡00000000
WndProc£º¡¡£§000d£§WM_GETTEXT¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡000001fe¡¡0012f52c
WndProc£º¡¡£§0006£§WM_ACTIVATE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000001¡¡00000000
WndProc£º¡¡£§0007£§WM_SETFOCUS¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000
WndProc£º¡¡£§0085£§WM_NCPAINT¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000001¡¡00000000
WndProc£º¡¡£§000d£§WM_GETTEXT¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡000001fe¡¡0012f52c
WndProc£º¡¡£§0014£§WM_ERASEBKGND¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡e3010449¡¡00000000
WndProc£º¡¡£§0047£§WM_WINDOWPOSCHANGED¡¡¡¡¡¡¡¡00000000¡¡0012fec0
WndProc£º¡¡£§0005£§WM_SIZE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00450064
WndProc£º¡¡£§0003£§WM_MOVE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡004b0038
ShowWindow¡¡end
Updating¡¡Window¡£¡£¡£
WndProc£º¡¡£§000f£§WM_PAINT¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000
UpdateWindow¡¡end
Getting¡¡Message¡£¡£¡£
ÒÔWndProc´øÍ·µÄÊÇÔÚ´°¿Ú¹ý³ÌÖÐÊÕµ½µÄÏûÏ¢£¬ÏÔÈ»£¬ºÍ4¡£2¡£4½ÚÖн²ÊöµÄÊÇÒ»Öµģ¬ÔÚµ÷ÓÃCreateWindowExµÄʱºò£¬´°¿Ú¹ý³Ì¾Í¿ªÊ¼½ÓÊÕÏûÏ¢£¬ÀïÃæÓÐÖØÒªµÄWM_CREATE£¬È»ºóÔÚShowWindowµÄʱºò£¬WindowsÏò´°¿Ú¹ý³Ì·¢ËÍÁ˺ܶàµÄÏûÏ¢£¬¶øUpdateWindowÖ»¸ø´°¿Ú¹ý³Ì·¢ËÍÁËÒ»ÌõWM_PAINTÏûÏ¢£¬½ÓÏÂÀ´¾Í½øÈëÁËÏûϢѻ·¡£
¿ÉÒÔ¿´µ½£¬GetMessageº¯ÊýÊdzÌÐòÖ÷¶¯ÉϽ»¿ÕÏÐʱ¼äµÄ°ì·¨Ö®Ò»£¬ÒòΪÏÔʾ³öGetting¡¡Message¡£¡ÒԺ󣬳ÌÐò¾ÍµÈ×ÅÄÇÀïÁË£¬Õâ±íʾ³ÌÐòµÄ¿ÕÏÐʱ¼ä²¢²»ÀË·ÑÔÚÏûϢѻ·ÖУ¬¶øÊÇÔÚGetMessageº¯ÊýÄÚ²¿ÓÉWindows×Ô¼º·ÖÅäÁË¡£
½ÓÏÂÀ´°ÑÊó±êÒƹýMsgWindow´°¿Ú£¬ÔÚ¼Çʱ¾ÉÏ¿´µ½ÁËʲô£¿Óû§Ò»¸öССµÄ¶¯×÷¾Í¹»´°¿Ú¹ý³ÌæµÄ¡ª¡ªÎÒÃÇ¿´µ½Á˶à´ÎÖظ´µÄÏÂÁÐÄÚÈÝ£º
WndProc£º¡¡£§0084£§WM_NCHITTEST¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00830096
WndProc£º¡¡£§0020£§WM_SETCURSOR¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡001b0304¡¡02000001
£§0200£§Message¡¡gotten
Dispatching¡¡Message¡£¡£¡£
WndProc£º¡¡£§0200£§WM_MOUSEMOVE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡0038005e
DispatchMessage¡¡end
Getting¡¡Message¡£¡£¡£
Ê×ÏÈ£¬WindowsÔÚGetMessageûÓзµ»ØµÄʱºò¾Íµ÷ÓÃÁËÁ½´Î´°¿Ú¹ý³Ì£¬·Ö±ðÊÇ´¦ÀíWM_NCHITTESTºÍWM_SETCURSOR£¬ËüÃDz¢²»¾¹ýÏûϢѻ·£»È»ºó£¬GetMessageÈ¡µ½£§0200£§ÏûÏ¢²¢·µ»Ø£¬0200ÊÇWM_MOUSEMOVEÏûÏ¢µÄ±àºÅ£»½ÓÏÂÀ´£¬DispatchMessageº¯Êý¿ªÊ¼¹¤×÷£¬ÔÚÕâ¸öº¯ÊýµÄÄÚ²¿£¬ÏûÏ¢±»Windows·¢Ë͸ø´°¿Ú¹ý³Ì´¦Àí£¬×îºóDispatchMessage·µ»Ø£¬È»ºó¿ªÊ¼ÐµÄGetMessage¡£
×îºóÔÚMsgWindowÉϵ¥»÷¡°¹Ø±Õ¡±°´Å¥£¬¿´·¢ÉúÁËʲô£º
£§00a1£§Message¡¡gotten
Dispatching¡¡Message¡£¡£¡£
WndProc£º¡¡£§00a1£§WM_NCLBUTTONDOWN¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000014¡¡003d0097
WndProc£º¡¡£§0215£§WM_CAPTURECHANGED¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000
WndProc£º¡¡£§0112£§WM_SYSMAND¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡0000f060¡¡003d0097
WndProc£º¡¡£§0010£§WM_CLOSE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000
WndProc£º¡¡£§0046£§WM_WINDOWPOSCHANGING¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡0012fad8
WndProc£º¡¡£§0047£§WM_WINDOWPOSCHANGED¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡0012fad8
WndProc£º¡¡£§0086£§WM_NCACTIVATE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000
WndProc£º¡¡£§0006£§WM_ACTIVATE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000
WndProc£º¡¡£§001c£§WM_ACTIVATEAPP¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000450
WndProc£º¡¡£§0008£§WM_KILLFOCUS¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000
WndProc£º¡¡£§0002£§WM_DESTROY¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000
WndProc£º¡¡£§0082£§WM_NCDESTROY¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000
DispatchMessage¡¡end
Getting¡¡Message¡£¡£¡£
£§0012£§Message¡¡gotten
GetMessageÊÕµ½µÄÊÇ°´ÏÂÊó±êµÄWM_NCLBUTTONDOWNµÄÏûÏ¢£¬ÓÉDispatchMessageת¸ø´°¿Ú¹ý³Ì´¦Àíºó£¬´°¿Ú¹ý³Ì½«ËüתÊÖ¸øÁËDefWindowProc£¬DefWindowProc¸ù¾ÝÊó±êµÄλÖõóö½áÂÛ£ºÓû§°´µÄÊÇ¡°¹Ø±Õ¡±°´Å¥£¬·Å¿ªÊó±êºó£¬Ëü¾Í¸ø´°¿Ú¹ý³Ì·¢ËÍWM_CLOSEÏûÏ¢£¬µ±´°¿Ú¹ý³Ìµ÷ÓÃDestroyWindowºó£¬´°¿Ú±»´Ý»Ù£¬´°¿Ú¹ý³Ì×îºóÊÕµ½µÄÊÇWM_DESTROYÏûÏ¢ºÍWM_NCDESTROYÏûÏ¢£¬¶øÏûϢѻ·ÖÐGetMessage×îºóÊÕµ½µÄÊÇ0012ºÅWM_QUITÏûÏ¢£¬ÏûϢѻ·½áÊø¡£
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷Õ
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾Ñé½±Àø£¬ÈÏÕæдԴ´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾Ñé½±ÀøŶ£¡