Comunidad de diseño web y desarrollo en internet

Su animación trial SWF se vencerá en 30 días

En mi lista de códigos definitivos del infierno, esos scripts tan bonitos que usas en casos "extremos" (eh, que he dicho extremos), me encontré uno que si bien es muy débil y puede ser mejorado, ayuda con esos clientes que usan las "demos" como el producto terminado o lo usan un tanto abusivamente

Les presento el SWF que expira en 30 días

Abrimos la película que queremos "proteger"; y en el primer keyframe colocamos el siguiente código (Nada más):

Código :

var fin:SharedObject = SharedObject.getLocal("l0ser", "/");
//Quitale el comentario a la siguiente linea, para resetear la fecha;
//pero no olvides volverlo a poner despues
//fin.clear();
var limite:Date;
if (fin.data.fecha == undefined) {
   fin.data.fecha = new Date();
} else {
   limite = new Date(fin.data.fecha.getFullYear(), fin.data.fecha.getMonth(), fin.data.fecha.getDate()+30, 0, 0, 0, 0);
   if (new Date()>limite) {
      setInterval(bastardAttack, 1);
   }
}
function bastardAttack () {
   trace("LUSER"+random(1337));
   Stage.showMenu=false;
   fscommand("quit");
   stop();
   _root.createEmptyMovieClip("f00ker",1337);
   with(_root.f00ker){
      beginFill(random(16777215), 100);
      moveTo(0,0);
      lineTo(0,Stage.height);
      lineTo(Stage.width,Stage.height);
      lineTo(Stage.width,0);
      lineTo(0,0);
      endFill();
   }
}

A partir de que se ejecute por primera vez, el SWF verificara si no han pasado 30 días ... y si ya pasaron; no lo deja abrir (Mucho ojo a la función bastardAttack. Si aun así el usuario es hábil y lo abre por otros medios (Browser); no lo deja ver xD

Es un código muy simple que podría haber alojado en una clase, pero para que nos vamos a engañar, no se me antojo xD ; además si lo hiciera dejaría de ser "Script From the Hell"

Si tienes "sk1llz"de programador; podrás ver que es muy fácil, teniendo el FLA, resetear la "fecha limite" en caso de problemas al probar el SWF, así como también puede cambiarse, moviendo un numero, el limite de días antes de dejar de abrir.

Claro, no es seguro, el usuario cambia la fecha de su PC y ya funciona, pero por lo menos TIENE que cambiar la fecha y el "luser promedio" de los que queremos proteger este tema NO tiende a cambiar cosas en su configuración.

Pues nada, entrego y libero el código con la famosa licencia libre "Haz lo que quieras, pero no me vengas a pedir ayuda" y ya me contaran si lo han mejorado o reforzado, hay muchas cosas que pueden "endurecer" la seguridad del script.

Esto es parte de la campaña, "Un cliente menos en tu pool de lusers", en la que animamos a los developers y designers a tomar el control... porque son ustedes y no el los que saben de que va la cosa

:bate: Por el imperio! (Y como me llenen de mensajes el blog con solo "por el imperio" sin añadir nada mas, sentirán la suave caricia de "El Bate(TM)")

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro

Entra al foro y participa en la discusión

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate