|
马上注册,结交更多郧西好友
您需要 登录 才可以下载或查看,没有帐号?注册
x
脱UPX-Scrambler RC1x -> ㎡nT畂L+去校验
这是一款UPX的变形壳,但是,还是那么弱。。。
目标程序:一后门木马服务端,Hiddukel VIIexe
********************************************************************************************
OD载入,忽略所有异常!
00CE6BEF Hiddu> 90 nop //入口,这样的入口和我们以前见到的UPX确有不同。。。
00CE6BF0 61 popad
00CE6BF1 BE 0060C600 mov esi,Hiddukel00C66000
00CE6BF6 8DBE 00B079FF lea edi,dword ptr ds:[esi+FF79B00>
00CE6BFC 57 push edi
00CE6BFD 83CD FF or ebp,FFFFFFFF
00CE6C00 EB 10 jmp short Hiddukel00CE6C12
00CE6C02 EB 00 jmp short Hiddukel00CE6C04
00CE6C04 ^ EB EA jmp short Hiddukel00CE6BF0
00CE6C06 ^ EB E8 jmp short Hiddukel00CE6BF0
00CE6C08 8A06 mov al,byte ptr ds:[esi]
打开内存镜像
内存映射,项目 24
地址=00CE7000 //F2,F9
大小=00003000 (12288)
宿主=Hiddukel 00400000
区段=rsrc
包含=data,imports,resources
类型=Imag 01001002
访问=R
初始访问=RWE
继续打开内存镜像
内存映射,项目 22
地址=00401000 //F2,F9
大小=00865000 (8802304)
宿主=Hiddukel 00400000
区段=code
类型=Imag 01001002
访问=R
初始访问=RWE
00CE6D4E 8903 mov dword ptr ds:[ebx],eax ; kernel32ExitProcess //停在这里
00CE6D50 83C3 04 add ebx,4
00CE6D53 ^ EB D8 jmp short Hiddukel00CE6D2D //回跳
00CE6D55 FF96 30808E00 call dword ptr ds:[esi+8E8030]
00CE6D5B 60 pushad //F4下来
00CE6D5C - E9 A93C74FF jmp Hiddukel0042AA0A //跳向OEP
0042AA0A 55 push ebp ; WSOCK32#1139 //OEP!
0042AA0B 8BEC mov ebp,esp
0042AA0D 6A FF push -1
0042AA0F 68 70104500 push Hiddukel00451070
0042AA14 68 88F34200 push Hiddukel0042F388
0042AA19 64:A1 00000000 mov eax,dword ptr fs:[0]
0042AA1F 50 push eax
0042AA20 64:8925 00000000 mov dword ptr fs:[0],esp
0042AA27 83EC 58 sub esp,58
0042AA2A 53 push ebx
OD插件脱壳,(这个OD不要关闭,等下用得到^+^)打开IR 16修复,运行看看,启动画面一闪而过。。。
有校验。。。
开另一OD,载入脱壳修复后的程序
两个OD都下断bp CreateFileA,中断后都Alt+F9返回!
通过对比跟踪发现
0041C094 /7F 52 jg short Unpack0041C0E8 //这里,原程序没跳。。脱壳程序却跳了!!
0041C096 |56 push esi
0041C097 |E8 E0DF0000 call Unpack0042A07C
0041C09C |83C4 04 add esp,4
0041C09F |3D 08220800 cmp eax,82208
0041C0A4 |7C 42 jl short Unpack0041C0E8 |
|