programa de c++ que se autoborra
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
¡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! ;-)
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! ;-)
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");
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");