Public Function StrToHex(ByVal S As String) As String
On Error Resume Next
Dim ByteArr() As Byte
ByteArr = StrConv(S, vbFromUnicode)
Dim Temps As String
Dim Temp As Byte
Dim i As Long
Dim outs As String
For i = 0 To UBound(ByteArr)
Temp = ByteArr(i)
Temps = Hex(Temp)
Temps = Right("00" & Temps, 2)
outs = outs & Temps
Next
StrToHex = outs Private Sub Winmove1_DataArrival(ByVal bytesTotal As Long)
End FunctionWinMove1.GetData GetMoveSend
GetMoveSend = StrToHex(Trim(StrConv(GetMoveSend, vbUnicode)))
text1.text = GetMoveSend 我是用以上方式把封包输出为16位 但是有些地方会出现错误
例如:
VB的GetData接收并输出到text1的数据
9D 9C 9D 9C 9C AF 3F AD AD 3F AD AD AD CD AD AD AD CD AD
Wpe同时截取到的数据
9D 9C 9D 9C 9C AF AE 1B AD AD AD 31 AD AD AD CD AD AD AD CD AD 此封包的加密是Xor AD
Wpe同时拦截到的和输出的不同 应该不是接收错误 而是显示错误
显然是1B 31这两个没有正常显示
求能够正常输出 如wpe那样的封包
我感觉封包本身就基于16位 应该可以直接输出吧
On Error Resume Next
Dim ByteArr() As Byte
ByteArr = StrConv(S, vbFromUnicode)
Dim Temps As String
Dim Temp As Byte
Dim i As Long
Dim outs As String
For i = 0 To UBound(ByteArr)
Temp = ByteArr(i)
Temps = Hex(Temp)
Temps = Right("00" & Temps, 2)
outs = outs & Temps
Next
StrToHex = outs Private Sub Winmove1_DataArrival(ByVal bytesTotal As Long)
End FunctionWinMove1.GetData GetMoveSend
GetMoveSend = StrToHex(Trim(StrConv(GetMoveSend, vbUnicode)))
text1.text = GetMoveSend 我是用以上方式把封包输出为16位 但是有些地方会出现错误
例如:
VB的GetData接收并输出到text1的数据
9D 9C 9D 9C 9C AF 3F AD AD 3F AD AD AD CD AD AD AD CD AD
Wpe同时截取到的数据
9D 9C 9D 9C 9C AF AE 1B AD AD AD 31 AD AD AD CD AD AD AD CD AD 此封包的加密是Xor AD
Wpe同时拦截到的和输出的不同 应该不是接收错误 而是显示错误
显然是1B 31这两个没有正常显示
求能够正常输出 如wpe那样的封包
我感觉封包本身就基于16位 应该可以直接输出吧
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货