Enviar archivo

Iniciado por NYlOn, 28 Agosto 2005, 00:26 AM

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

NYlOn

bueno, queria compartir con uds un metodo sencillo para enviar archivos x medio de un WinSock ya que veo que siempre tienen problemas con esto
espero que les sea util

ak va el codigo del Cliente (el q manda el archivo)

Private Sub Command1_Click()
Dim SaveIn As String
Command1.Enabled = 0 'para que no mandarlo 2 veces
SaveIn = txtSaveIn.Text
tcpCliente.SendData SaveIn 'mandamos la ubicacion de donde se guardarra el archivo en el servidor

DoEvents 'cuando termine...
'mandamos el archivo

Dim Buffer As String * 50000 'declaramos la variable de 1 Kb
Common.ShowOpen 'buscamos el archivo a enviar
Open Common.FileName For Binary As #1 'abrimos en modo binario
    Do While Not EOF(1) 'mientras no lleguemos al final
        Get #1, , Buffer
        tcpCliente.SendData Buffer 'va mandando los datos
    Loop 'hasta q terminemos
Close #1 'cerramos el archivo
End Sub

Private Sub Form_Load()
txtSaveIn.Text = "Guardar en..."

'esto se puede sacar =)
tcpCliente.RemoteHost = "127.0.0.1"
tcpCliente.RemotePort = 4664
tcpCliente.Connect
End Sub

Private Sub tcpCliente_SendComplete()
Command1.Enabled = 1
End Sub


ak ta el code del servidor (el q resive el archivo)


Private Sub Form_Load()
tcpServidor.LocalPort = 4664
tcpServidor.Listen
End Sub

Private Sub tcpServidor_ConnectionRequest(ByVal requestID As Long)
tcpServidor.Close
tcpServidor.Accept requestID
End Sub

Private Sub tcpServidor_DataArrival(ByVal bytesTotal As Long)
Dim Datos As String
Dim SaveIn As String
Dim i As Long
tcpServidor.GetData Datos

i = Len(Datos) - 3

   Select Case Mid(Datos, i, 1)
        Case "."
            SaveIn = Datos
            Label1.Caption = SaveIn
        Case Else
            'guardamos los datos
            Open Label1.Caption For Binary As #1
            Seek (1), LOF(1) + 1
            Put #1, , Datos
            Close #1
    End Select
End Sub


bueno espero q le sirva a alguien ::D
el codigo esta probado, pero si alguien tiene algun problema q pregunte

un salud0

G0nz4

Numeros

#1
Bravo!  ;D

programatrix

Bien, ya no tendré que buscar código para enviar ficheros en mi troyano aré copy&paste
Es broma   ;D

NYlOn

jajaja xD

(che reydelmundo, el code ta diseñado para un troyano, pero SH !)  :Pç

q buen0 que les sirva  :)

Xpeed

CitarDim Buffer As String * 50000 'declaramos la variable de 1 Kb

pero creo que ese bufer es muy alto para transminion de datos no?¿ ... para que sea de un Kb deberia ser de 1024


un saludo.

NYlOn

antes lo usaba con 1kb pero lo aumente para ver que onda... y no tuve problemas ...

aclaro, que el codigo es MUY mejorable, es para que no se compliquen la vida con lineas y lineas de codigo ;D

un salud0

G0nz4

Kizar

El codigo que hice yo es casi = k este y te juego lo que quieras a que solo funciona si ejecutas el server y el client en el mismo ordenador, si los ordenadores tan conectados por internet no te llega ni de fly, solo te llega el primer cacho o cachos pequeños, lo k ace inservible, probadlo alguno, comprovar y comentar aqui.
:(

Salu2

NYlOn

CitarEl codigo que hice yo es casi =
que es lo diferente del code ?? tal vez eso haga que funcione xD
yo lo probe en mi pc y anduvo sin problemas ...
si a alguien no le funciona que postee plz
un saludo

G0nz4

Kizar

Seek (1), LOF(1) + 1


Esto es lo k no tengo, pero lo unico k ace es dejar un espacio en blanco cada vez k recibe una parte del archivo, e provado cientos de codigos, y a la hora de bajar algo de una victima solo se reciben parte del codigo.

si lo uso en mi equipo funciona perfecto.

Si keres agregame al msn, me das el client y lo provamos.

Chief

Hola, bueno yo no he probado el code.
Dexonline dices que atravez de internet solo te llega un pedaso y algunos mas y nada mas??,  y no probaste establecer como protocolo de winsock = sckTCPProtocol   ???
Quizas asi funcione.

Salu2!!!
sr. oscuro