EncryptPE V2.2005.3.14ÊÔÁ¶Service±£»¤·½Ê½ÍÑ¿Ç
ÏÂÔØÒ³Ã棺 http://www.encryptpe.com/
Èí¼þ´óС£º 2.11M
Èí¼þÓïÑÔ£º ¼òÌåÖÐÎÄ
Èí¼þÀà±ð£º ¹ú²úÈí¼þ / ¹²Ïí°æ / ¼ÓÃܹ¤¾ß
Ó¦ÓÃƽ̨£º Win9X/ME/NT/2000/XP/2003
Èí¼þ¼ò½é£º EncryptPEÊÇÀÏÍõµÄÇ¿¿Ç¡£EncryptPE ÄܼÓÃܱ£»¤³£¹æPEÎļþ£¨EXE¡¢DLL¡¢OCXµÈÒ»°ã³ÌÐò»òNT·þÎñ³ÌÐò£©£¬·À¾²Ì¬·ÖÎöÐ޸ģ¬·´¶¯Ì¬¸ú×Ùµ÷ÊÔ£¬ÓÐЧµØ±£»¤Èí¼þ£¬·ÀÖ¹µÁ°æ¡£³ý³£¹æµÄ¶Ô¿¹µ÷ÊÔÆ÷£¨SoftIce¡¢TRW¡¢OllyDbgµÈ£©¡¢¼àÊÓÆ÷¡¢DUMP¹¤¾ß·½·¨Í⣬EncryptPE²ÉÓõļÓÃܱ£»¤µÄÊֶλ¹ÓУºËæ»ú¼ÓÃÜËã·¨¡¢CRCУÑé¡¢±äÐΡ¢´úÂëÌæ»»¡¢½ø³Ì×¢Èë¡¢APIHOOK¡¢¶àÏ̡߳¢µ÷ÊÔÔËÐС¢È«³Ì¼à¿ØµÈ¡£
¡¾×÷ÕßÉùÃ÷¡¿£ºÖ»ÊǸÐÐËȤ£¬Ã»ÓÐÆäËûÄ¿µÄ¡£Ê§ÎóÖ®´¦¾´ÇëÖîλ´óÏÀ´Í½Ì
¡¾µ÷ÊÔ»·¾³¡¿£ºWinXP¡¢flyODBG¡¢PEiD¡¢LordPE¡¢ImportREC
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
¡¾Íѿǹý³Ì¡¿£º
EncryptPEÊÇÀÏÍõµÄÇ¿¿Ç£¬Ïë±Ø´ó¼Ò¶¼¿´µ½¹ý£¬Íâ¹Ò¡¢Ä¾ÂíÖ®ÀàÓÃEncryptPE¼Ó¿ÇµÄ½Ï¶à¡£
¼òµ¥ÕûÀíÁËÒ»ÏÂÒÔÇ°µÄÍѿǼǼ£¬Ï£ÍûEncryptPEÔ½À´Ô½ÃÍ£¬Ëµµã°ÝÄê»°£¬ÃâµÃÀÏÍõÀ´±âÎÒ£¬ºÇºÇ£¬²»¹ý´ó¶àÊýÍâ¹Ò¶¼ÊDzÉÓá°·ÇService¡±¼Ó¿Ç·½Ê½£¬ËùÒÔÀÏÍõÒ²²»±Øµ£ÐÄ¡£
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
Ò»¡¢EncryptPEµÄ°æ±¾ºÍ¼Ó¿Ç·½Ê½
ÆäʵEncryptPE V2.2004.8.10ºÍEncryptPE V2.2005.3.14¾ÍÍѿǶøÑÔÊÇÒ»ÑùµÄ¡£
[EncryptPE V2.2004.8.10-V2.2005.3.14 -> WFS]
signature =60 9C 64 FF 35 00 00 00 00 E8 7A
ep_only = true
×î¼òµ¥¡¢×¼È·µØ²ì¿´EncryptPE°æ±¾ºÅÊÇÓÃWinHexµÈ16½øÖƹ¤¾ß´ò¿ª±»¼Ó¿Ç³ÌÐò£¬ÔÚPEÍ·ÏÂÃæ¾Í¿ÉÒÔ¿´µ½¡£
00000220 45 50 45 3A 20 45 6E 63 72 79 70 74 50 45 20 56 EPE: EncryptPE V
00000230 32 2E 32 30 30 35 2E 33 2E 31 34 2C 20 43 6F 70 2.2005.3.14, Cop
00000240 79 72 69 67 68 74 20 28 43 29 20 57 46 53 00 00 yright (C) WFS..
EncryptPEÓÐ2ÖÖ¼Ó¿Ç·½Ê½£ºServiceºÍ·ÇService¡£¿´°ïÖúÀïµÄ˵Ã÷£º¡°Ñ¡ÔñÄúÒª¼ÓÃܵÄPEÎļþ£¨EXE¡¢DLL¡¢OCXµÈ£©£¬Èç¹ûÊÇNT·þÎñ³ÌÐò£¬ÇëÑ¡ÖÐServiceÏһ°ã³ÌÐòÒ²¿ÉÒÔÔÚÑ¡ÖÐServiceÏîºó¼ÓÃÜ£¬Æä±£»¤Ç¿¶È±È²»Ñ¡ÖÐServiceʱÉԵͣ©¡£¡±
×î¼òµ¥µÄÅжϼӿǷ½Ê½µÄ·½·¨ÊÇ£ºÔËÐмӿdzÌÐòºóÔÚLordPEÀï¿ÉÒÔ¿´¼ûÕæʵ½ø³ÌÃûµÄÊÇ¡°Service¡±¼Ó¿Ç·½Ê½£¬Ö»¿´¼û[system]×ÖÑùµÄÊÇ¡°·ÇService¡±¼Ó¿Ç·½Ê½£¬ÈçEncryptPEÖ÷³ÌÐò¡£
¡°Service¡±¼Ó¿Ç·½Ê½Ç¿¶ÈµÍÁ˲»ÉÙ£¬ÊÁ×Ó¼ðÈíµÄÄ󣬺Ǻǣ¬µ±È»´ÓÕâ¸öÏÈÏÂÊÖÁË¡£
ÆäʵÁ½ÖÖ¼Ó¿Ç·½Ê½µÄÊäÈë±í´¦Àí¡¢´úÂë±äÐεĴ¦Àí·½·¨¶¼ÊÇÒ»ÑùµÄ£¬Ö»²»¹ý¡°·ÇService¡±¼Ó¿Ç·½Ê½Òª×¢Èëexeplorer.exe½âÂë¡¢¿ªÆôеĽø³Ì¡£
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
¶þ¡¢»ñµÃ¼Ó¿ÇÇ°ÎļþµÄPEÍ·¡¢OEPµÈÐÅÏ¢
ÔËÐÐEncryptPEÒÔ¡°Service¡±·½Ê½¼Ó¿ÇWin98µÄ¼Çʱ¾£¬ÏÂÃ濪ʼÑÝʾÍÑ¿Ç¡£
ÉèÖÃOllyDbgºöÂÔËùÓÐÒ쳣ѡÏî¡£ÓÃIsDebug²å¼þÈ¥µôOllyDbgµÄµ÷ÊÔÆ÷±êÖ¾¡£
0040D000 60 pushad
//½øÈëOllyDbgºóÔÝÍ£ÔÚÕâ
0040D001 9C pushfd
0040D002 64:FF35 0000000>push dword ptr fs:[0]
0040D009 E8 7A010000 call 0040D188
BP IsDebuggerPresent ÖжϺ󿴶ÑÕ»£º
0104FF40 711AF6B2 /CALL µ½ IsDebuggerPresent À´×Ô V2200531.711AF6B0
0104FF44 0104FF78 Ö¸Õëµ½ÏÂÒ»¸ö SEH ¼Ç¼
¿´µ½EncryptPE¿ªÊ¼¼ì²âIsDebuggerPresent£¬È¡ÏûÕâ¸ö¶Ïµã¡£
Alt+M´ò¿ªÄÚ´æ²ì¿´´°¿Ú£¬ÕÒµ½EncryptPEËùʹÓõÄÖ§³Ö¿âV2200531.epe
µØÖ· ´óС ÎïÖ÷ Çø¶Î °üº¬
71120000 00001000 V2200531 PE header
71121000 000AC000 V2200531 EPE0
711CD000 0006A000 V2200531 EPE1 code
71237000 00001000 V2200531 .rsrc data,imports,expor
V2200531.epe¾ÍÊÇEncryptPE¿ÇµÄºËÐÄÁË¡£
Ctrl+G£º711CD000 ÕâÊÇV2200531.epeµÚ3Çø¶ÎµÄ¿ªÊ¼µØÖ·¡£
711CD000 894D F8 mov dword ptr ss:[ebp-8],ecx
//V2200531.epeµÚ3Çø¶ÎµÄ¿ªÊ¼µØÖ·
711CD003 8955 FC mov dword ptr ss:[ebp-4],edx
711CD006 8BF0 mov esi,eax
Ctrl+SÔÚµ±Ç°Î»ÖÃÏÂËÑË÷ÃüÁîÐòÁУº
lea ecx,dword ptr ss:[ebp-28]
mov eax,dword ptr ss:[ebp-18]
mov edx,dword ptr ds:[eax]
mov eax,dword ptr ss:[ebp-28]
ÕÒµ½ÔÚ711E4514´¦£¬ÎÒÃÇÔÚÆäÏÂcmp dword ptr ss:[ebp-28],0µÄ711E4524´¦ÉèÖÃÓ²¼þÖ´Ðжϵ㣬Shift+F9ÖжÏÏÂÀ´
711E4514 8D4D D8 lea ecx,dword ptr ss:[ebp-28]
//ÕÒµ½ÕâÀï
711E4517 8B45 E8 mov eax,dword ptr ss:[ebp-18]
711E451A 8B10 mov edx,dword ptr ds:[eax]
711E451C 8B45 D8 mov eax,dword ptr ss:[ebp-28]
711E451F E8 0CA3FCFF call 711AE830
711E4524 837D D8 00 cmp dword ptr ss:[ebp-28],0
//Ó²¼þÖ´Ðжϵã [ebp-28]=[0013FF5C]=00E4D6DC ¡ï
711E4528 0F84 AE0C0000 je 711E51DC
711E452E 837D D4 00 cmp dword ptr ss:[ebp-2C],0
711E4532 0F8E A40C0000 jle 711E51DC
711E4538 8B45 D8 mov eax,dword ptr ss:[ebp-28]
711E453B 8B40 3C mov eax,dword ptr ds:[eax+3C]
711E453E 0345 D8 add eax,dword ptr ss:[ebp-28]
711E4541 8B40 28 mov eax,dword ptr ds:[eax+28]
711E4544 0345 DC add eax,dword ptr ss:[ebp-24]
//EAX=000010CC+00400000=004010CC ¡ï OEPÖµ
711E4547 83F0 FF xor eax,FFFFFFFF
//Òì»òFFFFFFFFºó×÷ΪÏÂÃæ½âÂëµÄ²ÎÊý
711E454A 8945 F0 mov dword ptr ss:[ebp-10],eax
ÔÚ711E4524´¦ÖжϺóÔÚÊý¾Ý´°¿Ú²ì¿´[0013FF5C]=00E4D6DC´¦Êý¾Ý£º
00E4D6DC 4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00 MZ?......ÿÿ..
00E4D6EC B8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 ?......@.......
00E4D6FC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00E4D70C 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 ............€...
00E4D71C 0E 1F BA 0E 00 B4 09 CD 21 B8 01 4C CD 21 54 68 ?.???L?Th
00E4D72C 69 73 20 70 72 6F 67 72 61 6D 20 63 61 6E 6E 6F is program canno
00E4D73C 74 20 62 65 20 72 75 6E 20 69 6E 20 44 4F 53 20 t be run in DOS
00E4D74C 6D 6F 64 65 2E 0D 0D 0A 24 00 00 00 00 00 00 00 mode....$.......
00E4D75C 50 45 00 00 4C 01 05 00 65 91 46 35 00 00 00 00 PE..L.e‘F5....
ºÜÃ÷ÏÔ£¬ÕâÊÇPEÍ·Êý¾Ý£¬ÊÇÄĸöPEÎļþµÄ£¿ºÇºÇ£¬¼Ó¿ÇÇ°µÄÎļþ£¡²¢ÇÒPEÍ·¡¢×ÊÔ´¶Î¡¢Öض¨Î»±í¶ÎµÈ¶¼ÊÇÔÀ´µÄ£¬µ±È»£¬´úÂë¶ÎijЩÊý¾ÝÊÇ¿ÇËù¼ÓÃܵġ£ÏÖÔÚÓÃLordPE²¿·ÖÍѿdzöÕⲿ·ÖÊý¾Ý£¬Address=00E4D6DC¡¢Size=0000D000£¬´æΪdumped0.eXe
Size¿ÉÒÔ¸ù¾Ý×îºóÒ»¸öÇø¶ÎÐÅÏ¢¼ÆËãµÃ³ö¡£
00E4D8EC 00 00 00 00 40 00 00 40 2E 72 65 6C 6F 63 00 00 ....@..@.reloc..
00E4D8FC 9C 0A 00 00 00 C0 00 00 00 10 00 00 00 C0 00 00 ?...?.....?.
Size=0000C000(ROffset)+00001000(RSize)=0000D000
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
Èý¡¢Magic Jmp ¸ã¶¨ÊäÈë±í
ÏÂÃæÀ´±Ü¿ªÊäÈë±í¼ÓÃÜ¡£Ctrl+FÔÚÕû¸ö¶Î¿éËÑË÷ÃüÁmov eax,0F
ÕÒµ½ÔÚ711E3748´¦£¬ÕâÀï¾ÍÊÇ´¦ÀíÊäÈë±í¼ÓÃܵĵط½ÁË¡£
ÔÚ711E3756´¦ÉèÖÃÓ²¼þÖ´Ðжϵ㣬Shift+F9ÖжϺóÐÞ¸ÄMagic Jmp
711E3728 55 push ebp
711E3729 8BEC mov ebp,esp
711E372B 83C4 F8 add esp,-8
711E372E 53 push ebx
711E372F 56 push esi
711E3730 57 push edi
711E3731 8BF9 mov edi,ecx
711E3733 8955 FC mov dword ptr ss:[ebp-4],edx
711E3736 8BF0 mov esi,eax
711E3738 8B45 FC mov eax,dword ptr ss:[ebp-4]
711E373B 8945 F8 mov dword ptr ss:[ebp-8],eax
711E373E 807D 08 00 cmp byte ptr ss:[ebp+8],0
711E3742 0F84 85000000 je 711E37CD
711E3748 B8 0F000000 mov eax,0F
//ÕÒµ½ÕâÀï
711E374D E8 1AF0F3FF call 7112276C
711E3752 8BD8 mov ebx,eax
711E3754 85DB test ebx,ebx
711E3756 74 75 je short 711E37CD
//ÐÞ¸ÄΪ£ºJMP 711E37CD ¡ï Magic Jmp
711E3758 8B86 68030000 mov eax,dword ptr ds:[esi+368]
711E375E E8 3D24F4FF call 71125BA0
711E3763 40 inc eax
711E3764 50 push eax
711E3765 8D86 68030000 lea eax,dword ptr ds:[esi+368]
711E376B B9 01000000 mov ecx,1
711E3770 8B15 ACF61D71 mov edx,dword ptr ds:[711DF6AC]
711E3776 E8 E125F4FF call 71125D5C
711E377B 83C4 04 add esp,4
711E377E 8B86 68030000 mov eax,dword ptr ds:[esi+368]
711E3784 E8 1724F4FF call 71125BA0
711E3789 8B96 68030000 mov edx,dword ptr ds:[esi+368]
711E378F 895C82 FC mov dword ptr ds:[edx+eax*4-4],ebx
711E3793 C603 E8 mov byte ptr ds:[ebx],0E8
711E3796 8BD3 mov edx,ebx
711E3798 8BC2 mov eax,edx
711E379A 40 inc eax
711E379B B9 68C91A71 mov ecx,711AC968
711E37A0 2BC8 sub ecx,eax
711E37A2 83E9 04 sub ecx,4
711E37A5 8908 mov dword ptr ds:[eax],ecx
711E37A7 C643 05 FF mov byte ptr ds:[ebx+5],0FF
711E37AB C643 06 25 mov byte ptr ds:[ebx+6],25
711E37AF 8BC2 mov eax,edx
711E37B1 83C0 07 add eax,7
711E37B4 8BCA mov ecx,edx
711E37B6 83C1 0B add ecx,0B
711E37B9 8908 mov dword ptr ds:[eax],ecx
711E37BB 8BC3 mov eax,ebx
711E37BD 83C0 0B add eax,0B
711E37C0 8BCA mov ecx,edx
711E37C2 83C1 05 add ecx,5
711E37C5 334D FC xor ecx,dword ptr ss:[ebp-4]
711E37C8 8908 mov dword ptr ds:[eax],ecx
711E37CA 8955 F8 mov dword ptr ss:[ebp-8],edx
711E37CD 85FF test edi,edi
711E37CF 74 29 je short 711E37FA
711E37D1 33D2 xor edx,edx
711E37D3 55 push ebp
711E37D4 68 F0371E71 push 711E37F0
711E37D9 64:FF32 push dword ptr fs:[edx]
711E37DC 64:8922 mov dword ptr fs:[edx],esp
711E37DF 8BC7 mov eax,edi
711E37E1 8B55 F8 mov edx,dword ptr ss:[ebp-8]
711E37E4 8910 mov dword ptr ds:[eax],edx ; SHELL32.ShellExecuteA
//ÕýÈ·µÄº¯ÊýдÈ룬ÕâÀï¿ÉÒÔ¿´¼ûIATµØÖ·
711E37E6 33C0 xor eax,eax
711E37E8 5A pop edx
711E37E9 59 pop ecx
711E37EA 59 pop ecx
711E37EB 64:8910 mov dword ptr fs:[eax],edx
711E37EE EB 0A jmp short 711E37FA
711E37F0 E9 7706F4FF jmp 71123E6C
711E37F5 E8 DA09F4FF call 711241D4
711E37FA 8B45 F8 mov eax,dword ptr ss:[ebp-8]
711E37FD 5F pop edi
711E37FE 5E pop esi
711E37FF 5B pop ebx
711E3800 59 pop ecx
711E3801 59 pop ecx
711E3802 5D pop ebp
711E3803 C2 0400 retn 4
//·µ»Ø711E4E06´¦
ÐÞ¸ÄÍêMagic JmpºóÈ¡Ïû711E3756´¦Ó²¼þ¶Ïµã£¬¼ÌÐø¿´
711E4E01 E8 22E9FFFF call 711E3728
//´¦ÀíÊäÈë±í¼ÓÃÜ
711E4E06 EB 36 jmp short 711E4E3E
711E4E08 8BD0 mov edx,eax
711E4E0A 81E2 FFFF0000 and edx,0FFFF
711E4E10 8B45 FC mov eax,dword ptr ss:[ebp-4]
711E4E13 E8 3874FCFF call 711AC250
711E4E18 8945 BC mov dword ptr ss:[ebp-44],eax
711E4E1B 8A45 EF mov al,byte ptr ss:[ebp-11]
711E4E1E 50 push eax
711E4E1F A1 94DD1F71 mov eax,dword ptr ds:[711FDD94]
711E4E24 8B00 mov eax,dword ptr ds:[eax]
711E4E26 8B55 E4 mov edx,dword ptr ss:[ebp-1C]
711E4E29 8B0490 mov eax,dword ptr ds:[eax+edx*4]
711E4E2C 8BCF mov ecx,edi
711E4E2E 8B55 BC mov edx,dword ptr ss:[ebp-44]
711E4E31 E8 F2E8FFFF call 711E3728
711E4E36 3BFB cmp edi,ebx
711E4E38 74 04 je short 711E4E3E
711E4E3A 33C0 xor eax,eax
711E4E3C 8903 mov dword ptr ds:[ebx],eax
711E4E3E 83C3 04 add ebx,4
711E4E41 83C7 04 add edi,4
711E4E44 8B03 mov eax,dword ptr ds:[ebx]
711E4E46 85C0 test eax,eax
711E4E48 0F87 93FEFFFF ja 711E4CE1
711E4E4E A1 9CDB1F71 mov eax,dword ptr ds:[711FDB9C]
//[711FDB9C]=71200685
711E4E53 8038 00 cmp byte ptr ds:[eax],0
//[71200685]´¦±£´æµÄÊǼìÑé±ê־λ
711E4E56 75 13 jnz short 711E4E6B
//NOPµô ¡ï
711E4E58 83C6 14 add esi,14
711E4E5B 837E 0C 00 cmp dword ptr ds:[esi+C],0
711E4E5F 76 0A jbe short 711E4E6B
711E4E61 837E 10 00 cmp dword ptr ds:[esi+10],0
711E4E65 0F87 6AFBFFFF ja 711E49D5
//Ñ»·´¦ÀíÊäÈë±í
711E4E6B 33C0 xor eax,eax
//ÕâÀïÉèÖÃÓ²¼þÖ´Ðжϵ㠡ï
Shift+F9£¬µ±ÎÒÃÇÖжÏÔÚ711E4E6B´¦Ê±ÊäÈë±í¾Í´¦ÀíÍê±ÏÁË¡£ÔËÐÐImportRec£¬ÌîÈëRVA=000062E0¡¢Size=240£¬»ñÈ¡ÊäÈë±í£¬º¯Êý¶¼ÊÇÓÐЧµÄ¡£ÐÞ¸ÄOEP RVA=000010CC£¬¿ÉÒÔ±£´æÊ÷ÎļþÁË¡£
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
ËÄ¡¢²¿·Ö¼ìÑé
ÏÖÔÚ»¹ÔÉÏÃæËù×÷µÄÐ޸İɣ¬¿Ç»¹ÓÐ×Ô¼ìÑéµÄ
711E4E6B 33C0 xor eax,eax
711E4E6D E8 9A050000 call 711E540C
//¼ìÑé ¢Ù ÓÐÐËȤ¿ÉÒÔ¸ú×Ù½øÈë¿´¿´EncryptPEÊÇÈçºÎ¼ìÑéµÄ
711E4E72 84C0 test al,al
711E4E74 75 0B jnz short 711E4E8
//Èç¹û¼ìÑéÓÐÎÊÌâµÄ»°£¬ÔòÊÖ¶¯Ð޸ıê־λZ=1£¬Ê¹ÕâÀï²»Ìøת ¡ï
711E4E76 33C0 xor eax,eax
711E4E78 E8 2FBBFCFF call 711B09AC
//¼ìÑé ¢Ú
711E4E7D 84C0 test al,al
711E4E7F 74 08 je short 711E4E89
//Èç¹û¼ìÑéÓÐÎÊÌâµÄ»°£¬ÔòÊÖ¶¯Ð޸ıê־λZ=1£¬Ê¹ÕâÀïÌøת ¡ï
711E4E81 A1 9CDB1F71 mov eax,dword ptr ds:[711FDB9C]
711E4E86 C600 01 mov byte ptr ds:[eax],1
//ÕâÀïÈç¹ûÖÃ1µÄ»°£¬Ôò½âÂë»á²»ÍêÈ«£¡Òò´ËÒªÌø¹ýÈ¥£¡¡ï
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
Îå¡¢½âÂëÐÞ¸´
Èç¹û´ËʱCtrl+G£º4010CC£¬»òÕßDumpÐÞ¸´µÄ»°£¬Ôò´úÂ뻹ûÓл¹ÔÍêÈ«
004010CC 55 push ebp
004010CD 8BEC mov ebp,esp
004010CF 83EC 44 sub esp,44
004010D2 56 push esi
004010D3 90 nop
004010D4 E8 D38CBFFF call FFFF9DAC
//´úÂ뻹ûÓл¹Ô
ÏÂÃ濪ʼ±äÐδúÂëµÄÐÞ¸´¡£Í¨¹ýÐÞ¸ÄEncryptPEµÄÔËÐÐÁ÷³Ì£¬Ê¹Æä×Ô¶¯»¹Ô±äÐδúÂë¡£
Ctrl+FÔÚµ±Ç°Î»ÖÃÏÂËÑË÷ÃüÁsub ax,0CCE9£¬ÕÒµ½ÔÚ711E4FD2´¦£¬F4¹ýÈ¥
711E4FCA 8BD8 mov ebx,eax
711E4FCC 83EB 02 sub ebx,2
711E4FCF 66:8B03 mov ax,word ptr ds:[ebx]
//ÏÂÃæÊǸù¾ÝMOVºÍµ÷Ó÷½Ê½½øÐлָ´´úÂë ¡ï
711E4FD2 66:2D E9CC sub ax,0CCE9
//ÕÒµ½ÕâÀï
711E4FD6 74 0E je short 711E4FE6
711E4FD8 66:2D A71B sub ax,1BA7
711E4FDC 74 47 je short 711E5025
711E4FDE 66:2D 0001 sub ax,100
711E4FE2 74 41 je short 711E5025
711E4FE4 EB 7D jmp short 711E5063
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
1¡¢µ÷ÓñíºÍÌøת±í½âÃÜ
711E4FE6 E8 297EFCFF call 711ACE14
//ͳһ·Åcall 711ACE14ÀïÃæPatch£¡¡ï
711E4FEB 66:C700 FF25 mov word ptr ds:[eax],25FF
//ÐÞ¸Ä 1 £ºNOP ¡ï
711E4FF0 8B55 FC mov edx,dword ptr ss:[ebp-4]
//ÐÞ¸Ä 2 £ºNOP ¡ï
711E4FF3 8950 02 mov dword ptr ds:[eax+2],edx
//ÐÞ¸Ä 3 £ºNOP ¡ï
711E4FF6 8BD0 mov edx,eax
711E4FF8 8B5D E8 mov ebx,dword ptr ss:[ebp-18]
711E4FFB 83C3 06 add ebx,6
711E4FFE 8B45 E0 mov eax,dword ptr ss:[ebp-20]
711E5001 03C0 add eax,eax
711E5003 03D8 add ebx,eax
711E5005 8B45 E8 mov eax,dword ptr ss:[ebp-18]
711E5008 8B00 mov eax,dword ptr ds:[eax]
711E500A 0FB70B movzx ecx,word ptr ds:[ebx]
711E500D 81E9 00300000 sub ecx,3000
711E5013 03C1 add eax,ecx
711E5015 0345 DC add eax,dword ptr ss:[ebp-24]
711E5018 48 dec eax
711E5019 2BD0 sub edx,eax
711E501B 83EA 04 sub edx,4
711E501E 8910 mov dword ptr ds:[eax],edx
//ÐÞ¸Ä 4 £ºÐ´Èë¼ÓÃܵØÖ· NOPµô£¡ ¡ï
711E5020 E9 68010000 jmp 711E518D
711E5025 E8 EA7DFCFF call 711ACE14
//ͳһ·Åcall 711ACE14ÀïÃæPatch£¡¡ï
711E502A 66:C700 FF25 mov word ptr ds:[eax],25FF
//ÐÞ¸Ä 5 £ºNOP ¡ï
711E502F 8B55 FC mov edx,dword ptr ss:[ebp-4]
//ÐÞ¸Ä 6 £ºNOP ¡ï
711E5032 8950 02 mov dword ptr ds:[eax+2],edx
//ÐÞ¸Ä 7 £ºNOP ¡ï
711E5035 8BD0 mov edx,eax
711E5037 8B5D E8 mov ebx,dword ptr ss:[ebp-18]
711E503A 83C3 06 add ebx,6
711E503D 8B45 E0 mov eax,dword ptr ss:[ebp-20]
711E5040 03C0 add eax,eax
711E5042 03D8 add ebx,eax
711E5044 8B45 E8 mov eax,dword ptr ss:[ebp-18]
711E5047 8B00 mov eax,dword ptr ds:[eax]
711E5049 0FB70B movzx ecx,word ptr ds:[ebx]
711E504C 81E9 00300000 sub ecx,3000
711E5052 03C1 add eax,ecx
711E5054 0345 DC add eax,dword ptr ss:[ebp-24]
711E5057 2BD0 sub edx,eax
711E5059 83EA 04 sub edx,4
711E505C 8910 mov dword ptr ds:[eax],edx
//ÐÞ¸Ä 8 £ºÐ´Èë¼ÓÃܵØÖ· NOPµô£¡ ¡ï
711E505E E9 2A010000 jmp 711E518D
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
2¡¢MOVÀàÐͽâÃÜ
711E5063 8B15 94DD1F71 mov edx,dword ptr ds:[711FDD94]
711E5069 8B12 mov edx,dword ptr ds:[edx]
711E506B 8B4D E4 mov ecx,dword ptr ss:[ebp-1C]
711E506E 8B148A mov edx,dword ptr ds:[edx+ecx*4]
711E5071 80BA 5E030000 0>cmp byte ptr ds:[edx+35E],3
711E5078 0F86 0F010000 jbe 711E518D
711E507E 66:8B13 mov dx,word ptr ds:[ebx]
711E5081 66:81E2 FF00 and dx,0FF
711E5086 66:81FA 8900 cmp dx,89
711E508B 74 13 je short 711E50A0
711E508D 66:8B13 mov dx,word ptr ds:[ebx]
711E5090 66:81E2 FF00 and dx,0FF
711E5095 66:81FA 8B00 cmp dx,8B
711E509A 0F85 ED000000 jnz 711E518D
711E50A0 66:8B03 mov ax,word ptr ds:[ebx]
711E50A3 66:25 00FF and ax,0FF00
711E50A7 66:3D 0005 cmp ax,500
711E50AB 74 4C je short 711E50F9
711E50AD 66:3D 0015 cmp ax,1500
711E50B1 74 46 je short 711E50F9
711E50B3 66:3D 0025 cmp ax,2500
711E50B7 74 40 je short 711E50F9
711E50B9 66:3D 0035 cmp ax,3500
711E50BD 74 3A je short 711E50F9
711E50BF 66:3D 000D cmp ax,0D00
711E50C3 74 34 je short 711E50F9
711E50C5 66:3D 001D cmp ax,1D00
711E50C9 74 2E je short 711E50F9
711E50CB 66:3D 002D cmp ax,2D00
711E50CF 74 28 je short 711E50F9
711E50D1 66:3D 003D cmp ax,3D00
711E50D5 74 22 je short 711E50F9
711E50D7 66:8B03 mov ax,word ptr ds:[ebx]
711E50DA 66:25 00FF and ax,0FF00
711E50DE 66:3D 0080 cmp ax,8000
711E50E2 0F82 A5000000 jb 711E518D
711E50E8 66:8B03 mov ax,word ptr ds:[ebx]
711E50EB 66:25 00FF and ax,0FF00
711E50EF 66:3D 00C0 cmp ax,0C000
711E50F3 0F83 94000000 jnb 711E518D
711E50F9 66:8B03 mov ax,word ptr ds:[ebx]
711E50FC 66:25 FF00 and ax,0FF
711E5100 66:3D 8900 cmp ax,89
711E5104 74 0D je short 711E5113
711E5106 66:8B03 mov ax,word ptr ds:[ebx]
711E5109 66:25 FF00 and ax,0FF
711E510D 66:3D 8B00 cmp ax,8B
711E5111 75 7A jnz short 711E518D
711E5113 E8 FC7CFCFF call 711ACE14
//ÐèҪΪÏÂÃæµÄÀàÐÍÅжÏһϠ¡ï ͳһ·Åcall 711ACE14ÀïÃæPatch£¡¡ï
711E5118 66:8B13 mov dx,word ptr ds:[ebx]
711E511B 66:81E2 FF00 and dx,0FF
711E5120 66:81FA 8900 cmp dx,89
711E5125 75 12 jnz short 711E5139
711E5127 66:8B13 mov dx,word ptr ds:[ebx]
711E512A 66:81E2 00FF and dx,0FF00
711E512F 66:81C2 8B00 add dx,8B
711E5134 66:8910 mov word ptr ds:[eax],dx
//ÐÞ¸Ä 9£ºmov word ptr ds:[ebx],dx ¡ï
//ºÇºÇ£¬Ìæ»»89->8B
711E5137 EB 10 jmp short 711E5149
711E5139 66:8B13 mov dx,word ptr ds:[ebx]
711E513C 66:81E2 00FF and dx,0FF00
711E5141 66:81C2 8900 add dx,89
711E5146 66:8910 mov word ptr ds:[eax],dx
//ÐÞ¸Ä 10£ºmov word ptr ds:[ebx],dx ¡ï
//ºÇºÇ£¬Ìæ»»8B->89
711E5149 8B55 FC mov edx,dword ptr ss:[ebp-4]
711E514C 8950 02 mov dword ptr ds:[eax+2],edx
711E514F 66:C740 06 90E9 mov word ptr ds:[eax+6],0E990
//ÐÞ¸Ä 11£ºNOP ! ¡ï
711E5155 8BD3 mov edx,ebx
711E5157 2BD0 sub edx,eax
711E5159 83EA 06 sub edx,6
711E515C 8950 08 mov dword ptr ds:[eax+8],edx
711E515F 8BD0 mov edx,eax
711E5161 66:C703 90E9 mov word ptr ds:[ebx],0E990
//ÐÞ¸Ä 12£ºNOP ! ¡ï
711E5166 8B5D E8 mov ebx,dword ptr ss:[ebp-18]
711E5169 83C3 06 add ebx,6
711E516C 8B45 E0 mov eax,dword ptr ss:[ebp-20]
711E516F 03C0 add eax,eax
711E5171 03D8 add ebx,eax
711E5173 8B45 E8 mov eax,dword ptr ss:[ebp-18]
711E5176 8B00 mov eax,dword ptr ds:[eax]
711E5178 0FB70B movzx ecx,word ptr ds:[ebx]
711E517B 81E9 00300000 sub ecx,3000
711E5181 03C1 add eax,ecx
711E5183 0345 DC add eax,dword ptr ss:[ebp-24]
711E5186 2BD0 sub edx,eax
711E5188 83EA 04 sub edx,4
711E518B 8910 mov dword ptr ds:[eax],edx
//ÐÞ¸Ä 13£ºNOP ! ¡ï
711E518D 8B5D E8 mov ebx,dword ptr ss:[ebp-18]
711E5190 83C3 06 add ebx,6
711E5193 8B45 E0 mov eax,dword ptr ss:[ebp-20]
711E5196 03C0 add eax,eax
711E5198 03D8 add ebx,eax
711E519A 66:C703 0000 mov word ptr ds:[ebx],0
711E519F FF4D E0 dec dword ptr ss:[ebp-20]
711E51A2 837D E0 00 cmp dword ptr ss:[ebp-20],0
711E51A6 0F8F B2FDFFFF jg 711E4F5E
//Ñ»·
711E51AC 8B45 E8 mov eax,dword ptr ss:[ebp-18]
711E51AF 33D2 xor edx,edx
711E51B1 8910 mov dword ptr ds:[eax],edx
711E51B3 A1 9CDB1F71 mov eax,dword ptr ds:[711FDB9C]
711E51B8 8038 00 cmp byte ptr ds:[eax],0
//±È½Ï¼ìÑé±ê־λ£¡£¡
711E51BB 75 0A jnz short 711E51C7
//ÐÞ¸Ä 14£ºNOP ! ¡ï ¼ìÑéʧ°ÜÔòÕâÀïÌøת£¬Ôò½âÂë²»ÍêÈ«£¡
711E51BD 837D F8 00 cmp dword ptr ss:[ebp-8],0
711E51C1 0F8F 20FDFFFF jg 711E4EE7
//Ñ»·
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
3¡¢Í³Ò»·Åcall 711ACE14ÀïÃæPatch£¡
711ACE14 53 push ebx
711ACE15 B8 0C000000 mov eax,0C
711ACE1A E8 4D59F7FF call 7112276C
711ACE1F 8BD8 mov ebx,eax
711ACE21 85DB test ebx,ebx
711ACE23 74 38 je short 711ACE5D
711ACE25 A1 68062071 mov eax,dword ptr ds:[71200668]
711ACE2A E8 718DF7FF call 71125BA0
711ACE2F 40 inc eax
711ACE30 50 push eax
711ACE31 B8 68062071 mov eax,71200668
711ACE36 B9 01000000 mov ecx,1
711ACE3B 8B15 10B51A71 mov edx,dword ptr ds:[711AB510]
711ACE41 E8 168FF7FF call 71125D5C
711ACE46 83C4 04 add esp,4
711ACE49 A1 68062071 mov eax,dword ptr ds:[71200668]
711ACE4E E8 4D8DF7FF call 71125BA0
711ACE53 8B15 68062071 mov edx,dword ptr ds:[71200668]
711ACE59 895C82 FC mov dword ptr ds:[edx+eax*4-4],ebx
//Patch £ºjmp 71236E4D ¡ï
711ACE5D 8BC3 mov eax,ebx
711ACE5F 5B pop ebx
711ACE60 C3 retn
ΪÁË·ÀÖ¹Òì³££¬ÏÈÔÚOllyDbgÀïÃæÉèÖÃV220531.epeµÚ2¸öÇø¶ÎΪÍêÕûȨÏÞ
ÔÚ71236E4D´¦Ð´ÈëÒÔÏÂpatch´úÂ룺
71236E4D 895C82 FC mov dword ptr ds:[edx+eax*4-4],ebx
//¼ÌÐøÔËÐÐ711ACE59´¦´úÂë
71236E51 8BC3 mov eax,ebx
71236E53 5B pop ebx
//ÏÂÃ濪ʼÅжϡ¢ÐÞ¸Ä
71236E54 66:813B 90E8 cmp word ptr ds:[ebx],0E890
//±È½Ï´úÂëÀàÐÍ
71236E59 75 0D jnz short 71236E68
71236E5B 66:C703 FF15 mov word ptr ds:[ebx],15FF
//ÊÇ0E890¾Í·ÅÈë15FF
71236E60 8B55 FC mov edx,dword ptr ss:[ebp-4]
71236E63 8953 02 mov dword ptr ds:[ebx+2],edx
71236E66 EB 15 jmp short 71236E7D
71236E68 803B 89 cmp byte ptr ds:[ebx],89
//89 £¿
71236E6B 74 10 je short 71236E7D
//ÊÇÔò²»´¦Àí
71236E6D 803B 8B cmp byte ptr ds:[ebx],8B
//8B £¿
71236E70 74 0B je short 71236E7D
//ÊÇÔò²»´¦Àí
71236E72 66:C703 FF25 mov word ptr ds:[ebx],25FF
//²»ÊÇÒÔÉϵľͷÅÈë25FF
71236E77 8B55 FC mov edx,dword ptr ss:[ebp-4]
71236E7A 8953 02 mov dword ptr ds:[ebx+2],edx
//·ÅÈëµØÖ·
71236E7D C3 retn
//OK£¬·µ»Ø
OllyDbg¶þ½øÖÆ´úÂëÈçÏ£º
89 5C 82 FC 8B C3 5B 66 81 3B 90 E8 75 0D 66 C7 03 FF 15 8B 55 FC 89 53 02 EB 15 80 3B 89 74 10
80 3B 8B 74 0B 66 C7 03 FF 25 8B 55 FC 89 53 02 C3
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
Áù¡¢½á¾Ö£ºÍê³ÉÍÑ¿Ç
ÐÞ¸ÄÍíÒÔÉÏËùÓв¿·Öºó£¬ÔÚÑ»·ÍâÃæµÄ711E51C7´¦ÉèÖÃÓ²¼þÖ´Ðжϵ㡣
711E51C7 33C0 xor eax,eax
//ÕâÀïÏÂÓ²¼þ¶Ïµã£¬Shift+F9ÖжϺóËùÓнâÂëÍê±Ï ¡ï
711E51C9 8945 C8 mov dword ptr ss:[ebp-38],eax
711E51CC 33C0 xor eax,eax
711E51CE 8945 CC mov dword ptr ss:[ebp-34],eax
711E51D1 8B55 D4 mov edx,dword ptr ss:[ebp-2C]
711E51D4 8B45 D8 mov eax,dword ptr ss:[ebp-28]
711E51D7 E8 B0D5F3FF call 7112278C
711E51DC A1 9CDB1F71 mov eax,dword ptr ds:[711FDB9C]
711E51E1 8038 00 cmp byte ptr ds:[eax],0
711E51E4 74 05 je short 711E51EB
711E51E6 E8 3D75F4FF call 7112C728
711E51EB A1 CCDC1F71 mov eax,dword ptr ds:[711FDCCC]
711E51F0 8038 00 cmp byte ptr ds:[eax],0
711E51F3 74 17 je short 711E520C
711E51F5 E8 01000000 call 711E51FB
711E51FA E9 5883C012 jmp 83DED557
711E51FF 35 FFFFFFFF xor eax,FFFFFFFF
711E5204 60 pushad
711E5205 E8 7E73FCFF call 711AC588
711E520A FF15 E8010000 call dword ptr ds:[1E8]
711E5210 00E9 add cl,ch
711E5212 58 pop eax
711E5213 83C0 0C add eax,0C
711E5216 60 pushad
711E5217 E8 9072FCFF call 711AC4AC
¼Çʱ¾Ã»ÓÐSDK£¬²»ÐèÒª´¦ÀíSDK´úÂ벿·Ö¡£OK£¬¿ÉÒÔÓÃLordPEÍêÈ«Dump³öÕâ¸ö½ø³ÌÁË¡£ÓõÚÈý²½»ñµÃµ½µÄÊäÈë±íÖ±½ÓÐÞ¸´¾ÍÐÐÁË£¬ÈôÏë×öµÄºÃµã£¬¿ÉÒÔ°Ñ´úÂë¶ÎÌæ»»½øµÚ¶þ²½µÃµ½µÄdumped0.eXeÔÙÐÞ¸´£¬ÕâÑù¾Í²»±ØÇå³ý¿ÇÊý¾ÝÁË¡£
Ò»µãÌâÍâ»°£ºµ±³õ¿´EncryptPE¶Ï¶ÏÐøÐøÓÃÁ˺ü¸Ì죬ÍÑ¿ÇÐèÒªÒãÁ¦ºÍÄÍÐÄ£¬ÍòʽÔÈç´Ë°É¡£
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
, _/
/| _.-~/ \_ , Çà´º¶¼Ò»ÉÎ
( /~ / \~-._ |\
`\\ _/ \ ~\ ) Ḛ̀Ѹ¡Ãû
_-~~~-.) )__/;;,. \_ //'
/'_,\ --~ \ ~~~- ,;;\___( (.-~~~-. »»ÁËÍÑ¿ÇÇá¿ñ
`~ _( ,_..--\ ( ,;'' / ~-- /._`\
/~~//' /' `~\ ) /--.._, )_ `~
" `~" " `" /~'`\ `\\~~\
" " "~' ""
UnPacKed By : fly
2005-05-15 20:00