7,763
社区成员
发帖
与我相关
我的任务
分享
Private Sub Command1_Click()
Dim data As String, i As Long, byteXor As Byte, chr() As String, C1 As Byte, C2 As Byte
data = "AA C6 30 30 32 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 2A 45 43 BB"
'data = "AA C6 30 31 30 30 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 2A 45 45 BB"
'data = "AA C6 30 30 30 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 31 33 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 2A 45 44 BB"
chr() = Split(data, " ")
For i = 1 To UBound(chr) - 3
byteXor = byteXor Xor Val("&H" & chr(i))
Next i
C1 = byteXor \ 16
C2 = byteXor And &HF
If C1 < 10 Then '0 - 9
C1 = C1 + &H30
Else 'A - F (10 - 15)
C1 = C1 + &H37
End If
If C2 < 10 Then
C2 = C2 + &H30
Else
C2 = C2 + &H37
End If
Debug.Print Hex(C1), Hex(C2)
End Sub
Private Sub Command1_Click()
Dim I As Long, J As Byte, K As String, L() As String
K = "AA C6 30 30 32 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 2A 45 43 BB"
'K = "AA C6 30 31 30 30 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 2A 45 45 BB"
'K = "AA C6 30 30 30 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 31 33 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 2A 45 44 BB"
L() = Split(K, " ")
J = CByte("&H" & L(1)) Xor CByte("&H" & L(2))
For I = 3 To UBound(L) - 3
J = J Xor CByte("&H" & L(I))
Next
K = Hex(J)
I = Asc(Mid(K, 1, 1))
J = Asc(Mid(K, 2, 1))
Select Case I
Case Is < 58 '数字
I = I - 18
Case Is > 64 '字母
I = I - 24
End Select
Select Case J
Case Is < 58 '数字
J = J - 18
Case Is > 64 '字母
J = J - 24
End Select
Debug.Print I, J
End Sub
这次纯粹是运气好,哈哈.
下次你还是得去找厂家,至少你的运气没我好,我可是一次猜中,等下我是不是考虑去买个彩票哇哈哈