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


  Mostrar Temas
Páginas: 1 [2]
11  Programación / Programación Visual Basic / dudas de problemas con winsock en: 18 Septiembre 2006, 03:57 am
Hola 2 dudas con winsock. Primero, copie un simple ejemplo en otro ordenador que no hacia casi nada, solo que emplee Winsock y no iba pq faltaba el archivo MSWINSCK.ocx en el ordenador donde lo ejecute. Supongo que puedo copiarlo yo si quiero, pero si se lo tengo que mandar a alguien, tipo troyano, que puedo hacer?. Ahi alguna manera de incluir eso en el exe y que lo instale??.
Otra cosa, he echo unas pruebas de conexion CLIENTE/SERVIDOR con winsock tb y el problema es que creo el ejecutable del servidor y del cliente. Lo ejectuo desde el exe ambos y tal y todo bien. Cierro los programas y me doy cuenta que los programas despues de cerrarlos se quedan en memoria. Pq? yo creo que es por que ha abierto los puertos y tal pero no se como hacer para que se cierren y quede todo limpio. Los codigos empleados:
Cliente
Código:
Private Sub cmdconectar_Click()
ws.RemoteHost = cmdip.Text
ws.RemotePort = 2001
ws.Close
ws.Connect
Timer1.Interval = 3000
End Sub

Private Sub cmddesconectar_Click()
ws.Close
End Sub

Private Sub cmdenviar_Click()
If ws.State = 7 Then
ws.SendData (txtenviar.Text)
Else
rpt = MsgBox("DEBE ESTAR CONECTADO PRIMERO", vbOKOnly + vbCritical)
End If
End Sub

Private Sub cmdsalir_Click()
End

End Sub

Private Sub Timer1_Timer()
If Not ws.State = 7 Then
ws.Close
ws.Connect
lblestado.Caption = "NO CONECTADO"
Else
End If
If ws.State = 7 Then
lblestado.Caption = "CONECTADO"
Else
End If
End Sub

Servidor:
Código:
Private Sub Form_Load()
Form1.Visible = True
ws.LocalPort = "2001"
ws.Close
ws.Listen
End Sub

Private Sub Timer1_Timer()
If Not ws.State = 7 Then
ws.Close
ws.Listen
End If
End Sub

Private Sub ws_Close()
ws.Close
rpt = MsgBox("CONEXION PERDIDA", vbOKOnly)
End Sub

Private Sub ws_ConnectionRequest(ByVal requestID As Long)
ws.Close
ws.Accept requestID
rpt = MsgBox("CONEXION ESTABLECIDA", vbOKOnly)
End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
ws.GetData datos
rpt = MsgBox(datos, vbOKOnly)
End Sub


Gracias y saludos.
12  Programación / Programación Visual Basic / como usar winsock, si es posible, para realizar un minichat en: 18 Septiembre 2006, 02:54 am
Hola, mi objetivo es hacer una pequeña aplicacion que funcione entre 2 ordenadores por internet y se puedan enviar y recibir archivos. He empleado para ello winsock, pero no me funciona y no se pq. No se si es pq quiza la idea de cliente/servidor para esto es errornea, pues quiza esto que digo seria mas como cliente/cliente, pues se trataria de hacer un ejecutable, el mismo para ambos ordenadores, y realmente me pierdo porque creo que ninguno deberia trabajar como cliente ni servidor... si no a lo mucho ambos como cliente. Pero no me funciona  y no se si es pq no se puede hacer mediante winsock o es que lo ago mal. Entonces aber si me podeis ayudar o guiarme o decirme si es que necesito hacerlo con otro control distinto a winsock, que parece mas encaminado a eso, cliente servidor, osea el cliente hace una peticion y el servidor la devuelve si puede...

Código:
Private Sub cmdconectar_Click()
On Error Resume Next
ws.RemoteHost = "10.0.0.3" 'meter al ip buena
ws.RemotePort = 2001
ws.Close
ws.Connect
If Not ws.State = 7 Then
ws.Close
ws.LocalPort = "2001"
ws.Close
ws.Listen
Label1.Caption = "ESCUCHANDO"
End If


