controlador de mouse (por winsock)

Iniciado por Sancho.Mazorka, 18 Noviembre 2005, 01:32 AM

0 Miembros y 1 Visitante están viendo este tema.

Sancho.Mazorka

NOTA: para que quede mejor les puse 2 jpg que van en el disco C:\ uno es verde y el otro es rojo mas o menos del tamaño de un icono un poco mayor.  ;D

listo ahora lo posteo, pero creo que encontre el error cuando llegaban las variables me hacia error entonces intenete poner un on error resume next y vi que als coordenadas que llegaban no eran numeros si no que letras como que si los transformara a su codigo ASCII. Aca les dejo el codigo. no se poner imagenes asi que disculpen las molestias de no saberles decir donde va cada control  :P

-----------------------------------------------------------------------

ESTE ES EL CLIENTE

contiene -> 4 textbox, 2 timer, 1 winsock, 4 botones, 1 statusbar, 4 labels

timer 1 = 500 ms, enbaled true
timer2 = 100 ms, enabled false
winsock 1 = remoteport = 1001
winsock 1 = localport = 1001
statusbar 1 = 2 paneles, en el segundo va la hora

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
     X As Long
     Y As Long
End Type

Private Sub Command1_Click()
On Error GoTo s
Winsock1.Connect Text1.Text, Text2.Text
Exit Sub
s:
Winsock1.Close
MsgBox Error(Err), vbCritical, Error
End Sub

Private Sub Command2_Click()
Winsock1.Close
End Sub

Private Sub Command3_Click()
Timer2.Enabled = True
Picture1.Picture = LoadPicture("C:\verde.jpg")
End Sub

Private Sub Command4_Click()
Timer2.Enabled = False
Picture1.Picture = LoadPicture("c:\rojo.jpg")
End Sub

Private Sub Form_Load()
Winsock1.Close
Timer1_Timer
End Sub

Private Sub Form_Unload(Cancel As Integer)
Winsock1.Close
End Sub

Private Sub Text3_Change()
Dim cx As String
cx = Text3.Text
Winsock1.SendData cx
End Sub

Private Sub Text3_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub

Private Sub Text4_Change()
Dim cy As String
cy = Text3.Text
Winsock1.SendData cy
End Sub

Private Sub Text4_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub

Private Sub Timer2_Timer()
Dim Posicion As POINTAPI
GetCursorPos Posicion
Text3.Text = Posicion.X
Text4.Text = Posicion.Y
End Sub

Private Sub Winsock1_Close()
MsgBox "Socket cerrado"
End Sub

Private Sub Winsock1_Connect()
MsgBox "Conexion realizada"
End Sub

Private Sub Timer1_Timer()
estado = Winsock1.State
Select Case estado
  Case 0
   sb.Panels(1).Text = "Desconectado"
  Case 1
   sb.Panels(1).Text = "Abierto"
  Case 2
   sb.Panels(1).Text = "Escuchando..."
  Case 3
   sb.Panels(1).Text = "Pendiente"
  Case 4
   sb.Panels(1).Text = "Resolviendo Host..."
  Case 5
   sb.Panels(1).Text = "Host Resuelto"
  Case 6
   sb.Panels(1).Text = "Conectando..."
  Case 7
   sb.Panels(1).Text = "Conectado"
  Case 8
   sb.Panels(1).Text = "Conexion Cerrada"
  Case 9
   sb.Panels(1).Text = "Error"
End Select
End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
MsgBox "Numero: " & Number & " - Descripcion: " & Description, vbCritical, "Error critico"
Winsock1.Close
End Sub

-----------------------------------------------------------------------

ESTE ES EL SERVIDOR

contiene -> 3 textbox, 1 picture, 2 timer, 1 winscok, 1 boton, 1 statusbar, 3 labels

timer 1 =  500 ms, enabled = true
timer 2 = 1000 ms, enabled = true
winsock = localport = 1001
winsock = remoteport = 1001
statsubar = 2 paneles, segundo panel va la hora nomas

Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long

Private Sub Form_Unload(Cancel As Integer)
Winsock1.Close
End Sub

Private Sub textx_Change()
Dim x As String
x = Textx
y = Texty
SetCursorPos x, y
End Sub

Private Sub Textx_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub

Private Sub texty_Change()
Dim y As String
y = Texty
x = Textx
SetCursorPos x, y
End Sub

Private Sub Texty_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub

Private Sub Timer1_Timer()
Dim estado As String
estado = Winsock1.State
Select Case estado
Case 0
sb.Panels(1).Text = "Desconectado"
Case 1
sb.Panels(1).Text = "Puerto abierto"
Case 2
sb.Panels(1).Text = "Acepta solicitud"
Case 3
sb.Panels(1).Text = "Conexion pendiente"
Case 4
sb.Panels(1).Text = "Problema con el Host"
Case 5
sb.Panels(1).Text = "Problema resuelto"
Case 6
sb.Panels(1).Text = "Conectando"
Case 7
sb.Panels(1).Text = "Conectado"
Case 8
sb.Panels(1).Text = "Cerrando conexion"
Case 9
sb.Panels(1).Text = "Error"
End Select
End Sub

