¡¾Æƽâ×÷Õß¡¿ windycandy
¡¾Ê¹Óù¤¾ß¡¿ ODdyk,LordPe,Peid 0.94,ImportREC1.6
¡¾Æƽâƽ̨¡¿ Win XP sp1
¡¾Èí¼þÃû³Æ¡¿ ASProtect 2.11 SKEÖ®advanced import protection
¡¾Èí¼þ¼ò½é¡¿ ASProtect SKE  2.1x build 03.13ÔÚ¿´Ñ©¹¤¾ßÏÂÔØÇøÏÂÔصĶÔ98notepad¼Ó¿Çʱ,
             ÓÃÁ˳ýÁËprotect original entrypointÍâµÄÑ¡ÏûÓÐstolen code,ÓбäÐÎÂë 
¡¾ÆƽâÉùÃ÷¡¿ ÎÒÊÇһֻС²ËÄñ£¬Å¼µÃÒ»µãÐĵã¬Ô¸Óë´ó¼Ò·ÖÏí£º£©
--------------------------------------------------------------------------------
¡¾ÆƽâÄÚÈÝ¡¿


1.Ç°ÑÔ

   5Ô¿´Ñ©ÂÛ̳ÈÈÄÖ·Ç·²£¬¼¤ÇéÑóÒ磬ÏÈÊÇAsprotect£¬ÔÙµ½themidaÒ»¹ø¶Ë£¬ÖÚλǰ±²ºÍ¸ßÊÖ³öÊÖ£¬¾«Æ·Çî³ö²»¾¡£¬
·ÅÖ®ÂÛ̳ÓëÖÚÈË·ÖÏí£¬ÊµÔÚÊÇÎҵȲËÄñĪ´óµÄ¸£·Ö¡£Ï§ÎҵȲËÄñ¹¦Á¦²»Éî.½ñ¿´ÂÛ̳ÓйØAsprotectµÄÎÄÕÂÒѾ­
ÊÇÒ»¶Ñ¶ÑÒ»ÂáÂᣬÓÈÆäÊÇVolx´óÏÀµÄÍѿǽű¾ÒѾ­ºÜÍêÃÀÁË¡£±¾ÎÊÖ»ÒªÊÇÁ·Ï°ÊÖ¶¯ÍÑAdvanced Import protection
£¬½öÒÔ´ËÎÄÏ׸øºÍÎÒÒ»ÑùµÄ²ËÄñ¡£¸ßÊÖÂÔ¹ý¡£ÉùÃ÷±¾ÎÄÊÇѧϰ¿´Ñ©ÀÏʦµÄ¾­µä×÷¡¶Asprotect SKE 2.2 µÄAdvanced 
Import protection±£»¤¼¼Êõ¡·Íê³ÉµÄ¡£

2.¹ý³Ì

Ê×ÏÈ£¬µ½OEPºó½øÈëcall XXXXXXXX,¶ÔÕÕ¿´Ñ©ºÍ8100303Á½Î»ÀÏʦµÄ½Ì³Ì£¬ÕÒµ½ÒÔϼ¸¸ö¹Ø¼üµã´¦

00ACA7D6     8B7C82 68               mov edi,dword ptr ds:[edx+eax*4+68]
00ACA7DA     8B06                    mov eax,dword ptr ds:[esi]
00ACA7DC     FFD7                    call edi
00ACA7DE     8845 CA                 mov byte ptr ss:[ebp-36],al
00ACA7E1     8B45 F4                 mov eax,dword ptr ss:[ebp-C]
00ACA7E4     8A40 4A                 mov al,byte ptr ds:[eax+4A]
00ACA7E7     3A45 EF                 cmp al,byte ptr ss:[ebp-11]-------µÃµ½ALµÄÖµ£¬¾ö¶¨ÊÇff15»¹ÊÇff25
00ACA7EA     0F85 9C000000           jnz 00ACA88C                       Õâ¸ö³ÌÐòAL=CC(¼ÇסALµÄÖµ£©

ºóÃæÐèÒªÏÂÓ²¼þ¶ÏµãµÄ3¸öλÖÃ

00ACA7F3     8B45 F4                 mov eax,dword ptr ss:[ebp-C]
00ACA7F6     8B80 E0000000           mov eax,dword ptr ds:[eax+E0]
00ACA7FC     0145 FC                 add dword ptr ss:[ebp-4],eax
00ACA7FF    /EB 01                   jmp short 00ACA802----------ÕâÀïÊÇB1

00ACA8A5     8B45 F4                 mov eax,dword ptr ss:[ebp-C]
00ACA8A8     8B80 E0000000           mov eax,dword ptr ds:[eax+E0]
00ACA8AE     0145 FC                 add dword ptr ss:[ebp-4],eax
00ACA8B1     8D45 0C                 lea eax,dword ptr ss:[ebp+C]-----ÕâÀïÊÇB2

00ACB807     8945 FC                 mov dword ptr ss:[ebp-4],eax
00ACB80A     8B45 E0                 mov eax,dword ptr ss:[ebp-20]
00ACB80D     8B00                    mov eax,dword ptr ds:[eax]
00ACB80F     E8 C0E6FFFF             call 00AC9ED4
00ACB814     8BD0                    mov edx,eax
00ACB816     0255 DF                 add dl,byte ptr ss:[ebp-21]
00ACB819     8B4D FC                 mov ecx,dword ptr ss:[ebp-4]-------ÕâÀïÊÇA

ÕÒµ½Õâ3¸öµØ·½Á˾ͿÉÒÔ¶¯ÊÖÁË£¬ODÔØÈëÄ¿±ê³ÌÐò£¬Í£ÔÚÈë¿Ú´¦£¬ÉèÖÃODºöÂÔËùÓÐÒì³£

00401000 N>  68 01D04000             push NOTEPAD.0040D001
00401005     E8 01000000             call NOTEPAD.0040100B
0040100A     C3                      retn
0040100B     C3                      retn
0040100C     7D 30                   jge short NOTEPAD.0040103E
0040100E     DA8A 5DEA5230           fimul dword ptr ds:[edx+3052EA5D]
00401014   - 78 BE                   js short NOTEPAD.00400FD4
00401016     9C                      pushfd

ÏÂbp GetModuleHandleA, shift+F9ÖжÏ2´Îºó£¬È¡Ïû¶Ïµã£¬ALT+F9·µ»Ø

00AE14AC     85C0                    test eax,eax  ---·µ»ØÕâÀï                               ; kernel32.77E40000
00AE14AE     75 07                   jnz short 00AE14B7
00AE14B0     53                      push ebx
00AE14B1     FF95 F0314400           call dword ptr ss:[ebp+4431F0]
00AE14B7     8985 4D294400           mov dword ptr ss:[ebp+44294D],eax
00AE14BD     C785 51294400 00000000  mov dword ptr ss:[ebp+442951],0
00AE14C7     8B95 D8304400           mov edx,dword ptr ss:[ebp+4430D8]
00AE14CD     8B06                    mov eax,dword ptr ds:[esi]
00AE14CF     85C0                    test eax,eax
00AE14D1     75 03                   jnz short 00AE14D6
00AE14D3     8B46 10                 mov eax,dword ptr ds:[esi+10]

µ¥»÷ÓÒ¼ü¡°ËÑË÷------ËùÓÐ×Ö·û´®--------¡°85¡±£¬À´µ½

00ACEBF8     68 E8F4AC00             push 0ACF4E8                                 ; ASCII "85"
00ACEBFD     E8 2A62FEFF             call 00AB4E2C
00ACEC02     A1 1C37AD00             mov eax,dword ptr ds:[AD371C]
00ACEC07     8B00                    mov eax,dword ptr ds:[eax]
00ACEC09     E8 0A8CFFFF             call 00AC7818-----------ÕâÀïF2϶Ï
00ACEC0E     84C0                    test al,al
00ACEC10     75 0A                   jnz short 00ACEC1C
00ACEC12     68 E8F4AC00             push 0ACF4E8                                 ; ASCII "85"

shift+F9,ÖжÏÔÚ00ACEC09£¬F7¸ú½ø

00AC7818     53                      push ebx
00AC7819     56                      push esi
00AC781A     57                      push edi
00AC781B     55                      push ebp
00AC781C     83C4 F4                 add esp,-0C
00AC781F     8BF0                    mov esi,eax
00AC7821     C60424 01               mov byte ptr ss:[esp],1

ÏòÏÂÀ­¶¯Êó±êÕÒµ½

00AC7959     56                      push esi
00AC795A     E8 59FCFFFF             call 00AC75B8----Õâ¸öCALLÊǽøÐÐIAT´¦Àí£¬ÏÈÔÚ00AC7989F2϶ϣ¬ÔÙF4µ½ÕâÀF7¸ú½ø
00AC795F     0FB707                  movzx eax,word ptr ds:[edi]
00AC7962     83C0 02                 add eax,2
00AC7965     03F8                    add edi,eax
00AC7967     8A1F                    mov bl,byte ptr ds:[edi]
00AC7969     47                      inc edi
00AC796A     3A5E 34                 cmp bl,byte ptr ds:[esi+34]
00AC796D   ^ 0F85 77FFFFFF           jnz 00AC78EA-------ÿ¸öDLLµÄº¯ÊýÊÇ·ñ´¦Àí
00AC7973     8BDF                    mov ebx,edi
00AC7975     8B03                    mov eax,dword ptr ds:[ebx]
00AC7977     85C0                    test eax,eax
00AC7979   ^ 0F85 0AFFFFFF           jnz 00AC7889-------------±È½ÏDLLÊÇ·ñ´¦ÀíÍê
00AC797F     8A0424                  mov al,byte ptr ss:[esp]
00AC7982     83C4 0C                 add esp,0C
00AC7985     5D                      pop ebp
00AC7986     5F                      pop edi
00AC7987     5E                      pop esi
00AC7988     5B                      pop ebx
00AC7989     C3                      retn--------ÏÈÔÚÕâÀïF2϶Ï

½øÈë00AC795AµÄcall£¬À´µ½

00AC75D9     8B45 10                 mov eax,dword ptr ss:[ebp+10]
00AC75DC     83E8 02                 sub eax,2
00AC75DF     0FB600                  movzx eax,byte ptr ds:[eax]
00AC75E2     3B43 2C                 cmp eax,dword ptr ds:[ebx+2C]
00AC75E5     76 06                   jbe short 00AC75ED
00AC75E7     8943 2C                 mov dword ptr ds:[ebx+2C],eax
00AC75EA     EB 01                   jmp short 00AC75ED
00AC75EC     6933 C08A433B           imul esi,dword ptr ds:[ebx],3B438AC0
00AC75F2     3BF0                    cmp esi,eax----------ÕâÀïÊDZȽÏESIµÄ3¸öÖµ
00AC75F4     75 5E                   jnz short 00AC7654---ÕâÀï϶Ï

ÿÈ˵Ļú×Ó²»Ò»ÑùÊýÖµÒ²²»Ò»Ñù,ÎÒÕâÀïÊÇESI=61£¬A5£¬26£¬ÆäÖÐA5£¬61ʱIAT²»¼ÓÃÜ,ÆäÖÐesiµÄֵΪ61,26ʱ00AC75F4´¦µÄ
Ìøת³ÉÁ¢,µ«Á½¸öÊýÖÐÖ»Óе±esi=26ʱ²Å»á¶ÔIAT½øÐмÓÃÜ,Òò´ËÖ»Òª½«26¸ÄΪ61¾Í¿ÉÒԱܿªIAT¼ÓÃÜÁË.
ºÃ,¾ÍÔÚ00AC75F4½øÐÐÐÞ¸Ä,ÏÈÓÃOD ²å¼þmemory manageÉêÇëÒ»¸öÄÚ´æ¿Õ¼ä£¬ÎÒÉêÇëµÄÊÇ01640000

00AC75F4 75F4  - E9 078A3500     JMP 01640000        È»ºóÏÂF2¶Ïµã£¬F9ÔËÐÐÖжϺó,F7¸ú½ø

½«PATH´úÂëд½øÈ¥£º

01640000   - 0F84 F37548FF           je 00AC75F9
01640006     83FE 61                 cmp esi,61
01640009   - 0F84 457648FF           je 00AC7654
0164000F     BE 61000000             mov esi,61
01640014   - E9 3B7648FF             jmp 00AC7654
01640019     90                      nop

дºÃ´úÂëºó,È¡Ïû00AC75F2¼°00AC75F4 Á½´¦µÄ¶Ïµã,F9ÔËÐÐÖжÏÔÚ00AC7989,ÖжϺóÈ¡Ïû¶Ïµã
¿´¿´Êý¾Ý´°¿Ú,ÊDz»Êǵõ½ËùÓеÄIATÁË?Æðʼ4062E4,ÖÕµã406e00.

004062E4  77DA2410  ADVAPI32.RegQueryValueExA
004062E8  77DA17D8  ADVAPI32.RegCloseKey
004062EC  77DB63B1  ADVAPI32.RegSetValueExA
004062F0  77DA23D9  ADVAPI32.RegOpenKeyA
004062F4  77DA28BB  ADVAPI32.RegCreateKeyA
004062F8  00000000
004062FC  77C4513D  GDI32.GetObjectA
00406300  77C44B71  GDI32.GetDeviceCaps
00406304  77C4889D  GDI32.CreateFontIndirectA

00406DEC  B91D3742
00406DF0  0055F5A5  OLE32.0055F5A5
00406DF4  D13637ED
00406DF8  6422CE52
00406DFC  387863B7
00406E00  00000000

½«1640000´¦µÄÐ޸ĴúÂë¼°00AC75F4 75F4  - E9 078A3500     JMP 01640000µÄÐÞ¸Ä
È«²¿È¡ÏûÐÞ¸Ä.

CTRL+BËÑË÷33£¬C0£¬8A£¬07£¬8D£¬04£¬40£¬8B£¬6C£¬83£¬68£¬8B£¬C6£¬ÕÒµ½

00ACB956     33C0                    xor eax,eax---ÕâÀï
00ACB958     8A07                    mov al,byte ptr ds:[edi]
00ACB95A     8D0440                  lea eax,dword ptr ds:[eax+eax*2]
00ACB95D     8B6C83 68               mov ebp,dword ptr ds:[ebx+eax*4+68]
00ACB961     8BC6                    mov eax,esi
00ACB963     FFD5                    call ebp
00ACB965     8BE8                    mov ebp,eax
00ACB967     036B 24                 add ebp,dword ptr ds:[ebx+24]
00ACB96A     03AB E0000000           add ebp,dword ptr ds:[ebx+E0]
00ACB970     EB 01                   jmp short 00ACB973
00ACB972     E8 33C08A47             call 483779AA
00ACB977     098D 04408B54           or dword ptr ss:[ebp+548B4004],ecx
00ACB97D     8368 8B C6              sub dword ptr ds:[eax-75],-3A
00ACB981     FFD2                    call edx-----------Ö±½ÓF4µ½ÕâÀï
00ACB983     807B 20 00              cmp byte ptr ds:[ebx+20],0
00ACB987     0F85 3D010000           jnz 00ACBACA

¿´¶ÑÕ»£º
0012FEF8   00000044--------ÓÐ68¸öµØÖ·Òª´¦Àí
0012FEFC   495732D5
0012FF00   0653FC49
0012FF04   00000000

ÏÈÔÚÕâ¾ä00ACB987  jnz 00ACBACA°´»Ø³µ¸úËæµ½ÕâÀï

00ACBACA     8B43 2C                 mov eax,dword ptr ds:[ebx+2C]
00ACBACD     2BC5                    sub eax,ebp
00ACBACF     83E8 05                 sub eax,5
00ACBAD2     45                      inc ebp
00ACBAD3     8945 00                 mov dword ptr ss:[ebp],eax
00ACBAD6     6A 0A                   push 0A
00ACBAD8     E8 7F9AFEFF             call 00AB555C
00ACBADD     8BC8                    mov ecx,eax
00ACBADF     038B E4000000           add ecx,dword ptr ds:[ebx+E4]
00ACBAE5     8BD6                    mov edx,esi
00ACBAE7     8BC3                    mov eax,ebx
00ACBAE9     E8 8EE5FFFF             call 00ACA07C
00ACBAEE     FF0C24                  dec dword ptr ss:[esp]
00ACBAF1     03B3 E4000000           add esi,dword ptr ds:[ebx+E4]
00ACBAF7     833C24 00               cmp dword ptr ss:[esp],0
00ACBAFB   ^ 0F87 55FEFFFF           ja 00ACB956
00ACBB01     53                      push ebx
00ACBB02     E8 5D000000             call 00ACBB64
00ACBB07     0183 EC000000           add dword ptr ds:[ebx+EC],eax
00ACBB0D     B0 01                   mov al,1
00ACBB0F     83C4 24                 add esp,24
00ACBB12     5D                      pop ebp
00ACBB13     5F                      pop edi
00ACBB14     5E                      pop esi
00ACBB15     5B                      pop ebx
00ACBB16     C3                      retn-----------ÕÒµ½ÕâÀF2϶Ï

ÔÚ00ACBB16϶Ϻ󣬷µ»Ø00ACB981
½«00ACB981 call edxÐÞ¸ÄΪ£º

00ACB981   - E9 7A46B700             jmp 01640000
00ACB986     90                      nop

дÈëpath´úÂ룺

01640000     FFD2                    call edx
01640002     60                      pushad
01640003     8B1D 30006401           mov ebx,dword ptr ds:[1640030]
01640009     C1E0 1F                 shl eax,1F
0164000C     03C5                    add eax,ebp
0164000E     8903                    mov dword ptr ds:[ebx],eax
01640010     83C3 04                 add ebx,4
01640013     891D 30006401           mov dword ptr ds:[1640030],ebx
01640019     61                      popad
0164001A     807B 20 00              cmp byte ptr ds:[ebx+20],0
0164001E   - E9 A7BA48FF             jmp 00ACBACA
01640023     0000                    add byte ptr ds:[eax],al
01640025     0000                    add byte ptr ds:[eax],al
01640027     0000                    add byte ptr ds:[eax],al
01640029     0000                    add byte ptr ds:[eax],al
0164002B     0000                    add byte ptr ds:[eax],al
0164002D     0000                    add byte ptr ds:[eax],al
0164002F     0040 00                 add byte ptr ds:[eax],al
01640032     64:0100                 add dword ptr fs:[eax],eax

¶þ½øÖÆ´úÂ룺

FF D2 60 8B 1D 30 00 64 01 C1 E0 1F 03 C5 89 03 83 C3 04 89 1D 30 00 64 01 61 80 7B 20 00 E9 A7
BA 48 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 64 01 00

дºÃ´úÂëºó£¬F9ÔËÐУ¬ÖжÏ00ACBB16£¬È¡Ïû¶Ïµã£¬·µ»Ø00ACB981³·ÏûÐ޸ģ¬Êý¾Ý¿òµÃµ½68¸öµØÖ·µÄÊý¾Ý

D3 10 40 00 31 11 40 00 4C 11 40 00 56 13 40 00 05 15 40 00 1D 15 40 00 79 1E 40 00 E5 1E 40 00
C9 21 40 00 DA 22 40 00 83 23 40 00 BC 23 40 00 3A 24 40 00 59 24 40 00 69 24 40 00 7E 24 40 00
B6 24 40 00 04 25 40 00 1B 25 40 00 B9 26 40 00 09 29 40 00 83 29 40 00 9D 30 40 00 8C 31 40 00
C8 31 40 00 1B 32 40 00 34 32 40 00 FC 32 40 00 19 33 40 00 26 33 40 00 53 33 40 00 80 33 40 00
CE 33 40 00 E0 33 40 00 69 34 40 00 85 34 40 00 F5 34 40 00 05 35 40 00 70 35 40 00 7C 35 40 00
A0 35 40 00 07 37 40 00 DD 37 40 00 C3 39 40 00 69 3D 40 00 7A 3D 40 00 0A 41 40 00 63 46 40 00
CB 46 40 00 6F 49 40 00 F8 49 40 00 BF 4A 40 00 95 4B 40 00 AC 4B 40 00 78 4C 40 00 AB 4C 40 00
08 4D 40 00 10 4E 40 00 5B 4E 40 00 75 4E 40 00 EE 4E 40 00 47 4F 40 00 60 4F 40 00 B0 4F 40 00
B6 4F 40 00 C2 4F 40 00 C8 4F 40 00 CE 4F 40 00

½«ÕâЩÊý¾Ý¸´ÖƳöÀ´£¨ºóÃæÓõ½£©£¬È»ºó½«01640000µ½01640150¼äµÄÊý¾ÝÈ«²¿³·ÏûÐÞ¸Ä

È»ºóF8´Óretn·µ»Øµ½

00ACB8B6     84C0                    test al,al
00ACB8B8     75 0A                   jnz short 00ACB8C4
00ACB8BA     68 E4B8AC00             push 0ACB8E4                                 ; ASCII "108"
00ACB8BF     E8 6895FEFF             call 00AB4E2C
00ACB8C4     5B                      pop ebx
00ACB8C5     5D                      pop ebp
00ACB8C6     C2 0400                 retn 4

²»¶Ï½»ÌæʹÓÃCTRL+F9ºÍF8£¨Öظ´¼¸´Î£©£¬À´µ½

77F79BA4     64:8B25 00000000        mov esp,dword ptr fs:[0]
77F79BAB     64:8F05 00000000        pop dword ptr fs:[0]
77F79BB2     8BE5                    mov esp,ebp
77F79BB4     5D                      pop ebp
77F79BB5     C2 1400                 retn 14
77F79BB8     8B4C24 04               mov ecx,dword ptr ss:[esp+4]

µ½ÕâÀïºó¸ÄÓÃALT+F9£¬¼¸´ÎºóÀ´µ½

00AD095A     C700 EFCA5C85           mov dword ptr ds:[eax],855CCAEF
00AD0960     67:64:8F06 0000         pop dword ptr fs:[0]
00AD0966     83C4 04                 add esp,4
00AD0969     83E8 AF                 sub eax,-51
00AD096C     83C8 4B                 or eax,4B
00AD096F     58                      pop eax
00AD0970     8BC3                    mov eax,ebx
00AD0972     E8 49A8FEFF             call 00ABB1C0
00AD0977     8B15 FC37AD00           mov edx,dword ptr ds:[AD37FC]
00AD097D     0302                    add eax,dword ptr ds:[edx]
00AD097F     83C0 08                 add eax,8
00AD0982     BA 00100000             mov edx,1000
00AD0987     E8 DCCEFFFF             call 00ACD868
00AD098C     E8 CBEEFFFF             call 00ACF85C
00AD0991     A3 20B6AD00             mov dword ptr ds:[ADB620],eax

µ½ÕâÀïÁ˾ͿÉÒÔALT+M£¬ code¶Î϶ϣ¬shift+F9µ½OEPÁË

004010CC     55                      push ebp
004010CD     8BEC                    mov ebp,esp
004010CF     83EC 44                 sub esp,44
004010D2     56                      push esi
004010D3     E8 28EF8F00             call 00D00000
004010D8     93                      xchg eax,ebx
004010D9     7D 0A                   jge short NOTEPAD.004010E5
004010DB     8A00                    mov al,byte ptr ds:[eax]
004010DD     3C 22                   cmp al,22
004010DF     75 1B                   jnz short NOTEPAD.004010FC
004010E1     56                      push esi

ALT+G 1640000£¬µ½1640000´¦Ð´Èëpath´úÂ루Óÿ´Ñ©ÀÏʦµÄ£¬ÒѾ­°üÀ¨AÇé¿ö£©

01640000     A1 C0006401             mov eax,dword ptr ds:[16400C0]
01640005     8B18                    mov ebx,dword ptr ds:[eax]
01640007     81E3 FFFFFF7F           and ebx,7FFFFFFF
0164000D     FFE3                    jmp ebx
0164000F     0000                    add byte ptr ds:[eax],al
01640011     0000                    add byte ptr ds:[eax],al
01640013     0000                    add byte ptr ds:[eax],al
01640015     0000                    add byte ptr ds:[eax],al
01640017     0000                    add byte ptr ds:[eax],al
01640019     0000                    add byte ptr ds:[eax],al
0164001B     0000                    add byte ptr ds:[eax],al
0164001D     0000                    add byte ptr ds:[eax],al
0164001F     0000                    add byte ptr ds:[eax],al
01640021     BF C0006401             mov edi,16400C0
01640026     8B07                    mov eax,dword ptr ds:[edi]
01640028     8B18                    mov ebx,dword ptr ds:[eax]
0164002A     81FB FFFFFF7F           cmp ebx,7FFFFFFF
01640030     79 49                   jns short 0164007B
01640032     837D D4 FF              cmp dword ptr ss:[ebp-2C],-1
01640036     74 0F                   je short 01640047
01640038     8B47 04                 mov eax,dword ptr ds:[edi+4]
0164003B     8B1F                    mov ebx,dword ptr ds:[edi]
0164003D     8B1B                    mov ebx,dword ptr ds:[ebx]
0164003F     8918                    mov dword ptr ds:[eax],ebx
01640041     83C0 04                 add eax,4
01640044     8947 04                 mov dword ptr ds:[edi+4],eax
01640047     8B5D FC                 mov ebx,dword ptr ss:[ebp-4]
0164004A     E8 46000000             call 01640095
0164004F     B0 CC                   mov al,0CC------------------Ç°ÃæÕÒµ½ALµÄÖµCC
01640051     66:B9 FF15              mov cx,15FF
01640055     3A45 EF                 cmp al,byte ptr ss:[ebp-11]
01640058     74 05                   je short 0164005F
0164005A     66:81C1 0010            add cx,1000
0164005F     8B07                    mov eax,dword ptr ds:[edi]
01640061     8B18                    mov ebx,dword ptr ds:[eax]
01640063     81E3 FFFFFF7F           and ebx,7FFFFFFF
01640069     83C0 04                 add eax,4
0164006C     8907                    mov dword ptr ds:[edi],eax
0164006E     66:890B                 mov word ptr ds:[ebx],cx
01640071     83C3 02                 add ebx,2
01640074     8933                    mov dword ptr ds:[ebx],esi
01640076   ^ EB 88                   jmp short 01640000
01640078     90                      nop
01640079     90                      nop
0164007A     90                      nop
0164007B     8B5D B4                 mov ebx,dword ptr ss:[ebp-4C]
0164007E     E8 12000000             call 01640095
01640083     B0 CC                   mov al,0CC
01640085     66:B9 FF15              mov cx,15FF
01640089     3AC2                    cmp al,dl
0164008B   ^ 74 D2                   je short 0164005F
0164008D   ^ EB CB                   jmp short 0164005A
0164008F     0000                    add byte ptr ds:[eax],al
01640091     0000                    add byte ptr ds:[eax],al
01640093     0000                    add byte ptr ds:[eax],al
01640095     BE E4624000             mov esi,4062E4----------------IATµÄÆðʼ
0164009A     391E                    cmp dword ptr ds:[esi],ebx
0164009C     74 0D                   je short 016400AB
0164009E     83C6 04                 add esi,4
016400A1     81FE 006E4000           cmp esi,406E00----------------IATµÄ½áÊø
016400A7     77 03                   ja short 016400AC
016400A9   ^ EB EF                   jmp short 0164009A
016400AB     C3                      retn
016400AC   - EB FE                   jmp short 016400AC

дºÃÉÏÃæµÄ´úÂëºó£¬½«Ç°Ã渴ÖƳöÀ´µÄ68¸öµØÖ·¸´ÖƹýÀ´£¨´Ó16400D0¿ªÊ¼£©

016400D0  D3 10 40 00 31 11 40 00 4C 11 40 00 56 13 40 00  ?@.1@.L@.V@.
016400E0  05 15 40 00 1D 15 40 00 79 1E 40 00 E5 1E 40 00  @.@.y&@.?@.
016400F0  C9 21 40 00 DA 22 40 00 83 23 40 00 BC 23 40 00  ?@.?@.?@.?@.
01640100  3A 24 40 00 59 24 40 00 69 24 40 00 7E 24 40 00  :$@.Y$@.i$@.~$@.
01640110  B6 24 40 00 04 25 40 00 1B 25 40 00 B9 26 40 00  ?@.%@.%@.?@.
01640120  09 29 40 00 83 29 40 00 9D 30 40 00 8C 31 40 00  .)@.?@.?@.?@.
01640130  C8 31 40 00 1B 32 40 00 34 32 40 00 FC 32 40 00  ?@.2@.42@.?@.
01640140  19 33 40 00 26 33 40 00 53 33 40 00 80 33 40 00  3@.&3@.S3@.€3@.
01640150  CE 33 40 00 E0 33 40 00 69 34 40 00 85 34 40 00  ?@.?@.i4@.?@.
01640160  F5 34 40 00 05 35 40 00 70 35 40 00 7C 35 40 00  ?@.5@.p5@.|5@.
01640170  A0 35 40 00 07 37 40 00 DD 37 40 00 C3 39 40 00  ?@.7@.?@.?@.
01640180  69 3D 40 00 7A 3D 40 00 0A 41 40 00 63 46 40 00  i=@.z=@..A@.cF@.
01640190  CB 46 40 00 6F 49 40 00 F8 49 40 00 BF 4A 40 00  ËF@.oI@.øI@.¿J@.
016401A0  95 4B 40 00 AC 4B 40 00 78 4C 40 00 AB 4C 40 00  •K@.¬K@.xL@.«L@.
016401B0  08 4D 40 00 10 4E 40 00 5B 4E 40 00 75 4E 40 00  M@.N@.[N@.uN@.
016401C0  EE 4E 40 00 47 4F 40 00 60 4F 40 00 B0 4F 40 00  îN@.GO@.`O@.°O@.
016401D0  B6 4F 40 00 C2 4F 40 00 C8 4F 40 00 CE 4F 40 00  ¶O@.ÂO@.ÈO@.ÎO@.
016401E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

¸´Öƺúó£¬ÊÖ¹¤ÔÚ16400C0ºÍ16400C4ÊäÈëÁ½¸öÊý¾Ý£º

016400C0  D0 00 64 01 00 02 64 01 00 00 00 00 00 00 00 00  ?d.d........

дºÃºó¿ÉÒÔÔÚÇ°ÃæÕÒµ½µÄµØ·½ÏÂÓ²¼þ¶ÏµãÁË£º

00ACA7F3     8B45 F4                 mov eax,dword ptr ss:[ebp-C]
00ACA7F6     8B80 E0000000           mov eax,dword ptr ds:[eax+E0]
00ACA7FC     0145 FC                 add dword ptr ss:[ebp-4],eax
00ACA7FF    /EB 01                   jmp short 00ACA802----------ÕâÀïÊÇB1

00ACA8A5     8B45 F4                 mov eax,dword ptr ss:[ebp-C]
00ACA8A8     8B80 E0000000           mov eax,dword ptr ds:[eax+E0]
00ACA8AE     0145 FC                 add dword ptr ss:[ebp-4],eax
00ACA8B1     8D45 0C                 lea eax,dword ptr ss:[ebp+C]-----ÕâÀïÊÇB2

00ACB807     8945 FC                 mov dword ptr ss:[ebp-4],eax
00ACB80A     8B45 E0                 mov eax,dword ptr ss:[ebp-20]
00ACB80D     8B00                    mov eax,dword ptr ds:[eax]
00ACB80F     E8 C0E6FFFF             call 00AC9ED4
00ACB814     8BD0                    mov edx,eax
00ACB816     0255 DF                 add dl,byte ptr ss:[ebp-21]
00ACB819     8B4D FC                 mov ecx,dword ptr ss:[ebp-4]-------ÕâÀïÊÇA

°ÑÕâ3¸öµØ·½ÉèÖÃÓ²¼þ¶Ïµãºó£¬ÔÚµÚÒ»¸öcall XXXXXXXµÄµØ·½£¨ÕâÀïÊÇ4010D3£©Ð½¨EIP£¬F9ÔËÐУ¬Óöµ½Ó²¼þ¶Ïµã
¾ÍÔËÐÐÒÔϽű¾£º

mov eip,1640021 
run
mov eip,1640021 
run
mov eip,1640021 
run
mov eip,1640021 
run
mov eip,1640021 
run

Ò»Ö±ÔËÐе½³öÏÖ¡°²»ÖªµÀÈçºÎ¼ÌÐøÔËÐУ¬ÒòΪÄÚ´æµØÖ·00000000´¦ÊDz»Ò׶ÁÈ¡µÄ..................¡±
Õâʱ¾Í¿ÉÒÔÓÃLordPe¾ÀÕý´óСºódumpÁË¡£È»ºóÓÃImportREC Fixed.
¿ÉÊÇÔËÐÐʱ³öÏÖÁË´íÎó¡£

×¢ÒâÊý¾Ý¿ò£º

01640200  D3 10 40 00 1D 15 40 00 E5 1E 40 00 C9 21 40 00  ?@.@.?@.?@.
01640210  3A 24 40 00 B6 24 40 00 B9 26 40 00 F5 34 40 00  :$@.?@.?@.?@.
01640220  05 35 40 00 7C 35 40 00 00 00 00 00 00 00 00 00  5@.|5@.........

¼´4010D3£¬40151D£¬401EE5£¬4021C9£¬40243A£¬4024B6£¬4026B9£¬4034F5£¬403505£¬40357C
¿´Ñ©ÀÏʦµÄ½Ì³ÌÖ¸³öÕâЩµØÖ·µÄÏÂÒ»¾ä´úÂëÓпÉÄܱ»±äÐÎÁË¡£

ÔØÈëû¼Ó¿ÇÇ°µÄnotepad½øÐÐ×·×Ù£¬·¢ÏÖ³ýÁËÕ⼸¸öµØÖ·µÄûÓбäÐÎÍ⣬ÆäËûµÄ¶¼±äÐÎÁË¡£
Õý³£Ã»ÓбäÐεĵØÖ·£º401E5E£¬40243A£¬4026B9£¬403505£»

±äÐεÄÇé¿öÈçÏ£º

4010D3 

004010D2     56                      push esi
004010D3     FF15 E4634000           call dword ptr ds:[<&kernel32.GetCommandLine>; kernel32.GetCommandLineA
004010D9     7D 0A                   jge short dumped_.004010E5---------ÍѿǺóµÄ±äÐÎ
004010DB     8A00                    mov al,byte ptr ds:[eax]

004010D2   |.  56                    push esi
004010D3   |.  FF15 E4634000         call dword ptr ds:[<&kernel32.GetCommandLine>; [GetCommandLineA
004010D9   |.  8BF0                  mov esi,eax----------------û¼Ó¿ÇµÄÔ­´úÂë
004010DB   |.  8A00                  mov al,byte ptr ds:[eax]

40151D 

0040151D     FF15 FC634000           call dword ptr ds:[<&shell32.ShellAboutA>]   ; shell32.ShellAboutA
00401523     885D 6C                 mov byte ptr ss:[ebp+6C],bl---------ÍѿǺóµÄ±äÐÎ
00401526     AF                      scas dword ptr es:[edi]
00401527     CD 6A                   int 6A
00401529     00E8                    add al,ch
0040152B     3B36                    cmp esi,dword ptr ds:[esi]


0040151D   |.  FF15 FC634000         call dword ptr ds:[<&shell32.ShellAboutA>]   ; \ShellAboutA
00401523   |.  E9 9F030000           jmp 01.004018C7-----------û¼Ó¿ÇµÄÔ­´úÂë
00401528   |>  6A 00                 push 0                                       ; /Arg1 = 00000000; Case C of switch 00401283
0040152A   |.  E8 3B360000           call 01.00404B6A                             ; \01.00404B6A

4021C9

004021C9     FF15 C4634000           call dword ptr ds:[<&kernel32.FindClose>]    ; kernel32.FindClose
004021CF     C00B 57                 ror byte ptr ds:[ebx],57---------ÍѿǺóµÄ±äÐÎ
004021D2     8D85 C4FDFFFF           lea eax,dword ptr ss:[ebp-23C]
004021D8     50                      push eax

                             
004021C9   |.  FF15 C4634000         call dword ptr ds:[<&kernel32.FindClose>]    ; \FindClose
004021CF   |.  EB 0E                 jmp short 01.004021DF----------û¼Ó¿ÇµÄÔ­´úÂë
004021D1   |>  57                    push edi                                     ; /String2
004021D2   |.  8D85 C4FDFFFF         lea eax,dword ptr ss:[ebp-23C]               ; |

4024B6 

004024B6     FF15 E4624000           call dword ptr ds:[<&advapi32.RegQueryValueE>; advapi32.RegQueryValueExA
004024BC     16                      push ss---------ÍѿǺóµÄ±äÐÎ
004024BD     D5 8B                   aad 8B
004024BF     45                      inc ebp
004024C0     FC                      cld
004024C1     85C0                    test eax,eax


004024B6   |.  FF15 E4624000         call dword ptr ds:[<&advapi32.RegQueryValueE>; \RegQueryValueExA
004024BC   |.  EB 03                 jmp short 01.004024C1----------û¼Ó¿ÇµÄÔ­´úÂë
004024BE   |>  8B45 FC               mov eax,dword ptr ss:[ebp-4]

4034F5 

004034F5     FF15 74634000           call dword ptr ds:[<&kernel32._llseek>]      ; kernel32._llseek
004034FB     CE                      into---------ÍѿǺóµÄ±äÐÎ
004034FC     0B53 53                 or edx,dword ptr ds:[ebx+53]
004034FF     A1 40564000             mov eax,dword ptr ds:[405640]

004034F5   |.  FF15 74634000         call dword ptr ds:[<&kernel32._llseek>]      ; \_llseek
004034FB   |.  8BF8                  mov edi,eax----------û¼Ó¿ÇµÄÔ­´úÂë
004034FD   |.  53                    push ebx                                     ; /Origin => FILE_BEGIN
004034FE   |.  53                    push ebx                                     ; |Offset => 0

ÓйشúÂë±äÐεÄÇé¿ö£¬¿´Ñ©ÀÏʦµÄÎÄÕÂÒѾ­·ÖÎöºÜÇå³þÁË¡£¾¡¹ÜûÓÐstolen code¸Ð¾õÕâ¸ö¿Ç±äÐκÜÀ÷º¦£¬±¾ÎÄÊÇÔÚÓÐ
Ô­³ÌÐòµÄÇé¿öÏÂÕÒ³ö±äÐδúÂëµÄ£¬Èç¹ûûÓгÌÐòºÜÄÑÕÒ³ö±äÐεĴúÂë¡£¿öÇÒÈç¹ûËü²»ÊÇÖ»±äÐÎÒ»¾äÁ½¾ä£¬¶øÊÇÒ»´óƬÄØ£¿
--------------------------------------------------------------------------------
¡¾°æȨÉùÃ÷¡¿ ±¾ÎÄ´¿Êô¼¼Êõ½»Á÷, ×ªÔØÇë×¢Ã÷×÷Õß²¢±£³ÖÎÄÕµÄÍêÕû, Ð»Ð»!