End Sub

Private Sub cmdenviar_Click()
ws.SendData txttexto.Text
End Sub

Private Sub Form_Load()
nombre = InputBox("Introduce tu nombre de sesion:", "Bienvenido...")
If nombre = 1 Then
RemoteHost = "10.0.0.3"
ElseIf nombre = 2 Then
RemoteHost = "10.0.0.3"
End If
Form1.Caption = nombre & RemoteHost
End Sub

Private Sub Timer1_Timer()
If Not ws.State = 7 Then
ws.Close
ws.Connect
End If

End Sub

Private Sub ws_ConnectionRequest(ByVal requestID As Long)
ws.Close
ws.Accept (requestID)
Label1.Caption = "CONECTADO"

End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
ws.GetData datos
rpt = MsgBox(datos, vbOKOnly)
End Sub



Explico lo que he exo, no se si lo abre dejado con algo raro pq ya de tantas pruebas no se.
Primero cuando carga el formulario pregunta un nombre. Por defecto he puesto 1 y 2 como respuestas para asignar una Ip a la que se conectara. Mas que nada de momento he exo eso para ver si podia yo hacer las pruebas en mi propio ordenador y asignando la misma IP. He puesto la misma IP pq haciendo pruebas anteriroes con Winsock vi que podia hacer un cliente y un servidor y desde mi propio ordenador conectarme del cliente al servidor, entonces deduje que aqui tb podria usar la misma IP. Bien a continuacion abria en el formulario un boton cmdconectar que lo que hace es lo siguiente: Primero trata de conectarse a la ip y al puerto que le digo. Entonces comprueba el estado de la conexion y si es no conectado, lo que hace es que se queda a la espera, osea a la escucha, para ello abre el puerto y se mantiene a la espera. De tal manera, que si abro otra vez la misma instancia del exe, y le doy a conectar, al estar el otro a la escucha en el puerto, pues esta vez la primera parte del codigo funcionaria y se conectaria. Luego esta el procedimiento de que acepta la conexion, y como digo parece que todo va bien, pero es que el problema que veo es que es como si todo fuera en un sentido , y no en los dos, pq solo el procedimiento de DataArrival se produce en uno de los prograamas. Bien luego tengo un texbox donde se pondria el texto a enviar y un boton de enviar. Ademas deun label que dice el estado de la conexion. Entonces escribo en el textbox y de momento antes de ponerme a meterlo en un picturebox, lo que he exo es que ese dato enviado aparezca en pantalla mediante un msgbox... pero como digo no me funciona. Podeis ver el fallo o que pasa?. Muchas gracias. Saludos.
13  Programación / Programación Visual Basic / manera de operar con funciones en: 16 Septiembre 2006, 21:09 pm
Hola, aber, resulta que estoy haciendo unas pruebas y me encuentro con un problema. Yo vengo de programar en Visual Lisp. Ahi, se puede operar de una manera tal, que para yo puedo agrupar muchas funciones y obtener un solo resultado. Pongamos por caso que yo quiero en Visual Lisp decir que si una tecla es pulsada en minuscula, me de el resultado en mayuscula. Yo lo haria asi:
(setq letra (strcase (chr 97)))
esto en VL se ejecuta por parentesis de dentro hacia fuera. El 97 representa la letra a pulsada en este caso, entonces primero transformaria ese codigo ascii en letra, y despues con strcase la pone en mayuscula, y lo guarda en la variable Letra. Con lo cual ese es el resultado final "A" y he agrupado dos funciones Strace y Chr para obtener la "A" viniendo de "a".
Bien, ahora me planteo que estoy en visual basic. Creo un textbox. Y mi objetivo que cuando se escriba sobre el, transforme esa letra automaticamente en mayuscula, mediante el evento Keydown. Bien, empleando la tecinca de visual lisp puse esto:
Text9.Text = UCase(Chr(KeyCode))
pensando que se procesiarai primero el chr (keycode)
y transformaria el codigo ascii que recibe de la letra a caracter, y luego lo pasaria por el Ucase que lo pone en mayuscula, pero a la hora d ejecutar el programa, escribo y me devuelve la letra que he pulsado en minuscula y mayuscula, con lo cual deduzco que lo que pasa es que da como resultado las dos funciones que he empleado, una me devuelve la letra pulsada osea que chr (keycode) y luego el Ucase. De manera que como haria yo, o cual es la forma mas rapida y practica de hacer esto. Entiendo que podria crear una variable, ejecutar primero el chr guardarlo en la variable y volver a ejecutar el ucase para que lo vuelva a guardar en la variable no? pero no kreo que sea la forma mas rapida. No se... alguien me ayuda? y sobre todo que me digan cual es la forma de agrupar varias funciones para que obtenga un resultado, si es posible. Gracias y saludos.