Private Sub Timer2_Timer()
Picture1.Picture = LoadPicture("C:\rojo.jpg")
End Sub

Private Sub Winsock1_Close()
MsgBox "Socket cerrado"
End Sub

Private Sub Winsock1_Connect()
MsgBox "Conexion realizada"
End Sub

Private Sub Form_Load()
Winsock1.Listen
Text1.Text = Winsock1.LocalIP & ":" & Winsock1.LocalPort
Timer1_Timer
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim cx, cy As String
Winsock1.GetData cx
Winsock1.GetData cy
Textx.Text = cx
Texty.Text = cy
Picture1.Picture = LoadPicture("C:\verde.jpg")
End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
MsgBox "Numero: " & Number & " - Descripcion: " & Description, vbCritical, "Error critico"
End Sub

-----------------------------------------------------------------------


Sancho Mazorka
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



NYlOn

Intenta con esto:
En el DataArrival del SERVIDOR, cambia esta linea:

Dim cx, cy As String

Por esta otra:

Dim cx As Long
Dim cy as Long


un saludo.

Sancho.Mazorka

NYlOn eso no funciona me llegan coordenadas altas en X siempre anda entre la 120 y la 350, me da cuialquier cosa
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



Thaorius

Yo en estos dias, como me gusto tu idea del mouse la hice.

Si te interesa te paso el code, funciona bien y no solo te permite cambiar la posicion, sino que tambien te permite grabar losm ovimientos del mouse durante el tiempo que deseees y luego reproducirlos.

Saludos
Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí

Sancho.Mazorka

ok man pasamela estoy ansioso, pero lo malo es que los graba yo lo quisiera en tiempo real.
pasamelos ahora plz

Sancho Mazorka
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



Thaorius

http://www.megaupload.com/?d=HKRW2GNX

El archivo modProcess.bas tiene los datos de procesameinto y los comandos dle troyano y en el cliente fijate bien de poner el puerto(lo dice en el Form_Load del server) y TU IP no localhost.

Despues vas a la pestaña consola y escribis hay lso comandos.

Cualquier cosa pregutnas.

PD: EL unico fallo es que no reproduce mas de una vez el archivo.

Saludos
Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí

Sancho.Mazorka

#16
muchachos gracias por todo su entusiasmo en ayudarme ya lo resolvi, me ayudo ZEALOT habia que colocarlo asi a esta parte nada mas, esto va en el servidor.

winsock1.getdata coordenadas, vbstring

y tambien en:

setcursorpos val(ok(0)), val(ok(1))

muchas gracias a NYlOn por todas las respuestas


Sancho Mazorka
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



kakinets

Te mejore un poko el codigo espero que te guste.

Servidor

2 Winsock
3 TextBox
2 label
3 timer
1 statubar

ahora te doy los nombres

Text1 = Text1
text2 = txty
text3 = txtx
winsock1 = winsock1
winsock2 = winsock2
timer1 = timer1  ------ interval:10 ---- enable False
timer2 = timer2  ------ interval:500 --- enable true
timer3 = Testado ------ interval:100 --- enable true
label1 = label1  ------ caption:Y ----Va arriba del txty
label2 = label2  ------ caption:X ----Va arriba del txtx
statubar = sb

Codigo:

Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Sub Form_Load()
Text1.Text = Winsock1.LocalIP & ":" & Winsock1.LocalPort
End Sub

Private Sub Testado_Timer()
If Winsock1.State = 0 Then
sb.Panels(1).Text = "Winsock1 - Desconectado"
Timer2.Enabled = True
ElseIf Winsock1.State = 2 Then
sb.Panels(1).Text = "Winsock1 - Escuchando"
ElseIf Winsock1.State = 8 Then
sb.Panels(1).Text = "Winsock1 - Cerrandose"
Winsock1.Close
ElseIf Winsock1.State = 9 Then
sb.Panels(1).Text = "Winsock1 - Conectado con Error"
Winsock1.Close
ElseIf Winsock1.State = 1 Then
sb.Panels(1).Text = "Winsock1 - Abierto"
ElseIf Winsock1.State = 7 Then
sb.Panels(1).Text = "Winsock1 - Conectado"
Timer2.Enabled = False
End If
If Winsock2.State = 0 Then
sb.Panels(2).Text = "Winsock2 - Desconectado"
Timer2.Enabled = True
ElseIf Winsock2.State = 2 Then
sb.Panels(2).Text = "Winsock2 - Escuchando"
ElseIf Winsock2.State = 8 Then
sb.Panels(2).Text = "Winsock2 - Cerrandose"
Winsock2.Close
ElseIf Winsock2.State = 9 Then
sb.Panels(2).Text = "Winsock2 - Conectado con Error"
Winsock2.Close
ElseIf Winsock2.State = 1 Then
sb.Panels(2).Text = "Winsock2 - Abierto"
ElseIf Winsock2.State = 7 Then
sb.Panels(2).Text = "Winsock2 - Conectado"
Timer2.Enabled = False
End If
End Sub

