这是一个小软件
我们用PEID查壳
得知是
PECompact 2.x -> Jeremy Collake [Overlay]
加的
我们用OD载入
00403BFE > B8 44E14000 mov eax,Server.0040E144 //载入后 停在这里
00403C03 50 push eax
00403C04 64:FF35 0000000>push dword ptr fs:[0]
00403C0B 64:8925 0000000>mov dword ptr fs:[0],esp //F8走到这里,看寄存器信息
EAX 0040E144 Server.0040E144
ECX 0012FFB0
EDX 7FFE0304
EBX 7FFDF000
ESP 0012FFBC
EBP 0012FFF0
~~~~~~~~~~~~~~~~~~~~~~~~~~
00403C12 33C0 xor eax,eax
00403C14 8908 mov dword ptr ds:[eax],ecx
00403C16 50 push eax
00403C17 45 inc ebp
00403C18 43 inc ebx
00403C19 6F outs dx,dword ptr es:[edi]
00403C1A 6D ins dword ptr es:[edi],dx
00403C1B 70 61 jo short Server.00403C7E
00403C1D 637432 00 arpl word ptr ds:[edx+esi],si
00403C21 190A sbb dword ptr ds:[edx],ecx
// HR12FFBC下硬件断点 回车后 F9运行
0040E173 83C4 04 add esp,4 //断在这里
0040E176 55 push ebp
0040E177 53 push ebx
0040E178 51 push ecx
0040E179 57 push edi
0040E17A 56 push esi
0040E17B 52 push edx
0040E17C 8D98 68110010 lea ebx,dword ptr ds:[eax+10001168]
0040E182 8B53 18 mov edx,dword ptr ds:[ebx+18]
0040E185 52 push edx
0040E186 8BE8 mov ebp,eax
0040E188 6A 40 push 40
0040E18A 68 00100000 push 1000
0040E18F FF73 04 push dword ptr ds:[ebx+4]
0040E192 6A 00 push 0
0040E194 8B4B 10 mov ecx,dword ptr ds:[ebx+10]
0040E197 03CA add ecx,edx
0040E199 8B01 mov eax,dword ptr ds:[ecx]
0040E19B FFD0 call eax //F8运行到这里后 回车
0040E19D 5A pop edx
0040E19E 8BF8 mov edi,eax
0040E1A0 50 push eax
0040E1A1 52 push edx
0040E1A2 8B33 mov esi,dword ptr ds:[ebx]
0040E1A4 8B43 20 mov eax,dword ptr ds:[ebx+20]
0040E1A7 03C2 add eax,edx
0040E1A9 8B08 mov ecx,dword ptr ds:[eax]
0040E1AB 894B 20 mov dword ptr ds:[ebx+20],ecx
77E5AC72 > 55 push ebp //回车后到达这里 F9运行下
77E5AC73 8BEC mov ebp,esp
77E5AC75 FF75 14 push dword ptr ss:[ebp+14]
77E5AC78 FF75 10 push dword ptr ss:[ebp+10]
77E5AC7B FF75 0C push dword ptr ss:[ebp+C]
77E5AC7E FF75 08 push dword ptr ss:[ebp+8]
77E5AC81 6A FF push -1
77E5AC83 E8 9CFFFFFF call kernel32.VirtualAllocEx
77E5AC88 5D pop ebp
77E5AC89 C2 1000 retn 10
77E5AC8C 8B4424 04 mov eax,dword ptr ss:[esp+4]
77E5AC90 85C0 test eax,eax
77E5AC92 0F84 B7010000 je kernel32.77E5AE4F
77E5AC98 A8 01 test al,1
77E5AC9A ^ 0F85 CAF7FEFF jnz kernel32.77E4A46A
77E5ACA0 C2 0800 retn 8
77E5ACA3 - FF25 6413E477 jmp dword ptr ds:[<&ntdll.LdrLockLoaderLock>; ntdll.LdrLockLoaderLock
77E5ACA9 > 6A 28 push 28
77E5ACAB 68 283BE677 push kernel32.77E63B28
77E5ACB0 E8 23F6FFFF call kernel32.77E5A2D8
0040E210 5D pop ebp //F9运行后 到达这里 我们再次F9
0040E211 FFE0 jmp eax
0040E213 FE ??? ; 未知命令
0040E214 3B40 00 cmp eax,dword ptr ds:[eax]
0040E217 0000 add byte ptr ds:[eax],al
0040E219 0000 add byte ptr ds:[eax],al
0040E21B 0000 add byte ptr ds:[eax],al
0040E21D 0000 add byte ptr ds:[eax],al
0040E21F 0000 add byte ptr ds:[eax],al
0040E221 0000 add byte ptr ds:[eax],al
0040E223 0000 add byte ptr ds:[eax],al
0040E225 0000 add byte ptr ds:[eax],al
0040E227 0000 add byte ptr ds:[eax],al
0040E229 0000 add byte ptr ds:[eax],al
0040E22B 0000 add byte ptr ds:[eax],al
00403C03 68 30564000 push Server.00405630 //OK 一片红字, DUMP 吧
00403C08 68 5C3D4000 push Server.00403D5C ; jmp to msvcrt._except_handler3
00403C0D 64:A1 00000000 mov eax,dword ptr fs:[0]
00403C13 50 push eax
00403C14 64:8925 0000000>mov dword ptr fs:[0],esp
00403C1B 83EC 68 sub esp,68
00403C1E 53 push ebx
00403C1F 56 push esi
00403C20 57 push edi
00403C21 8965 E8 mov dword ptr ss:[ebp-18],esp
00403C24 33DB xor ebx,ebx
00403C26 895D FC mov dword ptr ss:[ebp-4],ebx
00403C29 6A 02 push 2
00403C2B FF15 C4524000 call dword ptr ds:[4052C4] ; msvcrt.__set_app_type
00403C31 59 pop ecx
00403C32 830D B0744000 F>or dword ptr ds:[4074B0],FFFFFFFF
00403C39 830D B4744000 F>or dword ptr ds:[4074B4],FFFFFFFF
00403C40 FF15 C8524000 call dword ptr ds:[4052C8] ; msvcrt.__p__fmode
00403C46 8B0D A4744000 mov ecx,dword ptr ds:[4074A4]
00403C4C 8908 mov dword ptr ds:[eax],ecx
00403C4E FF15 CC524000 call dword ptr ds:[4052CC] ; msvcrt.__p__commode
00403C54 8B0D A0744000 mov ecx,dword ptr ds:[4074A0]
00403C5A 8908 mov dword ptr ds:[eax],ecx
我们DUMP后,拿出修复工具,添入OEP:3C03 有两个无效的指针
我们用第一个搜索修复 嘿嘿 修复好一个 还有一个我们CUT掉吧
OK 我们再用 PEID 查下 Microsoft Visual C++ 6.0
第一次发 呵呵 不足的地方 高手请指教啊
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!