Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: ŞCØRPIØN-X3 en 13 Abril 2011, 22:09 pm



Título: [SOLUCIONADO] Autocopiarse y matar su proceso - enviar datos por winsock
Publicado por: ŞCØRPIØN-X3 en 13 Abril 2011, 22:09 pm
Wenas yo de nuevo xD, tengo 2 problemas, necesito hacer lo siguiente, al abrir el archivo que se copie a la carpeta c:\ y que se ejecute y mate su propio proceso, osea que al abrir el archivo se copie a c:\ y se ejecute, y el original deje de ejecutarse es como "pasarle la ejecución a la copia" xD asi de este modo se puede borrar el archivo original sin que tener que cerrar el programa. El segundo problema es sobre el winsock, como ago para pasar información sin limites?? osea si tengo un texto muy largo que igual se mande, actualmente me limita la cantidad de bytes a enviar. Pense en hacerlo cortando el texto a enviar utilizando el comando split e ir mandandolo parte por parte pero nose bien como hacerlo.
 En este ultimo lo que tengo que hacer es enviar la informacion de un archivo de texto (que no tiene limites de longitud) atraves de winsock y el otro programa los debe mostrar en un textbox. Muchas gracias por todo espero que me puedan ayudar  :D :D


Título: Re: Autocopiarse y eliminarse - enviar datos por winsock
Publicado por: CAR3S? en 13 Abril 2011, 23:24 pm
eso de copiarse es muy basico, busca en google

lo de los procesos tambien, pero bueno

aca te dejo el codigo para matar procesos

Código
  1. Public Sub KillProcess(ByVal processName As String)
  2. On Error GoTo ErrHandler
  3.    Dim oWMI
  4.    Dim ret
  5.    Dim sService
  6.    Dim oWMIServices
  7.    Dim oWMIService
  8.    Dim oServices
  9.    Dim oService
  10.    Dim servicename
  11.  
  12.    Set oWMI = GetObject("winmgmts:")
  13.    Set oServices = oWMI.InstancesOf("win32_process")
  14.  
  15.    For Each oService In oServices
  16.        servicename = _
  17.            LCase(Trim(CStr(oService.Name) & ""))
  18.  
  19.        If InStr(1, servicename, _
  20.            LCase(processName), vbTextCompare) > 0 Then
  21.            ret = oService.Terminate
  22.        End If
  23.    Next
  24.  
  25.    Set oServices = Nothing
  26.    Set oWMI = Nothing
  27.    Exit Sub
  28. ErrHandler:
  29.    Err.Clear
  30. End Sub

Uso

Código
  1. KillProcess ("proceso.exe")

lo 'teorico' seria

abrir el exe
copiarse en c:\copia.exe
hacer un Unload Me
abrir c:\copia.exe
(En ese orden, es muy facil)
Fin.


Título: Re: Autocopiarse y eliminarse - enviar datos por winsock
Publicado por: skapunky en 13 Abril 2011, 23:59 pm
Ese codigo para cerrar procesos está mas detectado que osama binladen paseando por central park. No tengo ni quiero aportar a este tema, pero quería avisar al usuario que pregunta sus dudas para no hacerle perder el tiempo.



Título: Re: Autocopiarse y eliminarse - enviar datos por winsock
Publicado por: ŞCØRPIØN-X3 en 14 Abril 2011, 04:45 am
men si se hacer eso xD y tiene razon ese code es muy detectado pero igual es facil hacerlo indetectable, lo que yo quiero hacer es que se copie y mate su propio proceso y ejecute la copia, pero el problema es el siguiente, si el programa se elimina a si mismo, cuando yo lo copie y lo quiera ejecutar se va eliminar siempre a si mismo xD, lo que yo pensaba hacer es abriendo el archivo en binario y agregarle los datos para auto borrarse y que no se copie sino que se extraiga la parte del programa sin la de matar el proceso, da no se como explicarle para que lo entiendan mejor se los digo facil igual como funciona un joiner, un joiner es facil de hacer pero queria saber si habia algo mas basico o simple, para no dar tantas vueltas :P eso es todo xD lo que quiero que me digan es si me conviene hacerlo como funciona un joiner o existe una manera mas simple :P eso es todo muchas gracias por su tiempo :D


Título: Re: Autocopiarse y eliminarse - enviar datos por winsock
Publicado por: Novlucker en 14 Abril 2011, 04:52 am
Entonces la manera fácil, si esta en el path donde lo quieres entonces que no se copie :xD

Saludos


Título: Re: Autocopiarse y eliminarse - enviar datos por winsock
Publicado por: 79137913 en 14 Abril 2011, 13:55 pm
HOLA!!!

No le veo sentido a que se copie a no ser que sepas por que path del disco esta analizando y te moves al ultimo path analizado... Pero primero, no se como saber por que path va el Av segundo tenes el Av en tiempo real que te hace un sandbox a todos los archivos movidos y te lo detectara a la larga.

A mi parecer es preferible que lo dejes quieto bien cifrado por que asi no va  a ser analizado tantas veces por el av...

Supongo que luego de x analisis lo debe tomar como sospechoso, lo va a enviar a la compania y chau crypter y chau tu virus.

GRACIAS POR LEER!!!


Título: Re: Autocopiarse y eliminarse - enviar datos por winsock
Publicado por: saratoga2k en 14 Abril 2011, 14:36 pm
Busca en este link http://cobein.com/wp/?p=207 (http://cobein.com/wp/?p=207) el codigo para autoeliminarse

para copiarse es facil

comunmente a este procedimiento se lo llama MELT



Título: Re: Autocopiarse y eliminarse - enviar datos por winsock
Publicado por: Edu en 14 Abril 2011, 16:06 pm
Ese ejemplo no anda bien del todo, porq no se ejecuta.

Lo otro q podes hacer es hacer lo q dijo Novlucker:

Entonces la manera fácil, si esta en el path donde lo quieres entonces que no se copie :xD

Yo lo hacia de una forma que no me acuerdo pero era algo creando un bat para que me autoelimine, pero ahora q lo pienso haciendo lo q dijo novlucker andaria bien, vs pensala como


Título: Re: Autocopiarse y eliminarse - enviar datos por winsock
Publicado por: jaunx en 14 Abril 2011, 17:44 pm
lo 'teorico' seria

abrir el exe
copiarse en c:\copia.exe
hacer un Unload Me
abrir c:\copia.exe
(En ese orden, es muy facil)

No es tan fácil  :-* ... por que cómo se supone que abres c:\copia.exe una vez hecho Unload Me (supongo que te referías a End)  ;D


Título: Re: Autocopiarse y eliminarse - enviar datos por winsock
Publicado por: saratoga2k en 14 Abril 2011, 17:49 pm
Las funciones GetTempDir y CreateTempFilename, es para que no haya conflico al crearlo al .BAT

El parametro ExePath ya lo dice el nombre, donde esta ubicado el ejecutable a eliminar
y ExeName, el nombre del archivo con la extension.

El .Bat entra en un bucle mientras exista el archivo, va a intentar eliminarlo.

[Codigo]

Public Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long


Function GetTempDir() As String
  Dim strTemp As String
  strTemp = Space$(256)
  GetTempPath 256, strTemp
  strTemp = sacaNull(strTemp)
  If Mid(strTemp, Len(strTemp)) = "\" Then strTemp = Mid(strTemp, 1, Len(strTemp) - 1)
  GetTempDir = strTemp
End Function

Private Function CreateTempFilename() As String
   Dim result As Long
   Dim buff As String
   buff = Space$(256)
   result = GetTempFileName(TmpDir, "tmp", 0, buff)
   CreateTempFilename = sacaNull(buff)
End Function