Private Sub Timer1_Timer()
SetCursorPos txtx, txty
End Sub

Private Sub Timer2_Timer()
Winsock1.Close
Winsock1.Connect
Winsock2.Close
Winsock2.Connect
Timer2.Enabled = False
End Sub

Private Sub txty_Change()
If txty.Text = "" And txtx = "" Then
Timer1.Enabled = False
Else
Timer1.Enabled = True
End If
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim llega As String
Winsock1.GetData llega
txty.Text = llega
End Sub

Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Dim llega2 As String
Winsock2.GetData llega2
txtx.Text = llega2
End Sub



Cliente

2 Winsock
3 TextBox
3 label
4 timer
1 statubar
4 Command

ahora te doy los nombres

Text1 = Text1
text2 = txty
text3 = txtx
winsock1 = winsock1
winsock2 = winsock2
timer1 = timer1  ------ interval:10 ---- enable true
timer2 = timer2  ------ interval:10 --- enable false
timer3 = timer3 ------ interval:10 --- enable false
timer3 = Testado ------ interval:100 --- enable true
label1 = label1  ------ caption:Y ----Va arriba del txty
label2 = label2  ------ caption:X ----Va arriba del txtx
label3 = label3  ------ caption:Desactivado ----Va donde quieras
statubar = sb
Command1 = Command1 ------ Caption: Conectado
Command2 = Command2 ------ Caption: Desconectar
Command3 = Command3 ------ Caption: Activar
Command4 = Command4 ------ Caption: Desactivar


Codigo:
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
     X As Long
     Y As Long
End Type

Private Sub Command1_Click()
On Error Resume Next
Winsock1.Listen
Winsock2.Listen
End Sub

Private Sub Command2_Click()
Winsock1.Close
Winsock2.Close
End Sub

Private Sub enviox(TXT As String)
On Error Resume Next
       Winsock2.SendData TXT
End Sub

Private Sub envioy(TXT As String)
On Error Resume Next
       Winsock1.SendData TXT
End Sub

Private Sub Command3_Click()
Label3.Caption = "Activado"
Timer3.Enabled = True
Timer2.Enabled = True
End Sub

Private Sub Command4_Click()
Timer2.Enabled = False
Timer3.Enabled = False
Label3.Caption = "Desactivado"
End Sub

Private Sub Testado_Timer()
If Winsock1.State = 0 Then
sb.Panels(1).Text = "Winsock1 - Desconectado"
ElseIf Winsock1.State = 2 Then
sb.Panels(1).Text = "Winsock1 - Escuchando"
ElseIf Winsock1.State = 8 Then
sb.Panels(1).Text = "Winsock1 - Cerrandose"
Winsock1.Close
ElseIf Winsock1.State = 9 Then
sb.Panels(1).Text = "Winsock1 - Conectado con Error"
Winsock1.Close
ElseIf Winsock1.State = 1 Then
sb.Panels(1).Text = "Winsock1 - Abierto"
ElseIf Winsock1.State = 7 Then
sb.Panels(1).Text = "Winsock1 - Conectado"
End If
If Winsock2.State = 0 Then
sb.Panels(2).Text = "Winsock2 - Desconectado"
ElseIf Winsock2.State = 2 Then
sb.Panels(2).Text = "Winsock2 - Escuchando"
ElseIf Winsock2.State = 8 Then
sb.Panels(2).Text = "Winsock2 - Cerrandose"
Winsock2.Close
ElseIf Winsock1.State = 9 Then
sb.Panels(2).Text = "Winsock2 - Conectado con Error"
Winsock2.Close
ElseIf Winsock2.State = 1 Then
sb.Panels(2).Text = "Winsock2 - Abierto"
ElseIf Winsock1.State = 7 Then
sb.Panels(2).Text = "Winsock2 - Conectado"
End If
End Sub

Private Sub Timer1_Timer()
Dim Posicion As POINTAPI
GetCursorPos Posicion
txtx.Text = Posicion.X
txty.Text = Posicion.Y
End Sub

Private Sub Timer2_Timer()
envioy txty.Text
End Sub

Private Sub Timer3_Timer()
enviox txtx.Text
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
End Sub

Private Sub Winsock2_ConnectionRequest(ByVal requestID As Long)
Winsock2.Close
Winsock2.Accept requestID
End Sub


bueno termine

Cualquier duda postea o able en pribado.

                Saludos KakiNets.

Sancho.Mazorka

che man no te hubieras molestado yo no puse elk nuevo codigo poruqe era mucho pero gracias igual ahora lo veo bien, ya al programa le puse qeu si vos haces un click al otro tambien le llegan los click entonces es un escritorio remoto sin verle la pantalla, esta bueno porque yo clickeo y al otro le llega el mov mas el clik


Sancho Mazorka     :P
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



kakinets

Como es eso de los click lo abia pensado lo voy a intertar hacer. con que  funsion lo hiciste. usando keycode y estas funsiones vbKeyLButton vbKeyRButton