Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: WinSock Добавлено: 01.11.03 17:32  

Автор вопроса:  MACROS

Я создал простейший троян, типа бэкдор, и там есть такая функция, как послание MsgBox от клиента к серверу, но после приёма сообщения и нажатия на OK, сервер перестает отвечать на команды клиента, как это исправить, можете привести код проги и подсказать что сделать ... Заранее спасибо.

Вот мой код

[Client]

Option Explicit

Private Sub about_Click()
frmAbout.Show
End Sub

Private Sub cmdStart_Click()
On Error Resume Next
If cmdStart.Caption = "Подключиться" Then
ws.Close
ws.RemoteHost = IP
ws.RemotePort = 13013
ws.Connect
Else
ws.Close
cmdStart.Caption = "Подключиться"
IP.Enabled = True
Comand.Enabled = False
End If
End Sub

Private Sub ex_Click()
End
End Sub

Private Sub Form_Load()
Comand.Enabled = False
End Sub

Private Sub ws_Connect()
cmdStart.Caption = "Отключиться"
IP.Enabled = False
Comand.Enabled = True
End Sub

 

Private Sub Command1_Click()
If ws.State <> sckConnected Then Exit Sub
ws.SendData "BEEP"
End Sub

Private Sub Command2_Click()
Dim IB As String
If ws.State <> sckConnected Then Exit Sub
IB = InputBox("Введите ваше сообщение", "Сообщение")
ws.SendData IB
End Sub

Private Sub Command3_Click()
If ws.State <> sckConnected Then Exit Sub
ws.SendData "END"
End Sub

 

 

 

 

 

 

 

 

 

[Server]

Option Explicit

Private Sub Form_Load()
Do
    If ws.State <> sckConnected And ws.State <> sckListening Then
        ws.Close
        ws.Listen
    End If
    DoEvents
Loop
End Sub

Private Sub ws_ConnectionRequest(ByVal requestID As Long)
ws.Close
ws.Accept requestID
End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim Text As String
Dim Data As String
ws.GetData Data
Text = Data
Select Case Data
    Case "BEEP"
        Beep
    Case "END"
        End
    Case Else
        MsgBox Text, 64, "Сообщение"
End Select

End Sub

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #1
Добавлено: 03.11.03 00:51

шас тебе на почту пришлю

Ответить

Номер ответа: 2
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #2
Добавлено: 03.11.03 00:56

ой, не пришлю, не знаю твоего мейла.Лучше так держы:

Так уже есть, что винсок не может принять два подключения, нужно грузить новые винсоки:

Делаем новый сервак:

Создай новый проект и додай винсок.В его свойстве Index напишы 0.

В поле General Declaration обяви переменную:

Public a as long

В форм лоад напишы:

Private Sub Form_Load ()

Winsock1(0).LocallPort=222

Winsock1(0).Listen

End Sub

Теперь, процедура приема запроса:

Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)

a = a + 1 ‘увеличиваем значение переменной

Load Winsock1(a)

Winsock1(a). Accept requestID

End Sub

Также меняется процедура приема:

Private Sub Winsock1_DataArrival(index As Integer, ByVal bytesTotal As Long)

Dim Data as String

Winsock1(a).GetData

End Sub

Вроде все, но еще при отсылке коких либо данных нужно теперь писать:

Winsock1(a).SendData “Данные”

Все.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам