programa de c++ que se autoborra

jorge lopez
13 de Junio del 2005
como hacer un programa en c++ que se auto borre, es decir que antes de que el programa se cierre, se carge solo en memoria y borre el ejecutable *.exe atraves del sistema. gracias

anonimo
13 de Junio del 2005
¡Vaya! ¡Qué recuerdos me trae esa pregunta!

Haz lo que quieras, pero por favor, virus no, que son un incordio y no demuestran que sabes más que los demás. El que sabe más que los demás hará grandes programas, será famoso y se forrará. El que hace virus no será más que un "friki". ¿No creeis?

Partiendo de la idea de que lo que estás haciendo no es un virus, ni nada dañino, te diré que borrar el fichero no te será suficiente, te pueden pillar. Sobreescribe el fichero con datos basura antes de borrarlo. Así aunque recuperen el fichero, éste solo contendrá basura.

Pero no lo utilices para nada malo, sólo para el derecho a la información como mucho. A portarse bien que les castigo! ;-)

hiei
13 de Junio del 2005
No entiendo muy bien... ¿intentas hacer un residente, un virus o algo por el estilo?... (sin connotaciones malas, que no se malinterprete)
Si lo unico que quieres hacer es borrar tu ejecutable una vez que el programa se ejecute puedes hacer:
remove ("nombre.exe");
Creo que eso funcionaba bien en el DOS antiguo (que cerraba el desriptor del ejecutable antes de entrar a ejecutarlo) pero si es en Windows mmmmm.... no lo garantiso.

La pagina de remove dice algo asi:
remove
Sintaxis
#include <stdio.h>

int remove(const char *file);

Descripcion
Esta funcion remueve el nombre del archivo del sistema de archivos. A no ser que usted tenga un programa inborrable, el archivo y su contenido se habran idos para siempre.
Valor de Vuelta
Cero sobre éxito, no nulo sobre fracaso.

Portabilidad
ANSI, POSIX

Ejemplo
remove("/tmp/data.tmp");