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

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

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




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

£»¡¡¼ÆËã16½øÖƵ½10½øÖÆ

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

_HexToDec¡¡¡¡¡¡¡¡¡¡¡¡¡¡proc

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡local¡¡¡¡¡¡@szBuffer£§512£§£ºbyte

¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GetDlgItemText£»hWinMain£»IDC_HEX£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡addr¡¡@szBuffer£»sizeof¡¡@szBuffer

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lea¡¡¡¡¡¡¡¡¡¡esi£»@szBuffer

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡cld

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xor¡¡¡¡¡¡¡¡¡¡eax£»eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡ebx£»16

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£while¡¡¡¡TRUE

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡movzx¡¡¡¡¡¡ecx£»byte¡¡ptr¡¡£§esi£§

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡inc¡¡¡¡¡¡¡¡¡¡esi

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£break¡¡¡¡¡£if¡¡£¡¡¡ecx

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡cl¡¡¡·¡¡'9'

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡sub¡¡¡¡¡¡¡¡¡¡cl£»'A'¡¡¡­¡¡0ah

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡sub¡¡¡¡¡¡¡¡¡¡cl£»'0'

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mul¡¡¡¡¡¡¡¡¡¡ebx

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add¡¡¡¡¡¡¡¡¡¡eax£»ecx

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endw

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡wsprintf£»addr¡¡@szBuffer£»addr¡¡szFmtHexToDec£»eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SetDlgItemText£»hWinMain£»IDC_DEC£»addr¡¡@szBuffer

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret

¡¡

_HexToDec¡¡¡¡¡¡¡¡¡¡¡¡¡¡endp

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

£»¡¡¼ÆËã10½øÖƵ½16½øÖÆ

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

_DecToHex¡¡¡¡¡¡¡¡¡¡¡¡¡¡proc

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡local¡¡¡¡¡¡@szBuffer£§512£§£ºbyte

¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GetDlgItemInt£»hWinMain£»IDC_DEC£»NULL£»FALSE

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡wsprintf£»addr¡¡@szBuffer£»addr¡¡szFmtDecToHex£»eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SetDlgItemText£»hWinMain£»IDC_HEX£»addr¡¡@szBuffer

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret

¡¡

_DecToHex¡¡¡¡¡¡¡¡¡¡¡¡¡¡endp

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

_ProcDlgMain¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡proc¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡uses¡¡ebx¡¡edi¡¡esi¡¡hWnd£»wMsg£»wParam£»lParam

¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»wMsg

£»********************************************************************

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡EndDialog£»hWnd£»NULL

£»********************************************************************

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£elseif¡¡eax¡¡¡¡¡¡WM_INITDIALOG

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡hWinMain£»eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SendDlgItemMessage£»hWnd£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡IDC_HEX£»EM_LIMITTEXT£»8£»0

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SendDlgItemMessage£»hWnd£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡IDC_DEC£»EM_LIMITTEXT£»10£»0

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GetDlgItem£»hWnd£»IDC_HEX

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SetWindowLong£»eax£»GWL_WNDPROC£»addr¡¡_ProcEdit

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡lpOldProcEdit£»eax

£»********************************************************************

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£elseif¡¡eax¡¡¡¡¡¡WM_MAND

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»wParam

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡£¡¡¡dwOption

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡dwOption£»TRUE

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡ax¡¡¡¡¡¡¡¡IDC_HEX

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡_HexToDec

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£elseif¡¡ax¡¡¡¡¡¡¡¡IDC_DEC

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡_DecToHex

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡dwOption£»FALSE

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»FALSE

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»TRUE

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret

¡¡

_ProcDlgMain¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡endp

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

start£º

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GetModuleHandle£»NULL

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡hInstance£»eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡DialogBoxParam£»hInstance£»DLG_MAIN£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡NULL£»offset¡¡_ProcDlgMain£»NULL

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡ExitProcess£»NULL

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



¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡


µÚ9Õ¡¡Í¨Óÿؼþ


9¡£5¡¡´°¿ÚµÄ×ÓÀ໯£¨3£©

¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡end¡¡¡¡¡¡¡¡¡¡start

