xunzhiwei 发表于 2008-9-13 21:40:24

yoda's cryptor+ACProtect壳

权限不够,只能发这啦
破文作者:叶飘
发表日期:2008年9月13日
软件名称:黄山IE修复专家 8.55版本
下载地址:http://www.skycn.com/soft/14441.html
软件简介: 反浏览器劫持病毒,超越IE修复极限,立足永久修复的治本之点。同时具备IE修复、杀QQ病毒、杀各种以驱动服务方式运行的病毒、杀各类木马(无进程木马、插入线程木马)、清除各种间谍广告程序、各种流行病毒及系统救援与日志上报于一身,一套等于多套。修复易死灰复燃顽固性、古怪性恶意网页所破坏的不能完全彻底修复的IE,专门清除间隔一段时间自动弹出恶意网页、多开几次IE及重起系统后又会被反复篡改的不能从注册表、进程、服务、启动项等清除的、挥之不去、除之不尽的奇怪恶意代码;一次性根除在用户在打开文本文件、可执行文件、浏览器、我的电脑、驱动器等又会死灰复燃的关联性病毒。在修复时自动为系统建立备份快照,自动创建浏览器劫持日志供用户查看、分析。特点:集预防、修复、免疫、救援四大功能于一身,无需实时监控,也可实现恶意网站预防及免疫,从而减少系统开销,已免疫过的恶意站点以后将不会被感染。可以清除用其他杀毒软件在正常模式与安全模式下也无法删除、清除失败的病毒文件...
软件大小: 4.51 MB
加壳方式:yoda's cryptor壳+ACProtect壳
破解声明: 刚学破解接近2个月,没人指点,琢磨几日,终于把这个壳给脱了,第一次写脱壳的笔记,失误之处请各位大侠多多赐教.因本人水平太低,想求一师傅带带!若那位不嫌弃,加我QQ:287753356
破解内容:
设置OllyDbg忽略所有的异常选项。用IsDebug插件去掉OllyDbg的调试器标志
0058E060 >55            PUSH EBP
0058E061    8BEC            MOV EBP,ESP
0058E063    6A FF         PUSH -1
0058E065    68 2A2C0A00   PUSH 0A2C2A
0058E06A    68 38900D00   PUSH 0D9038
0058E06F    64:A1 00000000MOV EAX,DWORD PTR FS:
0058E075    50            PUSH EAX
0058E076    64:8925 0000000>MOV DWORD PTR FS:,ESP
0058E07D    58            POP EAX
0058E07E    64:A3 00000000MOV DWORD PTR FS:,EAX
0058E084    58            POP EAX
0058E085    EB 0B         JMP SHORT hsreg.0058E092         前面这部分实际上是伪装的Microsoft Visual C++
0058E087    58            POP EAX
0058E088    58            POP EAX
0058E089    58            POP EAX
0058E08A    58            POP EAX
0058E08B    58            POP EAX
0058E08C    58            POP EAX
0058E08D    58            POP EAX
0058E08E    58            POP EAX
0058E08F    58            POP EAX
0058E090    90            NOP
0058E091    90            NOP
0058E092    60            PUSHAD                              yoda's cryptor 1.x / modified壳的入口
0058E093    E8 00000000   CALL hsreg.0058E098               F7
0058E098    5D            POP EBP
0058E099    81ED 89173906   SUB EBP,6391789
0058E09F    B9 230C0000   MOV ECX,0C23
0058E0A4    8DBD D1173906   LEA EDI,DWORD PTR SS:
0058E0AA    8BF7            MOV ESI,EDI
0058E0AC    AC            LODS BYTE PTR DS:
0058E0AD    F8            CLC
0058E0AE    02C1            ADD AL,CL
0058E0B0    2C D0         SUB AL,0D0
0058E0B2    C0C8 95         ROR AL,95                              ; 位移常数超出 1..31 的范围
0058E0B5    90            NOP
0058E0B6    C0C8 CF         ROR AL,0CF                               ; 位移常数超出 1..31 的范围
0058E0B9    EB 01         JMP SHORT hsreg.0058E0BC
0058E0BB    C2 90EB         RETN 0EB90
0058E0BE    01E9            ADD ECX,EBP
0058E0C0    EB 01         JMP SHORT hsreg.0058E0C3
0058E0C2- E9 045490EB   JMP EBE934CB
0058E0C7    01E9            ADD ECX,EBP
0058E0C9    EB 01         JMP SHORT hsreg.0058E0CC
0058E0CB    E8 2C51F9C0   CALL C15231FC
0058E0D0    C8 562AC1       ENTER 2A56,0C1
0058E0D4    F8            CLC
0058E0D5    C0C0 B4         ROL AL,0B4                               ; 位移常数超出 1..31 的范围
0058E0D8    04 A0         ADD AL,0A0
0058E0DA    C0C0 76         ROL AL,76                              ; 位移常数超出 1..31 的范围
0058E0DD    AA            STOS BYTE PTR ES:
0058E0DE^ E2 CC         LOOPD SHORT hsreg.0058E0AC
0058E0E0    A8 62         TEST AL,62                               F4到这,程序开始解码

