- UID
- 9748
注册时间2006-3-20
阅读权限10
最后登录1970-1-1
周游历练
该用户从未签到
|
【破文标题】EXEStealth 2.5 / 2.6 -> WebToolMaster脱壳小记
【破文作者】忧伤的路西法
【作者邮箱】[email protected]
【作者主页】暂无
【破解工具】OD 1.1 PEID 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:[EDI],DX ; I/O 命令
004E906B 74 68 JE SHORT HijackTh.004E90D5
004E906D 202D 20777777 AND BYTE PTR DS:[77777720],CH
.............................................................
F9 运行下....到了这里
004E97AB 0000 ADD BYTE PTR DS:[EAX],AL 停在这里
004E97AD 0000 ADD BYTE PTR DS:[EAX],AL
004E97AF 0000 ADD BYTE PTR DS:[EAX],AL
004E97B1 0000 ADD BYTE PTR DS:[EAX],AL
004E97B3 0000 ADD BYTE PTR DS:[EAX],AL
004E97B5 0000 ADD BYTE PTR DS:[EAX],AL
004E97B7 0000 ADD BYTE PTR DS:[EAX],AL
004E97B9 0000 ADD BYTE PTR DS:[EAX],AL
004E97BB 0000 ADD BYTE PTR DS:[EAX],AL
004E97BD 0000 ADD BYTE PTR DS:[EAX],AL
004E97BF 0000 ADD BYTE PTR DS:[EAX],AL
004E97C1 0000 ADD BYTE PTR DS:[EAX],AL
004E97C3 0000 ADD BYTE PTR DS:[EAX],AL
堆栈内容:
0012FFBC 0012FFE0 指向下一个 SEH 记录的指针
0012FFC0 004E974E SE处理程序
0012FFC4 7C816D4F 返回到 kernel32.7C816D4F
0012FFC8 7C930738 ntdll.7C930738
0012FFCC FFFFFFFF
0012FFD0 7FFDE000
0012FFD4 8054B938
0012FFD8 0012FFC8
ctrl+g 004e974E
下断点,SHIT+F9运行到断点,取消断点
004E974E 55 PUSH EBP 停在这里
004E974F 8BEC MOV EBP,ESP
004E9751 57 PUSH EDI
004E9752 8B45 10 MOV EAX,DWORD PTR SS:[EBP+10]
004E9755 8BB8 C4000000 MOV EDI,DWORD PTR DS:[EAX+C4]
004E975B FF37 PUSH DWORD PTR DS:[EDI]
004E975D 33FF XOR EDI,EDI
004E975F 64:8F07 POP DWORD PTR FS:[EDI]
ALT+M 内存镜像
在资源处下内存访问断点,由于其他资源还没有解压缩完,所以在资源处下内存访问断点(资源解压缩完之后,会有红色的提示,大家可以看到)
SHIT+F9运行,断在这里
7C93280D 66:8B50 0C MOV DX,WORD PTR DS:[EAX+C] 这里断下
7C932811 66:8955 B0 MOV WORD PTR SS:[EBP-50],DX
7C932815 8D70 10 LEA ESI,DWORD PTR DS:[EAX+10]
7C932818 8975 90 MOV DWORD PTR SS:[EBP-70],ESI
7C93281B 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C]
7C93281E 66:F742 02 FFFF TEST WORD PTR DS:[EDX+2],0FFFF
7C932824 75 11 JNZ SHORT ntdll.7C932837
7C932826 0FB755 B0 MOVZX EDX,WORD PTR SS:[EBP-50]
7C93282A 8D34D6 LEA ESI,DWORD PTR DS:[ESI+EDX*8]
7C93282D 8975 90 MOV DWORD PTR SS:[EBP-70],ESI
.........
移除内存访问断点,改在CODE断下内存访问断点....
SHIT+F9运行,断下
004E72BC 8B06 MOV EAX,DWORD PTR DS:[ESI] 这里
004E72BE 85C0 TEST EAX,EAX
004E72C0 75 03 JNZ SHORT HijackTh.004E72C5
004E72C2 8B46 10 MOV EAX,DWORD PTR DS:[ESI+10]
004E72C5 03C2 ADD EAX,EDX
004E72C7 0385 49050000 ADD EAX,DWORD PTR SS:[EBP+549]
移除内存访问断点...
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:[ESI+C]
004E7313 |0385 22040000 ADD EAX,DWORD PTR SS:[EBP+422]
004E7319 |50 PUSH EAX
004E731A |53 PUSH EBX
跳到这里
004E7376 8907 MOV DWORD PTR DS:[EDI],EAX ; MSVBVM60.__vbaVarTstGt
004E7378 8385 49050000 0>ADD DWORD PTR SS:[EBP+549],4
004E737F ^ E9 32FFFFFF JMP HijackTh.004E72B6
004E7384 8906 MOV DWORD PTR DS:[ESI],EAX //F4到这里
004E7386 8946 0C MOV DWORD PTR DS:[ESI+C],EAX
004E7389 8946 10 MOV DWORD PTR DS:[ESI+10],EAX
004E738C 83C6 14 ADD ESI,14
004E738F 8B95 22040000 MOV EDX,DWORD PTR SS:[EBP+422]
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:[EAX],AL
00406618 0000 ADD BYTE PTR DS:[EAX],AL
0040661A 0000 ADD BYTE PTR DS:[EAX],AL
0040661C 3000 XOR BYTE PTR DS:[EAX],AL
0040661E 0000 ADD BYTE PTR DS:[EAX],AL
00406620 40 INC EAX
不用修复,,可运行....
------------------------------------------------------------------------
------------------------------------------------------------------------
【版权声明】偶是新手,希望大家多多指教........欢迎转载 |
|