³ÌÐòÔËÐкó½«ÏÔʾÈçͼ9¡£9ËùʾµÄ¶Ô»°¿ò£¬ÉÏÃæµÄ±à¼­¿Ø¼þÊǾ­¹ý×ÓÀ໯µÄ£¬Ö»ÄÜÊäÈë16½øÖÆ×Ö·û£¬µ±ÊäÈë×Öĸa¡«fµÄʱºò£¬²»¹ÜÊäÈëµÄÊÇ´óд»¹ÊÇСд×Öĸ£¬¶¼»á±»¿Ø¼þת»»³É´óд×Öĸ¡£ÏÂÃæµÄ±à¼­¿òÊÇES_NUMBER·ç¸ñµÄ£¬¿ÉÒÔÊäÈëÊý×Ö¡£²»¹ÜÔÚÄĸö±à¼­¿òÖÐÊäÈëÊýÖµ£¬³ÌÐò»áÂíÉϽøÐÐת»»²¢½«½á¹ûÔÚÁíÒ»¸ö±à¼­¿òÖÐÏÔʾ³öÀ´¡£


ͼ9¡£9¡¡¡¡´°¿Ú×ÓÀ໯Àý×ÓµÄÔËÐнçÃæ

³ÌÐòÔÚ¶Ô»°¿òµÄ³õʼ»¯ÏûÏ¢WM_INITDIALOGÖжÔÕâÁ½¸ö±à¼­¿Ø¼þ·¢ËÍEM_LIMITTEXTÏûÏ¢£¬ÒÔ´ËÏÞÖÆÄܹ»ÊäÈëµÄ×î´ó×Ö·û³¤¶È£¬½ÓÏÂÀ´³ÌÐòͨ¹ýGetDlgItem»ñÈ¡IDC_HEX±à¼­¿òµÄ´°¿Ú¾ä±ú£¬²¢Ê¹ÓÃSetWindowLongº¯Êý½«±à¼­¿òµÄд°¿Ú¹ý³ÌÉèÖõ½_ProcEdit×Ó³ÌÐòÖУ¬·µ»ØµÄÔ­´°¿Ú¹ý³ÌµØÖ·±»±£´æµ½lpOldProcEdit±äÁ¿ÖУº

¡¡¡¡¡¡¡¡invoke¡¡¡¡GetDlgItem£»hWnd£»IDC_HEX

¡¡¡¡¡¡¡¡invoke¡¡¡¡SetWindowLong£»eax£»GWL_WNDPROC£»addr¡¡_ProcEdit

¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡lpOldProcEdit£»eax

ÕâÑù£¬µ±WindowsÏòIDC_HEX±à¼­¿ò·¢ËÍÏûϢʱ£¬_ProcEdit×Ó³ÌÐò¾Í»áÊÕµ½ÏûÏ¢£¬ÔÚ_ProcEditÖÐÎÒÃǽö´¦Àí¸ÐÐËȤµÄWM_CHARÏûÏ¢£¬³ÌÐòÔÚÊý¾Ý¶ÎÖж¨ÒåÁËÒ»¸öÔÊÐíÊäÈëµÄ×Ö·û±í£¬±íÖаüÀ¨0¡«9¡¢´óСдµÄA¡«FÒÔ¼°Í˸ñ¼ü£¨Èç¹û²»ÔÊÐíÊäÈëÍ˸ñ¼üµÄ»°½«ÎÞ·¨ÐÞÕýÊäÈë´íÎ󣩡£È»ºóÔÚ´¦ÀíWM_CHARÏûϢʱʹÓÃscasbÖ¸Áî½øÐвé±í£¬Èç¹û×Ö·ûÔÚ±íÖУ¬Ôò½«WM_CHARÏûϢͨ¹ýCallWindowProcº¯Êýת·¢¸øÔ­À´µÄ´°¿Ú¹ý³Ì£¬Èç¹û²»ÔÚ±íÖÐÔòÖ±½Ó·µ»Ø£¬Ï൱ÓÚ¶ªÆúÁËÕâ¸ö°´¼ü¶¯×÷¡£´úÂëÈçÏ£º

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

szAllowedChar¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡'0123456789ABCDEFabcdef'£»08h

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¡£¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»wParam¡¡¡¡£»WM_CHARÏûÏ¢ÖеÄÒ»¶Î´úÂë

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡edi£»offset¡¡szAllowedChar

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡ecx£»sizeof¡¡szAllowedChar

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡repnz¡¡¡¡¡¡scasb

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡ZERO£¿

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡al¡¡¡·¡¡'9'

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡and¡¡¡¡¡¡¡¡¡¡al£»not¡¡20h

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡CallWindowProc£»lpOldProcEdit£»hWnd£»uMsg£»eax£»lParam

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif

