📄 modbytes.bas
字号:
Attribute VB_Name = "ModBytes"
Option Explicit
Public Function MakePort(ByVal rawPort As String) As Long
On Error GoTo z
Dim tmpMP As Long
tmpMP = CLng(Format("&H" & ReverseHex(ChrtoHex(rawPort))))
If Len(rawPort) = 2 And tmpMP > 65536 Then tmpMP = tmpMP - 65536
MakePort = tmpMP
Exit Function
z:
MakePort = 0
End Function
Public Function GetLong(rawPort As String) As Long
On Error GoTo errie
Dim tst As Long
Dim i As Integer
tst = CLng(Asc(Mid(rawPort, 1, 1))) + (CLng(Asc(Mid(rawPort, 2, 1))) * 256) + (CLng(Asc(Mid(rawPort, 3, 1))) * 65536)
If Asc(Mid(rawPort, 4, 1)) < 8 Then
For i = 1 To Asc(Mid(rawPort, 4, 1))
tst = tst + 16777216
Next
End If
GetLong = tst
Exit Function
errie:
GetLong = 0
End Function
Function ChrtoHex(inString As String) As String ' "AB" > 4142
Dim tstr As String, i As Long
For i = 1 To Len(inString)
If Len(Hex(Asc(Mid(inString, i, 1)))) = 1 Then tstr = tstr & "0" & Hex(Asc(Mid(inString, i, 1))) Else tstr = tstr & Hex(Asc(Mid(inString, i, 1)))
Next
ChrtoHex = tstr
End Function
Function ReverseHex(inHex As String) As String
If (Len(inHex) Mod 2) <> 0 Then Exit Function
Dim i As Long, tChr As String
For i = 1 To Len(inHex) Step 2
tChr = tChr & Mid(inHex, Len(inHex) - i, 2)
Next
ReverseHex = tChr
End Function
Public Function Make2Byte(ByVal rawLong As Long) As String
On Error GoTo Out
Make2Byte = Chr(rawLong Mod 256) + Chr(Int(rawLong / 256))
Out:
End Function
Public Sub SendPacket(packet As String, ID As Integer)
On Error GoTo Out:
If (frmBot.Winsock.State = 7) Then
If (ID = 0) Then
frmBot.Winsock.SendData packet
print_packet packet, " <--- "
ElseIf (ID = 1) Then
frmBot.Winsock.SendData Chr(&HAA) & Chr(&H55) & Make2Byte(Len(packet)) & packet & Chr(&H55) & Chr(&HAA)
print_packet Chr(&HAA) & Chr(&H55) & Make2Byte(Len(packet)) & packet & Chr(&H55) & Chr(&HAA), " <--- "
End If
End If
Out:
End Sub
Public Function MakeString(rawString As String) As String
Dim str1 As String
On Error GoTo ErrTrapper:
MakeString = Left(rawString, InStr(rawString, Chr(0)) - 1)
Exit Function
ErrTrapper:
If Err.Number = 5 Then
Err.Clear
'Stat "Destroy program from someone, Ignore..." + vbCrLf
End If
End Function
Public Function IncBuf(ByRef X As String, Buff As Integer) As String
Dim i As Integer
For i = Len(X) To Buff
X = X & Chr(&H0)
Next i
IncBuf = X
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -