ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡ÔĶÁ¹ý³Ì·¢ÏÖÈκδíÎóÇë¸æËßÎÒÃÇ£¬Ð»Ð»£¡£¡ ±¨¸æ´íÎó
°ËÍòС˵Íø ·µ»Ø±¾ÊéĿ¼ ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ½øÈëÊé°É ¼ÓÈëÊéÇ©

windows»·¾³ÏÂ32λ»ã±àÓïÑÔ³ÌÐòÉè¼Æ-µÚ12²¿·Ö

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡



µÈÂÖµ½³ÌÐò1µÄʱ¼äƬµÄʱºò°Ñ·µ»ØÖµµ±×öSendMessageµÄ·µ»ØÖµ´«¸ø³ÌÐò1£¬ÕâÑù³ÌÐò1¿´ÉÏÈ¥¾ÍÏñ×Ô¼ºÖ±½ÓÔÚµ÷ÓóÌÐò2µÄ´°¿Ú¹ý³ÌÒ»Ñù¡£

µ«ÓÖÒ»¸öÎÊÌâ³öÏÖÁË£ºWindowsÔÚ×ö¡°Ç£ÏߺìÄµÄʱºò´«µÝÁËwParamºÍlParamÒÔ¼°·µ»ØÖµ£¬Èç¹û²ÎÊýÖ¸ÏòÒ»¸ö×Ö·û´®ÄØ£¬±ÈÈç˵ÉÏÃæµÄWM_SETTEXTÏûÏ¢ÖеÄlParamÖ¸ÏòÒ»¸ö×Ö·û´®£¬¼ÙÉè³ÌÐò1ÖÐlParamÖ¸Ïò×Ö·û´®µÄµØַΪxxxxxxxx£¬°ÑÕâ¸öµØÖ·´«¸ø³ÌÐò2µÄʱºò£¬³ÌÐò2²»¿ÉÄÜ·ÃÎʵ½³ÌÐò1µÄµØÖ·¿Õ¼ä£¬ÔÚ³ÌÐò2ÖÐxxxxxxxxÖ¸ÏòµÄ¿ÉÄÜÊÇÆäËûÄÚÈÝ£¬Ò²¿ÉÄÜÊDz»¿É·ÃÎʵģ¬ÕâÓÖ¸ÃÈçºÎ´¦ÀíÄØ£¿

дһ¸öÔ´³ÌÐòʵÑéһϣ¬ÓÃÒ»¸ö³ÌÐòÏòÁíÒ»¸ö³ÌÐòµÄ´°¿Ú·¢ËÍWM_SETTEXTÏûÏ¢£¬È»ºóÔÚÁíÒ»¸ö³ÌÐòÖн«½ÓÊÕµ½µÄWM_SETTEXTÏûÏ¢µÄ²ÎÊýÏÔʾ³öÀ´¡£ÏÈÀ´´òÔì½ÓÊÕ³ÌÐò£¬Ê×ÏÈ¿½±´Ò»·ÝFirstWindowsµÄ´úÂ룬ȻºóÔÚ´°¿Ú¹ý³ÌµÄ·ÖÖ§ÖмÓÉÏÒÔÏ´úÂ룺

¡£elseif¡¡¡¡¡¡eax¡¡¡¡WM_SETTEXT

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡wsprintf£»addr¡¡szBuffer£»addr¡¡szReceive£»lParam£»lParam

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡MessageBox£»hWnd£»offset¡¡szBuffer£»addr¡¡szCaptionMain£»MB_OK

ͬʱÔÚÊý¾Ý¶ÎÖмÓÉÏÏÂÁж¨Ò壺

szCaptionMain¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Receive¡¡Message'£»0

szReceive¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Receive¡¡WM_SETTEXT¡¡message'£»0dh£»0ah

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'param£º¡¡£¥08x'£»0dh£»0ah

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'text£º¡¡¡¨£¥s¡¨'£»0dh£»0ah£»0

ÔÚÕâÀҪÌá¼°Win32¡¡APIÖÐÒ»¸öºÜ³£Óõĺ¯Êýwsprintf£¬ÕâÊÇÒ»¸ö×Ö·û´®¸ñʽ»¯º¯Êý£¬¿ÉÒÔ½«ÊýÖµ°´Ö¸¶¨¸ñʽ·­Òë³É×Ö·û´®£¬ÀàËÆÓÚCÓïÑÔÖеÄprintfº¯Êý£¬ËüµÄÔ­ÐÍÊÇÕâÑùµÄ£º

int¡¡wsprintf£¨

¡¡¡¡¡¡¡¡LPTSTR¡¡lpOut£»¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Êä³ö»º³åÇøµØÖ·

¡¡¡¡¡¡¡¡LPCTSTR¡¡lpFmt£»¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¸ñʽ»¯´®µØÖ·

¡¡¡¡¡¡¡¡¡£¡£¡£¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡±äÁ¿Áбí

¡¡¡¡¡¡£©£»

