忧伤的路西法 发表于 2006-3-22 20:39:48

EXEStealth 2.5 / 2.6 -> WebToolMaster脱壳小记

【破文标题】EXEStealth 2.5 / 2.6 -> WebToolMaster脱壳小记
【破文作者】忧伤的路西法
【作者邮箱】[email protected]
【作者主页】暂无
【破解工具】OD 1.1PEID 0.94
【破解平台】XP SP2
【软件名称】hijackthis 1.99.1
【软件大小】220KB
【原版下载】http://soft.mumayi.net/Software/catalog101/2422.html
【保护方式】
【软件简介】ANTI IE 劫持工具
【破解声明】偶的处女作,一点心得,愿与大家分享!
------------------------------------------------------------------------
OD载入,除忽略非法内存外,其他不选

004E9060 >60            PUSHAD               //入口点
004E9061    EB 22         JMP SHORT HijackTh.004E9085
004E9063    45            INC EBP
004E9064    78 65         JS SHORT HijackTh.004E90CB
004E9066    53            PUSH EBX
004E9067    74 65         JE SHORT HijackTh.004E90CE
004E9069    61            POPAD
004E906A    6C            INS BYTE PTR ES:,DX               ; I/O 命令
004E906B    74 68         JE SHORT HijackTh.004E90D5
004E906D    202D 20777777   AND BYTE PTR DS:,CH
.............................................................
F9 运行下....到了这里
004E97AB    0000            ADD BYTE PTR DS:,AL    停在这里
004E97AD    0000            ADD BYTE PTR DS:,AL
004E97AF    0000            ADD BYTE PTR DS:,AL
004E97B1    0000            ADD BYTE PTR DS:,AL
004E97B3    0000            ADD BYTE PTR DS:,AL
004E97B5    0000            ADD BYTE PTR DS:,AL
004E97B7    0000            ADD BYTE PTR DS:,AL
004E97B9    0000            ADD BYTE PTR DS:,AL
004E97BB    0000            ADD BYTE PTR DS:,AL
004E97BD    0000            ADD BYTE PTR DS:,AL
004E97BF    0000            ADD BYTE PTR DS:,AL
004E97C1    0000            ADD BYTE PTR DS:,AL
004E97C3    0000            ADD BYTE PTR DS:,AL

堆栈内容:
0012FFBC   0012FFE0指向下一个 SEH 记录的指针
0012FFC0   004E974ESE处理程序
0012FFC4   7C816D4F返回到 kernel32.7C816D4F
0012FFC8   7C930738ntdll.7C930738
0012FFCC   FFFFFFFF
0012FFD0   7FFDE000
0012FFD4   8054B938
0012FFD8   0012FFC8

ctrl+g004e974E
下断点,SHIT+F9运行到断点,取消断点

004E974E    55            PUSH EBP    停在这里
004E974F    8BEC            MOV EBP,ESP
004E9751    57            PUSH EDI
004E9752    8B45 10         MOV EAX,DWORD PTR SS:
004E9755    8BB8 C4000000   MOV EDI,DWORD PTR DS:
004E975B    FF37            PUSH DWORD PTR DS:
004E975D    33FF            XOR EDI,EDI
004E975F    64:8F07         POP DWORD PTR FS:

ALT+M内存镜像
在资源处下内存访问断点,由于其他资源还没有解压缩完,所以在资源处下内存访问断点(资源解压缩完之后,会有红色的提示,大家可以看到)
SHIT+F9运行,断在这里
7C93280D    66:8B50 0C      MOV DX,WORD PTR DS:这里断下
7C932811    66:8955 B0      MOV WORD PTR SS:,DX
7C932815    8D70 10         LEA ESI,DWORD PTR DS:
7C932818    8975 90         MOV DWORD PTR SS:,ESI
7C93281B    8B55 0C         MOV EDX,DWORD PTR SS:
7C93281E    66:F742 02 FFFF TEST WORD PTR DS:,0FFFF
7C932824    75 11         JNZ SHORT ntdll.7C932837
7C932826    0FB755 B0       MOVZX EDX,WORD PTR SS:
7C93282A    8D34D6          LEA ESI,DWORD PTR DS:
7C93282D    8975 90         MOV DWORD PTR SS:,ESI
.........
移除内存访问断点,改在CODE断下内存访问断点....
SHIT+F9运行,断下
004E72BC    8B06            MOV EAX,DWORD PTR DS:    这里
004E72BE    85C0            TEST EAX,EAX
004E72C0    75 03         JNZ SHORT HijackTh.004E72C5
004E72C2    8B46 10         MOV EAX,DWORD PTR DS:
004E72C5    03C2            ADD EAX,EDX
004E72C7    0385 49050000   ADD EAX,DWORD PTR SS:

移除内存访问断点...
F8单步

004E7305   /75 6F         JNZ SHORT HijackTh.004E7376跳转,跳
004E7307   |F7C3 00000080   TEST EBX,80000000
004E730D   |75 19         JNZ SHORT HijackTh.004E7328
004E730F   |57            PUSH EDI
004E7310   |8B46 0C         MOV EAX,DWORD PTR DS:
004E7313   |0385 22040000   ADD EAX,DWORD PTR SS:
004E7319   |50            PUSH EAX
004E731A   |53            PUSH EBX


跳到这里
004E7376    8907            MOV DWORD PTR DS:,EAX               ; MSVBVM60.__vbaVarTstGt
004E7378    8385 49050000 0>ADD DWORD PTR SS:,4
004E737F^ E9 32FFFFFF   JMP HijackTh.004E72B6
004E7384    8906            MOV DWORD PTR DS:,EAX    //F4到这里
004E7386    8946 0C         MOV DWORD PTR DS:,EAX
004E7389    8946 10         MOV DWORD PTR DS:,EAX
004E738C    83C6 14         ADD ESI,14
004E738F    8B95 22040000   MOV EDX,DWORD PTR SS:
004E7395^ E9 EBFEFFFF   JMP HijackTh.004E7285
004E739A    B8 0C660000   MOV EAX,660C                  //F4到这里
004E739F    50            PUSH EAX

004E73B0   /75 08         JNZ SHORT HijackTh.004E73BA   运行到这里的时候,004E73BA处代码会改变,这段代码类似于Aspack的壳运行时的
004E73B2   |B8 01000000   MOV EAX,1
004E73B7   |C2 0C00         RETN 0C
004E73BA   \68 0C664000   PUSH HijackTh.0040660C
004E73BF    C3            RETN   返回到OEP


0040660C    68 98A54000   PUSH HijackTh.0040A598   这里用OD的DUMP插件直接脱壳
00406611    E8 F0FFFFFF   CALL HijackTh.00406606                   ; JMP 到 MSVBVM60.ThunRTMain
00406616    0000            ADD BYTE PTR DS:,AL
00406618    0000            ADD BYTE PTR DS:,AL
0040661A    0000            ADD BYTE PTR DS:,AL
0040661C    3000            XOR BYTE PTR DS:,AL
0040661E    0000            ADD BYTE PTR DS:,AL
00406620    40            INC EAX
不用修复,,可运行....

------------------------------------------------------------------------

------------------------------------------------------------------------
【版权声明】偶是新手,希望大家多多指教........欢迎转载

bobolle 发表于 2006-3-23 20:51:13

我在顶呀

lovebaby 发表于 2006-3-24 16:22:17

看不懂的说,还得好好学学

moyer 发表于 2006-4-18 22:24:09

呵呵,......
页: [1]
查看完整版本: EXEStealth 2.5 / 2.6 -> WebToolMaster脱壳小记