******************************************************************
0058E0E0    8B4424 20       MOV EAX,DWORD PTR SS:
0058E0E4    40            INC EAX
0058E0E5    78 0A         JS SHORT hsreg.0058E0F1
0058E0E7    C785 7F213906 0>MOV DWORD PTR SS:,1
0058E0F1    8D85 51173906   LEA EAX,DWORD PTR SS:
0058E0F7    B9 66070000   MOV ECX,766
0058E0FC    E8 46030000   CALL hsreg.0058E447
0058E101    8985 7B213906   MOV DWORD PTR SS:,EAX
0058E107    8B85 73213906   MOV EAX,DWORD PTR SS:
0058E10D    83E0 01         AND EAX,1
0058E110    74 40         JE SHORT hsreg.0058E152                  
0058E112    8DB5 EB223906   LEA ESI,DWORD PTR SS:

******************************************************************
0058E152    8B85 6B213906   MOV EAX,DWORD PTR SS:       ; hsreg.00400000
0058E158    0340 3C         ADD EAX,DWORD PTR DS:
0058E15B    05 80000000   ADD EAX,80
0058E160    8B08            MOV ECX,DWORD PTR DS:
0058E162    038D 6B213906   ADD ECX,DWORD PTR SS:
0058E168    83C1 10         ADD ECX,10

……
……
……
0058E2A8    C742 50 0010000>MOV DWORD PTR DS:,1000            一路F8到这
0058E2AF    E8 0A000000   CALL hsreg.0058E2BE                         F7进入                     
0058E2B4    4E            DEC ESI

********************************************************************

