这是个未知壳,至少PEid没有查出来。自己看了看,没想好怎么搞它。唉,水平太菜了,还要学习啊。。。看着fly老大把这个老王,那个老王的壳都脱了,咱什么时候能达到啊
这是个什么壳?应该怎样脱才好啊?请指教,谢了啊。。。
OllyDbg载入处:
0073F000 t> E8 AA000000 call t.0073F0AF
0073F005 2D F0330000 sub eax,33F0
0073F00A 0000 add byte ptr ds:[eax],al
0073F00C 0000 add byte ptr ds:[eax],al
0073F00E 0000 add byte ptr ds:[eax],al
0073F010 003D F033002D add byte ptr ds:[2D0033F0],bh
0073F016 F0:3300 lock xor eax,dword ptr ds:[eax] ; 锁定前缀是不允许的
0073F019 0000 add byte ptr ds:[eax],al
0073F01B 0000 add byte ptr ds:[eax],al
跳向入口处:
00373094 /79 10 jns short 003730A6
00373096 |837A 08 FF cmp dword ptr ds:[edx+8],-1
0037309A |75 0A jnz short 003730A6
0037309C |8B52 04 mov edx,dword ptr ds:[edx+4]
0037309F |C742 50 00100>mov dword ptr ds:[edx+50],1000
003730A6 \89AD 58020000 mov dword ptr ss:[ebp+258],ebp
003730AC 8B85 C8020000 mov eax,dword ptr ss:[ebp+2C8]
003730B2 0385 B4020000 add eax,dword ptr ss:[ebp+2B4]
003730B8 - FFE0 jmp eax ; t.00665AB4 跳向入口
003730BA 50 push eax
003730BB 8BC4 mov eax,esp
003730BD 60 pushad
003730BE 8BD8 mov ebx,eax
003730C0 E8 04000000 call 003730C9
003730C5 6D ins dword ptr es:[edi],dx
003730C6 2E:37 aaa
003730C8 005D 8B add byte ptr ss:[ebp-75],bl
003730CB 6D ins dword ptr es:[edi],dx
003730CC 008B 7B048BB5 add byte ptr ds:[ebx+B58B047B],cl
003730D2 C402 les eax,fword ptr ds:[edx]
入口:(应该是吧,peid也说是)
00665AB4 55 push ebp
00665AB5 8BEC mov ebp,esp
00665AB7 83C4 F0 add esp,-10
00665ABA 53 push ebx
00665ABB B8 EC536600 mov eax,t.006653EC
00665AC0 E8 FB13DAFF call t.00406EC0 进入
00665AC5 8B1D 30AB6600 mov ebx,dword ptr ds:[66AB30] ; t.0066BBF4
00665ACB 8B03 mov eax,dword ptr ds:[ebx]
00665ACD E8 76D1E2FF call t.00492C48
上面的进入后有以下代码:
00406EC0 53 push ebx
00406EC1 8BD8 mov ebx,eax
00406EC3 33C0 xor eax,eax
00406EC5 A3 C4606600 mov dword ptr ds:[6660C4],eax
00406ECA 6A 00 push 0
00406ECC E8 2BFFFFFF call t.00406DFC 进入
00406ED1 A3 68B66600 mov dword ptr ds:[66B668],eax
00406ED6 A1 68B66600 mov eax,dword ptr ds:[66B668]
00406EDB A3 D0606600 mov dword ptr ds:[6660D0],eax
00406EE0 33C0 xor eax,eax
00406EE2 A3 D4606600 mov dword ptr ds:[6660D4],eax
00406EE7 33C0 xor eax,eax
00406EE9 A3 D8606600 mov dword ptr ds:[6660D8],eax
00406EEE E8 C1FFFFFF call t.00406EB4
00406EF3 BA CC606600 mov edx,t.006660CC
00406EF8 8BC3 mov eax,ebx
00406EFA E8 C9D6FFFF call t.004045C8
00406EFF 5B pop ebx
00406F00 C3 retn
上面的进入后
00406DFC 90 nop
00406DFD E8 B8C2F6FF call 003730BA 此处是调用跳向入口的指令的下面的程序,运行时有错误就是因为这里调用了。脱后,003730BA是没有代码的。
00406E02 8BC0 mov eax,eax
00406E04 90 nop
00406E05 E8 B0C2F6FF call 003730BA
00406E0A 8BC0 mov eax,eax
00406E0C 90 nop
00406E0D E8 A8C2F6FF call 003730BA
00406E12 8BC0 mov eax,eax
00406E14 90 nop
00406E15 E8 A0C2F6FF call 003730BA
00406E1A 8BC0 mov eax,eax
00406E1C 50 push eax
00406E1D 6A 40 push 40
00406E1F E8 E0FFFFFF call t.00406E04
00406E24 C3 retn
003730BA后的程序:
003730BA 50 push eax
003730BB 8BC4 mov eax,esp
003730BD 60 pushad
003730BE 8BD8 mov ebx,eax
003730C0 E8 04000000 call 003730C9
003730C5 6D ins dword ptr es:[edi],dx
003730C6 2E:37 aaa
003730C8 005D 8B add byte ptr ss:[ebp-75],bl
003730CB 6D ins dword ptr es:[edi],dx
003730CC 008B 7B048BB5 add byte ptr ds:[ebx+B58B047B],cl
003730D2 C402 les eax,fword ptr ds:[edx]
003730D4 0000 add byte ptr ds:[eax],al
003730D6 03F5 add esi,ebp
003730D8 8B06 mov eax,dword ptr ds:[esi]
003730DA 33D2 xor edx,edx
003730DC B9 02000000 mov ecx,2
003730E1 F7E1 mul ecx
003730E3 D1E8 shr eax,1
003730E5 3BF8 cmp edi,eax
003730E7 75 0A jnz short 003730F3
003730E9 0AD2 or dl,dl
003730EB 75 04 jnz short 003730F1
003730ED EB 09 jmp short 003730F8
003730EF EB 02 jmp short 003730F3
003730F1 EB 10 jmp short 00373103
003730F3 83C6 08 add esi,8
003730F6 ^ EB E0 jmp short 003730D8
003730F8 8B46 04 mov eax,dword ptr ds:[esi+4]
003730FB 8903 mov dword ptr ds:[ebx],eax
003730FD 61 popad
003730FE 58 pop eax
003730FF 8B00 mov eax,dword ptr ds:[eax]
00373101 FFE0 jmp eax
00373103 8B46 04 mov eax,dword ptr ds:[esi+4]
00373106 8903 mov dword ptr ds:[ebx],eax
00373108 61 popad
00373109 58 pop eax
0037310A 83C4 04 add esp,4
0037310D 8B00 mov eax,dword ptr ds:[eax]
0037310F FFE0 jmp eax
00373111 32B3 E57786AD xor dh,byte ptr ds:[ebx+AD8677E5]
00373117 E5 77 in eax,77
00373119 61 popad
0037311A D9E5 fxam
0037311C 77 72 ja short 00373190
0037311E AC lods byte ptr ds:[esi]
0037311F E5 77 in eax,77
00373121 0000 add byte ptr ds:[eax],al
00373123 40 inc eax
00373124 0001 add byte ptr ds:[ecx],al
00373126 0000 add byte ptr ds:[eax],al
00373128 0001 add byte ptr ds:[ecx],al
0037312A 0000 add byte ptr ds:[eax],al
0037312C 008D 0300007C add byte ptr ss:[ebp+7C000003],cl
00373132 2800 sub byte ptr ds:[eax],al
00373134 00B45A 2600F7>add byte ptr ds:[edx+ebx*2+F0F70026],dh
0037313B 73 00 jnb short 0037313D
0037313D 4B dec ebx
0037313E 45 inc ebp
0037313F 52 push edx
00373140 4E dec esi
00373141 45 inc ebp
00373142 4C dec esp
00373143 3332 xor esi,dword ptr ds:[edx]
00373145 2E: prefix cs:
00373146 64:6C ins byte ptr es:[edi],dx
00373148 6C ins byte ptr es:[edi],dx
00373149 0056 69 add byte ptr ds:[esi+69],dl
0037314C 72 74 jb short 003731C2
0037314E 75 61 jnz short 003731B1
00373150 6C ins byte ptr es:[edi],dx
00373151 46 inc esi
00373152 72 65 jb short 003731B9
00373154 65:00CB add bl,cl
00373157 15 E67700A0 adc eax,A00077E6
0037315C 2900 sub dword ptr ds:[eax],eax
0037315E 0010 add byte ptr ds:[eax],dl
00373160 0000 add byte ptr ds:[eax],al
00373162 00EA add dl,ch
00373164 1100 adc dword ptr ds:[eax],eax
00373166 C0FA 09 sar dl,9
00373169 0040 F5 add byte ptr ds:[eax-B],al
0037316C 2900 sub dword ptr ds:[eax],eax
0037316E FB sti
0037316F B0 03 mov al,3
00373171 0000 add byte ptr ds:[eax],al
00373173 0000 add byte ptr ds:[eax],al
00373175 0000 add byte ptr ds:[eax],al
00373177 0000 add byte ptr ds:[eax],al
00373179 0000 add byte ptr ds:[eax],al
0037317B 0000 add byte ptr ds:[eax],al
0037317D 0000 add byte ptr ds:[eax],al
[培训]《安卓高级研修班(网课)》月薪三万计划,掌
握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法