已经知道下面这段是验证算法,但我看不明白。
求高手指点。
004017C0 /$ 55 PUSH EBP
004017C1 |. 8BEC MOV EBP,ESP
004017C3 |. 81C4 50FBFFFF ADD ESP,-4B0
004017C9 |. 33C0 XOR EAX,EAX
004017CB |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
004017CE |. 33D2 XOR EDX,EDX
004017D0 |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX
004017D3 |. 33C9 XOR ECX,ECX
004017D5 |. 894D F4 MOV DWORD PTR SS:[EBP-C],ECX
004017D8 |. 33C0 XOR EAX,EAX
004017DA |. 8945 F0 MOV DWORD PTR SS:[EBP-10],EAX
004017DD |. 33D2 XOR EDX,EDX
004017DF |. 8955 EC MOV DWORD PTR SS:[EBP-14],EDX
004017E2 |. 6A 05 PUSH 5 ; /Arg3 = 00000005
004017E4 |. 6A 30 PUSH 30 ; |Arg2 = 00000030
004017E6 |. 8D4D E4 LEA ECX,DWORD PTR SS:[EBP-1C] ; |
004017E9 |. 51 PUSH ECX ; |Arg1
004017EA |. E8 C92C1100 CALL UNPACKED.005144B8 ; \UNPACKED.005144B8
004017EF |. 83C4 0C ADD ESP,0C
004017F2 |. C645 E4 31 MOV BYTE PTR SS:[EBP-1C],31
004017F6 |. C645 E8 31 MOV BYTE PTR SS:[EBP-18],31
004017FA |. C645 E9 00 MOV BYTE PTR SS:[EBP-17],0
004017FE |. 6A 10 PUSH 10 ; /Arg3 = 00000010
00401800 |. 6A 41 PUSH 41 ; |Arg2 = 00000041
00401802 |. 8D85 BCFCFFFF LEA EAX,DWORD PTR SS:[EBP-344] ; |
00401808 |. 50 PUSH EAX ; |Arg1
00401809 |. E8 AA2C1100 CALL UNPACKED.005144B8 ; \UNPACKED.005144B8
0040180E |. 83C4 0C ADD ESP,0C
00401811 |. C685 CBFCFFFF >MOV BYTE PTR SS:[EBP-335],31 ;'1'
00401818 |. C685 CAFCFFFF >MOV BYTE PTR SS:[EBP-336],44 ;'D'
0040181F |. C685 BEFCFFFF >MOV BYTE PTR SS:[EBP-342],30 ;'0'
00401826 |. C685 BFFCFFFF >MOV BYTE PTR SS:[EBP-341],46 ;'F'
0040182D |. C685 C1FCFFFF >MOV BYTE PTR SS:[EBP-33F],46 ;'F'
00401834 |. C685 C0FCFFFF >MOV BYTE PTR SS:[EBP-340],38 ;'8'
0040183B |. C685 C3FCFFFF >MOV BYTE PTR SS:[EBP-33D],32 ;'2'
00401842 |. C685 C6FCFFFF >MOV BYTE PTR SS:[EBP-33A],36 ;'6'
00401849 |. C685 C2FCFFFF >MOV BYTE PTR SS:[EBP-33E],36 ;'6'
00401850 |. C685 C7FCFFFF >MOV BYTE PTR SS:[EBP-339],45 ;'E'
00401857 |. C685 C8FCFFFF >MOV BYTE PTR SS:[EBP-338],39 ;'9'
0040185E |. C685 C9FCFFFF >MOV BYTE PTR SS:[EBP-337],37 ;'7'
00401865 |. C685 BDFCFFFF >MOV BYTE PTR SS:[EBP-343],37 ;'7'
0040186C |. C685 CCFCFFFF >MOV BYTE PTR SS:[EBP-334],0
00401873 |. 33D2 XOR EDX,EDX
00401875 |. 8915 70E75200 MOV DWORD PTR DS:[52E770],EDX
0040187B |. 8D4D F4 LEA ECX,DWORD PTR SS:[EBP-C]
0040187E |. 51 PUSH ECX ; /Arg2
0040187F |. FF75 0C PUSH DWORD PTR SS:[EBP+C] ; |Arg1
00401882 |. E8 81100400 CALL UNPACKED.00442908 ; \UNPACKED.00442908
00401887 |. 83C4 08 ADD ESP,8
0040188A |. C705 68DE5500 >MOV DWORD PTR DS:[55DE68],30
00401894 |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
00401897 |. 50 PUSH EAX ; /Arg2
00401898 |. 8D95 BCFCFFFF LEA EDX,DWORD PTR SS:[EBP-344] ; |
0040189E |. 52 PUSH EDX ; |Arg1
0040189F |. E8 64100400 CALL UNPACKED.00442908 ; \UNPACKED.00442908
004018A4 |. 83C4 08 ADD ESP,8
004018A7 |. 8D4D F8 LEA ECX,DWORD PTR SS:[EBP-8]
004018AA |. 51 PUSH ECX ; /Arg2
004018AB |. 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C] ; |
004018AE |. 50 PUSH EAX ; |Arg1
004018AF |. E8 54100400 CALL UNPACKED.00442908 ; \UNPACKED.00442908
004018B4 |. 83C4 08 ADD ESP,8
004018B7 |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
004018BA |. 52 PUSH EDX ; /Arg4
004018BB |. FF75 FC PUSH DWORD PTR SS:[EBP-4] ; |Arg3
004018BE |. FF75 F8 PUSH DWORD PTR SS:[EBP-8] ; |Arg2
004018C1 |. FF75 F4 PUSH DWORD PTR SS:[EBP-C] ; |Arg1
004018C4 |. E8 9FFE0300 CALL UNPACKED.00441768 ; \UNPACKED.00441768
004018C9 |. 83C4 10 ADD ESP,10
004018CC |. FF75 EC PUSH DWORD PTR SS:[EBP-14] ; /Arg2
004018CF |. 8D8D D0FEFFFF LEA ECX,DWORD PTR SS:[EBP-130] ; |
004018D5 |. 51 PUSH ECX ; |Arg1
004018D6 |. E8 4D120400 CALL UNPACKED.00442B28 ; \UNPACKED.00442B28
004018DB |. 83C4 08 ADD ESP,8
004018DE |. C705 68DE5500 >MOV DWORD PTR DS:[55DE68],30
004018E8 |. 8A85 D0FEFFFF MOV AL,BYTE PTR SS:[EBP-130]
004018EE |. 8A15 04F45200 MOV DL,BYTE PTR DS:[52F404]
004018F4 |. 3AC2 CMP AL,DL
004018F6 |. 74 0C JE SHORT UNPACKED.00401904
004018F8 |. 0FBE8D D0FEFFF>MOVSX ECX,BYTE PTR SS:[EBP-130]
004018FF |. 83F9 34 CMP ECX,34
00401902 |. 75 06 JNZ SHORT UNPACKED.0040190A
00401904 |> FF05 68DE5500 INC DWORD PTR DS:[55DE68]
0040190A |> 8A85 D1FEFFFF MOV AL,BYTE PTR SS:[EBP-12F]
00401910 |. 8A15 05F45200 MOV DL,BYTE PTR DS:[52F405]
00401916 |. 3AC2 CMP AL,DL
00401918 |. 74 0C JE SHORT UNPACKED.00401926
0040191A |. 0FBE8D D1FEFFF>MOVSX ECX,BYTE PTR SS:[EBP-12F]
00401921 |. 83F9 36 CMP ECX,36
00401924 |. 75 06 JNZ SHORT UNPACKED.0040192C
00401926 |> FF05 68DE5500 INC DWORD PTR DS:[55DE68]
0040192C |> 0FBE85 D6FEFFF>MOVSX EAX,BYTE PTR SS:[EBP-12A]
00401933 |. 83F8 32 CMP EAX,32
00401936 |. 7C 0C JL SHORT UNPACKED.00401944
00401938 |. 0FBE95 D6FEFFF>MOVSX EDX,BYTE PTR SS:[EBP-12A]
0040193F |. 83FA 32 CMP EDX,32
00401942 |. 7E 06 JLE SHORT UNPACKED.0040194A
00401944 |> FF0D 68DE5500 DEC DWORD PTR DS:[55DE68]
0040194A |> 0FBE8D D8FEFFF>MOVSX ECX,BYTE PTR SS:[EBP-128]
00401951 |. 83F9 35 CMP ECX,35
00401954 |. 75 06 JNZ SHORT UNPACKED.0040195C
00401956 |. FF05 68DE5500 INC DWORD PTR DS:[55DE68]
0040195C |> 0FBE85 D9FEFFF>MOVSX EAX,BYTE PTR SS:[EBP-127]
00401963 |. 83F8 33 CMP EAX,33
00401966 |. 75 06 JNZ SHORT UNPACKED.0040196E
00401968 |. FF05 68DE5500 INC DWORD PTR DS:[55DE68]
0040196E |> 0FBE95 D7FEFFF>MOVSX EDX,BYTE PTR SS:[EBP-129]
00401975 |. 83FA 61 CMP EDX,61
00401978 |. 74 12 JE SHORT UNPACKED.0040198C
0040197A |. 0FBE8D D7FEFFF>MOVSX ECX,BYTE PTR SS:[EBP-129]
00401981 |. 83F9 63 CMP ECX,63
00401984 |. 74 06 JE SHORT UNPACKED.0040198C
00401986 |. FF0D 68DE5500 DEC DWORD PTR DS:[55DE68]
0040198C |> 0FBE85 DEFEFFF>MOVSX EAX,BYTE PTR SS:[EBP-122]
00401993 |. 83F8 34 CMP EAX,34
00401996 |. 75 06 JNZ SHORT UNPACKED.0040199E
00401998 |. FF05 68DE5500 INC DWORD PTR DS:[55DE68]
0040199E |> 0FBE95 DFFEFFF>MOVSX EDX,BYTE PTR SS:[EBP-121]
004019A5 |. 83FA 66 CMP EDX,66
004019A8 |. 75 06 JNZ SHORT UNPACKED.004019B0
004019AA |. FF05 68DE5500 INC DWORD PTR DS:[55DE68]
004019B0 |> 8B0D 68DE5500 MOV ECX,DWORD PTR DS:[55DE68]
004019B6 |. 83F9 36 CMP ECX,36
004019B9 |. 0F85 DE000000 JNZ UNPACKED.00401A9D
004019BF |. C745 D4 A08600>MOV DWORD PTR SS:[EBP-2C],86A0
004019C6 |. C745 D0 C06052>MOV DWORD PTR SS:[EBP-30],UNPACKED.005260C0
004019CD |. 8D85 50FBFFFF LEA EAX,DWORD PTR SS:[EBP-4B0]
004019D3 |. 50 PUSH EAX ; /Arg1
004019D4 |. E8 FB0C0500 CALL UNPACKED.004526D4 ; \UNPACKED.004526D4
004019D9 |. 59 POP ECX
004019DA |. FF75 D4 PUSH DWORD PTR SS:[EBP-2C] ; /Arg3
004019DD |. FF75 D0 PUSH DWORD PTR SS:[EBP-30] ; |Arg2
004019E0 |. 8D95 50FBFFFF LEA EDX,DWORD PTR SS:[EBP-4B0] ; |
004019E6 |. 52 PUSH EDX ; |Arg1
004019E7 |. E8 240D0500 CALL UNPACKED.00452710 ; \UNPACKED.00452710
004019EC |. 83C4 0C ADD ESP,0C
004019EF |. 8D8D 50FBFFFF LEA ECX,DWORD PTR SS:[EBP-4B0]
004019F5 |. 51 PUSH ECX ; /Arg2
004019F6 |. 8D85 A8FBFFFF LEA EAX,DWORD PTR SS:[EBP-458] ; |
004019FC |. 50 PUSH EAX ; |Arg1
004019FD |. E8 F60D0500 CALL UNPACKED.004527F8 ; \UNPACKED.004527F8
00401A02 |. 83C4 08 ADD ESP,8
00401A05 |. 6A 10 PUSH 10 ; /Arg3 = 00000010
00401A07 |. 68 60E75200 PUSH UNPACKED.0052E760 ; |Arg2 = 0052E760
00401A0C |. 8D95 A8FBFFFF LEA EDX,DWORD PTR SS:[EBP-458] ; |
00401A12 |. 52 PUSH EDX ; |Arg1
00401A13 |. E8 5C2D1100 CALL UNPACKED.00514774 ; \UNPACKED.00514774
00401A18 |. 83C4 0C ADD ESP,0C
00401A1B |. 85C0 TEST EAX,EAX
00401A1D |. 75 7E JNZ SHORT UNPACKED.00401A9D
00401A1F |. FF75 0C PUSH DWORD PTR SS:[EBP+C] ; /Arg5
00401A22 |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |Arg4
00401A25 |. 68 2FF45200 PUSH UNPACKED.0052F42F ; |Arg3 = 0052F42F ASCII "UTRISO"
00401A2A |. 68 28F45200 PUSH UNPACKED.0052F428 ; |Arg2 = 0052F428 ASCII "%s%s%s"
00401A2F |. 8D8D B8FBFFFF LEA ECX,DWORD PTR SS:[EBP-448] ; |
00401A35 |. 51 PUSH ECX ; |Arg1
00401A36 |. E8 956A1100 CALL UNPACKED.005184D0 ; \UNPACKED.005184D0
00401A3B |. 83C4 14 ADD ESP,14
00401A3E |. 8D85 B8FBFFFF LEA EAX,DWORD PTR SS:[EBP-448]
00401A44 |. 50 PUSH EAX ; /Arg2
00401A45 |. 8D95 A8FBFFFF LEA EDX,DWORD PTR SS:[EBP-458] ; |
00401A4B |. 52 PUSH EDX ; |Arg1
00401A4C |. E8 2BFDFFFF CALL UNPACKED.0040177C ; \UNPACKED.0040177C
00401A51 |. 83C4 08 ADD ESP,8
00401A54 |. 33C9 XOR ECX,ECX
00401A56 |. 894D D8 MOV DWORD PTR SS:[EBP-28],ECX
00401A59 |> 6A 10 /PUSH 10 ; /Arg3 = 00000010
00401A5B |. 8B45 D8 |MOV EAX,DWORD PTR SS:[EBP-28] ; |
00401A5E |. C1E0 04 |SHL EAX,4 ; |
00401A61 |. 8B55 D0 |MOV EDX,DWORD PTR SS:[EBP-30] ; |
00401A64 |. 03C2 |ADD EAX,EDX ; |
00401A66 |. 50 |PUSH EAX ; |Arg2
00401A67 |. 8D8D A8FBFFFF |LEA ECX,DWORD PTR SS:[EBP-458] ; |
00401A6D |. 51 |PUSH ECX ; |Arg1
00401A6E |. E8 012D1100 |CALL UNPACKED.00514774 ; \UNPACKED.00514774
00401A73 |. 83C4 0C |ADD ESP,0C
00401A76 |. 85C0 |TEST EAX,EAX
00401A78 |. 75 16 |JNZ SHORT UNPACKED.00401A90
00401A7A |. C705 70E75200 >|MOV DWORD PTR DS:[52E770],1
00401A84 |. C705 68DE5500 >|MOV DWORD PTR DS:[55DE68],6550 ;比较成功赋值
00401A8E |. EB 0D |JMP SHORT UNPACKED.00401A9D
00401A90 |> FF45 D8 |INC DWORD PTR SS:[EBP-28]
00401A93 |. 8B45 D8 |MOV EAX,DWORD PTR SS:[EBP-28]
00401A96 |. 3D 6A080000 |CMP EAX,86A
00401A9B |.^7C BC \JL SHORT UNPACKED.00401A59
00401A9D |> 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]
00401AA0 |. 52 PUSH EDX ; /Arg2
00401AA1 |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |Arg1
00401AA4 |. E8 5F0E0400 CALL
UNPACKED.00442908 ; \UNPACKED.00442908
00401AA9 |. 83C4 08 ADD ESP,8
00401AAC |. 8B0D 70E75200 MOV ECX,DWORD PTR DS:[52E770]
00401AB2 |. 85C9 TEST ECX,ECX
00401AB4 |. 75 0A JNZ SHORT UNPACKED.00401AC0
00401AB6 |. C705 68DE5500 >MOV DWORD PTR DS:[55DE68],24
00401AC0 |> FF75 EC PUSH DWORD PTR SS:[EBP-14] ; /Arg2
00401AC3 |. FF75 F0 PUSH DWORD PTR SS:[EBP-10] ; |Arg1
00401AC6 |. E8 99D60300 CALL UNPACKED.0043F164 ; \UNPACKED.0043F164
00401ACB |. 83C4 08 ADD ESP,8
00401ACE |. 85C0 TEST EAX,EAX
00401AD0 |. 74 04 JE SHORT UNPACKED.00401AD6
00401AD2 |. 33C0 XOR EAX,EAX
00401AD4 |. EB 05 JMP SHORT UNPACKED.00401ADB
00401AD6 |> B8 01000000 MOV EAX,1
00401ADB |> 8BE5 MOV ESP,EBP
00401ADD |. 5D POP EBP
00401ADE \. C3 RETN
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!