刚刚用PEID查壳, 显示的是 DELPHI, 其实这个是伪装的, 上兴的壳, 大都这样, 会脱一个了, 其他的也都能脱掉了。 给新手连手、
手脱 上兴远控 2009 Hmimys-Packer
【破文标题】手脱 Hmimys-Packer
【破文作者】711 [nullllll]
【破解工具】od + importRec
【破解平台】win2003 + sp3
【软件名称】上兴远程控制2009
【软件大小】1.10 MB (1,159,162 字节)
【保护方式】hmimys'packer
【软件简介】一个远程控制工具.
【破解声明】只是学习目的,如有失误之处,还请各位大虾指点.
先用PEID查看下. Hmimys-Packer
载入OD 停留在下面的EP
00671912 > E8 BA000000 CALL 上兴远程.006719D1
00671917 0300 ADD EAX,DWORD PTR DS:[EAX]
00671919 0000 ADD BYTE PTR DS:[EAX],AL
0067191B 00E0 ADD AL,AH
0067191D 26:0000 ADD BYTE PTR ES:[EAX],AL
00671920 1040 00 ADC BYTE PTR DS:[EAX],AL
00671923 66:7B 11 JPO SHORT 00001937
00671926 009422 670000C0 ADD BYTE PTR DS:[EDX+C0000067],DL
0067192D 66:00CC ADD AH,CL
00671930 97 XCHG EAX,EDI
00671931 5A POP EDX
00671932 0000 ADD BYTE PTR DS:[EAX],AL
00671934 1060 00 ADC BYTE PTR DS:[EAX],AH
00671937 1010 ADC BYTE PTR DS:[EAX],DL
00671939 60 PUSHAD
0067193A 00C4 ADD AH,AL
0067193C A0 5A001020 MOV AL,BYTE PTR DS:[2010005A]
00671941 60 PUSHAD
00671942 0000 ADD BYTE PTR DS:[EAX],AL
00671944 0000 ADD BYTE PTR DS:[EAX],AL
00671946 0000 ADD BYTE PTR DS:[EAX],AL
00671948 0000 ADD BYTE PTR DS:[EAX],AL
0067194A 0073 19 ADD BYTE PTR DS:[EBX+19],DH
0067194D 27 DAA
下断 bp VirtualFree F9运行
7C823FBE > 8BFF MOV EDI,EDI
7C823FC0 55 PUSH EBP
7C823FC1 8BEC MOV EBP,ESP
7C823FC3 FF75 10 PUSH DWORD PTR SS:[EBP+10]
7C823FC6 FF75 0C PUSH DWORD PTR SS:[EBP+C]
7C823FC9 FF75 08 PUSH DWORD PTR SS:[EBP+8]
7C823FCC 6A FF PUSH -1
7C823FCE E8 A6FFFFFF CALL kernel32.VirtualFreeEx
7C823FD3 5D POP EBP
7C823FD4 C2 0C00 RETN 0C
断在这里。 删掉断点 F8 10 次 来到下面的地方
00672252 85F6 TEST ESI,ESI
00672254 74 05 JE SHORT 上兴远程.0067225B
00672256 6A 01 PUSH 1
00672258 58 POP EAX
00672259 EB 13 JMP SHORT 上兴远程.0067226E
0067225B 837D 0C 01 CMP DWORD PTR SS:[EBP+C],1
0067225F 75 0B JNZ SHORT 上兴远程.0067226C
00672261 FF75 08 PUSH DWORD PTR SS:[EBP+8]
00672264 FF75 10 PUSH DWORD PTR SS:[EBP+10]
00672267 E8 C6F7FFFF CALL 上兴远程.00671A32
0067226C 33C0 XOR EAX,EAX
0067226E 5E POP ESI
0067226F 5B POP EBX
00672270 C9 LEAVE
00672271 C2 1C00 RETN 1C
再F8 12次 . 来到下面的地方
006719EB AD LODS DWORD PTR DS:[ESI]
006719EC 8BDE MOV EBX,ESI
006719EE 8BF0 MOV ESI,EAX
006719F0 83C3 44 ADD EBX,44
006719F3 AD LODS DWORD PTR DS:[ESI]
006719F4 85C0 TEST EAX,EAX
006719F6 74 32 JE SHORT 上兴远程.00671A2A
006719F8 8BF8 MOV EDI,EAX
006719FA 56 PUSH ESI
006719FB FF13 CALL DWORD PTR DS:[EBX]
006719FD 8BE8 MOV EBP,EAX
006719FF AC LODS BYTE PTR DS:[ESI]
00671A00 84C0 TEST AL,AL
00671A02 ^ 75 FB JNZ SHORT 上兴远程.006719FF
00671A04 AC LODS BYTE PTR DS:[ESI]
00671A05 84C0 TEST AL,AL
00671A07 ^ 74 EA JE SHORT 上兴远程.006719F3
00671A09 4E DEC ESI
00671A0A AD LODS DWORD PTR DS:[ESI]
00671A0B A9 00000080 TEST EAX,80000000
00671A10 75 0B JNZ SHORT 上兴远程.00671A1D
00671A12 83EE 04 SUB ESI,4
00671A15 56 PUSH ESI
00671A16 55 PUSH EBP
00671A17 FF53 04 CALL DWORD PTR DS:[EBX+4]
00671A1A AB STOS DWORD PTR ES:[EDI]
00671A1B ^ EB E2 JMP SHORT 上兴远程.006719FF
00671A1D 25 FFFFFF7F AND EAX,7FFFFFFF
00671A22 50 PUSH EAX
00671A23 55 PUSH EBP
00671A24 FF53 04 CALL DWORD PTR DS:[EBX+4]
00671A27 AB STOS DWORD PTR ES:[EDI]
00671A28 ^ EB DA JMP SHORT 上兴远程.00671A04
00671A2A 83EB 44 SUB EBX,44
00671A2D 8BF3 MOV ESI,EBX
00671A2F AD LODS DWORD PTR DS:[ESI]
00671A30 50 PUSH EAX
00671A31 C3 RETN //MAGIC JUMP 在这里下断 返回到OEP
好了。 至此这个压缩壳就已经解决了。
下面我们用IMPORTREC DUMP 修复下IAT DUMP进程。
恩 好了 再用PEID看下 Borland Delphi 6.0 - 7.0 呵呵, , 欢迎各位指正.
……