能力值:
(RANK:410 )
|
-
-
3 楼
Fly前辈,刚才我下载了楼主提供的PEID试脱了一下壳,好像是变种UPX壳吧,我找的OEP是:0044D4E4,然后用OD插件脱壳。再用RECImport V1.4.2+修复。在RECImport V1.4.2+的OEP处填的是0004D4E4,RVA是:00001000,大小是:00000474,找到的函数全部有效。但修复后运行还是提示非法。试了几次还是一样,找不到问题在那里,请Fly前辈指教一下。谢谢
|
能力值:
(RANK:410 )
|
-
-
13 楼
PEID脱壳过程简单说说。这个壳用FI查FI报不认识。用PEID他自己查报是UPXshit0.06->shaker的壳,也是UPX壳,只是难了一点点,就一点点哦。我脱他不用一分钟。就是修复的时候出了一点问题,后来才发现原来是Import REConstructo1.42+汉化版搞的问题,我倒。最后我用1.6的汉化版修复成功。哈哈....
以下是脱壳过程。
......................................................>>>>> ;省略,
004611B7 B8 A1114600 MOV EAX,PEID.004611A1
004611BC B9 15000000 MOV ECX,15
004611C1 803408 7F XOR BYTE PTR DS:[EAX+ECX],7F
004611C5 ^ E2 FA LOOPD SHORT PEID.004611C1 ; 循环(上面(上面还有N多循环,我数了一下足足有十五个这样的循环,跳出循环的步骤一样,我就省略了)
004611C7 ^ E9 D6FFFFFF JMP PEID.004611A2 ; F4跳出循环
004611CC B8 B6114600 MOV EAX,PEID.004611B6 ;跳到这里继续循环,
004611D1 B9 15000000 MOV ECX,15
004611D6 803408 7F XOR BYTE PTR DS:[EAX+ECX],7F
004611DA ^ E2 FA LOOPD SHORT PEID.004611D6 ; 循环
004611DC ^ E9 D6FFFFFF JMP PEID.004611B7 ; F4跳出循环
004611E1 > B8 CB114600 MOV EAX,PEID.004611CB ; 用OD载入中断在这里。
004611E6 B9 15000000 MOV ECX,15
004611EB 803408 7F XOR BYTE PTR DS:[EAX+ECX],7F
004611EF ^ E2 FA LOOPD SHORT PEID.004611EB ; 这里循环
004611F1 ^ E9 D6FFFFFF JMP PEID.004611CC ; 用鼠标点一下这里,按F4跳出循环
004611F6 0000 ADD BYTE PTR DS:[EAX],AL
004611F8 0000 ADD BYTE PTR DS:[EAX],AL
004611FA 0000 ADD BYTE PTR DS:[EAX],AL
004611FC 0000 ADD BYTE PTR DS:[EAX],AL
004611FE 0000 ADD BYTE PTR DS:[EAX],AL
00461200 0000 ADD BYTE PTR DS:[EAX],AL
00461202 0000 ADD BYTE PTR DS:[EAX],AL
00461204 0000 ADD BYTE PTR DS:[EAX],AL
00460F20 60 PUSHAD ;经过上面N多循环,最后一次循环将跳到这里。到这里对我来说这个壳已经脱好了。现在你只要拉动OD的向下滚动条,查找POPAD这一句语句。
00460F21 BE 00F04300 MOV ESI,PEID.0043F000
00460F26 8DBE 0020FCFF LEA EDI,DWORD PTR DS:[ESI+FFFC2000]
00460F2C 57 PUSH EDI
00460F2D 83CD FF OR EBP,FFFFFFFF
00460F30 EB 10 JMP SHORT PEID.00460F42
00460F32 90 NOP
00460F33 90 NOP
00460F34 90 NOP
00460F35 90 NOP
00460F36 90 NOP
00460F37 90 NOP
00460F38 8A06 MOV AL,BYTE PTR DS:[ESI]
00460F3A 46 INC ESI
00460F3B 8807 MOV BYTE PTR DS:[EDI],AL
00460F3D 47 INC EDI
00460F3E 01DB ADD EBX,EBX
00460F40 75 07 JNZ SHORT PEID.00460F49
00460F42 8B1E MOV EBX,DWORD PTR DS:[ESI]
00460F44 83EE FC SUB ESI,-4
00460F47 11DB ADC EBX,EBX
00460F49 ^ 72 ED JB SHORT PEID.00460F38
00460F4B B8 01000000 MOV EAX,1
00460F50 01DB ADD EBX,EBX
00460F52 75 07 JNZ SHORT PEID.00460F5B
00460F54 8B1E MOV EBX,DWORD PTR DS:[ESI]
00460F56 83EE FC SUB ESI,-4
00460F59 11DB ADC EBX,EBX
00460F5B 11C0 ADC EAX,EAX
00460F5D 01DB ADD EBX,EBX
00460F5F 73 0B JNB SHORT PEID.00460F6C
00460F61 75 19 JNZ SHORT PEID.00460F7C
00460F63 8B1E MOV EBX,DWORD PTR DS:[ESI]
00460F65 83EE FC SUB ESI,-4
00460F68 11DB ADC EBX,EBX
00460F6A 72 10 JB SHORT PEID.00460F7C
00460F6C 48 DEC EAX
00460F6D 01DB ADD EBX,EBX
00460F6F 75 07 JNZ SHORT PEID.00460F78
00460F71 8B1E MOV EBX,DWORD PTR DS:[ESI]
00460F73 83EE FC SUB ESI,-4
00460F76 11DB ADC EBX,EBX
00460F78 11C0 ADC EAX,EAX
00460F7A ^ EB D4 JMP SHORT PEID.00460F50
00460F7C 31C9 XOR ECX,ECX
00460F7E 83E8 03 SUB EAX,3
00460F81 72 11 JB SHORT PEID.00460F94
00460F83 C1E0 08 SHL EAX,8
00460F86 8A06 MOV AL,BYTE PTR DS:[ESI]
00460F88 46 INC ESI
00460F89 83F0 FF XOR EAX,FFFFFFFF
00460F8C 74 78 JE SHORT PEID.00461006
00460F8E D1F8 SAR EAX,1
00460F90 89C5 MOV EBP,EAX
00460F92 EB 0B JMP SHORT PEID.00460F9F
00460F94 01DB ADD EBX,EBX
00460F96 75 07 JNZ SHORT PEID.00460F9F
00460F98 8B1E MOV EBX,DWORD PTR DS:[ESI]
00460F9A 83EE FC SUB ESI,-4
00460F9D 11DB ADC EBX,EBX
00460F9F 11C9 ADC ECX,ECX
00460FA1 01DB ADD EBX,EBX
00460FA3 75 07 JNZ SHORT PEID.00460FAC
00460FA5 8B1E MOV EBX,DWORD PTR DS:[ESI]
00460FA7 83EE FC SUB ESI,-4
00460FAA 11DB ADC EBX,EBX
00460FAC 11C9 ADC ECX,ECX
00460FAE 75 20 JNZ SHORT PEID.00460FD0
00460FB0 41 INC ECX
00460FB1 01DB ADD EBX,EBX
00460FB3 75 07 JNZ SHORT PEID.00460FBC
00460FB5 8B1E MOV EBX,DWORD PTR DS:[ESI]
00460FB7 83EE FC SUB ESI,-4
00460FBA 11DB ADC EBX,EBX
00460FBC 11C9 ADC ECX,ECX
00460FBE 01DB ADD EBX,EBX
00460FC0 ^ 73 EF JNB SHORT PEID.00460FB1
00460FC2 75 09 JNZ SHORT PEID.00460FCD
00460FC4 8B1E MOV EBX,DWORD PTR DS:[ESI]
00460FC6 83EE FC SUB ESI,-4
00460FC9 11DB ADC EBX,EBX
00460FCB ^ 73 E4 JNB SHORT PEID.00460FB1
00460FCD 83C1 02 ADD ECX,2
00460FD0 81FD 00FBFFFF CMP EBP,-500
00460FD6 83D1 01 ADC ECX,1
00460FD9 8D142F LEA EDX,DWORD PTR DS:[EDI+EBP]
00460FDC 83FD FC CMP EBP,-4
00460FDF 76 0F JBE SHORT PEID.00460FF0
00460FE1 8A02 MOV AL,BYTE PTR DS:[EDX]
00460FE3 42 INC EDX
00460FE4 8807 MOV BYTE PTR DS:[EDI],AL
00460FE6 47 INC EDI
00460FE7 49 DEC ECX
00460FE8 ^ 75 F7 JNZ SHORT PEID.00460FE1
00460FEA ^ E9 4FFFFFFF JMP PEID.00460F3E
00460FEF 90 NOP
00460FF0 8B02 MOV EAX,DWORD PTR DS:[EDX]
00460FF2 83C2 04 ADD EDX,4
00460FF5 8907 MOV DWORD PTR DS:[EDI],EAX
00460FF7 83C7 04 ADD EDI,4
00460FFA 83E9 04 SUB ECX,4
00460FFD ^ 77 F1 JA SHORT PEID.00460FF0
00460FFF 01CF ADD EDI,ECX
00461001 ^ E9 38FFFFFF JMP PEID.00460F3E
00461006 5E POP ESI
00461007 89F7 MOV EDI,ESI
00461009 B9 F9080000 MOV ECX,8F9
0046100E 8A07 MOV AL,BYTE PTR DS:[EDI]
00461010 47 INC EDI
00461011 2C E8 SUB AL,0E8
00461013 3C 01 CMP AL,1
00461015 ^ 77 F7 JA SHORT PEID.0046100E
00461017 803F 06 CMP BYTE PTR DS:[EDI],6
0046101A ^ 75 F2 JNZ SHORT PEID.0046100E
0046101C 8B07 MOV EAX,DWORD PTR DS:[EDI]
0046101E 8A5F 04 MOV BL,BYTE PTR DS:[EDI+4]
00461021 66:C1E8 08 SHR AX,8
00461025 C1C0 10 ROL EAX,10
00461028 86C4 XCHG AH,AL
0046102A 29F8 SUB EAX,EDI
0046102C 80EB E8 SUB BL,0E8
0046102F 01F0 ADD EAX,ESI
00461031 8907 MOV DWORD PTR DS:[EDI],EAX
00461033 83C7 05 ADD EDI,5
00461036 89D8 MOV EAX,EBX
00461038 ^ E2 D9 LOOPD SHORT PEID.00461013
0046103A 8DBE 00D00500 LEA EDI,DWORD PTR DS:[ESI+5D000]
00461040 8B07 MOV EAX,DWORD PTR DS:[EDI]
00461042 09C0 OR EAX,EAX
00461044 74 45 JE SHORT PEID.0046108B
00461046 8B5F 04 MOV EBX,DWORD PTR DS:[EDI+4]
00461049 8D8430 9C180600 LEA EAX,DWORD PTR DS:[EAX+ESI+6189C]
00461050 01F3 ADD EBX,ESI
00461052 50 PUSH EAX
00461053 83C7 08 ADD EDI,8
00461056 FF96 64190600 CALL DWORD PTR DS:[ESI+61964]
0046105C 95 XCHG EAX,EBP
0046105D 8A07 MOV AL,BYTE PTR DS:[EDI]
0046105F 47 INC EDI
00461060 08C0 OR AL,AL
00461062 ^ 74 DC JE SHORT PEID.00461040
00461064 89F9 MOV ECX,EDI
00461066 79 07 JNS SHORT PEID.0046106F
00461068 0FB707 MOVZX EAX,WORD PTR DS:[EDI]
0046106B 47 INC EDI
0046106C 50 PUSH EAX
0046106D 47 INC EDI
0046106E B9 5748F2AE MOV ECX,AEF24857
00461073 55 PUSH EBP
00461074 FF96 68190600 CALL DWORD PTR DS:[ESI+61968]
0046107A 09C0 OR EAX,EAX
0046107C 74 07 JE SHORT PEID.00461085
0046107E 8903 MOV DWORD PTR DS:[EBX],EAX
00461080 83C3 04 ADD EBX,4
00461083 ^ EB D8 JMP SHORT PEID.0046105D
00461085 FF96 6C190600 CALL DWORD PTR DS:[ESI+6196C]
0046108B 61 POPAD ;看见这个POPAD语句了吗?在这里用鼠标点一下,再按一下F4键。OK,程序将中断在这里。
0046108C ^ E9 53C4FEFF JMP PEID.0044D4E4 ;这个跨段跳转就是跳到出入口了(OEP)。
00461091 B8 1F0F4600 MOV EAX,PEID.00460F1F
00461096 B9 71010000 MOV ECX,171
...................................................................>>;OK,找到出入口了(OEP),现在可以用OD插件将程序Dump下来了。然后再用Import REConstructo修复一下就可以运行了,脱壳完成^_^。
0044D4E4 55 PUSH EBP
0044D4E5 8BEC MOV EBP,ESP
0044D4E7 6A FF PUSH -1
0044D4E9 68 48384200 PUSH PEID.00423848
0044D4EE 68 DED44400 PUSH PEID.0044D4DE ; JMP to MSVCRT._except_handler3
0044D4F3 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
0044D4F9 50 PUSH EAX
0044D4FA 64:8925 0000000>MOV DWORD PTR FS:[0],ESP
0044D501 83EC 68 SUB ESP,68
0044D504 53 PUSH EBX
0044D505 56 PUSH ESI
0044D506 57 PUSH EDI
0044D507 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
0044D50A 33DB XOR EBX,EBX
0044D50C 895D FC MOV DWORD PTR SS:[EBP-4],EBX
0044D50F 6A 02 PUSH 2
0044D511 FF15 E0124000 CALL DWORD PTR DS:[4012E0] ; MSVCRT.__set_app_type
0044D517 59 POP ECX
|