0058E2BE    FF95 21233906   CALL DWORD PTR SS:
0058E2C4    91            XCHG EAX,ECX
0058E2C5    E3 58         JECXZ SHORT hsreg.0058E31F                  回车,shift+F9
********************************************************************
0058E31F    8CC9            MOV CX,CS
0058E321    32C9            XOR CL,CL
0058E323    E3 02         JECXZ SHORT hsreg.0058E327
0058E325    EB 66         JMP SHORT hsreg.0058E38D
0058E327    EB 14         JMP SHORT hsreg.0058E33D
0058E329    8B4C24 04       MOV ECX,DWORD PTR SS:
0058E32D    8B49 04         MOV ECX,DWORD PTR DS:
0058E330    8381 B8000000 0>ADD DWORD PTR DS:,2
0058E337    33C0            XOR EAX,EAX
0058E339    48            DEC EAX
0058E33A    C2 0400         RETN 4
0058E33D    60            PUSHAD
0058E33E    E8 1C000000   CALL hsreg.0058E35F                            F7进入
********************************************************************
0058E35F    FFB5 0C233906   PUSH DWORD PTR SS:          ; kernel32.7C800000
0058E365    FF95 FB223906   CALL DWORD PTR SS:
0058E36B    96            XCHG EAX,ESI
0058E36C    8D85 1A1A3906   LEA EAX,DWORD PTR SS:
0058E372    50            PUSH EAX
0058E373    FFD6            CALL ESI
0058E375    97            XCHG EAX,EDI
0058E376    33D2            XOR EDX,EDX
0058E378    F7FA            IDIV EDX
0058E37A    90            NOP
0058E37B    90            NOP
0058E37C    CD 01         INT 1
0058E37E    90            NOP
0058E37F    90            NOP
0058E380    CC            INT3
0058E381    90            NOP
0058E382    90            NOP
0058E383    33C0            XOR EAX,EAX
0058E385    3100            XOR DWORD PTR DS:,EAX
0058E387    90            NOP
0058E388    90            NOP
0058E389    57            PUSH EDI
0058E38A    FFD6            CALL ESI
0058E38C    61            POPAD                                    F2下断,shift+F9
0058E38D    8BBD 6B213906   MOV EDI,DWORD PTR SS:
0058E393    037F 3C         ADD EDI,DWORD PTR DS:
0058E396    8BB5 6B213906   MOV ESI,DWORD PTR SS:
0058E39C    8B4F 54         MOV ECX,DWORD PTR DS:
0058E39F    8D85 10243906   LEA EAX,DWORD PTR SS:
0058E3A5    50            PUSH EAX
0058E3A6    6A 04         PUSH 4
0058E3A8    51            PUSH ECX
0058E3A9    FFB5 6B213906   PUSH DWORD PTR SS:
0058E3AF    FF95 34233906   CALL DWORD PTR SS:
0058E3B5    F785 73213906 0>TEST DWORD PTR SS:,8
0058E3BF   /0F84 A7000000   JE hsreg.0058E46C                        回车,shift+F9
*******************************************************************
0058E46C   /E9 0B000000   JMP hsreg.0058E47C
0058E471   |06            PUSH ES
0058E472   |BB 01000000   MOV EBX,1
0058E477   |E8 08000000   CALL hsreg.0058E484
0058E47C   \8D85 3E1C3906   LEA EAX,DWORD PTR SS:
0058E482    50            PUSH EAX
0058E483    C3            RETN
*******************************************************************
0058E54D    8B9D 6B213906   MOV EBX,DWORD PTR SS:       ; hsreg.00400000
0058E553    039D 6F213906   ADD EBX,DWORD PTR SS:
0058E559    C1CB 07         ROR EBX,7                           查看信息窗口,此时EBX=00570000便是ACProtect壳的入口
0058E55C    895C24 10       MOV DWORD PTR SS:,EBX
0058E560    8D9D 391F3906   LEA EBX,DWORD PTR SS:
0058E566    895C24 1C       MOV DWORD PTR SS:,EBX
0058E56A    8BBD 6B213906   MOV EDI,DWORD PTR SS:
0058E570    037F 3C         ADD EDI,DWORD PTR DS:
0058E573    8B9F C0000000   MOV EBX,DWORD PTR DS:

将0058E559处的ROR EBX,7改成JMP EBX,单步F8便可到达ACProtect壳的入口
00570000    60            PUSHAD
00570001    50            PUSH EAX
00570002    E8 01000000   CALL hsreg.00570008
00570007- 72 83         JB SHORT hsreg.0056FF8C
00570009    C40458          LES EAX,FWORD PTR DS:         ; 段寄存器修饰
0057000C    23EB            AND EBP,EBX
0057000E    79 02         JNS SHORT hsreg.00570012
00570010    87F5            XCHG EBP,ESI
00570012    40            INC EAX
00570013    66:C1C5 AA      ROL BP,0AA                               ; 位移常数超出 1..31 的范围
00570017    7A 03         JPE SHORT hsreg.0057001C
00570019    7B 01         JPO SHORT hsreg.0057001C
0057001B- 77 B8         JA SHORT hsreg.0056FFD5
0057001D    D337            SAL DWORD PTR DS:,CL

查看内存,在Memory map, 项目 21
地址=00401000
大小=0000C000 (49152.)
属主=hsreg    00400000
区段=.text
包含=代码
类型=映像 01001004
访问=RW
初始访问=RWE