±äÁ¿ÁбíµÄÊýÄ¿Óɸñʽ»¯×Ö·û´®¹æ¶¨£¬wsprintf´¦Àí¸ñʽ»¯×Ö·û´®£¬Óöµ½ÆÕͨµÄ×Ö·ûÔòÖ±½Ó¿½±´µ½Êä³ö£¬Óöµ½£¥×Ö·ûÔò´ú±íÓÐÒ»¸ö±äÁ¿£¬£¥ºóÃ治ͬµÄ×Öĸ±íʾ²»Í¬µÄÊä³ö¸ñʽ£¬È磥d±íʾÊä³öΪÕûÊý£¬£¥x±íʾÊä³öΪ16½øÖÆ£¬£¥s±íʾÊä³ö×Ö·û´®µÈ¡£

£¥·ûºÅºÍ±íʾ¸ñʽµÄd£¬xºÍsµÈ×Öĸ¼ä¿ÉÒÔÓÃÊý×ÖÀ´Ö¸¶¨Êä³öʱռÓõÄ볤£¬ÕâʱÊä³öµÄ볤²»¹»Ê±º¯Êý»áÓÿոñÌîÆë¡£ÁíÍ⣬±íʾ볤µÄÊý×ÖÇ°¿ÉÒÔ¼Ó0À´±íʾÌîÆëʱÓá°0¡±¶ø·Ç¿Õ¸ñ£¬È磥08x±íʾÊä³öΪ8λǰÃæÓÃ0ÌîÆëµÄ16½øÖÆÊý¡£wsprintfÊÇWin32¡¡APIÖÐΩһһ¸ö²ÎÊýÊýÁ¿²»¶¨µÄº¯Êý£¬Ê¹ÓÃwsprintfº¯ÊýµÄʱºò£¬²ÎÊýµÄÊýÁ¿È¡¾öÓÚ¸ñʽ»¯×Ö·û´®ÖÐÓ㥺ÅÖ¸¶¨µÄÊýÁ¿£¬±äÁ¿ÁбíµÄÊýÄ¿ºÍ¸ñʽ»¯´®Öеģ¥¸ñʽһ¶¨ÒªÒ»Ò»¶ÔÓ¦¡£ÕâÀïszReceiveÖÐÓÐÁ½¸ö£¥ºÅ¶¨Ò壬ÄÇôºóÃæ¾ÍÒª¶îÍâ¸úÁ½¸ö²ÎÊý£º

¡¡¡¡¡¡¡¡invoke¡¡¡¡wsprintf£»addr¡¡szBuffer£»addr¡¡szReceive£»lParam£»lParam

ÕâÌõÓï¾ä½«lParamµÄÊýÖµÒÔ¼°lParamµÄ×Ö·û´®°´ÕÕszReceive¸ñʽ»¯´®¶¨ÒåµÄ¸ñʽת»»£¬²¢½«½á¹û´æ·Åµ½szBufferÖУ¬È»ºó³ÌÐò½«szBufferÖеÄÄÚÈÝÔÚÒ»¸öÏûÏ¢¿òÖÐÏÔʾ³öÀ´£º

¡¡¡¡¡¡¡¡invoke¡¡¡¡MessageBox£»hWnd£»offset¡¡szBuffer£»addr¡¡szCaptionMain£»MB_OK

½ÓÊÕ³ÌÐòдºÃÁË£¬ÏÖÔÚÀ´Ð´Ò»¸ö·¢ËͳÌÐò£¬ÈçÏÂËùʾ£º

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£386

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£model¡¡flat£»stdcall

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡option¡¡casemap£ºnone

£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·

include¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡windows¡£inc

include¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡user32¡£inc

includelib¡¡¡¡¡¡¡¡¡¡user32¡£lib

include¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡kernel32¡£inc

includelib¡¡¡¡¡¡¡¡¡¡kernel32¡£lib

£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£data

hWnd¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡£¿

szBuffer¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡256¡¡dup¡¡£¨£¿£©

£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nst

szCaption¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡'SendMessage'£»0

szStart¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡'Press¡¡OK¡¡to¡¡start¡¡SendMessage£»¡¡param£º¡¡£¥08x£¡'£»0

szReturn¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡'SendMessage¡¡returned£¡'£»0

szDestClass¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡'MyClass'£»0

szText¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡'Text¡¡send¡¡to¡¡other¡¡windows'£»0

szNotFound¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡'Receive¡¡Message¡¡Window¡¡not¡¡found£¡'£»0

£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡de

start£º

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡FindWindow£»addr¡¡szDestClass£»NULL

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡hWnd£»eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡wsprintf£»addr¡¡szBuffer£»addr¡¡szStart£»addr¡¡szText

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡MessageBox£»NULL£»offset¡¡szBuffer£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡offset¡¡szCaption£»MB_OK

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SendMessage£»hWnd£»WM_SETTEXT£»0£»addr¡¡szText

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡MessageBox£»NULL£»offset¡¡szReturn£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡offset¡¡szCaption£»MB_OK

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£else

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡MessageBox£»NULL£»offset¡¡szNotFound£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡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¡£

Òª·¢Ë͵ÄÊÇÄ£Äâ¼üÅÌ°´¼üµÄÏûÏ¢WM_CHAR£¬ÕâÑù¾ÍºÃÏñÔÚ¼Çʱ¾ÖÐÈ˹¤¼üÈë×Ö·û£
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨7£© ²È£¨5£©
δÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