Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: yovaninu en 12 Junio 2009, 01:45 am



Título: Encender PC remotamente, no funciona este code
Publicado por: yovaninu en 12 Junio 2009, 01:45 am
"si el NetSupport puede hacerlo entonces nosotros tambien lo lograremos",

que tal con todos, esa es mi consigna y he estado averiguando un poco de esto y de todas formas ahora ya es posible esto de encender una PC remotamente ya que las placas actuales lo permiten al tener la opcion WOL (Wake on LAN) activada.

En la red esta el siguiente code (Con Winsock = WSC), en donde se envia el "Paquete Magico" a toda la red y en especial a la tarjeta de Red con MAC 00-16-76-2A-CD-85 (es un ejemplo de la pc que queria encender)

Código:
Dim buffer() As Byte
Dim contador As Byte
ReDim buffer(101) As Byte

For contador = 0 To 5
buffer(contador) = &HFF
Next

For contador = 6 To 101 Step 6
buffer(contador) = &H0
buffer(contador + 1) = &H16
buffer(contador + 2) = &H76
buffer(contador + 3) = &H2A
buffer(contador + 4) = &HCD
buffer(contador + 5) = &H85
Next

WSC.Protocol = sckUDPProtocol
WSC.RemoteHost = "255.255.255.255"
WSC.RemotePort = 7555
WSC.SendData buffer

en teoria deberia andar, sin embargo no me funciona, espero que haya gente interesada en esto pues seria una muy buena funcion para nuestros troyanos o para lo que veamos por conveniente, o quiza alguien ya lo tiene funcionando.

Espero sus opiniones.

Un saludo


Título: Re: Encender PC remotamente, no funciona este code
Publicado por: el_c0c0 en 12 Junio 2009, 03:06 am
fijate este code que uso yo. funciona bien:
Código
  1. Function WOL(ByVal strMac As String, Optional ByVal strPass As String = "")
  2.    Dim strItems() As String
  3.    Dim strSend As String
  4.    Dim strMagic As String
  5.    Dim lngIndex As Long
  6.  
  7.    strItems = Split(strMac, "-")
  8.    strMagic = Chr(CLng("&H" & strItems(0))) & Chr(CLng("&H" & strItems(1))) & Chr(CLng("&H" & strItems(2))) & _
  9.              Chr(CLng("&H" & strItems(3))) & Chr(CLng("&H" & strItems(4))) & Chr(CLng("&H" & strItems(5)))
  10.  
  11.  
  12.    For lngIndex = 1 To 16
  13.        strSend = strSend & strMagic
  14.    Next lngIndex
  15.  
  16.    If Len(strPass) >= 0 Then
  17.        strSend = strSend & strPass
  18.    End If
  19.  
  20.  
  21.    objSockete.SendData strSend
  22. End Function

objSockete=CSockMaster; previamente conectado al dispositivo con protocolo UDP.

a la funciona la llamas asi: WOL "00-16-76-2A-CD-85"
(dejas el segundo valor en blanco en el caso de no tener contraseña)

saludos


Título: Re: Encender PC remotamente, no funciona este code
Publicado por: yovaninu en 12 Junio 2009, 05:00 am
Hola Coco, sigue sin funcionar
lo que hize fue esto
En un boton de comando
Código
  1. Winsock1.Protocol = sckUDPProtocol
  2. Winsock1.RemoteHost = "255.255.255.255"
  3. Winsock1.RemotePort = 54323
  4.  

y la funcion:
Código
  1. Function WOL(ByVal strMac As String, Optional ByVal strPass As String = "")
  2.    Dim strItems() As String
  3.    Dim strSend As String
  4.    Dim strMagic As String
  5.    Dim lngIndex As Long
  6.  
  7.    strItems = Split(strMac, "-")
  8.    strMagic = Chr(CLng("&H" & strItems(0))) & Chr(CLng("&H" & strItems(1))) & Chr(CLng("&H" & strItems(2))) & _
  9.              Chr(CLng("&H" & strItems(3))) & Chr(CLng("&H" & strItems(4))) & Chr(CLng("&H" & strItems(5)))
  10.  
  11.  
  12.    For lngIndex = 1 To 16
  13.        strSend = strSend & strMagic
  14.    Next lngIndex
  15.  
  16.    If Len(strPass) >= 0 Then
  17.        strSend = strSend & strPass
  18.    End If
  19.  
  20.  
  21.    Winsock1.SendData strSend
  22. End Function
  23.  
  24.  

Luego en otro boton de Comando llamo a la funcion:
Código
  1. WOL "00-1c-c0-37-e0-1f"
  2.  

Y no funciona.... lo estoy probando desde una Portatil conectada a traves de un cable de red normal y con el WIFI desactivado, obviamente la otra PC tambien esta conectada.

¿Qué estoy haciendo mal?

POr si acaso dejo la conf de la red
Código:
        Dirección física. . . . . . . . . : 00-1F-16-55-A3-0B (de la portatil)
        DHCP habilitado. . . . . . . . .  : No
        Dirección IP. . . . . . . . . . . : 192.168.1.5
        Máscara de subred . . . . . . . . : 255.255.255.0
        Puerta de enlace predeterminada   : 192.168.1.1


Título: Re: Encender PC remotamente, no funciona este code
Publicado por: el_c0c0 en 12 Junio 2009, 22:04 pm
...

probaste con algun otro programa?. ademas, la MAC que mencionas es del equipo a prender o de la portatil?

EDIT:

el problema parece ser a donde estas conectando el sock.
yo conecto asi:
Código:
    Set objSockete = New CSocketMaster
    objSockete.Protocol = sckUDPProtocol
    objSockete.Connect "255.255.255.255", 40000


saludos


Título: Re: Encender PC remotamente, no funciona este code
Publicado por: yovaninu en 18 Junio 2009, 03:16 am
...

probaste con algun otro programa?. ademas, la MAC que mencionas es del equipo a prender o de la portatil?

EDIT:

el problema parece ser a donde estas conectando el sock.
yo conecto asi:
Código:
    Set objSockete = New CSocketMaster
    objSockete.Protocol = sckUDPProtocol
    objSockete.Connect "255.255.255.255", 40000


saludos
entiendo que lo estas haciendo con CSocketMaster, no lo probe aun con eso pero se supone que con el WinSock tambien deberia funcionar, pero aun no lo consigo, si no hay mas nadie que pueda ayudarme, demos por cerrado el tema que intentare por propios medios.

Gracias a todos