Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: skyweb07 en 13 Septiembre 2008, 00:59 am



Título: Super duda
Publicado por: skyweb07 en 13 Septiembre 2008, 00:59 am
Haber amigo tengo otra de mis superudas ya que miren tengo un troyano de conexión inversa multiconexión pero tiene un problema ya que no se como hacer para que cuano haya más de una persona conectada al enviar las opciones ej "enviar mensaje solo se las envie con el que yo este conectado en ese momento ejemplo si estoy conectado con el primero que le envie solo las opciones al primero y no a todos..Miren lo que me pasa aqui

(http://img520.imageshack.us/img520/4229/imagenwn6.png)

Y lo que yo quiero es que cuano yo le de a ese boton conectar me envie al form donde estan las opciones pero que cuano este en ese form como puedo hacer para enviarsela con el que estoy conectado en ese momento en este caso el primero...No se si hay alguna manera, quizas desconectano a los demas en ese momento u otra cosa por eso le pregunto a los que saben para ver si me aclaran esta duda porfa! ok y Gracias de antemano!! :laugh:

Ah y tambien como hacer para que cuando yo le de clic en conectar solo se conecte con esa persona y con nadie más xD


Título: Re: Super duda
Publicado por: skapunky en 13 Septiembre 2008, 01:15 am
Supongo que usaras una matriz de controles winsock, no? Porque sino solo te hará una conexión  :xD

Si quisieras enviar algo al 3º usuario por ejemplo, una vez tuvieras declarada la matriz seria ( el 0 es el primero):

Winsock1(2).SendData "Lokesea"

Evidentemente el array (matriz) lo deberas de controlar con una variable contador auxiliar..


Título: Re: Super duda
Publicado por: skyweb07 en 13 Septiembre 2008, 01:31 am
Y como yo podria hacer para que cuando yo le e clic encima de un user le envie solo a el si en el boton conectar aparece esto WS(0).SendData "conectar",  como yo haria para que en vez de WS(0) el ya me reconozca directamente el user que es y cuando le de a la opcion de enviar alguna opcion el ya me la envie solo a ese user!!


Título: Re: Super duda
Publicado por: aaronduran2 en 13 Septiembre 2008, 01:40 am
EDITADO

Prueba este código:

Código
  1. Dim i_ConexionSeleccionada As Integer
  2. Private Sub ListView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
  3.    On Error Resume Next
  4.    i_ConexionSeleccionada = ListView1.SelectedItem.Index
  5. End Sub

Después tendrías que utilizar Winsock1(i_ConexionSeleccionada).SendData...
Y así con el resto de funciones del Winsock.

Y otra cosa: ¿cómo haces para detectar si el servidor se ejecuta bajo Windows Vista?

Saludos.


Título: Re: Super duda
Publicado por: skyweb07 en 13 Septiembre 2008, 01:49 am
Haber miren yo tengo esto puesto ' Cuando doy clic derecho para cerrar algun server seria este el code pero me funciona cuando hay uno solo conectado!

Private Sub cerrar_server_Click()
WS(0).SendData "cerrar"
End Sub

Pero en si yo quiero que al seleccionar cualquiera de los servers que estan conectados a mi (solo el server que yo seleccione le made esta función)

WS.SendData "loqueseaquelemande"
End Sub

Pero solo a el que seleccione!!!

¿Como puedo hacerlo?


Título: Re: Super duda
Publicado por: aaronduran2 en 13 Septiembre 2008, 01:52 am
Utiliza lo que yo te dije. Con ese código lo que tienes que hacer es poner en el código WS(i_ConexionSeleccionada) en vez de WS(0). Luego haces click en la conexión sobre la que quieres trabajar, y luego realizas las acciones que te interesen.

Saludos.


Título: Re: Super duda
Publicado por: skyweb07 en 13 Septiembre 2008, 01:54 am
Para que detecte Windos Vista solo tienes que poner este code!

Cliente

en el cliente en este caso yo tengo un list view y lo mando de esta manera todo

Código:
Private Sub WS_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim datos As String
Dim data() As String
WS(Index).GetData datos
data = Split(datos, "|")
Select Case data(0)
Case "Conexion"
Dim x As ListItem
Set x = LV.ListItems.Add(, Index & "|", data(1))
x.SubItems(1) = WS(Index).RemoteHostIP
x.SubItems(2) = data(2) & "/" & data(3)
x.SubItems(3) = data(4)
x.SubItems(4) = data(5) & " MB"
x.SubItems(5) = data(6)
x.SubItems(6) = data(7)
x.SubItems(7) = data(8)
x.SubItems(8) = data(9)
x.SubItems(9) = "v.1"
Form4.Show
End Select
End Sub

Pero en el server es este el code:


Código:
Dim yo As Object
Set yo = CreateObject("wscript.shell")
so = yo.regread("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Productname")


Título: Re: Super duda
Publicado por: aaronduran2 en 13 Septiembre 2008, 01:55 am
OK, es que yo utilizo APIs para detectar la versión y no sabía si detectaba también Windows Vista. Gracias.

Saludos.


Título: Re: Super duda
Publicado por: skyweb07 en 13 Septiembre 2008, 01:57 am
Hey gracias ya me funciona!!! xDDD :laugh:


Título: Re: Super duda
Publicado por: skyweb07 en 13 Septiembre 2008, 02:11 am
Ah tengo otra duda y a la hora de enviar funciones desde otro form para que las cumpla solo con el cliente que este conectado en este caso el numero 2 de la listview como yo haria para que el reconociera que estoy conectado con ese cliente y solo se las mande a el!!  :laugh:


Título: Re: Super duda
Publicado por: aaronduran2 en 13 Septiembre 2008, 02:22 am
Si ya seleccionaste el servidor al que enviarle los datos, tan solo tendrías que utilizar Form1.WS(i_ConexionSeleccionada).SendData "Datos", donde Form1 es el nombre del formulario que contiene el Winsock, desde el formulario que desees.

Saludos.