软件下载地址:http://www.skycn.com/soft/29456.html
下载后是最新版 V4.80版的。
加壳类型:PECompact 2.x -> Jeremy Collake
脱壳后是:Borland Delphi 6.0 - 7.0
先运行一下原程序,随便输入注册名和注册码,提示“注册失败”!
手头没工具脱,只好手工了,利用ESP定律来脱。好用OD装入软件,程序停在:
00401000 > B8 68816E00 MOV EAX,ssQss.006E8168
00401005 50 PUSH EAX
00401006 64:FF35 0000000>PUSH DWORD PTR FS:[0]
0040100D 64:8925 0000000>MOV DWORD PTR FS:[0],ESP
00401014 33C0 XOR EAX,EAX
00401016 8908 MOV DWORD PTR DS:[EAX],ECX
00401018 50 PUSH EAX
00401019 45 INC EBP
0040101A 43 INC EBX
0040101B 6F OUTS DX,DWORD PTR ES:[EDI] ; I/O 命令
0040101C 6D INS DWORD PTR ES:[EDI],DX ; I/O 命令
0040101D 70 61 JO SHORT ssQss.00401080
0040101F 637432 00 ARPL WORD PTR DS:[EDX+ESI],SI
00401023 87B1 C7F98E13 XCHG DWORD PTR DS:[ECX+138EF9C7],ESI
00401029 FC CLD
0040102A C6 ??? ; 未知命令
..........................................................
ESP 0012FFC4
两次F8看到:
ESP 0012FFC0
利用ESP定律下 HR 0012FFC0 f9运行,再Shift+F9后程序到:
7C957826 3B45 F8 CMP EAX,DWORD PTR SS:[EBP-8]
7C957829 72 09 JB SHORT ntdll.7C957834
7C95782B 3B45 F4 CMP EAX,DWORD PTR SS:[EBP-C]
7C95782E ^ 0F82 F731FFFF JB ntdll.7C94AA2B
7C957834 50 PUSH EAX
7C957835 E8 67000000 CALL ntdll.7C9578A1
7C95783A 84C0 TEST AL,AL
7C95783C ^ 0F84 E931FFFF JE ntdll.7C94AA2B
7C957842 F605 5AC3997C 8>TEST BYTE PTR DS:[7C99C35A],80
7C957849 0F85 20720100 JNZ ntdll.7C96EA6F
7C95784F FF73 04 PUSH DWORD PTR DS:[EBX+4]
7C957852 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
7C957855 50 PUSH EAX
7C957856 FF75 0C PUSH DWORD PTR SS:[EBP+C]
7C957859 53 PUSH EBX
7C95785A 56 PUSH ESI
7C95785B E8 F3BEFCFF CALL ntdll.7C923753
7C957860 F605 5AC3997C 8>TEST BYTE PTR DS:[7C99C35A],80
.....................
一路F8:
006E8222 8BC6 MOV EAX,ESI ; ssQss.006306A0
006E8224 5A POP EDX
006E8225 5E POP ESI
006E8226 5F POP EDI
006E8227 59 POP ECX
006E8228 5B POP EBX
006E8229 5D POP EBP
006E822A FFE0 JMP EAX ;到这里继续F8后即可到达OEP了
006E822C A0 06630050 &n