Code:
Function Lock2Key(StrLock As String) As String
Dim TLock2Key As String
Dim TChar As Integer
Dim rLock As String
If Len(StrLock) < 3 Then
Lock2Key = Left$("BROKENCLIENT", Len(StrLock))
Exit Function
End If
For I = 7 To Len(StrLock)
If Mid$(StrLock, I, 3) = " Pk" Then
I = Len(StrLock)
Else
rLock = rLock & Mid$(StrLock, I, 1)
End If
Next I
TLock2Key = Chr$(Asc(Left$(rLock, 1)) Xor Asc(Right$(rLock, 1)) Xor Asc(Mid$(rLock, Len(rLock) - 1, 1)) Xor 5)
For I = 2 To Len(rLock)
TLock2Key = TLock2Key & Chr$(Asc(Mid$(rLock, I, 1)) Xor Asc(Mid$(rLock, I - 1, 1)))
Next I
For I = 1 To Len(TLock2Key)
TChar = Asc(Mid$(TLock2Key, I, 1))
TChar = TChar * 16 + TChar 16 'Swap bits 11110000 -> 00001111
TChar = TChar Mod 256
If TChar = 0 Or TChar = 5 Or TChar = 36 Or TChar = 96 Or TChar = 124 Or TChar = 126 Then
Lock2Key = Lock2Key & "/%DCN" & Right$("000" & TChar, 3) & "%/"
Else
Lock2Key = Lock2Key & Chr$(TChar)
End If
Next I
End Function
Private Sub Command1_Click()
On Error Resume Next
sock(0).SendData "<" & Nick & "> " & txtmess & "|" 'daca pui 500 de la fel :) trimite 500 mesaje..dar iei ban/kick imediat
sock(0).SendData "<" & Nick & "> " & txtmess & "|" 'asta este exemplu
sock(0).SendData "<" & Nick & "> " & txtmess & "|" 'si acesta :) deci botul acesta trimite pe hub 3 mesaje:)
End Sub
Private Sub Command2_Click()
sock(0).RemoteHost = txtAddy
sock(0).RemotePort = txtPort
sock(0).Connect
Timer1.Enabled = True
End Sub
Private Sub Command3_Click()
On Error Resume Next
sock(0).Close '
End Sub
Private Sub Timer1_Timer()
On Error Resume Next
Dim varkey As String
Dim rLock As String
Dim varlock As String
sock(0).GetData varlock, vbString
If InStr(varlock, "$Lock") Then
For I = 1 To Len(varlock)
If Mid(StrLock, I, 3) = " Pk" Then
I = Len(varlock)
Else
rLock = rLock & Mid(varlock, I, 1)
End If
Next I
varlock = rLock
varkey = Lock2Key(varlock)
sock(0).SendData "$Key " & varkey & "|" ' ce trimite catre hub
sock(0).SendData "$ValidateNick " & Nick & "|" ' ce trimite catre hub
sock(0).SendData "$Version 1.0091|" ' ce trimite catre hub
sock(0).SendData "$MyINFO $ALL " & Nick & " <oDC V:5.31,M:A,H:1/0/9,S:20>$ $Cable$$9421036014$|" ' ce trimite catre hub
sock(0).SendData "$GetNickList|" ' ce trimite catre hub
sock(0).GetData varuser, vbString ' ce trimite catre hub
sock(0).SendData "$GetINFO " & Nick & " " & Nick & "|" ' ce trimite catre hub
End If
Timer1.Enabled = False
End Sub |