用PEID标准扫描什么都发现不了,用深度扫描和核心扫描能找到UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
用 UPX专用脱壳机 脱不了,就连 UPXShellEx 也脱不了,然后我手动脱壳后,发现用 Import REConstructor 修复不了。所以程序运行不了。
更奇怪的是,这个手动脱了壳的程序用OD居然加载不了!!! 加载时显示:无法启动文件:18ab:
这究竟是怎么回事呢?
下面我贴出脱壳前的一段代码让大家帮我分析一下吧,谢了!
006687F1 > $ BE 00105900 mov esi, 00591000 ================OD加载后停在这里
006687F6 . 8DBE 0000E7FF lea edi, dword ptr [esi+FFE70000]=======根据UPX手动脱壳的方法,
006687FC . 57 push edi======================往下找跨段跳转。
006687FD . 83CD FF or ebp, FFFFFFFF================我在00668968处找到了这个跳转。
00668800 . EB 10 jmp short 00668812
00668802 90 nop
00668803 90 nop
00668804 90 nop
00668805 90 nop
00668806 90 nop
00668807 90 nop
00668808 > 8A06 mov al, byte ptr [esi]
0066880A . 46 inc esi
0066880B . 8807 mov byte ptr [edi], al
0066880D . 47 inc edi
0066880E > 01DB add ebx, ebx
00668810 . 75 07 jnz short 00668819
00668812 > 8B1E mov ebx, dword ptr [esi]
00668814 . 83EE FC sub esi, -4
00668817 . 11DB adc ebx, ebx
00668819 >^ 72 ED jb short 00668808
0066881B . B8 01000000 mov eax, 1
00668820 > 01DB add ebx, ebx
00668822 . 75 07 jnz short 0066882B
00668824 . 8B1E mov ebx, dword ptr [esi]
00668826 . 83EE FC sub esi, -4
00668829 . 11DB adc ebx, ebx
0066882B > 11C0 adc eax, eax
0066882D . 01DB add ebx, ebx
0066882F . 73 0B jnb short 0066883C
00668831 . 75 28 jnz short 0066885B
00668833 . 8B1E mov ebx, dword ptr [esi]
00668835 . 83EE FC sub esi, -4
00668838 . 11DB adc ebx, ebx
0066883A . 72 1F jb short 0066885B
0066883C > 48 dec eax
0066883D . 01DB add ebx, ebx
0066883F . 75 07 jnz short 00668848
00668841 . 8B1E mov ebx, dword ptr [esi]
00668843 . 83EE FC sub esi, -4
00668846 . 11DB adc ebx, ebx
00668848 > 11C0 adc eax, eax
0066884A .^ EB D4 jmp short 00668820
0066884C > 01DB add ebx, ebx
0066884E . 75 07 jnz short 00668857
00668850 . 8B1E mov ebx, dword ptr [esi]
00668852 . 83EE FC sub esi, -4
00668855 . 11DB adc ebx, ebx
00668857 > 11C9 adc ecx, ecx
00668859 . EB 52 jmp short 006688AD
0066885B > 31C9 xor ecx, ecx
0066885D . 83E8 03 sub eax, 3
00668860 . 72 11 jb short 00668873
00668862 . C1E0 08 shl eax, 8
00668865 . 8A06 mov al, byte ptr [esi]
00668867 . 46 inc esi
00668868 . 83F0 FF xor eax, FFFFFFFF
0066886B . 74 75 je short 006688E2
0066886D . D1F8 sar eax, 1
0066886F . 89C5 mov ebp, eax
00668871 . EB 0B jmp short 0066887E
00668873 > 01DB add ebx, ebx
00668875 . 75 07 jnz short 0066887E
00668877 . 8B1E mov ebx, dword ptr [esi]
00668879 . 83EE FC sub esi, -4
0066887C . 11DB adc ebx, ebx
0066887E >^ 72 CC jb short 0066884C
00668880 . 41 inc ecx
00668881 . 01DB add ebx, ebx
00668883 . 75 07 jnz short 0066888C
00668885 . 8B1E mov ebx, dword ptr [esi]
00668887 . 83EE FC sub esi, -4
0066888A . 11DB adc ebx, ebx
0066888C >^ 72 BE jb short 0066884C
0066888E > 01DB add ebx, ebx
00668890 . 75 07 jnz short 00668899
00668892 . 8B1E mov ebx, dword ptr [esi]
00668894 . 83EE FC sub esi, -4
00668897 . 11DB adc ebx, ebx
00668899 > 11C9 adc ecx, ecx
0066889B . 01DB add ebx, ebx
0066889D .^ 73 EF jnb short 0066888E
0066889F . 75 09 jnz short 006688AA
006688A1 . 8B1E mov ebx, dword ptr [esi]
006688A3 . 83EE FC sub esi, -4
006688A6 . 11DB adc ebx, ebx
006688A8 .^ 73 E4 jnb short 0066888E
006688AA > 83C1 02 add ecx, 2
006688AD > 81FD 00FBFFFF cmp ebp, -500
006688B3 . 83D1 02 adc ecx, 2
006688B6 . 8D142F lea edx, dword ptr [edi+ebp]
006688B9 . 83FD FC cmp ebp, -4
006688BC . 76 0E jbe short 006688CC
006688BE > 8A02 mov al, byte ptr [edx]
006688C0 . 42 inc edx
006688C1 . 8807 mov byte ptr [edi], al
006688C3 . 47 inc edi
006688C4 . 49 dec ecx
006688C5 .^ 75 F7 jnz short 006688BE
006688C7 .^ E9 42FFFFFF jmp 0066880E
006688CC > 8B02 mov eax, dword ptr [edx]
006688CE . 83C2 04 add edx, 4
006688D1 . 8907 mov dword ptr [edi], eax
006688D3 . 83C7 04 add edi, 4
006688D6 . 83E9 04 sub ecx, 4
006688D9 .^ 77 F1 ja short 006688CC
006688DB . 01CF add edi, ecx
006688DD .^ E9 2CFFFFFF jmp 0066880E
006688E2 > 5E pop esi
006688E3 . 89F7 mov edi, esi
006688E5 . B9 02A60000 mov ecx, 0A602
006688EA > 8A07 mov al, byte ptr [edi]
006688EC . 47 inc edi
006688ED . 2C E8 sub al, 0E8
006688EF > 3C 01 cmp al, 1
006688F1 .^ 77 F7 ja short 006688EA
006688F3 . 803F 22 cmp byte ptr [edi], 22
006688F6 .^ 75 F2 jnz short 006688EA
006688F8 . 8B07 mov eax, dword ptr [edi]
006688FA . 8A5F 04 mov bl, byte ptr [edi+4]
006688FD . 66:C1E8 08 shr ax, 8
00668901 . C1C0 10 rol eax, 10
00668904 . 86C4 xchg ah, al
00668906 . 29F8 sub eax, edi
00668908 . 80EB E8 sub bl, 0E8
0066890B . 01F0 add eax, esi
0066890D . 8907 mov dword ptr [edi], eax
0066890F . 83C7 05 add edi, 5
00668912 . 88D8 mov al, bl
00668914 .^ E2 D9 loopd short 006688EF
00668916 . 8DBE 00302600 lea edi, dword ptr [esi+263000]
0066891C > 8B07 mov eax, dword ptr [edi]
0066891E . 09C0 or eax, eax
00668920 . 74 45 je short 00668967
00668922 . 8B5F 04 mov ebx, dword ptr [edi+4]
00668925 . 8D8430 30C026>lea eax, dword ptr [eax+esi+26C030]
0066892C . 01F3 add ebx, esi
0066892E . 50 push eax
0066892F . 83C7 08 add edi, 8
00668932 . FF96 D4C12600 call dword ptr [esi+26C1D4]
00668938 . 95 xchg eax, ebp
00668939 > 8A07 mov al, byte ptr [edi]
0066893B . 47 inc edi
0066893C . 08C0 or al, al
0066893E .^ 74 DC je short 0066891C
00668940 . 89F9 mov ecx, edi
00668942 . 79 07 jns short 0066894B
00668944 . 0FB707 movzx eax, word ptr [edi]
00668947 . 47 inc edi
00668948 . 50 push eax
00668949 . 47 inc edi
0066894A B9 db B9
0066894B . 57 push edi
0066894C . 48 dec eax
0066894D . F2:AE repne scas byte ptr es:[edi]
0066894F . 55 push ebp
00668950 . FF96 D8C12600 call dword ptr [esi+26C1D8]
00668956 . 09C0 or eax, eax
00668958 . 74 07 je short 00668961
0066895A . 8903 mov dword ptr [ebx], eax
0066895C . 83C3 04 add ebx, 4
0066895F .^ EB D8 jmp short 00668939
00668961 > FF96 DCC12600 call dword ptr [esi+26C1DC]
00668967 > 61 popad
00668968 .- E9 FB67DFFF jmp 0045F168============就是这个跳转,按F8后我就用OD插件DUMP了
0066896D 00 db 00================用OD的插件的 方法一 来修复,修复成功,
0066896E 00 db 00===============但是运行不了,方法二 修复不了。
0066896F 00 db 00===============不用OD插件来修复,用 Import REConstructor
00668970 00 db 00===============来修复也修复不了,所以运行不了:5ab:
00668971 00 db 00
00668972 00 db 00
00668973 00 db 00
00668974 00 db 00
00668975 00 db 00
00668976 00 db 00
请那位老鸟帮帮忙~
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!