14  Programación / Programación Visual Basic / problema de estructuracion en: 15 Septiembre 2006, 11:27 am
Hay algo que no entiendo en VB6. Por ejemplo... creo un menu tipico con el menu editor, y lo oculto. El objetivo es que usar el Popupmenu, osea que pulsando sobre cualquier parte del formulario con el boton derecho, emerga este menu, llamdo mnuarriba, x ejemplo. Bien, edito el procedimiento del formulario en mouse down. Y le pongo que si:
if button = 2 then 'osea si el boton empleado es el 2, derecho
Popupmenu 'entonces cuando pongo esto, VB automaticamente detecta Popupmenu como funcion y me va poniendo su estructura, dentro de un parentesis. asi:
(menu as object, Flag, x, Y, defaultmenu).
Con lo cual yo escribo:
PopupMenu (mnuarriba) pq el resto d opciones no quiero poner nada... y asi ejecuto el programa y me falla, dice:
type mismatch
sin embargo si pongo esto, funciona correctamente:
PopupMenu mnuarriba osea sin parectesis
Pq funciona sin parentesis, y pq no con parentesis cuando VB me dice que debo meterlo en parentesis. Y esto mismo me ha pasado con otras funciones, y no entiendo pq... quiza pq solo uso un argumento??? si usase mas deberia ponerlo en parentesis? o pq?
Saludos  y gracias.
ps:  x supuesto en mis pruebas cierro el if.
15  Programación / Programación Visual Basic / common dialog, guardar resulado en: 14 Septiembre 2006, 13:50 pm
Hola, como se maneja el resultado optenido por el control Common Dialog?
Por ejemplo, pongo en el evento click
cmdopen.showopen
y eligo un archivo
y me devuelve al formulario
pero si he elegido un archivo, como lo guardo?
he tratado de guardarlo en una varible
pero me falla.
rpt = cmdopen.showopen
o un color, o cualquier resultado del control, no se como guardarlo para poder usarlo.
Gracias.

16  Programación / Programación Visual Basic / alguien me hace un fake sencillisimo en VB en: 3 Agosto 2006, 11:44 am
Hola, aber si alguien me podria hacer un programita que emulase lo siguiente:
-Una especie de programa cuya funcion fuese la de activar la webcam de alguien que estuvieras ablando por el msn sin que este lo sepa.
-El programa deberia de ser capaz de hacer esto tan solo ejecutandolo, teniendo el msn puesto, y metiendo algunos datos para que tampoco resulte ser facilisimo, como por ejemplo mail de la persona en cuestion. Quiza IP de esa persona... algunas cosillas asi.
-Una vez rellenados los campos, y pulsar un boton para supuestamente activar la cam, que de un mensaje de error en el cual diga algo asi como que este programa no puede correr con la version actual del msn de la victima o que esa persona no esta conectada en ese momento.
Este seria el planteamiento. Para que? pues para mandar esto mezclado con un troyano y que la persona no sospeche. De VB se mu poquito, pero lo poco que se es para saber que esto es facil de hacer y que si alguien quiere ayudarme no le llevara mas de 5 minutos. Alguien me ayuda? Logicamente como he dicho todo es falso, solo que la persona ha de creer que es verdadero.
Gracias y S2.
ps: me podria incluir el archivo complilado y el codigo para ver como esta echo. Gracias.
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines