科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道VB6中使用Winsock穿越各种代理的实现(八)

VB6中使用Winsock穿越各种代理的实现(八)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

     If Asc(Mid(RevBuffer, 2, 1)) = 2 And Asc(Mid(RevBuffer, 1, 1)) = 5 Then '第二步 有用户名密码验证 成功为 05 02   Form1.Label8.Caption =

作者:中国IT实验室 来源:中国IT实验室 2007年9月13日

关键字: 使用 VB 编程

  • 评论
  • 分享微博
  • 分享邮件
  

  If Asc(Mid(RevBuffer, 2, 1)) = 2 And Asc(Mid(RevBuffer, 1, 1)) = 5 Then '第二步 有用户名密码验证 成功为 05 02

  Form1.Label8.Caption = "连接成功!有验证"

  ReDim SendByte(0 To 2 + Len(UserName) + Len(UserPassword)) As Byte

  SendByte(0) = 1

  SendByte(1) = Len(UserName)

  MemCopy SendByte(2), ByVal UserName, Len(UserName) '将用户名转换

  SendByte(2 + Len(UserName)) = Len(UserPassword)

  MemCopy SendByte(3 + Len(UserName)), ByVal UserPassword, Len(UserPassword) '将密码转换

  Form1.Winsock1.SendData SendByte()

  ConnStep = ConnStep + 1

  Exit Function

  End If

  Case 3

  If Asc(Mid(RevBuffer, 2, 1)) <> 0 And Form1.Check1.Value = 1 Then '有验证,验证失败 代理回复第二字节为 00 验证成功,其余值为失败

  MsgBox "sock5代理校验用户名、密码失败!", 48, "错误"

  Form1.Winsock1.Close

  ConnStep = 0

  Exit Function

  End If

  If Asc(Mid(RevBuffer, 2, 1)) = 0 And Form1.Check1.Value = 1 Then '有验证,验证成功,回复值第二字节为 00 ,其余值为失败

  Form1.Label8.Caption = "连接成功!有验证!"

  ReDim SendByte(0 To 9) As Byte '发送连接请求

  SendByte(0) = 5

  SendByte(1) = 1

  SendByte(2) = 0

  SendByte(3) = 1

  SendByte(4) = GetIPByte(1, DestIP)

  SendByte(5) = GetIPByte(2, DestIP)

  SendByte(6) = GetIPByte(3, DestIP)

  SendByte(7) = GetIPByte(4, DestIP)

  SendByte(8) = Int(DestPort / 256) '把10进制端口分成两个字节

  SendByte(9) = DestPort Mod 256 '把10进制端口分成两个字节

  Form1.Winsock1.SendData SendByte()

  ConnStep = ConnStep + 1

  Exit Function

  End If

  If Asc(Mid(RevBuffer, 2, 1)) = 0 And Form1.Check1.Value = 0 Then

  Form1.Label8.Caption = "连接目标服务器成功!" '无验证的最后一步,代理回复第二字节为 00 成功,其余值为失败

  ConnStep = -1

  Form2.Show

  Exit Function

  End If

  If Asc(Mid(RevBuffer, 2, 1)) <> 0 And Form1.Check1.Value = 0 Then

  MsgBox "连接目标服务器失败!", 48, "错误" '无验证的最后一步,代理回复第二字节为 00 成功,其余值为失败

  ConnStep = 0

  Form1.Winsock1.Close

  Exit Function

  End If

  Case 4 '只有有验证才会用到这一步

  If Asc(Mid(RevBuffer, 2, 1)) <> 0 Then

  MsgBox "sock5代理连接目标服务器失败!", 48, "错误"

  ConnStep = 0

  Form1.Winsock1.Close

  Exit Function

  Else

  Form1.Label8.Caption = "连接目标服务器成功!"

  ConnStep = -1

  Form2.Show

  Exit Function

  End If

  End Select

  End If

 

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章