ÔÚת·¢Ö®Ç°£¬³ÌÐò»¹¶Ô×Ö·û½øÐÐÅжϣ¬Èç¹û×Ö·ûÊÇСдµÄa¡«fµÄ»°£¨±íÖеÄ×Ö·ûÖдóÓÚ¡°9¡±µÄ¿Ï¶¨ÊÇ×Öĸ£©£¬Ôòͨ¹ýand¡¡al£»not¡¡20hÓï¾ä½«×Öĸת»»³É´óд£¬ÒòΪ´óд×ÖĸµÄASCIIÂë´Ó41h¿ªÊ¼£¬Ð¡Ð´×Öĸ´Ó61h¿ªÊ¼£¬ÕâÑùµÄ¼ÆËã·½·¨¶Ô´óд×ÖĸûÓÐÓ°Ï죬¶ÔСдµÄÔò¸ÕºÃÄܹ»×ª»»³É´óдµÄ¡£³ÌÐò½«ÆäËûËùÓеÄÏûÏ¢Ô­·â²»¶¯µØת·¢¸øÔ­À´µÄ´°¿Ú¹ý³Ì£¬ÕâÑù²ÅÄÜÈñ༭¿Ø¼þµÄ´°¿Ú¹ý³ÌΪÎÒÃÇÍê³É¿Ø¼þµÄÆäËû¹¦ÄÜ¡£

ת·¢ÏûϢʹÓÃÁËCallWindowProcº¯Êý£¬Õâ¸öº¯Êý½öÆðµ½½«²ÎÊýÈëÕ»ºÍµ÷ÓÃÖ¸¶¨µØÖ·µÄ×÷Ó㬶ÔÓÚÏÂÃæµÄÓï¾äÎÒÃÇÍêÈ«¿ÉÒÔÓÃ×Ô¼ºµ÷ÓÃlpOldProcEditµÄ·½·¨À´´úÌæËü£º

¡¡¡¡¡¡¡¡invoke¡¡¡¡CallWindowProc£»lpOldProcEdit£»hWnd£»uMsg£»eax£»lParam

ÏÂÃæµÄ´úÂë¾Í¿ÉÒÔÍê³ÉͬÑùµÄ¹¦ÄÜ£º

¡¡¡¡¡¡¡¡push¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lParam

¡¡¡¡¡¡¡¡push¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡eax

¡¡¡¡¡¡¡¡push¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡uMsg

¡¡¡¡¡¡¡¡push¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hWnd

¡¡¡¡¡¡¡¡call¡¡¡¡¡¡¡¡lpO¡¡¡¡¡¡¡¡¡¡ldProcEdit

³ÌÐòÖеÄÆäËû´úÂëÓ¦¸ÃËãÊÇÏ൱¼òµ¥µÄ£¬_DecToHex×Ó³ÌÐòÊÇ10½øÖƵ½16½øÖƵÄת»»×Ó³ÌÐò£¬×Ó³ÌÐòÖÐÓÃGetDlgItemIntº¯Êý¶ÁÈë±à¼­¿òÖеÄ10½øÖÆÊýÖµ£¬²¢ÓÃwsprintfת»»³É16½øÖÆÊýÖµµÄ×Ö·û´®²¢ÏÔʾµ½IDC_HEX±à¼­¿òÖУ»_HexToDecÊÇ16½øÖƵ½10½øÖƵÄת»»×Ó³ÌÐò£¬ÓÉÓÚ²¢Ã»ÓÐÏֳɵÄת»»º¯Êý£¬ËùÒÔÔÚ×Ó³ÌÐòÖÐ˳Ðò¶ÁÈë×Ö·û²¢Ã¿´Îͨ¹ý³ËÒÔ16À´½øÐмÆËã¡£

³ÌÐòÖл¹ÓÐÒ»¸ö¼¼ÇÉ¡£ÓÉÓÚʹÓÃSetDlgItemTextÉèÖñ༭¿òÎı¾µÄʱºò£¬±à¼­¿ò»á·¢ËÍWM_MANDÏûÏ¢£¬ÓÉÓÚÒ»ÊÕµ½Ä³¸öWM_MANDÏûÏ¢¾Í½øÐÐת»»¼ÆË㣬²¢ÔÙ´ÎʹÓÃSetDlgItemTextº¯Êý½«¼ÆËã½á¹ûÏÔʾÔÚÁíÒ»¸ö±à¼­¿òÖУ¬ÕâÑù¾Í»
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨0£©
δÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