Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'Excel netcat implementation
- 'Askur Corp
- 'http://askur.ca/
- Public Const AF_INET = 2
- Public Const SOCK_STREAM = 1
- Public Const SOCKET_ERROR = 1
- Public Const FD_SETSIZE = 64
- Public Const FIONBIO = 2147772030#
- Public Const SOCKADDR_IN_SIZE = 16
- Public Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000
- Public Address As String
- Public port As Integer
- Public SocketHandle As Long
- Dim wd As WSADATA
- Dim LocalAddress As SOCKADDR_IN
- Dim ServerAddress As SOCKADDR_IN
- Public Type WSADATA
- wVersion As Integer
- wHighVersion As Integer
- szDescription As String * 257
- szSystemStatus As String * 129
- iMaxSockets As Integer
- iMaxUdpDg As Integer
- lpVendorInfo As Long
- End Type
- Public Type SOCKADDR_IN
- sin_family As Integer
- sin_port As Integer
- sin_addr As Long
- sin_zero As String * 8
- End Type
- Public Type fd_set
- fd_count As Long
- fd_array(FD_SETSIZE) As Long
- End Type
- Public Type timeval
- tv_sec As Long
- tv_usec As Long
- End Type
- Public Declare Function WSAStartup Lib "wsock32.dll" (ByVal intVersionRequested As Integer, lpWSAData As WSADATA) As Long
- Public Declare Function WSACleanup Lib "wsock32.dll" () As Long
- Public Declare Function w_socket Lib "wsock32.dll" Alias "socket" (ByVal lngAf As Long, ByVal lngType As Long, ByVal lngProtocol As Long) As Long
- Public Declare Function w_closesocket Lib "wsock32.dll" Alias "closesocket" (ByVal SocketHandle As Long) As Long
- Public Declare Function w_bind Lib "wsock32.dll" Alias "bind" (ByVal socket As Long, Name As SOCKADDR_IN, ByVal namelen As Long) As Long
- Public Declare Function w_connect Lib "wsock32.dll" Alias "connect" (ByVal socket As Long, Name As SOCKADDR_IN, ByVal namelen As Long) As Long
- Public Declare Function w_send Lib "wsock32.dll" Alias "send" (ByVal socket As Long, ByVal buf As String, ByVal length As Long, ByVal flags As Long) As Long
- Public Declare Function w_recv Lib "wsock32.dll" Alias "recv" (ByVal socket As Long, ByVal buf As String, ByVal length As Long, ByVal flags As Long) As Long
- Public Declare Function w_select Lib "wsock32.dll" Alias "select" (ByVal nfds As Long, readfds As fd_set, writefds As fd_set, exceptfds As fd_set, timeout As timeval) As Long
- Public Declare Function htons Lib "wsock32.dll" (ByVal hostshort As Integer) As Integer
- Public Declare Function ntohl Lib "wsock32.dll" (ByVal netlong As Long) As Long
- Public Declare Function inet_addr Lib "wsock32.dll" (ByVal Address As String) As Long
- Public Declare Function ioctlsocket Lib "wsock32.dll" (ByVal socket As Long, ByVal cmd As Long, argp As Long) As Long
- Public Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" (ByVal dwFlags As Long, lpSource As Any, ByVal dwMessageId As Long, ByVal dwLanguageId As Long, ByVal lpBuffer As String, ByVal nSize As Long, Arguments As Long) As Long
- Sub DoConnect(addy, port)
- Address = addy
- port = port '80
- ret = WSAStartup(&H101, wd) 'Init winsock
- Debug.Print ret
- SocketHandle = w_socket(AF_INET, SOCK_STREAM, 0) 'Open socket, get sockethandle
- LocalAddress.sin_family = AF_INET
- LocalAddress.sin_port = 0 'local port defined by operating system
- LocalAddress.sin_addr = 0 'local address
- ret = w_bind(SocketHandle, LocalAddress, SOCKADDR_IN_SIZE) 'Bind socket to local port
- ServerAddress.sin_family = AF_INET
- ServerAddress.sin_port = htons(port) 'port number
- ServerAddress.sin_addr = inet_addr(Address) 'ip address
- ret = w_connect(SocketHandle, ServerAddress, SOCKADDR_IN_SIZE)
- End Sub
- Sub DoDisconnect()
- w_closesocket SocketHandle
- Unload formNetCatSession
- formConnectionInformation.Show
- End Sub
- Sub SendText(str)
- data = str & vbCrLf & vbCrLf
- ret = w_send(SocketHandle, data, Len(data), 0)
- End Sub
- Function ReceiveText()
- Dim retbuff As String * 1024
- retbuff = ""
- s = ""
- Do
- ret = w_recv(SocketHandle, retbuff, 1024, 0)
- If ret > 0 Then s = s & retbuff
- Loop While ret > 0
- ReceiveText = s
- End Function
- Sub NetCat()
- formConnectionInformation.Show
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement