¡¶windows»·¾³ÏÂ32λ»ã±àÓïÑÔ³ÌÐòÉè¼Æ¡·

ÏÂÔØ±¾Êé

Ìí¼ÓÊéÇ©

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


°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡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] ¼ü ·µ»ØÊéÄ¿£¬°´ ¡û ¼ü ·µ»ØÉÏÒ»Ò³£¬ °´ ¡ú ¼ü ½øÈëÏÂÒ»Ò³¡£ ÔÞһϠÌí¼ÓÊéÇ©¼ÓÈëÊé¼Ü