用到工具】OD,PEID,IMPOTREC,LORDPE
【调试平台】Win2K3 sp2
【文字记录】Kernel2008
【点滴说明】莫名的紧张,莫名的压力,我快坚持不住了,但除了坚强,再坚强。
使用PEID查壳,显示为:EXE32Pack 1.3x -> SteelBytes
发现使用PEID的插件脱之不行,并且查找到的OEP也不对,于是就有了下文:
载入OD中,停留在此处:
00CBE00C > 3BED CMP EBP,EBP
00CBE00E 74 02 JE SHORT raidenft.00CBE012
00CBE010 8182 553BD274 0>ADD DWORD PTR DS:[EDX+74D23B55],5>
00CBE01A 3BC0 CMP EAX,EAX
00CBE01C 74 01 JE SHORT raidenft.00CBE01F
00CBE01E BC 563BED74 MOV ESP,74ED3B56
使用F8一直往下单步下去
00CBE012 55 PUSH EBP
00CBE013 3BD2 CMP EDX,EDX
00CBE015 74 02 JE SHORT raidenft.00CBE019
00CBE017 8182 533BC074 0>ADD DWORD PTR DS:[EDX+74C03B53],3>
00CBE021 ED IN EAX,DX ; I/O 命令
00CBE022 74 02 JE SHORT raidenft.00CBE026
一直使用F8单步到此处:
00CBE01F 56 PUSH ESI
00CBE020 3BED CMP EBP,EBP //此时使用OEP定律
00CBE022 74 02 JE SHORT raidenft.00CBE026
00CBE024 8186 57E80000 0>ADD DWORD PTR DS:[ESI+E857],C93B0>
00CBE02E 74 01 JE SHORT raidenft.00CBE031
00CBE030 BA 5D8BD581 MOV EDX,81D58B5D
00CBE035 ED IN EAX,DX ; I/O 命令
00CBE036 1C 3C SBB AL,3C
SHIFT+F9就来到下面处代码:
00E34ADC 3BED CMP EBP,EBP ; raidenft.008BA410
00E34ADE 74 02 JE SHORT raidenft.00E34AE2
00E34AE0 81845B 3BED7402>ADD DWORD PTR DS:[EBX+EBX*2+274ED>
00E34AEB D27401 BE SAL BYTE PTR DS:[ECX+EAX-42],CL
00E34AEF FFE0 JMP EAX //单步到此跳向程序OEP
00E34AF1 B8 01000000 MOV EAX,1
程序OEP
005D2988 6A 70 PUSH 70
005D298A 68 80C46000 PUSH raidenft.0060C480
005D298F E8 A0030000 CALL raidenft.005D2D34
005D2994 33DB XOR EBX,EBX
005D2996 53 PUSH EBX
DUMP下程序,使用工具修复,到此脱壳算完成了,不料程序有自校验,这里就没有对解除自校验进行叙述下去了。
再次使用PEID查壳,是个vc写的程序。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!