| ²é¿´: 302 | »Ø¸´: 0 | |||
| µ±Ç°Ö÷ÌâÒѾ´æµµ¡£ | |||
sdlj8051½ð³æ (ÖøÃûдÊÖ)
|
[½»Á÷]
[תÌù]OD¸´ÖÆBUG·ÖÎöºÍÐÞÕý
|
||
|
ʹÓÃOD£¬´ÓÄÚ´æÇø¸´ÖÆÄÚ´æÊý¾ÝµÄʱºò£¬ÓÐʱºòÎÞ·¨½«ËùÓеÄÊý¾Ý¶¼¸´ÖƵ½¼ôÌù°å£¬Ó¦¸ÃÊÇodÒ»¸öbug£¬±¾ÎÄ˵ÒÔϸÃbugµÄ²úÉúÔÒòºÍ½â¾ö·½·¨¡£×îºó¸ø³öÒ»¸ö´¦Àí²¹¶¡¡£ ÎÒÕâÀï´¦ÀíµÄÊÇ OllyDbg v1.0 2005.3 ÐÞÕý°æ¡£ ÓÃÒ»¸öOD1¸½¼ÓÁíÍâÒ»¸öOD2£¬ÔÚOD2ÀïÃæ¸´ÖÆÄÚ´æÇøÄÚÈÝ¡£ À¹½Ø¼ôÌù°å²Ù×÷º¯Êý£¬µ½£º 0044AE96 |. 53 push ebx ; /hData 0044AE97 |. 6A 0D push 0D ; |Format = CF_UNICODETEXT 0044AE99 |. E8 E4460600 call ÆäÖÐ push ebx´«ÈëÊý¾Ý»º³åÇøÖ¸Õë¡£ ÉÏÃæÓк¯Êý´¦Àí×îÖÕÊäÈë¼ôÌù°åµÄÊý¾Ý£º 0044AE6B |. 52 push edx ; /Arg3 0044AE6C |. 50 push eax ; |Arg2 0044AE6D |. 8B45 0C mov eax,dword ptr ss:[ebp+C] ; | 0044AE70 |. 50 push eax ; |Arg1 0044AE71 |. E8 A2B7FFFF call OLLYDBG.00446618 ; \OLLYDBG.00446618 ÉÏÃæµÄcall OLLYDBG.00446618½«Óû§ÐèÒª¸´ÖƵÄÊý¾Ýת»»³ÉUnicode±àÂ룬ȻºóÌîÈëÊä³ö»º³åÇø£¬ÕâÊǸöÑ»·£¬²»ÄÜÒ»´ÎÐÔת»»Íê±Ï£¬ÐèÒªÒ»¿éÒ»¿é½øÐС£¹Ø¼üµØ·½ÈçÏ£º ½«¸´ÖƵÄÊý¾Ýת»»ÎªUNICODE±àÂ룺 00446A1C |> \68 00020000 ||push 200 ; /WideBufSize = 200 (512.) 00446A21 |. 8D95 78FAFFFF ||lea edx,dword ptr ss:[ebp-588] ; | 00446A27 |. 52 ||push edx ; |WideCharBuf 00446A28 |. 53 ||push ebx ; |StringSize 00446A29 |. 8D8D 78FDFFFF ||lea ecx,dword ptr ss:[ebp-288] ; | 00446A2F |. 51 ||push ecx ; |StringToMap 00446A30 |. 6A 01 ||push 1 ; |Options = MB_PRECOMPOSED 00446A32 |. 6A 00 ||push 0 ; |CodePage = CP_ACP 00446A34 |. E8 1D870600 ||call Íù»º³åÇøÌî³äת»»³öÀ´µÄUNICODEÊý¾Ý£º 00446CA7 |. 50 ||push eax ; /Êý¾Ý³¤¶È 00446CA8 |. 52 ||push edx ; |ÔʼÊý¾ÝµØÖ· 00446CA9 |. 8B4D D8 ||mov ecx,dword ptr ss:[ebp-28] ; | 00446CAC |. 03C9 ||add ecx,ecx ; | 00446CAE |. 034D CC ||add ecx,dword ptr ss:[ebp-34] ; | 00446CB1 |. 51 ||push ecx ; |»º³åÇøµØÖ· 00446CB2 |. E8 79C80500 ||call OLLYDBG.004A3530 ; \Ìî³äÊý¾Ý ÌîдÿÐкóÃæµÄ»Ø³µ»»ÐзûºÅ£º 00446CFE |. 66:C70441 0D0>|mov word ptr ds:[ecx+eax*2],0D ; Ìî³ä»»ÐзûºÅ 00446D04 |. FF45 D8 |inc dword ptr ss:[ebp-28] 00446D07 |. 8B55 CC |mov edx,dword ptr ss:[ebp-34] 00446D0A |. 8B4D D8 |mov ecx,dword ptr ss:[ebp-28] 00446D0D |. 66:C7044A 0A0>|mov word ptr ds:[edx+ecx*2],0A ; Ìîд»Ø³µ·ûºÅ ÉÏÃæµÄ MultiByteToWideChar ÊǹؼüµØ·½¡£Õâ¸öº¯ÊýÓÐʱºòת»»³öÀ´µÄÊý¾ÝÖÐ»á´æÔÚÁ¬Ðø2¸ö×Ö½ÚµÄ00¡£ ±ÈÈçÏÖÔÚÒª´ÓÄÚ´æÄ£¿é¸´ÖÆÒÔÏÂ2ÐÐÊý¾Ý£º 004029F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CC ............... 00402A00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ ÒÔÉÏÊý¾Ýת»»³ÉµÄunicode±àÂëÈçÏ£º 005F2320 30 00 30 00 34 00 30 00 32 00 39 00 46 00 30 00 0.0.4.0.2.9.F.0. 005F2330 20 00 20 00 30 00 30 00 20 00 30 00 30 00 20 00 . .0.0. .0.0. . 005F2340 30 00 30 00 20 00 30 00 30 00 20 00 30 00 30 00 0.0. .0.0. .0.0. 005F2350 20 00 30 00 30 00 20 00 30 00 30 00 20 00 30 00 .0.0. .0.0. .0. 005F2360 30 00 20 00 30 00 30 00 20 00 30 00 30 00 20 00 0. .0.0. .0.0. . 005F2370 30 00 30 00 20 00 30 00 30 00 20 00 30 00 30 00 0.0. .0.0. .0.0. 005F2380 20 00 30 00 30 00 20 00 30 00 30 00 20 00 43 00 .0.0. .0.0. .C. 005F2390 43 00 20 00 20 00 2E 00 2E 00 2E 00 2E 00 2E 00 C. . ........... 005F23A0 2E 00 2E 00 2E 00 2E 00 2E 00 2E 00 2E 00 2E 00 ................ 005F23B0 2E 00 2E 00 00 00 0D 00 0A 00 30 00 30 00 34 00 ..........0.0.4. 005F23C0 30 00 32 00 41 00 30 00 30 00 20 00 20 00 30 00 0.2.A.0.0. . .0. 005F23D0 30 00 20 00 30 00 30 00 20 00 30 00 30 00 20 00 0. .0.0. .0.0. . 005F23E0 30 00 30 00 20 00 30 00 30 00 20 00 30 00 30 00 0.0. .0.0. .0.0. 005F23F0 20 00 30 00 30 00 20 00 30 00 30 00 20 00 30 00 .0.0. .0.0. .0. 005F2400 30 00 20 00 30 00 30 00 20 00 30 00 30 00 20 00 0. .0.0. .0.0. . 005F2410 30 00 30 00 20 00 30 00 30 00 20 00 30 00 30 00 0.0. .0.0. .0.0. 005F2420 20 00 30 00 30 00 20 00 30 00 30 00 20 00 20 00 .0.0. .0.0. . . 005F2430 2E 00 2E 00 2E 00 2E 00 2E 00 2E 00 2E 00 2E 00 ................ 005F2440 2E 00 2E 00 2E 00 2E 00 2E 00 2E 00 2E 00 2E 00 ................ 005F2450 0D 00 0A 00 0D 00 0A 00 00 00 00 00 00 00 00 00 ................ ¿ÉÒÔ¿´µ½005F23B0ÄÇÐУº 005F23B0 2E 00 2E 00 00 00 0D 00 0A 00 30 00 30 00 34 00 ..........0.0.4. Ç°ÃæµÄ 2E 00 2E 00 ÊǵÚÒ»Ðе¹ÊýµÚ2¸öºÍµ¹ÊýµÚ3¸öÊý¾Ý£¬Ò²¾ÍÊDZ»004029F0ÄÇÐÐ×îºóµÄ2¸öСÊýµã£¬¶ø2E 00ºóÃæµÄÁ¬Ðø2¸ö00¾ÍÊÇÒòΪҪ¸´ÖƵÄÊý¾ÝCC±»ODת»»³ÉµÄ×Ö·ûÎÞ·¨±»×ª»»³ÉUnicode¶øÁôÏÂÀ´µÄ£¬ÔÙÍùºó0D 00 0A 00 Êǻسµ»»ÐС£ ¿´ÆðÀ´Óеã»ìÂÒ£¬Ö÷ÒªÊÇÎÒ±í´ï²»Ì«Çå³þ¡£ »»¾ä»°Ëµ£¬Òª¸´ÖƵÄÊý¾Ý£º 004029F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CC ...............@ ×ó±ßµÄÊý¾Ý±»ODÔÚÓÒ±ßÏÔʾ³ÉÏàÓ¦µÄASCIIÂ룬CC±»ÏÔʾ³ÉÒ»¸ö×Ö·û¶ø²»ÊÇСÊýµã£¬¼Ù¶¨ÊÇ @ £¬µ±È»Êµ¼ÊÉϲ»ÊÇ£¬Äã¿ÉÒÔÈ¥OD¿´Ò»Ï¡£È»ºó¸´ÖƵÄʱºò£¬ÄǸö@Ò²±»°üº¬Á˽øÈ¥£¬µ«ÊÇת»»unicodeÂëµÄʱºò±»×ª»»³ÉÁËÁ¬ÐøµÄ2¸ö00¡£ ÒòΪ¼ôÌù°å²Ù×÷Êý¾Ý½ö½ö¸ù¾ÝµÄ»º³åÇø¾ä±ú£¬ÊÇÊý¾ÝÖмä³öÏÖÁË2¸ö00£¬´Ó¶øµ¼ÖÂʹ00ºóÃæµÄÊý¾Ý±»ÊÓ¶ø²»¼û¡£ Óкܶà°ì·¨¿ÉÒÔ´¦ÀíÕâ¸öÎÊÌ⣬ÎÒÕâÀïÐÞÕýMultiByteToWideCharµÄÊä³öÊý¾Ý¡£ ÐÞÕýMultiByteToWideCharº¯Êý ¸Ãº¯Êý½«ÊäÈëµÄ×Ö·û´®×ª»»ÎªUnicode±àÂë¡£Èç¹ûÊäÈëµÄÊý¾ÝÖк¬ÓдóÓÚ0x80µÄ×Ö½Ú£¬¿ÉÄܻᵼÖÂÊä³öÊý¾ÝµÄ×îºó2¸ö×Ö½Ú¶¼Îª00£¬´Ó¶ø½Ø¶ÏÐèÒª¸´ÖƵÄÊý¾Ý¡£ ·ÖÎö£º Ãû³Æ RVA OA ³ß´çD ¿Éд·ñ .text 000b0000 000af600 -2048 ·ñ .data 0010b000 00109e00 -253440 ¿É .tls 0010c000 000cd000 -3584 ¿É .rdata 0010d000 000cd200 -3584 ·ñ .idata 0010f000 000ce400 -512 ·ñ .edata 00111000 000d0200 -3072 ·ñ .rsrc 00145934 00103f34 212 ·ñ .reloc 00152000 00110200 -512 ·ñ ÓÐЧʣÓà¿Õ¼ä(×Ö½ÚD)Ϊ: 212 Ñ¡¶¨ .rsrc ¶Î 00145954 ´¦ ¼´£º 00545954 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00545964 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ º¯Êýµ÷ÓÃÈçÏÂ: ;ecx -> ÊäÈ뻺³åÇø ;edx -> Êä³ö»º³åÇø ;ebx -> Êý¾Ý³¤¶È 00446A1C |> \68 00020000 ||push 200 ; /WideBufSize = 200 (512.) 00446A21 |. 8D95 78FAFFFF ||lea edx,dword ptr ss:[ebp-588] ; | 00446A27 |. 52 ||push edx ; |WideCharBuf 00446A28 |. 53 ||push ebx ; |StringSize 00446A29 |. 8D8D 78FDFFFF ||lea ecx,dword ptr ss:[ebp-288] ; | 00446A2F |. 51 ||push ecx ; |StringToMap 00446A30 |. 6A 01 ||push 1 ; |Options = MB_PRECOMPOSED 00446A32 |. 6A 00 ||push 0 ; |CodePage = CP_ACP 00446A34 |. E8 1D870600 ||call ;:00446A34 E81D870600 Call 004AF156 00446A39 |. 8BD8 ||mov ebx,eax ÏÂÃæ½øÐÐÐÞÕý£º 00446A1C |> \68 00020000 ||push 200 ÐÞ¸ÄΪ jmp 00545954 ÔÚ00545954´¦Ìí¼Ó´úÂ룺 lea edx,dword ptr ss:[ebp-588] ; | lea ecx,dword ptr ss:[ebp-288] ; | push ecx ;±£´æÊäÈ뻺³åÇøµØÖ· push edx ;±£´æÊä³ö»º³åÇøµØÖ· push 200 ; /WideBufSize = 200 (512.) push edx ; |WideCharBuf push ebx ; |StringSize push ecx ; |StringToMap push 1 ; |Options = MB_PRECOMPOSED push 0 ; |CodePage = CP_ACP call pop edx ;Êä³ö»º³åÇø pop ecx ;ÊäÈ뻺³åÇø mov ebx, eax ;»ñÈ¡Êä³ö»º³åÇø³¤¶È£¬ÕâÀï²ÉÓÃÉÏÃæAPIº¯Êý·µ»ØÖµ²»²ÉÓÃÔÀ´µÄÊäÈ볤¶È£¬ÒòΪÓÐʱºò²»Ò»Ñù add ebx, ebx add edx, ebx sub edx, 2 ;¶¨Î»µ½Êä³ö»º³åÇøµ¹ÊýµÚ2¸ö×Ö½Ú movzx ebx, word ptr [edx] cmp ebx , 0 je @F jmp 00446A39 ;·µ»Ø @@: mov byte ptr[edx], 01 ;Èç¹û×îºóÊÇÁ¬Ðø2¸ö00×Ö½Ú£¬ÄÇôдÈë01£¬ÕýÈ·ÐÔ²»¹ÜÁË£¬Èç¹ûÔ¸ÒâÄã¿ÉÒÔ×Ô¼ºÐÞÕý £º£© jmp 00446A39 ¹ØÓÚMultiByteToWideChar²úÉúÁ¬Ðø2¸ö×Ö½ÚµÄ00Çé¿ö£¬ÊÇÒòΪ¸Ãº¯Êý¼ÆËãÊý¾ÝµÄunicodeÂëÖ÷ÒªÊǸù¾Ý²é±í£¬Èç¹ûÊý¾ÝСÓÚ0x80£¬ÄÇô¾Í²»»á²úÉúÁ¬Ðø2¸ö×Ö½ÚµÄ00£¬Èç¹û´óÓÚ0x80£¬»áµ¼ÖÂÊý¾ÝÇ°ÒÆ£¬Ê¹µÃ×îºó2¸ö×Ö½ÚÊÇ00£¬Èç¹ûÔٴ󣨾ßÌå¶àÉÙûÑо¿£©£¬¾Í²»»áÓÐ00ÁË£¬²»¹ý²úÉúµÄÊý¾ÝÓ¦¸Ã²»¶Ô¡£ÓÐÐËȤµÄÅóÓÑ¿ÉÒÔ¿´¿´Õâ¸öº¯Êý£¬²¢²»¸´ÔÓ¡£ °´µÀÀíÍøÉÏ»òÕßʲôµØ·½Ó¦¸ÃÓйØÓÚÕâ¸öÇé¿öµÄ½âÊÍ£¬ÄÄλÏþµÃ²»·Á¸øÎÒ˵ÒÔÏ¡£ ÐÞ¸ÄÍê±Ï£¬¶Ôͬһ¶ÎÄڴ棬²âÊÔÒÔÏ¡£ ÐÞ¸ÄǰµÄ¿ÉÒÔ¸´ÖÆ£º 00402230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 56 ...............V 00402240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 66 ...............f 00402250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 78 ...............x 00402260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 88 ............... Ð޸ĺóµÄ°æ±¾¿ÉÒÔ¸´ÖÆ£º 00402250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 56 ...............V 00402260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 66 ...............f 00402270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 78 ...............x 00402280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 88 ............... 00402290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 98 ............... 004022A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F8 ............... 004022B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ ÎÒ²»Ì«¸Ò¸Äµ÷ÊÔÆ÷Ö®ÀàµÄ¶«Î÷£¬Å³öÁËÎÊÌâÓ°Ïì´ó¼Ò¹¤×÷£¬ËùÒÔÈç¹û·¢ÏÖÎÊÌâÇë¸øÎÒ˵ÒÔÏ£¬ÎҺøÄÕý¡£ ¶àл£¡ [ Last edited by sdlj8051 on 2006-10-6 at 11:27 ] |
» ²ÂÄãϲ»¶
Ò»Ö¾Ô¸»¦9£¬326ÇóÉúÎïѧµ÷¼Á
ÒѾÓÐ7È˻ظ´
»¯¹¤Ñ§Ë¶294·Ö£¬Çóµ¼Ê¦ÊÕÁô
ÒѾÓÐ24È˻ظ´
085600²ÄÁÏÓ뻯¹¤329·ÖÇóµ÷¼Á
ÒѾÓÐ10È˻ظ´
284Çóµ÷¼Á
ÒѾÓÐ10È˻ظ´
¸´ÊÔµ÷¼Á
ÒѾÓÐ18È˻ظ´
310Çóµ÷¼Á
ÒѾÓÐ16È˻ظ´
274Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
245Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
Óб¬ÁÏ£¬Ò»¸öÇàÄê½ÌʦÂô·¿µÃ400Íò£¬È»ºó»»ÁËÒ»¸öËÄÇàñ×Ó
ÒѾÓÐ11È˻ظ´
290Çóµ÷¼Á
ÒѾÓÐ15È˻ظ´














»Ø¸´´ËÂ¥