¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡offset¡¡¡¡szCaption£»MB_OK
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡ExitProcess£»NULL
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡end¡¡¡¡¡¡¡¡start
ÔÚÕâ¸ö³ÌÐòÖÐÊ×ÏÈÓÃFindWindowº¯ÊýÕÒµ½½ÓÊÕ´°¿ÚµÄ´°¿Ú¾ä±ú£¬FindWindowº¯ÊýµÄʹÓ÷½·¨ÊÇ£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡FindWindow£»lpClassName£»lpWindowName
¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡hWin£»eax
¡¡¡¡¡¡¡¡¡£endif
Á½¸ö²ÎÊý¶¼Ö¸Ïò×Ö·û´®£¬lpClassNameÖ¸ÏòÐèҪѰÕҵĴ°¿ÚµÄ´°¿ÚÀ࣬lpWindowNameÖ¸ÏòÐèҪѰÕÒ´°¿ÚµÄ´°¿Ú±êÌ⣬Èç¹ûÄ¿±ê´°¿Ú´æÔڵϰ£¬º¯ÊýµÄ·µ»ØÖµÊÇÕÒµ½µÄ´°¿Ú¾ä±ú£¬·ñÔòº¯Êý·µ»Ø0¡£
ÓýÓÊÕ´°¿ÚµÄ´°¿ÚÀ൱×ö²ÎÊýѰÕÒ´°¿Ú£¬Èç¹ûûÓÐÕÒµ½ÔòÏÔʾ¡°Receive¡¡Message¡¡Window¡¡not¡¡found¡±£¬ÕÒµ½µÄ»°Ôò°Ñ¡°Text¡¡send¡¡to¡¡other¡¡windows¡±×Ö·û´®µÄµØÖ·µ±×öWM_SETTEXTÏûÏ¢µÄ²ÎÊýÓÃSendMessage·¢Ë͸ø½ÓÊÕ´°¿Ú¡£Á½¸ö³ÌÐòµÄÔ´´úÂë¿ÉÒÔÔÚËù¸½´ø¹âÅ̵ÄChapter04SendMessageĿ¼ÖÐÕÒµ½¡£
ºÃ£¡ÏÖÔÚ·¢ËÍ¿ªÊ¼£¬Ê×ÏÈÖ´ÐÐReceive¡£exe£¬´°¿Ú³öÀ´ÁË£¬È»ºóÖ´ÐÐSend¡£exe£¬ÆÁÄ»ÉϳöÏÖÒ»¸ö¶Ô»°¿ò£ºPress¡¡OK¡¡to¡¡start¡¡SendMessage£»¡¡param£º¡¡00402072£¬±íʾÔÚSend³ÌÐòÖÐ×Ö·û´®µÄµØÖ·ÊÇ00402072h£¬ÏÖÔÚµ¥»÷¡°È·¶¨¡±°´Å¥Ö´ÐÐSendMessageº¯Êý£¬µ¥»÷ºó¶Ô»°¿òÏûʧ£¬µ«½ÓÊÕ³ÌÐòÏÔʾ³öÁËÒ»¸ö¶Ô»°¿ò£¬ÄÚÈÝΪ£º
Receive¡¡WM_SETTEXT¡¡message
param£º¡¡0012ff1c
text£º¡¡¡¨Text¡¡send¡¡to¡¡other¡¡windows¡¨
¿É¼û×Ö·û´®ÊÇÕýÈ·µØ´«Á˹ýÀ´£¬µ«µØÖ·È´²»ÊÇ·¢ËͳÌÐòµÄ00402072h£¬ÕâÊÇÔõô»ØÊÂÄØ£¿´ð°¸ÊÇWindows×ö¡°ºìÄ×öµ½µ×£¬Ëü¿½±´ÁËWM_SETTEXTÏûÏ¢lParamÖ¸ÏòµÄ×Ö·û´®£¬²¢ÔÚ½ÓÊÕ³ÌÐòµÄµØÖ·¿Õ¼äÖпªÁËÒ»¿éÄÚ´æ·ÅÉÏÕâ¸ö×Ö·û´®£¬È»ºó°ÑеĵØÖ·Öµµ±×ölParam´«¸ø½ÓÊÕ³ÌÐò£¬±Ï¾¹ÔÚWM_GETTEXTÏûÏ¢ÖУ¬lParamµÄÊýÖµÊǶàÉÙ²¢²»ÖØÒª£¬ÖØÒªµÄÊÇËüÖ¸ÏòµÄ×Ö·û´®ÊÇ·ñÕýÈ·¡£
×îºó£¬µ¥»÷Receive¡¡³ÌÐòÖеġ°È·¶¨¡±°´Å¥£¬Send³ÌÐòÂíÉϻᵯ³öÒ»¸öÏûÏ¢¿ò²¢ÏÔʾ£ºSendMessage¡¡returned£¬ÕâÊÇSendMessageº¯Êý¸æËßÎÒÃÇ£ºÎÒ»ØÀ´ÁË£¡
ÆäʵWindowsÔÚ´¦ÀíSendMessageºÍPostMessageµÄʱºòÒª¼ì²éÏûÏ¢µÄÀàÐÍ£¬²¢¶Ô²»Í¬µÄÏûÏ¢×ö²»Í¬µÄ´¦Àí£¬µ±ÏûÏ¢µÄ²ÎÊýÊÇÒ»¸öÖ¸ÕëµÄʱºò£¬WindowsÒª°ÑÖ¸ÕëÖ¸ÏòµÄÄÚÈݸ´ÖƵ½»º³åÇø£¬ÒÔ±ãÔÚÁ½¸ö³ÌÐòµÄµØÖ·¿Õ¼äÖд«µÝ¡£
¡¡ÔÚÓû§×Ô¶¨ÒåµÄÏûÏ¢ÖУ¨WM_USERµÈ£©²»ÒªÔÚÏûÏ¢²ÎÊýÖд«µÝÖ¸Õ룬ÕâÖ»»áÒý·¢·Ç·¨·ÃÎÊÄڴ棬ÒòΪWindows²»ÖªµÀÓû§µÄÒâͼ£¬ËüÖ»»á°ÑlParamºÍwParamµ±Á½¸öÆÕͨµÄÊýÖµ´«µÝ£¬¶ø²»»á°ïÓû§°ÑÖ¸ÕëÖ¸ÏòµÄÄÚÈݸ´ÖƵ½Ò»¸ö»º³åÇøÖС£
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔÆ±ò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ4Õ¡¡µÚÒ»¸ö´°¿Ú³ÌÐò
4¡£4¡¡Êµ¡¡Ñ飨1£©
¡¡¡¡¡¡¡¡
ÔÚÕâÒ»½ÚÖУ¬½«Í¨¹ý²»Í¬µÄʵÑ飬½øÒ»²½½éÉÜ´°¿ÚµÄÔËÐС£Ê×Ïȹ¹ÔìÒ»¸ö³ÌÐò£¬ÔÚ³ÌÐòÖн«ÊÕµ½µÄÏûÏ¢²é±í·Òë³ÉÎı¾ÒÔ¡°WM_XXX¡±¸ñʽÏÔʾ³öÀ´£¬²¢ÇÒ½«µ÷Óø÷¸öAPIº¯ÊýµÄ¹ý³ÌÒ²ÏÔʾ³öÀ´£¬ÕâÑù¿ÉÒÔ·ÖÎö´°¿ÚµÄ¸÷ÖÖÐÐΪºÍÏûÏ¢Ö®¼äµÄ¹ØÏµ¡£
4¡£4¡£1¡¡¡¡MsgWindow³ÌÐò
ΪÁ˰ÑÐèÒªµÄÄÚÈÝÏÔʾ³öÀ´£¬¿ÉÒÔÑ¡ÔñÔÚ¿Í»§ÇøÏÔʾÎı¾£¬µ«ÕâÑù»áÒýÈëеÄÏûÏ¢£¬¸ÉÈÅʵÑ飬ËùÒÔ£¬ÕâÀïÑ¡ÔñÁËÒ»ÖÖÐµķ½·¨£¬¾ÍÊÇÏÈ´ò¿ªWindows¸½¼þÖÐ×Ô´øµÄNotepad¼Çʱ¾³ÌÐò£¬È»ºóÔÚ³ÌÐòÖн«ÒªÏÔʾµÄÄÚÈÝͨ¹ýSendMessage·¢Ë͵½¼Çʱ¾ÖУ¬¿ÉÒÔͨ¹ý²é¿´¼Çʱ¾ÖеÄÄÚÈÝÀ´Á˽âMsgWindowµÄÔËÐÐÇé¿ö¡£
ͬÑù£¬ÏÈ¿½±´Ò»·ÝFirstWindow³ÌÐò½øÐÐÐ޸쬹²Ôö¼Ó3¸ö²¿·Ö¡£µÚÒ»²¿·ÖÊǽ«ÏûÏ¢²é±íת»»Îª×Ö·û´®£¬Ê×ÏÈÔÚ¡¡nst¶ÎÖÐÔö¼ÓÁ½¸ö±í£º16½øÖƵÄÏûÏ¢±àºÅÁбídwMsgTableºÍ×Ö·û´®ÁбíszStringTable£¬Á½±íÖеÄÏîĿһһ¶ÔÓ¦£¬´úÂëÈçÏ£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nst
dwMsgTable¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡¡¡WM_NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡¡¡WM_CREATE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡¡¡WM_DESTROY
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡¡¡WM_MOVE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡¡¡WM_EXITSIZEMOVE
MSG_TABLE_LEN¡¡¡¡¡¡¡¡equ¡¡¡¡¡¡¡¡¡¡¡¡£¨¡¡¡¡¡dwMsgTable£©/sizeof¡¡dword
¡¡
MSG_STRING_LEN¡¡¡¡¡¡equ¡¡¡¡¡¡¡¡¡¡¡¡sizeof¡¡szStringTable
szStringTable¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'WM_NULL¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'£»0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db'WM_CREATE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'£»0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'WM_DESTROY¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'£»0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'WM_MOVE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'£»0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'WM_EXITSIZEMOVE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'£»0
szFormat¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'WndProc£º¡¡£§£¥04x£§£¥s¡¡£¥08x¡¡£¥08x'£»0dh£»0
MSG_TABLE_LEN¶¨ÒåÁ˱íµÄÏîÊý£¬MSG_STRING_LEN¶¨ÒåÁË×Ö·û´®±íÖÐÿһÏîµÄ³¤¶È¡£sizeof²Ù×÷·ûÈ¡µÄÊÇszStringTableÕâÒ»ÐÐÖеÄÊý¾Ý³¤¶È£¬¶ø·Ç°üÀ¨ÏÂÃæÈ«²¿µÄ×Ö·û´®ÐС£ÎªÁ˼ò»¯´¦Àí£¬È«²¿×Ö·û´®µÄ³¤¶È±£³ÖÏàµÈ¡£ÓÉÓÚÆª·ùËùÏÞ£¬ÕâÀïûÓÐÁгöÈ«²¿µÄÏûÏ¢ÁÐ±í£¬ÍêÕûµÄÔ´´úÂë¿ÉÒÔÔÚ±¾Ê鸽´ø¹âÅ̵ÄChapter04MsgWindow01Ŀ¼ÖÐÕÒµ½¡£³ÌÐòÔÚ´°¿Ú¹ý³ÌµÄÈë¿Ú´¦µ÷ÓÃ_ShowMessage×Ó³ÌÐòÀ´·ÒëÏûÏ¢²¢´«¸ø¼Çʱ¾£º
_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¡£
Òª·¢Ë͵ÄÊÇÄ£Äâ¼üÅ̰´¼üµÄÏûÏ
СÌáʾ£º°´ »Ø³µ [Enter] ¼ü ·µ»ØÊéÄ¿£¬°´ ¡û ¼ü ·µ»ØÉÏÒ»Ò³£¬ °´ ¡ú ¼ü ½øÈëÏÂÒ»Ò³¡£
ÔÞÒ»ÏÂ
Ìí¼ÓÊéÇ©¼ÓÈëÊé¼Ü