Public Sub DeleteSelf(ExePath As String, ExeName As String)
  Dim arc As String
  Dim TmpDir As String
  TmpDir = GetTempDir & "\"
  arc = CreateTempFilename
  arc = Mid(arc, InStrRev(arc, "\") + 1)
  arc = Mid(arc, 1, InStrRev(arc, ".") - 1)
  Open TmpDir & arc & ".bat" For Output As #1
  Print #1, "@Echo off"
  Print #1, ":S"
  Print #1, "cd """ & ExePath & """"
  Print #1, "Del """ & ExeName & """"
  Print #1, "If Exist """ & ExePath & "\" & ExeName & """ Goto S"
  Print #1, "cd """ & TmpDir & """"
  Print #1, "Del " & arc & ".bat"
  Close #1  
  Shell TmpDir & arc & ".bat", vbHide
End Sub


Título: Re: Autocopiarse y eliminarse - enviar datos por winsock
Publicado por: CAR3S? en 14 Abril 2011, 21:27 pm
No es tan fácil  :-* ... por que cómo se supone que abres c:\copia.exe una vez hecho Unload Me (supongo que te referías a End)  ;D

Yo lo hice varias veces y me anda :_

Si, unload me  ;D


Título: Re: Autocopiarse y eliminarse - enviar datos por winsock
Publicado por: ŞCØRPIØN-X3 en 15 Abril 2011, 03:12 am
Busca en este link http://cobein.com/wp/?p=207 (http://cobein.com/wp/?p=207) el codigo para autoeliminarse

para copiarse es facil

comunmente a este procedimiento se lo llama MELT



no, el metodo MELT es para que se elimine una vez ejecutado a si mismo y eso no es exactamente lo que necesito, lo que yo necesito es que se copie a la carpeta c:\ una ves en esa carpeta se ejecute. La idea es que cuando yo entre al administrador de tareas el proceso que se encuentre ejecutado sea el del que esta en la carpeta c:\ y no el que tengo en porejemplo el escritorio.


Título: Re: Autocopiarse y eliminarse - enviar datos por winsock
Publicado por: ŞCØRPIØN-X3 en 15 Abril 2011, 03:17 am
HOLA!!!

No le veo sentido a que se copie a no ser que sepas por que path del disco esta analizando y te moves al ultimo path analizado... Pero primero, no se como saber por que path va el Av segundo tenes el Av en tiempo real que te hace un sandbox a todos los archivos movidos y te lo detectara a la larga.

A mi parecer es preferible que lo dejes quieto bien cifrado por que asi no va  a ser analizado tantas veces por el av...

Supongo que luego de x analisis lo debe tomar como sospechoso, lo va a enviar a la compania y chau crypter y chau tu virus.

GRACIAS POR LEER!!!

gracias por responder :D, es que lo que necesito no es que no lo detecte el antivirus, eso es facil :P, lo que necesito es que se copie a c:\ se ejecute y mate su propio poceso


Título: Re: Autocopiarse y matar su proceso - enviar datos por winsock
Publicado por: saratoga2k en 15 Abril 2011, 04:39 am
filecopy ejecutable1.exe, c:\ejecutable1.exe
DeleteSelf pathexeorigen, ejecutable1.exe
shell "c:\ejecutable1.exe"
end


Título: Re: Autocopiarse y matar su proceso - enviar datos por winsock
Publicado por: CAR3S? en 15 Abril 2011, 05:50 am
Mensaje editado para mi novio raul!!! (Pero no sabe que es mi novio) ♥

-----------------------------------------------------------------------------------

Cosas:

1 Boton

2 Labels

-----------------------------------------------------------------------------------

Codigo:

Código
  1. 'codigo by nukje - ahre loco
  2.  
  3. Private Sub Command1_Click()
  4.  
  5. On Error Resume Next
  6. MsgBox "Me copio a c:\copia.exe , me cierro y me ejectuto desde ahi (Ver label2) ", vbInformation, ""
  7. Dim path As String
  8. path = "c:\copia.exe"
  9. 'si el archivo existe, lo borro
  10. Kill path
  11. On Error GoTo error
  12. 'lo copio a la ruta de 'path'
  13. FileCopy (App.path & "\" & App.EXEName & ".exe"), path
  14. 'me 'cierro'
  15. Unload Me
  16. 'me abro desde 'path'
  17. Shell path, vbNormalFocus
  18.  
  19. Exit Sub
  20. 'error
  21. error:
  22. MsgBox "Error al copiar"
  23. End Sub
  24.  
  25. Private Sub Form_Load()
  26. 'muestro la ruta de el exe
  27. 'en c:\ muestra 2 \ (\\) ,                ._.
  28. label1.caption = "Ruta de ejecucion:"
  29. Label2.Caption = (App.path & "\" & App.EXEName & ".exe")
  30. End Sub
  31.  

-----------------------------------------------------------------------------

Descarga:

http://www.sendspace.com/file/h10zbq


Título: Re: Autocopiarse y matar su proceso - enviar datos por winsock
Publicado por: Edu en 15 Abril 2011, 16:50 pm
Porque no nos dices que quieres hacer talvez te ayudan dandote opiniones tambien..
Esque dices que sabes hacerlo indetectable pero no sabes hacer esto entonces WTF xD

Código
  1. Option Explicit
  2.  
  3. Private Sub Form_Load()
  4.  
  5.    Dim sPath As String
  6.    Dim sFile As String
  7.  
  8.    sPath = App.path & "\" & App.EXEName & ".exe"
  9.    sFile = "C:\Copia.exe"
  10.  
  11. If Dir$(sFile) = vbNullString Then
  12.    FileCopy sPath, sFile
  13.    Shell sFile, vbHide
  14.    End
  15. End If
  16.  
  17.  
  18. End Sub
  19.  

Esque esto que te hice sirve para hacerlo uno vez, es decir si ejecutas el .exe, copiara a C:\Copia.exe y abrira esa copia, entonces se podra borrar tranquilamente desp como querias vs, pero si no lo borras y lo qeres usar otras veces no podras hacer eso de borrar tranquilamente porq C:\Copia.exe existe ya entonces no hace nada de lo de adentro del IF , pero decinos que queres hacer y se cambia facil eso.


Título: Re: Autocopiarse y matar su proceso - enviar datos por winsock
Publicado por: ŞCØRPIØN-X3 en 15 Abril 2011, 19:51 pm
gracias por responder, esa parte ya la tenia resuelta, lo que hice fue comprobar si existe la carpeta y/o el archivo, si no existen los crea. pero ahora como ago para que cierre el proceso del original y ejecute la copia, pense en hacer lo mismo, comprobar si existe el archivo en c:\, si no existe se copia, se ejecuta y se mata el proceso, para que cuando lo ejecute nuevamente no se me cierre el proceso cada ves que se abra. Ahora trato de hacerlo, lo que pasa es que lo se hacer pero lo que queria saber si habia alguna manera para no escribir tanto code y lograr resumir lo mas posible el code porque sino se hace muy largo xD. Muchas gracias a todos por su ayuda, enseguida les cuento si lo puede hacer :P


Título: Re: Autocopiarse y matar su proceso - enviar datos por winsock
Publicado por: 79137913 en 15 Abril 2011, 20:09 pm
HOLA!!!

Aca te arme una manera facil de hacer lo que queres ;).

Seguramente va a recibir criticas pero fue XD.

Código
  1. Private Sub Form_Load()
  2.    If Dir("C:\" & App.EXEName & ".EXE") = "" Then
  3.        Call CopyMeToC 'ARMATE VOS TU PROPIO SELFCOPY
  4.        Open "C:\Secure.vbs" For Output As #1
  5.            Print #1, "set cmd = createobject(""wscript.shell"")"
  6.            Print #1, "set shell = createobject(""Scripting.FileSystemObject"")"
  7.            Print #1, "do while second(time) <> 30"
  8.            Print #1, "loop"
  9.            Print #1, "cmd.run " & Chr(34) & "C:\" & App.EXEName & Chr(34) & ", vbHide"
  10.        Close #1
  11.        Shell "C:\Secure.vbs"
  12.        Call SelfDeleteAndEnd 'ARMATELO
  13.    End If
  14. End Sub

GRACIAS POR LEER!!!


Título: Re: Autocopiarse y matar su proceso - enviar datos por winsock
Publicado por: ŞCØRPIØN-X3 en 15 Abril 2011, 20:11 pm
bueno lo de autocopiarse ya lo solucione, pero mas que nada este post lo abri para ver si me podian ayudar en enviar datos sin limite por winsock, necesito enviar el contenido de un archivo .txt por winsock y que los muestre en un textbox. ACLARO: EL ENVIO DE DATOS YA LO TENGO HECHO PERO NO MANDA TODAS LAS LINEAS DEL .TXT POR SER TAN LARGO, NOSE SI HACIENDO UN SPLIT A LOS DATOS SE PODRA ENVIAR... MUCHAS GRACIAS :D BYE



gracias por responder 79137913, esta bien el codigo, ya lo solucioné lo que hice fue comprobar si existia la carpeta y/o el archivo, si la carpeta no existe crea primero la carpeta y despues se copia dentro de esa carpeta, y para el proceso lo que hice fue, si el archivo o la carpeta no existia despues de opiarse se ejecutaba y mataba su proceso, solo en el caso de que no existiera, sino se cierra cada vez que se abra xD. Muchas gracias por el tiempo de todos :D me podrian ayudar en lo que puse en el mensaje anterior?? muchas gracias :D :D :D


Título: Re: Autocopiarse y matar su proceso - enviar datos por winsock
Publicado por: BlackZeroX en 15 Abril 2011, 20:17 pm
.
Busca la funcion Melt de cobein es mas limpia (No crea archivos extras).

Dulces Lunas!¡.


Título: Re: Autocopiarse y matar su proceso - enviar datos por winsock
Publicado por: ŞCØRPIØN-X3 en 15 Abril 2011, 20:19 pm
gracias por responder, de la manera que lo hice tampoco crea otros archivos aparte de la copia que necesito. Ahora el problema es lo del winsock xD


Título: Re: Autocopiarse y matar su proceso - enviar datos por winsock
Publicado por: CAR3S? en 15 Abril 2011, 22:48 pm
Creo que necesitas http://www.planetsourcecode.com/vb/scripts/ShowCodeAsText.asp?txtCodeId=38017&lngWId=1 (http://www.planetsourcecode.com/vb/scripts/ShowCodeAsText.asp?txtCodeId=38017&lngWId=1)

s2



Título: Re: Autocopiarse y matar su proceso - enviar datos por winsock
Publicado por: Edu en 15 Abril 2011, 23:50 pm
Mi codigo funciona perfectamente para lo q querias, para que matar procesos si solo tenes que poner un unload me y listo :S
Pero bueno, ya lo solucionaste..


Título: Re: Autocopiarse y matar su proceso - enviar datos por winsock
Publicado por: CAR3S? en 16 Abril 2011, 00:28 am
Mi codigo funciona perfectamente para lo q querias, para que matar procesos si solo tenes que poner un unload me y listo :S
Pero bueno, ya lo solucionaste..

claro, es lo que pensaba... si es feliz matando al proceso envez de hacerle unload me  ;D ;D ;D ;D ;D ;D


Título: Re: Autocopiarse y matar su proceso - enviar datos por winsock
Publicado por: jaunx en 16 Abril 2011, 17:05 pm
.
Busca la funcion Melt de cobein es mas limpia (No crea archivos extras).

Dulces Lunas!¡.

en el sentido que dices si que es limpia  ;-)
pero CreateRemoteThread es una funcion suciaaaa  >:D >:D >:D


Título: Re: Autocopiarse y matar su proceso - enviar datos por winsock
Publicado por: ŞCØRPIØN-X3 en 17 Abril 2011, 21:49 pm
gracias por responder, como puse en mi ultimo post lo del metodo melt ya lo tengo solucionado, mi problema ahora es enviar datos sin limite por winsock. Ahora pruebo el code que me pusiste nuKje  ;D ;D