elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Borrar ejecutable en proceso!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Borrar ejecutable en proceso!  (Leído 3,624 veces)
dooque

Desconectado Desconectado

Mensajes: 170



Ver Perfil
Borrar ejecutable en proceso!
« en: 16 Diciembre 2010, 18:16 pm »

Wenas!

Mi pregunta de hoy es si alguien sabe (si es que se puede) como borrar un archivo ejecutable desde el mismo proceso generado por ese ejecutable.
Por ejemplo tengo mi programa test.exe y quiesiera que cuando lo ejecute él borrara su propio archivo ejecutable.

Pregunto esto porque de la manera usual no se puede, el sistema no te deja y a lo mejor alguien sabe/conoce/existe alguna API que me permita hacer eso!

Saludos!

Gonzalo.


En línea

Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.  -- Kernighan
winroot


Desconectado Desconectado

Mensajes: 589

#include<winroot.h>


Ver Perfil WWW
Re: Borrar ejecutable en proceso!
« Respuesta #1 en: 16 Diciembre 2010, 20:03 pm »

Buenas!
Me imagino que no te deja por que el archivo ya está en uso.
Bien, tal vez me equivoque, pero podrías hacer un segundo ejecutable.
Llamas al segundo ejecutable desde el primero, usando CreateProcess o lo que sea, y luego se cierra.
El ejecutable b espera por unos segundos, elimina el ejecutable a, y luego se cierra.
Incluso puedes usar fstreams y escribir un script js/vbs que haga la tarea.
Repito, capáz que no es la mejor solución, además de que supongo que estás en windows.
Un abrazo.


En línea

Mi blog sobre programación y seguridad informática:
http://win-root.blogspot.com
Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: Borrar ejecutable en proceso!
« Respuesta #2 en: 16 Diciembre 2010, 20:29 pm »

No se puede borrar el ejecutable mientras se encuentre en ejecución. Se pueden hacer otras cosas como iniciar un proceso secundario que sincronice con el ejecutable principal y lo borre terminada su ejecución. El efecto es el mismo y es por demás la solución mas sencilla.

Si reiniciar es una opción, podes usar MoveFileEx con el flag MOVEFILE_DELAY_UNTIL_REBOOT:

Citar
If dwFlags specifies MOVEFILE_DELAY_UNTIL_REBOOT and lpNewFileName is NULL, MoveFileEx registers the lpExistingFileName file to be deleted when the system restarts. If lpExistingFileName refers to a directory, the system removes the directory at restart only if the directory is empty.
Saludos
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
dooque

Desconectado Desconectado

Mensajes: 170



Ver Perfil
Re: Borrar ejecutable en proceso!
« Respuesta #3 en: 17 Diciembre 2010, 04:28 am »

Muy bien! Muchas gracias!

Si, ya tengo varias soluciones alternativas a mi problema vastante viables y no tan oscuras, solo queria asegurarme que no habia otra forma de hacerlo mejor!

Salduos!
En línea

Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.  -- Kernighan
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Terminar proceso y borrar ejecutable en BATCH
Scripting
GN1000 6 5,803 Último mensaje 12 Octubre 2007, 07:33 am
por Crazy.sx
Borrar ejecutable en ejecucion
Análisis y Diseño de Malware
nts94 2 2,953 Último mensaje 26 Marzo 2012, 11:51 am
por nts94
Cuando se pase de fecha, borrar el propio ejecutable.
.NET (C#, VB.NET, ASP)
Meta 9 3,860 Último mensaje 17 Enero 2016, 14:57 pm
por Meta
Como borrar la cabecera de mi ejecutable usando esta funcion
Programación C/C++
Borito30 3 1,919 Último mensaje 26 Mayo 2017, 02:36 am
por Borito30
Borrar la cabecera de un ejecutable .NET
.NET (C#, VB.NET, ASP)
Borito30 5 3,986 Último mensaje 28 Mayo 2017, 18:18 pm
por Borito30
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines