能力值:
( LV5,RANK:71 )
|
-
-
6 楼
终于看到有人回复,我很高兴。
5楼Thomasyzh老大,强烈希望你再出一篇精华。
5楼Thomasyzh老大,强烈希望你再出一篇精华。
5楼Thomasyzh老大,强烈希望你再出一篇精华。
我的水平太有限了,看到算法都有点晕,而且"len级变换"不知道是不是你的首创,以下是我的分析:
008CF8AF 53 PUSH EBX
008CF8B0 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
008CF8B3 33C0 XOR EAX,EAX
008CF8B5 55 PUSH EBP
008CF8B6 68 F8FD8C00 PUSH telstr.008CFDF8
008CF8BB 64:FF30 PUSH DWORD PTR FS:[EAX]
008CF8BE 64:8920 MOV DWORD PTR FS:[EAX],ESP
008CF8C1 8D95 20FEFFFF LEA EDX,DWORD PTR SS:[EBP-1E0]
008CF8C7 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
008CF8CA 8B80 18030000 MOV EAX,DWORD PTR DS:[EAX+318]
008CF8D0 E8 EBC4FEFF CALL telstr.008BBDC0 ; 取机器码
008CF8D5 8B85 20FEFFFF MOV EAX,DWORD PTR SS:[EBP-1E0]
008CF8DB 8D95 24FEFFFF LEA EDX,DWORD PTR SS:[EBP-1DC]
008CF8E1 E8 EE90F8FF CALL telstr.008589D4 ; 处理机器码
008CF8E6 83BD 24FEFFFF 0>CMP DWORD PTR SS:[EBP-1DC],0 ; 判断机器码是否为空
008CF8ED 75 1D JNZ SHORT telstr.008CF90C ; 实现了
008CF8EF 6A 40 PUSH 40
008CF8F1 B9 08FE8C00 MOV ECX,telstr.008CFE08
008CF8F6 BA 10FE8C00 MOV EDX,telstr.008CFE10
008CF8FB A1 F02E8D00 MOV EAX,DWORD PTR DS:[8D2EF0]
008CF900 8B00 MOV EAX,DWORD PTR DS:[EAX]
008CF902 E8 E5D1FBFF CALL telstr.0088CAEC
008CF907 E9 DA030000 JMP telstr.008CFCE6
008CF90C 8D95 18FEFFFF LEA EDX,DWORD PTR SS:[EBP-1E8]
008CF912 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
008CF915 8B80 14030000 MOV EAX,DWORD PTR DS:[EAX+314]
008CF91B E8 A0C4FEFF CALL telstr.008BBDC0 ; 取注册码
008CF920 8B85 18FEFFFF MOV EAX,DWORD PTR SS:[EBP-1E8]
008CF926 8D95 1CFEFFFF LEA EDX,DWORD PTR SS:[EBP-1E4]
008CF92C E8 A390F8FF CALL telstr.008589D4 ; 处理注册码
008CF931 83BD 1CFEFFFF 0>CMP DWORD PTR SS:[EBP-1E4],0 ; 判断密码是否为空
008CF938 75 1D JNZ SHORT telstr.008CF957
008CF93A 6A 40 PUSH 40
008CF93C B9 08FE8C00 MOV ECX,telstr.008CFE08
008CF941 BA 24FE8C00 MOV EDX,telstr.008CFE24
008CF946 A1 F02E8D00 MOV EAX,DWORD PTR DS:[8D2EF0]
008CF94B 8B00 MOV EAX,DWORD PTR DS:[EAX]
008CF94D E8 9AD1FBFF CALL telstr.0088CAEC ; 提示注册码不能为空
008CF952 E9 8F030000 JMP telstr.008CFCE6
008CF957 8D95 0CFEFFFF LEA EDX,DWORD PTR SS:[EBP-1F4]
008CF95D 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
008CF960 8B80 18030000 MOV EAX,DWORD PTR DS:[EAX+318]
008CF966 E8 55C4FEFF CALL telstr.008BBDC0 ; 取机器码
008CF96B 8B85 0CFEFFFF MOV EAX,DWORD PTR SS:[EBP-1F4]
008CF971 8D95 10FEFFFF LEA EDX,DWORD PTR SS:[EBP-1F0]
008CF977 E8 5890F8FF CALL telstr.008589D4
008CF97C 8B95 10FEFFFF MOV EDX,DWORD PTR SS:[EBP-1F0]
008CF982 8D85 14FEFFFF LEA EAX,DWORD PTR SS:[EBP-1EC]
008CF988 E8 9358F8FF CALL telstr.00855220 ; 转换为unicode
008CF98D 8B85 14FEFFFF MOV EAX,DWORD PTR SS:[EBP-1EC]
008CF993 50 PUSH EAX
008CF994 6A 00 PUSH 0
008CF996 8D95 00FEFFFF LEA EDX,DWORD PTR SS:[EBP-200]
008CF99C 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
008CF99F 8B80 14030000 MOV EAX,DWORD PTR DS:[EAX+314]
008CF9A5 E8 16C4FEFF CALL telstr.008BBDC0
008CF9AA 8B85 00FEFFFF MOV EAX,DWORD PTR SS:[EBP-200]
008CF9B0 8D95 04FEFFFF LEA EDX,DWORD PTR SS:[EBP-1FC]
008CF9B6 E8 1990F8FF CALL telstr.008589D4
008CF9BB 8B85 04FEFFFF MOV EAX,DWORD PTR SS:[EBP-1FC]
008CF9C1 50 PUSH EAX
008CF9C2 8D85 08FEFFFF LEA EAX,DWORD PTR SS:[EBP-1F8]
008CF9C8 50 PUSH EAX
008CF9C9 E8 BAFCFFFF CALL <JMP.&GetEnc.GetString>
008CF9CE 8B95 08FEFFFF MOV EDX,DWORD PTR SS:[EBP-1F8]
008CF9D4 58 POP EAX
008CF9D5 E8 7258F8FF CALL telstr.0085524C ; 关键的call
008CF9DA 74 3E JE SHORT telstr.008CFA1A
008CF9DC 6A 40 PUSH 40
008CF9DE B9 08FE8C00 MOV ECX,telstr.008CFE08
008CF9E3 BA 38FE8C00 MOV EDX,telstr.008CFE38
008CF9E8 A1 F02E8D00 MOV EAX,DWORD PTR DS:[8D2EF0]
008CF9ED 8B00 MOV EAX,DWORD PTR DS:[EAX]
008CF9EF E8 F8D0FBFF CALL telstr.0088CAEC ; 弹出错误提示
008CF9F4 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
008CF9F7 8B80 14030000 MOV EAX,DWORD PTR DS:[EAX+314]
008CF9FD 33D2 XOR EDX,EDX
008CF9FF E8 D0C3FEFF CALL telstr.008BBDD4
008CFA04 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
008CFA07 8B80 14030000 MOV EAX,DWORD PTR DS:[EAX+314]
008CFA0D 8B10 MOV EDX,DWORD PTR DS:[EAX]
008CFA0F FF92 C4000000 CALL DWORD PTR DS:[EDX+C4]
008CFA15 E9 CC020000 JMP telstr.008CFCE6
008CFA1A 8D95 F4FDFFFF LEA EDX,DWORD PTR SS:[EBP-20C]
008CFA20 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
008CFA23 8B80 18030000 MOV EAX,DWORD PTR DS:[EAX+318]
008CFA29 E8 92C3FEFF CALL telstr.008BBDC0
008CFA2E 8B85 F4FDFFFF MOV EAX,DWORD PTR SS:[EBP-20C]
008CFA34 8D95 F8FDFFFF LEA EDX,DWORD PTR SS:[EBP-208]
008CFA3A E8 958FF8FF CALL telstr.008589D4
008CFA3F 8B95 F8FDFFFF MOV EDX,DWORD PTR SS:[EBP-208]
008CFA45 8D85 FCFDFFFF LEA EAX,DWORD PTR SS:[EBP-204]
008CFA4B E8 D057F8FF CALL telstr.00855220
008CFA50 8B85 FCFDFFFF MOV EAX,DWORD PTR SS:[EBP-204]
008CFA56 50 PUSH EAX
008CFA57 6A 00 PUSH 0
008CFA59 8D95 E8FDFFFF LEA EDX,DWORD PTR SS:[EBP-218]
008CFA5F 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
008CFA62 8B80 14030000 MOV EAX,DWORD PTR DS:[EAX+314]
008CFA68 E8 53C3FEFF CALL telstr.008BBDC0
008CFA6D 8B85 E8FDFFFF MOV EAX,DWORD PTR SS:[EBP-218]
008CFA73 8D95 ECFDFFFF LEA EDX,DWORD PTR SS:[EBP-214]
008CFA79 E8 568FF8FF CALL telstr.008589D4
008CFA7E 8B85 ECFDFFFF MOV EAX,DWORD PTR SS:[EBP-214]
008CFA84 50 PUSH EAX
008CFA85 8D85 F0FDFFFF LEA EAX,DWORD PTR SS:[EBP-210]
008CFA8B 50 PUSH EAX
008CFA8C E8 F7FBFFFF CALL <JMP.&GetEnc.GetString>
008CFA91 8B95 F0FDFFFF MOV EDX,DWORD PTR SS:[EBP-210]
008CFA97 58 POP EAX
008CFA98 E8 AF57F8FF CALL telstr.0085524C
008CFA9D 0F85 43020000 JNZ telstr.008CFCE6
008CFAA3 8D95 E4FDFFFF LEA EDX,DWORD PTR SS:[EBP-21C]
008CFAA9 A1 F02E8D00 MOV EAX,DWORD PTR DS:[8D2EF0]
008CFAAE 8B00 MOV EAX,DWORD PTR DS:[EAX]
008CFAB0 E8 67D5FBFF CALL telstr.0088D01C
008CFAB5 8B85 E4FDFFFF MOV EAX,DWORD PTR SS:[EBP-21C]
008CFABB 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
008CFABE E8 9195F8FF CALL telstr.00859054
008CFAC3 8D95 E0FDFFFF LEA EDX,DWORD PTR SS:[EBP-220]
008CFAC9 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
008CFACC E8 038FF8FF CALL telstr.008589D4
008CFAD1 8D85 E0FDFFFF LEA EAX,DWORD PTR SS:[EBP-220]
008CFAD7 BA 50FE8C00 MOV EDX,telstr.008CFE50 ; ASCII "\CondDate.dll"
008CFADC E8 9F51F8FF CALL telstr.00854C80
008CFAE1 8B8D E0FDFFFF MOV ECX,DWORD PTR SS:[EBP-220]
008CFAE7 B2 01 MOV DL,1
008CFAE9 A1 D0AC8700 MOV EAX,DWORD PTR DS:[87ACD0]
008CFAEE E8 8DB2FAFF CALL telstr.0087AD80
008CFAF3 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
008CFAF6 33C0 XOR EAX,EAX
008CFAF8 55 PUSH EBP
008CFAF9 68 DDFB8C00 PUSH telstr.008CFBDD
008CFAFE 64:FF30 PUSH DWORD PTR FS:[EAX]
008CFB01 64:8920 MOV DWORD PTR FS:[EAX],ESP
008CFB04 8D95 D8FDFFFF LEA EDX,DWORD PTR SS:[EBP-228]
008CFB0A 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
008CFB0D 8B80 18030000 MOV EAX,DWORD PTR DS:[EAX+318]
008CFB13 E8 A8C2FEFF CALL telstr.008BBDC0
008CFB18 8B85 D8FDFFFF MOV EAX,DWORD PTR SS:[EBP-228]
008CFB1E 8D95 DCFDFFFF LEA EDX,DWORD PTR SS:[EBP-224]
008CFB24 E8 AB8EF8FF CALL telstr.008589D4
008CFB29 8B85 DCFDFFFF MOV EAX,DWORD PTR SS:[EBP-224]
008CFB2F 50 PUSH EAX
008CFB30 B9 68FE8C00 MOV ECX,telstr.008CFE68 ; ASCII "usnamema"
008CFB35 BA 7CFE8C00 MOV EDX,telstr.008CFE7C ; ASCII "Self_Reg"
008CFB3A 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
008CFB3D 8B18 MOV EBX,DWORD PTR DS:[EAX]
008CFB3F FF53 04 CALL DWORD PTR DS:[EBX+4]
008CFB42 8D95 D0FDFFFF LEA EDX,DWORD PTR SS:[EBP-230]
008CFB48 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
008CFB4B 8B80 14030000 MOV EAX,DWORD PTR DS:[EAX+314]
008CFB51 E8 6AC2FEFF CALL telstr.008BBDC0
008CFB56 8B85 D0FDFFFF MOV EAX,DWORD PTR SS:[EBP-230]
008CFB5C 8D95 D4FDFFFF LEA EDX,DWORD PTR SS:[EBP-22C]
008CFB62 E8 6D8EF8FF CALL telstr.008589D4
008CFB67 8B85 D4FDFFFF MOV EAX,DWORD PTR SS:[EBP-22C]
008CFB6D 50 PUSH EAX
008CFB6E B9 90FE8C00 MOV ECX,telstr.008CFE90 ; ASCII "regstrma"
008CFB73 BA 7CFE8C00 MOV EDX,telstr.008CFE7C ; ASCII "Self_Reg"
008CFB78 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
008CFB7B 8B18 MOV EBX,DWORD PTR DS:[EAX]
008CFB7D FF53 04 CALL DWORD PTR DS:[EBX+4]
008CFB80 68 A4FE8C00 PUSH telstr.008CFEA4
008CFB85 B9 B0FE8C00 MOV ECX,telstr.008CFEB0 ; ASCII "RegB"
008CFB8A BA 7CFE8C00 MOV EDX,telstr.008CFE7C ; ASCII "Self_Reg"
008CFB8F 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
008CFB92 8B18 MOV EBX,DWORD PTR DS:[EAX]
008CFB94 FF53 04 CALL DWORD PTR DS:[EBX+4]
008CFB97 E8 B8A9F8FF CALL telstr.0085A554
008CFB9C 83C4 F8 ADD ESP,-8
008CFB9F DD1C24 FSTP QWORD PTR SS:[ESP]
008CFBA2 9B WAIT
008CFBA3 8D85 CCFDFFFF LEA EAX,DWORD PTR SS:[EBP-234]
008CFBA9 E8 0AB6F8FF CALL telstr.0085B1B8
008CFBAE 8B85 CCFDFFFF MOV EAX,DWORD PTR SS:[EBP-234]
008CFBB4 50 PUSH EAX
008CFBB5 B9 C0FE8C00 MOV ECX,telstr.008CFEC0 ; ASCII "Regdate"
008CFBBA BA 7CFE8C00 MOV EDX,telstr.008CFE7C ; ASCII "Self_Reg"
008CFBBF 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
008CFBC2 8B18 MOV EBX,DWORD PTR DS:[EAX]
008CFBC4 FF53 04 CALL DWORD PTR DS:[EBX+4]
008CFBC7 33C0 XOR EAX,EAX
008CFBC9 5A POP EDX
008CFBCA 59 POP ECX
008CFBCB 59 POP ECX
008CFBCC 64:8910 MOV DWORD PTR FS:[EAX],EDX
008CFBCF 68 E4FB8C00 PUSH telstr.008CFBE4
008CFBD4 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
008CFBD7 E8 C83FF8FF CALL telstr.00853BA4
008CFBDC C3 RETN
008CFBDD ^ E9 2A47F8FF JMP telstr.0085430C
008CFBE2 ^ EB F0 JMP SHORT telstr.008CFBD4
008CFBE4 BA D0FE8C00 MOV EDX,telstr.008CFED0
008CFBE9 8D85 28FEFFFF LEA EAX,DWORD PTR SS:[EBP-1D8]
008CFBEF E8 F435F8FF CALL telstr.008531E8
008CFBF4 B8 D0FE8C00 MOV EAX,telstr.008CFED0
008CFBF9 E8 BE93F8FF CALL telstr.00858FBC
008CFBFE 84C0 TEST AL,AL
008CFC00 75 12 JNZ SHORT telstr.008CFC14
008CFC02 8D85 28FEFFFF LEA EAX,DWORD PTR SS:[EBP-1D8]
008CFC08 E8 6B33F8FF CALL telstr.00852F78
008CFC0D E8 E22FF8FF CALL telstr.00852BF4
008CFC12 EB 10 JMP SHORT telstr.008CFC24
008CFC14 8D85 28FEFFFF LEA EAX,DWORD PTR SS:[EBP-1D8]
008CFC1A E8 6533F8FF CALL telstr.00852F84
008CFC1F E8 D02FF8FF CALL telstr.00852BF4
008CFC24 33C0 XOR EAX,EAX
008CFC26 55 PUSH EBP
008CFC27 68 A6FC8C00 PUSH telstr.008CFCA6
008CFC2C 64:FF30 PUSH DWORD PTR FS:[EAX]
008CFC2F 64:8920 MOV DWORD PTR FS:[EAX],ESP
008CFC32 8D95 C0FDFFFF LEA EDX,DWORD PTR SS:[EBP-240]
008CFC38 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
008CFC3B 8B80 14030000 MOV EAX,DWORD PTR DS:[EAX+314]
008CFC41 E8 7AC1FEFF CALL telstr.008BBDC0
008CFC46 8B85 C0FDFFFF MOV EAX,DWORD PTR SS:[EBP-240]
008CFC4C 8D95 C4FDFFFF LEA EDX,DWORD PTR SS:[EBP-23C]
008CFC52 E8 7D8DF8FF CALL telstr.008589D4
008CFC57 8B8D C4FDFFFF MOV ECX,DWORD PTR SS:[EBP-23C]
008CFC5D 8D85 C8FDFFFF LEA EAX,DWORD PTR SS:[EBP-238]
008CFC63 BA E4FE8C00 MOV EDX,telstr.008CFEE4
008CFC68 E8 5750F8FF CALL telstr.00854CC4
008CFC6D 8B95 C8FDFFFF MOV EDX,DWORD PTR SS:[EBP-238]
008CFC73 8D85 28FEFFFF LEA EAX,DWORD PTR SS:[EBP-1D8]
008CFC79 E8 EA53F8FF CALL telstr.00855068
008CFC7E E8 D939F8FF CALL telstr.0085365C
008CFC83 E8 6C2FF8FF CALL telstr.00852BF4
008CFC88 33C0 XOR EAX,EAX
008CFC8A 5A POP EDX
008CFC8B 59 POP ECX
008CFC8C 59 POP ECX
008CFC8D 64:8910 MOV DWORD PTR FS:[EAX],EDX
008CFC90 68 ADFC8C00 PUSH telstr.008CFCAD
008CFC95 8D85 28FEFFFF LEA EAX,DWORD PTR SS:[EBP-1D8]
008CFC9B E8 1036F8FF CALL telstr.008532B0
008CFCA0 E8 4F2FF8FF CALL telstr.00852BF4
008CFCA5 C3 RETN
008CFCA6 ^ E9 6146F8FF JMP telstr.0085430C
008CFCAB ^ EB E8 JMP SHORT telstr.008CFC95
008CFCAD 6A 40 PUSH 40
008CFCAF B9 08FE8C00 MOV ECX,telstr.008CFE08
008CFCB4 BA F4FE8C00 MOV EDX,telstr.008CFEF4
008CFCB9 A1 F02E8D00 MOV EAX,DWORD PTR DS:[8D2EF0]
008CFCBE 8B00 MOV EAX,DWORD PTR DS:[EAX]
008CFCC0 E8 27CEFBFF CALL telstr.0088CAEC ; 提示注册成功
008CFCC5 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
008CFCC8 B8 01000000 MOV EAX,1
008CFCCD 8982 64030000 MOV DWORD PTR DS:[EDX+364],EAX
008CFCD3 48 DEC EAX
008CFCD4 75 08 JNZ SHORT telstr.008CFCDE
008CFCD6 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
008CFCD9 E8 C6020000 CALL telstr.008CFFA4
008CFCDE 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
008CFCE1 E8 1697FBFF CALL telstr.008893FC
希望不吝赐教。
|
能力值:
( LV7,RANK:100 )
|
-
-
7 楼
首先,分析加密,你应该从这个dll的这里开始
GetEnc.dll
003B212C > $ 55 push ebp-------这里下段嘛
003B212D . 8BEC mov ebp, esp
003B212F . B9 05000000 mov ecx, 5
003B2134 > 6A 00 push 0
003B2136 . 6A 00 push 0
003B2138 . 49 dec ecx
003B2139 .^ 75 F9 jnz short 003B2134
003B213B . 51 push ecx
003B213C . 53 push ebx
003B213D . 56 push esi
003B213E . 57 push edi
003B213F . 8B45 0C mov eax, dword ptr [ebp+C]
003B2142 . E8 191DFFFF call 003A3E60
003B2147 . 8B45 10 mov eax, dword ptr [ebp+10]
003B214A . E8 111DFFFF call 003A3E60
003B214F . 33C0 xor eax, eax
003B2151 . 55 push ebp
003B2152 . 68 AA223B00 push 003B22AA
003B2157 . 64:FF30 push dword ptr fs:[eax]
003B215A . 64:8920 mov dword ptr fs:[eax], esp
003B215D . 8B45 10 mov eax, dword ptr [ebp+10]
003B2160 . E8 0B1BFFFF call 003A3C70
003B2165 . 8945 FC mov dword ptr [ebp-4], eax
003B2168 . 837D FC 00 cmp dword ptr [ebp-4], 0
003B216C . 75 0D jnz short 003B217B
003B216E . 8D45 10 lea eax, dword ptr [ebp+10]
003B2171 . BA C4223B00 mov edx, 003B22C4 ; ASCII "sanSM"
003B2176 . E8 F118FFFF call 003A3A6C
003B217B > 33C0 xor eax, eax
003B217D . 8945 F8 mov dword ptr [ebp-8], eax
003B2180 . 8D45 E0 lea eax, dword ptr [ebp-20]
003B2183 . 50 push eax
003B2184 . B9 02000000 mov ecx, 2
003B2189 . BA 01000000 mov edx, 1
003B218E . 8B45 0C mov eax, dword ptr [ebp+C]
003B2191 . E8 321DFFFF call 003A3EC8 ; ??? this call
003B2196 . 8B4D E0 mov ecx, dword ptr [ebp-20]
003B2199 . 8D45 E4 lea eax, dword ptr [ebp-1C]
003B219C . BA D4223B00 mov edx, 003B22D4
003B21A1 . E8 161BFFFF call 003A3CBC
003B21A6 . 8B45 E4 mov eax, dword ptr [ebp-1C]
003B21A9 . E8 1249FFFF call 003A6AC0 ; Encode
003B21AE . 8945 F4 mov dword ptr [ebp-C], eax
003B21B1 . C745 EC 03000>mov dword ptr [ebp-14], 3
003B21B8 > 33C0 xor eax, eax
003B21BA . 55 push ebp
003B21BB . 68 FF213B00 push 003B21FF
003B21C0 . 64:FF30 push dword ptr fs:[eax]
003B21C3 . 64:8920 mov dword ptr fs:[eax], esp
003B21C6 . 8D45 D8 lea eax, dword ptr [ebp-28]
003B21C9 . 50 push eax
003B21CA . B9 02000000 mov ecx, 2
003B21CF . 8B55 EC mov edx, dword ptr [ebp-14]
003B21D2 . 8B45 0C mov eax, dword ptr [ebp+C]
003B21D5 . E8 EE1CFFFF call 003A3EC8
003B21DA . 8B4D D8 mov ecx, dword ptr [ebp-28]
003B21DD . 8D45 DC lea eax, dword ptr [ebp-24]
003B21E0 . BA D4223B00 mov edx, 003B22D4
003B21E5 . E8 D21AFFFF call 003A3CBC
003B21EA . 8B45 DC mov eax, dword ptr [ebp-24]
003B21ED . E8 CE48FFFF call 003A6AC0
003B21F2 . 8945 E8 mov dword ptr [ebp-18], eax
003B21F5 . 33C0 xor eax, eax
003B21F7 . 5A pop edx
003B21F8 . 59 pop ecx
003B21F9 . 59 pop ecx
这里大概是在进行一些,明文的处理
003A292A 8BC0 mov eax, eax
003A292C /$ 53 push ebx
003A292D |. 56 push esi
003A292E |. 57 push edi
003A292F |. 89C6 mov esi, eax
003A2931 |. 50 push eax
003A2932 |. 85C0 test eax, eax
003A2934 |. 74 6C je short 003A29A2
003A2936 |. 31C0 xor eax, eax
003A2938 |. 31DB xor ebx, ebx
003A293A |. BF CCCCCC0C mov edi, 0CCCCCCC
003A293F |> 8A1E /mov bl, byte ptr [esi]
003A2941 |. 46 |inc esi
003A2942 |. 80FB 20 |cmp bl, 20
003A2945 |.^ 74 F8 \je short 003A293F
003A2947 |. B5 00 mov ch, 0
003A2949 |. 80FB 2D cmp bl, 2D
003A294C |. 74 62 je short 003A29B0
003A294E |. 80FB 2B cmp bl, 2B
003A2951 |. 74 5F je short 003A29B2
003A2953 |> 80FB 24 cmp bl, 24 ; Switch (cases 0..78)
003A2956 |. 74 5F je short 003A29B7
003A2958 |. 80FB 78 cmp bl, 78
003A295B |. 74 5A je short 003A29B7
003A295D |. 80FB 58 cmp bl, 58
003A2960 |. 74 55 je short 003A29B7
003A2962 |. 80FB 30 cmp bl, 30
003A2965 |. 75 13 jnz short 003A297A
003A2967 |. 8A1E mov bl, byte ptr [esi] ; Case 30 ('0') of switch 003A2953
003A2969 |. 46 inc esi
003A296A |. 80FB 78 cmp bl, 78
003A296D |. 74 48 je short 003A29B7
003A296F |. 80FB 58 cmp bl, 58
003A2972 |. 74 43 je short 003A29B7
003A2974 |. 84DB test bl, bl
003A2976 |. 74 20 je short 003A2998
003A2978 |. EB 04 jmp short 003A297E
003A297A |> 84DB test bl, bl
003A297C |. 74 2D je short 003A29AB
003A297E |> 80EB 30 /sub bl, 30 ; Default case of switch 003A2953
003A2981 |. 80FB 09 |cmp bl, 9
003A2984 |. 77 25 |ja short 003A29AB
003A2986 |. 39F8 |cmp eax, edi
003A2988 |. 77 21 |ja short 003A29AB
003A298A |. 8D0480 |lea eax, dword ptr [eax+eax*4]
003A298D |. 01C0 |add eax, eax
003A298F |. 01D8 |add eax, ebx
003A2991 |. 8A1E |mov bl, byte ptr [esi]
003A2993 |. 46 |inc esi
003A2994 |. 84DB |test bl, bl
003A2996 |.^ 75 E6 \jnz short 003A297E
003A2998 |> FECD dec ch
003A299A |. 74 09 je short 003A29A5
003A299C |. 85C0 test eax, eax
003A299E |. 7D 54 jge short 003A29F4
003A29A0 |. EB 09 jmp short 003A29AB
003A29A2 |> 46 inc esi
003A29A3 |. EB 06 jmp short 003A29AB
003A29A5 |> F7D8 neg eax
003A29A7 |. 7E 4B jle short 003A29F4
003A29A9 |. 78 49 js short 003A29F4
003A29AB |> 5B pop ebx ; Default case of switch 003A29CB
003A29AC |. 29DE sub esi, ebx
003A29AE |. EB 47 jmp short 003A29F7
003A29B0 |> FEC5 inc ch
003A29B2 |> 8A1E mov bl, byte ptr [esi]
003A29B4 |. 46 inc esi
003A29B5 |.^ EB 9C jmp short 003A2953
003A29B7 |> BF FFFFFF0F mov edi, 0FFFFFFF ; Cases 24 ('$'),58 ('X'),78 ('x') of switch 003A2953
003A29BC |. 8A1E mov bl, byte ptr [esi] ; 取密-从这里开始
003A29BE |. 46 inc esi
003A29BF |. 84DB test bl, bl
003A29C1 |.^ 74 DF je short 003A29A2
003A29C3 |> 80FB 61 /cmp bl, 61 ; 判断第一个字符是不a
003A29C6 |. 72 03 |jb short 003A29CB
003A29C8 |. 80EB 20 |sub bl, 20
003A29CB |> 80EB 30 |sub bl, 30 ; Switch (cases 30..46)
003A29CE |. 80FB 09 |cmp bl, 9
003A29D1 |. 76 0B |jbe short 003A29DE
003A29D3 |. 80EB 11 |sub bl, 11
003A29D6 |. 80FB 05 |cmp bl, 5
003A29D9 |.^ 77 D0 |ja short 003A29AB
003A29DB |. 80C3 0A |add bl, 0A ; Cases 41 ('A'),42 ('B'),43 ('C'),44 ('D'),45 ('E'),46 ('F') of switch 003A29CB
003A29DE |> 39F8 |cmp eax, edi ; Cases 30 ('0'),31 ('1'),32 ('2'),33 ('3'),34 ('4'),35 ('5'),36 ('6'),37 ('7'),38 ('8'),39 ('9') of switch 003A29CB
003A29E0 |.^ 77 C9 |ja short 003A29AB
003A29E2 |. C1E0 04 |shl eax, 4
003A29E5 |. 01D8 |add eax, ebx
003A29E7 |. 8A1E |mov bl, byte ptr [esi] ; 取下一个字符
003A29E9 |. 46 |inc esi
003A29EA |. 84DB |test bl, bl
003A29EC |.^ 75 D5 \jnz short 003A29C3
003A29EE |. FECD dec ch
003A29F0 |. 75 02 jnz short 003A29F4
003A29F2 |. F7D8 neg eax
003A29F4 |> 59 pop ecx
003A29F5 |. 31F6 xor esi, esi
003A29F7 |> 8932 mov dword ptr [edx], esi
003A29F9 |. 5F pop edi
003A29FA |. 5E pop esi
003A29FB |. 5B pop ebx
----------------------------------
-----------------------------------
0085524C /$ 53 push ebx
0085524D |. 56 push esi
0085524E |. 57 push edi
0085524F |. 89C6 mov esi, eax
00855251 |. 89D7 mov edi, edx
00855253 |. 39D0 cmp eax, edx
00855255 |. 74 72 je short 008552C9
00855257 |. 85F6 test esi, esi
00855259 |. 74 51 je short 008552AC
0085525B |. 85FF test edi, edi
0085525D |. 74 54 je short 008552B3
0085525F |. 8B46 FC mov eax, dword ptr [esi-4]
00855262 |. 8B57 FC mov edx, dword ptr [edi-4]
00855265 |. 29D0 sub eax, edx
00855267 |. 77 02 ja short 0085526B
00855269 |. 01C2 add edx, eax
0085526B |> 52 push edx
0085526C |. C1EA 02 shr edx, 2
0085526F |. 74 26 je short 00855297
00855271 |> 8B0E /mov ecx, dword ptr [esi]
00855273 |. 8B1F |mov ebx, dword ptr [edi]
00855275 |. 39D9 |cmp ecx, ebx
00855277 |. 75 41 |jnz short 008552BA
00855279 |. 4A |dec edx
0085527A |. 74 15 |je short 00855291
0085527C |. 8B4E 04 |mov ecx, dword ptr [esi+4]
0085527F |. 8B5F 04 |mov ebx, dword ptr [edi+4]
00855282 |. 39D9 |cmp ecx, ebx
00855284 |. 75 34 |jnz short 008552BA
00855286 |. 83C6 08 |add esi, 8
00855289 |. 83C7 08 |add edi, 8
0085528C |. 4A |dec edx
0085528D |.^ 75 E2 \jnz short 00855271
0085528F |. EB 06 jmp short 00855297
00855291 |> 83C6 04 add esi, 4
00855294 |. 83C7 04 add edi, 4
00855297 |> 5A pop edx
00855298 |. 83E2 02 and edx, 2
0085529B |. 74 0B je short 008552A8
0085529D |. 66:8B0E mov cx, word ptr [esi]
008552A0 |. 66:8B1F mov bx, word ptr [edi]
008552A3 |. 66:39D9 cmp cx, bx
008552A6 |. 75 21 jnz short 008552C9
008552A8 |> 01C0 add eax, eax
008552AA |. EB 1D jmp short 008552C9
008552AC |> 8B57 FC mov edx, dword ptr [edi-4]
008552AF |. 29D0 sub eax, edx
008552B1 |. EB 16 jmp short 008552C9
008552B3 |> 8B46 FC mov eax, dword ptr [esi-4]
008552B6 |. 29D0 sub eax, edx
008552B8 |. EB 0F jmp short 008552C9
008552BA |> 5A pop edx
008552BB |. 66:39D9 cmp cx, bx
008552BE |. 75 09 jnz short 008552C9
008552C0 |. C1E9 10 shr ecx, 10
008552C3 |. C1EB 10 shr ebx, 10
008552C6 |. 66:39D9 cmp cx, bx
008552C9 |> 5F pop edi
008552CA |. 5E pop esi
008552CB |. 5B pop ebx
008552CC \. C3 retn
这里会把明文的验证码,和进行变换后的你输入的码进行比对。
比队的方法是
1:先比队长度
2:再开始比队字符
长度就是len....根据我的分析,你输入字符和数字的组合,会变出不同的长度,传输到这里来。
如果一样,就成功了。
所谓的len级变换,是我自己取的名字,如果不爽这种命名的话,你大可以不必要看。
你开始仔细,从我给你的第一个点那个地方,一步一步的分析起走。
|