烤猫当夜宵 烤猫当夜宵
关注数: 31 粉丝数: 66 发帖数: 1,334 关注贴吧数: 7
请各位老大帮我分析一下算法,小菜菜实在看不懂算法过程。 Private Sub Command1_Click() '40A5AC 'Data Table: 401BD4 loc_40A413: Me.txtResult.Text = CStr(((CDbl(Proc_2_3_408B8C(Me.txtHardNo.Text)) * CDbl(7)) - CDbl(263))) loc_40A44A: If (Len(Me.txtResult.Text) > 3) Then loc_40A4BB: Me.txtResult.Text = CStr(Left(CVar(Me.txtResult.Text), 3) & "56" & Mid(CVar(Me.txtResult.Text), 4, var_108)) loc_40A4DD: End If loc_40A501: For var_13C = 1 To Len(Me.txtResult.Text): var_130 = var_13C 'Long loc_40A53D: var_134 = CStr(CVar(var_134) & Mid(CVar(Me.txtResult.Text), var_130, 1)) loc_40A580: If (CVar((CDbl(var_130) / CDbl(4))) = Round(CVar((CDbl(var_130) / CDbl(4))), 0)) Then loc_40A58A: var_134 = var_134 & "-" loc_40A58D: End If loc_40A590: Next var_13C 'Long loc_40A5A2: Me.txtResult.Text = var_134 loc_40A5AA: Exit Sub End Sub Public Function UserCode(password) '40A820 'Data Table: 401BD4 loc_40A630: var_B8 = 0 'Variant loc_40A647: For var_F8 = 1 To CLng(CVar(Len(password))): var_DC = var_F8 'Long loc_40A674: var_98 = CVar(AscW(CStr(Mid(password, var_DC, 1)))) 'Variant loc_40A6C1: var_E0 = CStr(CVar(vbNullString) & ChrW(CLng(Fix((((var_98 * 13) Mod 256) + 0))))) loc_40A6E0: var_A8 = ((var_98 * 13) / 256) 'Variant loc_40A6E7: Next var_F8 'Long loc_40A718: password = CStr(CVar(var_E0) & ChrW(CLng(Fix(var_A8)))) loc_40A72D: var_A8 = 0 'Variant loc_40A736: var_B8 = 0 'Variant loc_40A74D: For var_154 = 1 To CLng(CVar(Len(password))): var_DC = var_154 'Long loc_40A77A: var_98 = CVar(AscW(CStr(Mid(password, var_DC, 1)))) 'Variant loc_40A802: var_E0 = CStr(CVar(CStr(CVar(vbNullString) & ChrW(CLng(Fix(((var_98 / 16) + 64)))))) & ChrW(CLng(Fix(((var_98 Mod 16) + 64))))) loc_40A80F: Next var_154 'Long loc_40A817: var_88 = var_E0 loc_40A81A: UserCode = End Function Public Function UserDeCode(password) '40AD20 'Data Table: 401BD4 Dim var_174 As Variant loc_40AB0B: var_9C = 0 'Variant loc_40AB14: var_AC = 0 'Variant loc_40AB2E: For var_110 = 1 To CVar(Len(password)) Step 2: var_CC = var_110 'Variant loc_40ABB4: var_174 = (CVar(((CLng(AscW(CStr(Mid(password, CLng(var_CC), 1)))) - &H40) * &H10)) + CVar(AscW(CStr(Mid(password, CLng((var_CC + 1)), 1))))) loc_40ABEE: var_8C = CStr(CVar(vbNullString) & ChrW(CLng((var_174 - 64)))) loc_40ABFB: Next var_110 'Variant loc_40AC06: var_9C = 0 'Variant loc_40AC0F: var_AC = 0 'Variant loc_40AC16: password = var_8C loc_40AC28: var_BC = CVar(Len(password)) 'Variant loc_40AC7C: For var_1B4 = (var_BC - 1) To 1 Step -1: var_CC = var_1B4 'Variant loc_40ACBB: var_AC = ((CVar(AscW(CStr(Mid(password, CLng(var_BC), 1)))) * 256) + CVar(AscW(CStr(Mid(password, CLng(var_CC), 1))))) 'Variant loc_40ACD5: var_9C = (var_AC Mod 13) 'Variant loc_40AD01: var_8C = CStr(ChrW(CLng(Fix((var_AC / 13)))) & CVar(vbNullString)) loc_40AD0E: Next var_1B4 'Variant loc_40AD17: var_88 = var_8C loc_40AD1A: UserDeCode = End Function Public Sub Proc_4_3_40833C() 'Data Table: 401BD4 loc_408326: Me.txtResult.Text = UserCode(Me.txtHardNo.Text) loc_408339: Exit Sub End Sub
请高能帮我分析一下算法,根据硬盘系列号生产注册码的。 Private Sub Command1_Click() '40A5AC 'Data Table: 401BD4 loc_40A413: Me.txtResult.Text = CStr(((CDbl(Proc_2_3_408B8C(Me.txtHardNo.Text)) * CDbl(7)) - CDbl(263))) loc_40A44A: If (Len(Me.txtResult.Text) > 3) Then loc_40A4BB: Me.txtResult.Text = CStr(Left(CVar(Me.txtResult.Text), 3) & "56" & Mid(CVar(Me.txtResult.Text), 4, var_108)) loc_40A4DD: End If loc_40A501: For var_13C = 1 To Len(Me.txtResult.Text): var_130 = var_13C 'Long loc_40A53D: var_134 = CStr(CVar(var_134) & Mid(CVar(Me.txtResult.Text), var_130, 1)) loc_40A580: If (CVar((CDbl(var_130) / CDbl(4))) = Round(CVar((CDbl(var_130) / CDbl(4))), 0)) Then loc_40A58A: var_134 = var_134 & "-" loc_40A58D: End If loc_40A590: Next var_13C 'Long loc_40A5A2: Me.txtResult.Text = var_134 loc_40A5AA: Exit Sub End Sub Public Function UserCode(password) '40A820 'Data Table: 401BD4 loc_40A630: var_B8 = 0 'Variant loc_40A647: For var_F8 = 1 To CLng(CVar(Len(password))): var_DC = var_F8 'Long loc_40A674: var_98 = CVar(AscW(CStr(Mid(password, var_DC, 1)))) 'Variant loc_40A6C1: var_E0 = CStr(CVar(vbNullString) & ChrW(CLng(Fix((((var_98 * 13) Mod 256) + 0))))) loc_40A6E0: var_A8 = ((var_98 * 13) / 256) 'Variant loc_40A6E7: Next var_F8 'Long loc_40A718: password = CStr(CVar(var_E0) & ChrW(CLng(Fix(var_A8)))) loc_40A72D: var_A8 = 0 'Variant loc_40A736: var_B8 = 0 'Variant loc_40A74D: For var_154 = 1 To CLng(CVar(Len(password))): var_DC = var_154 'Long loc_40A77A: var_98 = CVar(AscW(CStr(Mid(password, var_DC, 1)))) 'Variant loc_40A802: var_E0 = CStr(CVar(CStr(CVar(vbNullString) & ChrW(CLng(Fix(((var_98 / 16) + 64)))))) & ChrW(CLng(Fix(((var_98 Mod 16) + 64))))) loc_40A80F: Next var_154 'Long loc_40A817: var_88 = var_E0 loc_40A81A: UserCode = End Function Public Function UserDeCode(password) '40AD20 'Data Table: 401BD4 Dim var_174 As Variant loc_40AB0B: var_9C = 0 'Variant loc_40AB14: var_AC = 0 'Variant loc_40AB2E: For var_110 = 1 To CVar(Len(password)) Step 2: var_CC = var_110 'Variant loc_40ABB4: var_174 = (CVar(((CLng(AscW(CStr(Mid(password, CLng(var_CC), 1)))) - &H40) * &H10)) + CVar(AscW(CStr(Mid(password, CLng((var_CC + 1)), 1))))) loc_40ABEE: var_8C = CStr(CVar(vbNullString) & ChrW(CLng((var_174 - 64)))) loc_40ABFB: Next var_110 'Variant loc_40AC06: var_9C = 0 'Variant loc_40AC0F: var_AC = 0 'Variant loc_40AC16: password = var_8C loc_40AC28: var_BC = CVar(Len(password)) 'Variant loc_40AC7C: For var_1B4 = (var_BC - 1) To 1 Step -1: var_CC = var_1B4 'Variant loc_40ACBB: var_AC = ((CVar(AscW(CStr(Mid(password, CLng(var_BC), 1)))) * 256) + CVar(AscW(CStr(Mid(password, CLng(var_CC), 1))))) 'Variant loc_40ACD5: var_9C = (var_AC Mod 13) 'Variant loc_40AD01: var_8C = CStr(ChrW(CLng(Fix((var_AC / 13)))) & CVar(vbNullString)) loc_40AD0E: Next var_1B4 'Variant loc_40AD17: var_88 = var_8C loc_40AD1A: UserDeCode = End Function Public Sub Proc_4_3_40833C() 'Data Table: 401BD4 loc_408326: Me.txtResult.Text = UserCode(Me.txtHardNo.Text) loc_408339: Exit Sub End Sub
1 下一页