能力值:
( LV5,RANK:60 )
|
-
-
2 楼
加了aspack壳,之后是解码过程。
进入判断过程表。查字符参考就行了,在...FILE..LOCK...那点
00463DE8 /. 55 push ebp
00463DE9 |. 8BEC mov ebp, esp
00463DEB |. 33C9 xor ecx, ecx
00463DED |. 51 push ecx
00463DEE |. 51 push ecx
00463DEF |. 51 push ecx
00463DF0 |. 51 push ecx
00463DF1 |. 51 push ecx
00463DF2 |. 51 push ecx
00463DF3 |. 53 push ebx
00463DF4 |. 56 push esi
00463DF5 |. 8BF0 mov esi, eax
00463DF7 |. 33C0 xor eax, eax
00463DF9 |. 55 push ebp
00463DFA |. 68 4D3F4600 push 00463F4D
00463DFF |. 64:FF30 push dword ptr fs:[eax]
00463E02 |. 64:8920 mov dword ptr fs:[eax], esp
00463E05 |. 8D86 48030000 lea eax, dword ptr [esi+348]
00463E0B |. BA 5C3F4600 mov edx, 00463F5C ; ASCII 10,"...FILE..LOCK..."
00463E10 |. 33C9 xor ecx, ecx
00463E12 |. 8A08 mov cl, byte ptr [eax]
00463E14 |. 41 inc ecx
00463E15 |. E8 56EEF9FF call 00402C70
00463E1A |. 74 15 je short 00463E31
00463E1C |. BA 783F4600 mov edx, 00463F78 ; ASCII "Encryption Flag Error!"
00463E21 |. 8B86 28030000 mov eax, dword ptr [esi+328]
00463E27 |. E8 9428FDFF call 004366C0
00463E2C |. E9 F1000000 jmp 00463F22
00463E31 |> 8D45 F8 lea eax, dword ptr [ebp-8]
00463E34 |. 8D96 59030000 lea edx, dword ptr [esi+359]
00463E3A |. E8 6104FAFF call 004042A0
00463E3F |. 8B45 F8 mov eax, dword ptr [ebp-8]
00463E42 |. 8D55 FC lea edx, dword ptr [ebp-4]
00463E45 |. E8 0E9DFFFF call 0045DB58
00463E4A |. 8B45 FC mov eax, dword ptr [ebp-4]
00463E4D |. 50 push eax
00463E4E |. 8D55 F4 lea edx, dword ptr [ebp-C]
00463E51 |. 8B86 2C030000 mov eax, dword ptr [esi+32C]
00463E57 |. E8 3428FDFF call 00436690
00463E5C |. 8B55 F4 mov edx, dword ptr [ebp-C]
00463E5F |. 58 pop eax
00463E60 |. E8 E305FAFF call 00404448
00463E65 |. 74 6D je short 00463ED4
00463E67 |. FE86 40030000 inc byte ptr [esi+340]
00463E6D |. 8A9E 40030000 mov bl, byte ptr [esi+340]
00463E73 |. 80FB 03 cmp bl, 3
00463E76 |. 76 0C jbe short 00463E84
00463E78 |. 8BC6 mov eax, esi
00463E7A |. E8 85EAFEFF call 00452904
00463E7F |. E9 9E000000 jmp 00463F22
00463E84 |> 8D45 F0 lea eax, dword ptr [ebp-10]
00463E87 |. 50 push eax
00463E88 |. 33C0 xor eax, eax
00463E8A |. 8AC3 mov al, bl
00463E8C |. BA 04000000 mov edx, 4
00463E91 |. 2BD0 sub edx, eax
00463E93 |. 8955 E8 mov dword ptr [ebp-18], edx
00463E96 |. C645 EC 00 mov byte ptr [ebp-14], 0
00463E9A |. 8D55 E8 lea edx, dword ptr [ebp-18]
00463E9D |. 33C9 xor ecx, ecx
00463E9F |. B8 983F4600 mov eax, 00463F98 ; ASCII "Password Error! %d tries left."
00463EA4 |. E8 3753FAFF call 004091E0
00463EA9 |. 8B55 F0 mov edx, dword ptr [ebp-10]
00463EAC |. 8B86 28030000 mov eax, dword ptr [esi+328]
00463EB2 |. E8 0928FDFF call 004366C0
00463EB7 |. 33D2 xor edx, edx
00463EB9 |. 8B86 2C030000 mov eax, dword ptr [esi+32C]
00463EBF |. E8 FC27FDFF call 004366C0
00463EC4 |. 8B86 2C030000 mov eax, dword ptr [esi+32C]
00463ECA |. 8B10 mov edx, dword ptr [eax]
00463ECC |. FF92 C4000000 call dword ptr [edx+C4]
00463ED2 |. EB 4E jmp short 00463F22
00463ED4 |> 8B86 38030000 mov eax, dword ptr [esi+338]
00463EDA |. E8 5549FAFF call 00408834
00463EDF |. 8B86 38030000 mov eax, dword ptr [esi+338]
00463EE5 |. E8 1249FAFF call 004087FC
00463EEA |. 84C0 test al, al
00463EEC |. 74 1C je short 00463F0A
00463EEE |. 6A 01 push 1
00463EF0 |. 8B86 3C030000 mov eax, dword ptr [esi+33C]
00463EF6 |. E8 0106FAFF call 004044FC
00463EFB |. 50 push eax ; |CmdLine
00463EFC |. E8 D726FAFF call 004065D8 ; \WinExec
00463F01 |. 8BC6 mov eax, esi
00463F03 |. E8 FCE9FEFF call 00452904
00463F08 |. EB 18 jmp short 00463F22
00463F0A |> 6A 00 push 0
00463F0C |. E8 CBFAFFFF call 004639DC
00463F11 |. 6A 01 push 1
00463F13 |. 8B8E 3C030000 mov ecx, dword ptr [esi+33C]
00463F19 |. B2 01 mov dl, 1
00463F1B |. 8BC6 mov eax, esi
00463F1D |. E8 02FCFFFF call 00463B24
00463F22 |> 33C0 xor eax, eax
00463F24 |. 5A pop edx
00463F25 |. 59 pop ecx
00463F26 |. 59 pop ecx
00463F27 |. 64:8910 mov dword ptr fs:[eax], edx
00463F2A |. 68 543F4600 push 00463F54
00463F2F |> 8D45 F0 lea eax, dword ptr [ebp-10]
00463F32 |. E8 0501FAFF call 0040403C
00463F37 |. 8D45 F4 lea eax, dword ptr [ebp-C]
00463F3A |. E8 FD00FAFF call 0040403C
00463F3F |. 8D45 F8 lea eax, dword ptr [ebp-8]
00463F42 |. BA 02000000 mov edx, 2
00463F47 |. E8 1401FAFF call 00404060
00463F4C \. C3 retn
在463e4d处断一下,可以看到压入栈的eax是真正密码的指针。由此得到真正密码,由此证明此加密器安全系数为0,极度不安全。
|