下断,shift+F9到达

0040D75F   8A18            MOV BL,BYTE PTR DS:
0040D761   40            INC EAX
0040D762   885C24 0C       MOV BYTE PTR SS:,BL
0040D766   8902            MOV DWORD PTR DS:,EAX
0040D768   8B42 08         MOV EAX,DWORD PTR DS:
………
0040D789   73 D2         JNB SHORT hsreg.0040D75D         F4跳过

………
0040D7AE   5E            POP ESI
0040D7AF   59            POP ECX
0040D7B0   C2 0400         RETN 4                            一路F8到这
***************************************************
0040DB1F   85C0            TEST EAX,EAX
0040DB21   75 0E         JNZ SHORT hsreg.0040DB31
0040DB23   8BBB 60020000   MOV EDI,DWORD PTR DS:
0040DB29   B9 BD000000   MOV ECX,0BD

…………
0040DB7E   02D0            ADD DL,AL
0040DB80   80E2 0F         AND DL,0F
0040DB83   885434 24       MOV BYTE PTR SS:,DL
0040DB87   46            INC ESI
0040DB88   EB 60         JMP SHORT hsreg.0040DBEA


0040DBEA   81FE F5020000   CMP ESI,2F5
0040DBF0   ^ 0F8C 73FFFFFF   JL hsreg.0040DB69                  F4跳过   
0040DBF6   8D5424 24       LEA EDX,DWORD PTR SS:   
………………
………………



一路F8,遇到往上的就F4一直走到

0040D3A7   0BC9            OR ECX,ECX
0040D3A9   8985 A8030000   MOV DWORD PTR SS:,EAX
0040D3AF   61            POPAD
0040D3B0   75 08         JNZ SHORT hsreg.0040D3BA
0040D3B2   B8 01000000   MOV EAX,1
0040D3B7   C2 0C00         RETN 0C
0040D3BA   68 24114000   PUSH hsreg.00401124
0040D3BF   C3            RETN                           
***********************************************************************************

00401124   55            PUSH EBP                              程序真正的OEP
00401125   8BEC            MOV EBP,ESP
00401127   6A FF         PUSH -1
00401129   68 C7104000   PUSH hsreg.004010C7
0040112E   68 CB104000   PUSH hsreg.004010CB
00401133   64:A1 00000000MOV EAX,DWORD PTR FS:
00401139   50            PUSH EAX
0040113A   64:8925 0000000>MOV DWORD PTR FS:,ESP
00401141   58            POP EAX
00401142   58            POP EAX
00401143   58            POP EAX
00401144   58            POP EAX
00401145   58            POP EAX
00401146   53            PUSH EBX
00401147   56            PUSH ESI
00401148   57            PUSH EDI
00401149   BB 00B04000   MOV EBX,hsreg.0040B000



LordPE脱壳    ImportREC修复,IAT全部有效,修复完成后,程序正常运行!

wangyuankai 发表于 2008-9-13 22:29:30

我在站务版块转过来的。版主们请自行查看帖子内容。

xunzhiwei 发表于 2008-9-13 23:47:31

谢谢啊~真是忠心的感谢

Luckly 发表于 2008-9-14 08:08:00

第一步 BP VirtualFreeShift+F9 断下后返回
第二步 Ctrl+S popad已经是OEP的出口了

xunzhiwei 发表于 2008-9-14 11:45:16

回复 4# 的帖子

试了下您说的方法~我这运行起来不行~

Luckly 发表于 2008-9-14 11:59:41

那就算了~ 能脱就行。各有各的方法。

月之精灵 发表于 2008-9-14 14:19:43

原帖由 Luckly 于 2008-9-14 11:59 发表 https://www.chinapyg.com/images/common/back.gif
那就算了~ 能脱就行。各有各的方法。
/:018
/:018 /:018 /:018 /:018

老海 发表于 2008-9-14 23:04:38

是的各有各的方法,有些方法不是能一两句就能说得清楚的
页: [1]
查看完整版本: yoda's cryptor+ACProtect壳