• Domingo 22 de Diciembre de 2024, 14:07

Autor Tema:  Programa Autodestructible  (Leído 2123 veces)

laloivol

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Programa Autodestructible
« en: Martes 12 de Junio de 2007, 19:02 »
0
Necesito proteger un programa que hice, el usuario debe poder correrlo una sola vez, y después de cerrarlo debe ser borrado del disco duro. Alguien tiene alguna idea de como puedo hacer esto?

Dieguinho.

  • Miembro MUY activo
  • ***
  • Mensajes: 163
    • Ver Perfil
Re: Programa Autodestructible
« Respuesta #1 en: Martes 12 de Junio de 2007, 20:08 »
0
Supongo que borrarse solo no se va a poder...
Quiza podrias acompañar a tu programa con otro que se ejecute cuando este se cierre y lo borre.
Despues quedaria este ultimo que ya no serviria de nada.

Otra cosa no se me ocurre.

saludos.

Neopro

  • Miembro MUY activo
  • ***
  • Mensajes: 316
    • Ver Perfil
Re: Programa Autodestructible
« Respuesta #2 en: Martes 12 de Junio de 2007, 21:00 »
0
Cita de: "Dieguinho."
Supongo que borrarse solo no se va a poder...
Quiza podrias acompañar a tu programa con otro que se ejecute cuando este se cierre y lo borre.
Despues quedaria este ultimo que ya no serviria de nada.

Otra cosa no se me ocurre.

saludos.
Lo mejor es un programa que deshaga los mismos cambios producidos por la instalación del otro.
              [size=109]"Has lo que digo y no hagas lo que hago"[/size]

laloivol

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Programa Autodestructible
« Respuesta #3 en: Viernes 15 de Junio de 2007, 00:16 »
0
Ya tengo la solución y funciona perfectamente: antes de cerrar, el programa crea un archivo vbscript y lo ejecuta. Este vbs se encarga de borrar el programa original y ademas de autodestruirse, osea que no queda ningun archivo basura en el disco :D

Intenté subir la liga de la solución pero me salio un error así que dejo la solución tal cual:

La aplicación tendrá un botón llamado button1 que al presionarlo, terminará la ejecución y se autodestruirá. Se deben agregar los siguientes métodos:

private void button1_Click(object sender, System.EventArgs e)
{
// Crea el script
WriteVBSFile();

// Ejecuta el script
Process myProcess = new Process();
myProcess.StartInfo.FileName = "del.vbs";
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
myProcess.Start();

// termina el programa
this.Close();
return;
}

private void WriteVBSFile()
{
// Crea un stream para escribir al archivo del.vbs
StreamWriter vbs = new StreamWriter("del.vbs");

// Define variables dentro del script
vbs.WriteLine("Dim wait");
vbs.WriteLine("Dim fso");

// Espera 5 segundos antes de destruir el programa principal
vbs.WriteLine("wait = dateadd(\"s\",5,now)");
vbs.WriteLine("do until now > wait");
vbs.WriteLine("loop");

// crea un objeto para eliminar los archivos
vbs.WriteLine("Set fso = CreateObject(\"Scripting.FileSystemObject\")");

// elimina el programa principal
vbs.WriteLine("fso.DeleteFile(\"selfdeleting.exe\")");

// elimina el script
vbs.WriteLine("fso.DeleteFile(\"del.vbs\")");

// termina de escribir el archivo
vbs.Flush();
vbs.Close();
}

Neopro

  • Miembro MUY activo
  • ***
  • Mensajes: 316
    • Ver Perfil
Re: Programa Autodestructible
« Respuesta #4 en: Viernes 15 de Junio de 2007, 16:31 »
0
Genial idea...

Gracias por postearla...
              [size=109]"Has lo que digo y no hagas lo que hago"[/size]