Si no quieres que una pelicula de Flash tuya pueda reproducirse fuera de tu web, tenemos un truco para prohibir la reproducción de un SWF fuera de tu sitio.
Primero elige la dirección URL dónde va a estar colgado tu SWF. Hecho esto, escribe en las acciones del 1er frame de tu SWF lo que viene a continuación:
Código :
var url = "http://tuweb/tuflash.swf"; if(_url != url){ _root.onEnterFrame = function(){ unloadMovie(this) } }
De este modo, si el SWF no es abierto desde tu web (Por ejemplo si lo bajan al PC y lo ejecutan desde ahi o si algun otro sitio lo linkea como propio), entonces la pelicula se descargará de memoria y no funcionará.
También puedes poner:
Código :
if(_url != "http://tuweb/tuflash.swf"){ _root.onEnterFrame = function(){ loadMovie("http://tuweb/flash_alternativo.swf") } }
Y se cargará la película que tu quieras.
Puedes poner una película con un mensaje parecido a:
"Ésta animación solo se puede ver desde la web. Entra en http://www.lawebdelswf.com"
Aquí el ejemplo:
http://nestorrente.iespana.es/foroCLAB/protegida.swf
Si guardáis la animación en vuestro ordenador, comprobaréis que aparecerá esto:
http://nestorrente.iespana.es/foroCLAB/protector.swf
Y se descargará la otra.
Es la forma más sencilla que conozco para proteger películas flash
¿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.
Por Zah el 01 de Septiembre de 2006
Por nestorrente el 01 de Septiembre de 2006
... en mi ordenador como que no puedo descompilar animaciones de más de 5 MB... pobre microprocesador si lo intento
Hay mucha gente que sabe hacer "Archivo --> Guardar como..." y esto con FireFox es posible.
Evidentemente alguién más experto sabrá desbloquearla, pero me parece un buen truco para la gente más novata.
Por leandono el 01 de Septiembre de 2006
zah :
Es obvio que cualquiera puede borrar el código, pero si complicas un poco más la cosa, tal vez el que roba la animación no se dé cuenta ó por cansancio deje de rebuscar en nuestra película.
Por ejemplo:
- Poniendo el código de protección en un simbolo dentro de otro simbolo dentro de otro, suponiendo que la animación posee 150 simbolos minimamente, el que se quiera robar la animación tendrá que buscar en toda la bliblioteca para borrar el código antirobo.
- Haciendo que el código se ejecute un día determinado de la semana. Ejemplo: El código se ejecuta los lunes. Alguien roba el archivo un martes, lo prueba y piensa que todo está ok. Sin embargo 6 días despues el código de protección entra en acción.
saludos
Por nestorrente el 01 de Septiembre de 2006
Esta forma es buena para:
Imagínate que tienes un SWF que solo pueden ver los registrados en tu web.
Ellos deben entrar en tal dirección y poner su cuenta y contraseña para que aparezca la animación (algo así como esto)
Pero claro: si alguién coge la dirección de la animación, puede verla todo el mundo. Pues para eso tengo un truco:
1. Creas un SWF con 2 fotogramas (por ejemplo)
2. En el 1er fotograma no pones nada O bien, pones una precarga para el SWF que vas a proteger.
3. En el 2º fotograma, escribes:
Código :
4. Guardas esto en la misma carpeta que te flash (y subirás posteriormente los 2 a tu web).
5. En el 1er fotograma de tu flash, escribes:
Código :
De este modo, conseguirás que a parte de estar en tu web, tu flash haya que verlo a través del otro SWF.
Ahora diréis: "Pero si se dan la dirección del SWF de los 2 fotogramas, se puede ver igual".
Erróneo! Para eso haremos lo siguiente:
Colocaremos el SWF en una subcarpeta. Hecho ésto, creamos un archivo HTML en la carpeta de tu flash. Debemos tener las carpetas de la siguiente manera:
CARPETA PRINCIPAL{
tu flash
el archivo HTML
carpeta con el otro SWF{
el otro SWF
}
}
Ahora, utilizaremos el archivo HTML para colocar el SWF que llama a nuestro flash (el de la carpeta; el que contiene el getURL)
Podemos utilizar este código de HTML o añadirle cosas (eso a vuestro gusto)
Código :
Ahora, si tenemos las carpetas bien organizadas y todo bien escrito, debería ocurrir lo siguiente:
http://nestorrente.iespana.es/prueba/
Ese es el ARCHIVO HTML que creamos.
El flash que se ve es el denominado SWF (en mi caso tiene 3 fotogramas), que es éste:
http://nestorrente.iespana.es/prueba/flash8/Comprobador.swf
Y desde ahí NO podrán ver tu flash, que en mi caso, es éste:
http://nestorrente.iespana.es/prueba/cap.swf
Que os reconduce a aquí
Con ésto que he escrito conseguiréis que solo se vea vuestro flash desde el archivo HTML y a la vez desde vuestra web. (el archivo HTML puede ser PHP o lo que queráis)
P.D: NO he copiado el código de http://club.calicoelectronico.com/estreno.php al contrario: esto es lo que les faltaba: si sabes la dirección del capítulo, puedes verlo sin ser socio. Éste código lo creé para ver si les servía, o sea, que es mío.
Saludos Pedazo mensaje
Por Zguillez el 01 de Septiembre de 2006
nestorrente :
Pues va a ser que no....
http://www.guillermodelaiglesia.info/temp/clab/05/protegida.swf
Como dice Zah cualquier cosa que cuelgues en internet está disponible para que cualquiera se la quede... Así que mejor no preocuparse mucho por el tema, y pensar que si alguien te copia el trabajo será por que es bueno.
Por nestorrente el 01 de Septiembre de 2006
Por Zguillez el 01 de Septiembre de 2006
En serio, cualquier codigo de control (que una pelicula que abra otra, que este en un dominio concreto, en una ruta, nivel, lo que sea.... ) que quede registrado dentro del swf no sive de nada...
Por nestorrente el 01 de Septiembre de 2006
Cuando se descubra una forma de proteger algo al 100%, será como el oro del flash
Por zah el 01 de Septiembre de 2006
Por otro lado si alguien quiere robarte el trabajo de verdad, si sabe sacar dinero de eso, es de suponer que también sabrá como descompilarlo. Si le pillas, como dice Zguillez, primero siéntete alagado y luego denúncialo
leandro, con el explorador de código de flash, en el panel de Acciones, seguro que yo tardo menos en borrar todo el código que tú en ponerlo.
Por fatagnus el 01 de Septiembre de 2006
Yo utilizo un truco similar, pero para poder testear las movies conectando a un servidor remoto para pruebas desde local (si la url comienza con 'file:' o no).
Por scx7 el 02 de Septiembre de 2006
Por Zguillez el 02 de Septiembre de 2006
Por scx7 el 02 de Septiembre de 2006
básicamente la clase sólo tiene dos métodos, la primera es para transformar una palabra a otra cosa y la segunda para trasformar esa otra cosa a la misma palabra... se creativo
Por DanielSemper el 02 de Septiembre de 2006
Por Zah el 02 de Septiembre de 2006
En cuánto a los ofuscadores, sólo funcionan para el código, no para animaciones.
Por otro lado, hay que pensar en que las mejoras en seguridad deberían ser "positivas" en cuánto al usuario, ya que de otra manera puede resultar que éste se plantee si realmente merece la pena usar el producto o servicio (windows y su WGA, aeropuertos británicos) Supongo que mo se llega a tal extremo para este caso, pero a ver, voy a explicarme:
Si yo tuviera que hacer un trabajo para el colegio sobre la historia del periodismo y me diera por hablar de los premios World Press Photo, quisiera meterme en la página y copiar la foto ganadora de este año, al darle al botón derecho me sale una estúpida alerta hablándome de derechos de autor, y sí, es perfectamente legal copiar esa foto para el trabajo del colegio. Bueno, gracias a Web Developer tengo la opción de desactivar JavaScript a 2-3 clicks así que ya puedo copiar la imagen sin problemas. Ahora bien, si me da por poner como fondo de escritorio esa foto tan bonita de los murciélagos, podría decirle a cualquiera que la he hecho yo (en el parque debajo de mi casa hay bastantes murciélagos ). Me he saltado una protección molesta (ocultar el menú contxtual es muy molesto, sí) y ya tengo la imagen.
En cambio en un trabajo que hice hace tiempo sobre comunicación visual (ya me tuve que acordar de ese profesor maldito ) . Bueno, en él metí una fotos c00l de worth1000, para hablar de nuevas formas de creación artística y eso, y las fotos de allí tienen marca de agua. Yo no quiero, no necesito y no me parece bien quitarla, así que alguien (el profesor no, claro) preguntó de dónde había sacado esas fotos, y supongo que de esta manera nos beneficiamos todos.
Esto es fácilmente extrapolable al caso de las animaciones flash. Imagínate que quiero montar una presentación en un exe sobre las animaciones más c00l (allí o uso un descompilador o mucho más probable, paso de poner la tuya), o no tengo tarifa plana de internet y quiero guardar la animación para verla varias veces. Si haces tu truco, que como digo no me parece que mejore mucho la seguridad perderás bastante publicidad, y a lo peor, si me da por usar un descompilador solo para verla (yo no creo que lo hiciera) y no hay una marca de agua que la identifique como tuya la pérdida sí será muy importante. Por otro lado si usas una marca de agua (un enlace a tu web), si crakeo la animación sólo será para robartela. Y la diferencia entre animación vista en tu web y otra que apunta a tu web es una visita menos (esto no es una pérdida tan terrible), ahorro de ancho de banda, pero igual difusión, que es lo importante, en cambio si limitas los canales de tansmisión, también limitas las posiblidades de ver tu maravillosa creación .
pd:Zguillez, busca sobre ASCrypt
Por nestorrente el 02 de Septiembre de 2006
Ya se que no sirve para protegerlas siempre, pero solo para ese día, el código nos servirá perfectamente.
Por Zguillez el 02 de Septiembre de 2006
scx7 :
*Zguille voltea a scx7 y le patea el culo
Lo decia más que nada para que aqui la gente viese una manera mejor de proteger una pelicula, no tanto por mi...
Pd. Ya conocia el ASCrypt. pero gracias por el dato
Volviendo al tema de la animación, veo que el problema no es tanto proteger la pelicula anivel de codigo o graficos, si no no perder visitantes y dinero en publicidad (si un usuario visualiza los videos desde el ordenador no verá los banners que habian en el html en la web) es eso no?
En este caso creo quelo mejor es lo que dice Zah, colocar la direccion de la web durante la animación. Que la gente que vea sea animación le quede claro en que web puede encontrar más.
Si publicas una animación nueva cada semana, que problema hay en que alguien que se la descargue una vez visualizada desde la web, si tendrá volver a conectarse la semana siguiente para ver/descargarse el capitulo nuevo...
Y en el caso de que esta persona distribuya entre sus amigos esta animación para que la vean, pues lo dicho, incluyendo una referencia a la web, si a estas personas les gusta la animación que haran? esperar a que su amigo les vuelva a mandar otra animación o se conectarán a la web a buscar otra. Con lo que esta persona que distribuye las animaciones en realidad te esta haciendo publicidad y ganar visitas.
Por nestorrente el 02 de Septiembre de 2006
simplemente puse ésto como truco, y ellos lo usarán para el día del preestreno para socios.
http://huerfanoselectronicos.com/HE_TF3.swf
Ahí se ve el ejemplo. Esas son las Tomas Falsas.
Por scx7 el 02 de Septiembre de 2006
Zguillez :
scx7 :
*Zguille voltea a scx7 y le patea el culo
Lo decia más que nada para que aqui la gente viese una manera mejor de proteger una pelicula, no tanto por mi...
sí pero no puedo mostrar mi clase, porque la estoy usando, luego me jodo ya que sería muy fácil juankear mi trabajo.
Y creo que la protección no sería en tanto con las animaciones, sino con trabajos en los cuales se maneje información de nuestros clientes o usuarios, que tal me se me encarge un proyecto que involucre flash y base de datos, en dónde se maneje información privada, entonces necesito de asegurar esa información.
*scx7 se levanta, saca su Bate(tm) y le saca las zetas a Zguillez, y con la sangre salpicada en el rostro scx7 se levanta y mira al cielo como diciendo "Por qué tenía que pasar de nuevo"
Por yay el 02 de Septiembre de 2006
Por Zah el 03 de Septiembre de 2006
Por scx7 el 03 de Septiembre de 2006
Por dave el 03 de Septiembre de 2006
[img]
Por [url=http://mailto:b el 03 de Septiembre de 2006
Por Zguillez el 03 de Septiembre de 2006
1- La dirección de la animación que le pasar en tu swf principal (el de dos fotogramas) no la escribas dentro del .fla si no que se la pasas como variable con flashvars desde el html
(de esta manera evitas que se pueda ver con solo con el swf)
2- La direccion tampoco la colocas en el html si no que la optienes con javascript haciendo una llamada a un php
3- Este php es el que controla si la llamada se la esta haciendo un html que esta en tu dominio o no. Si lo está le devuelve la direccion de la animacion, si no no.
De esta manera mantienes tu idea de controlar la reproduccion de la animacion verificando el servidor, pero evitas que el usuario visualice la ruta del swf (no decomplitandote tu pelicula principal, ni visualizando el html, ni accedirndo al php desde fuera de tu servidor) y se lo pueda descargar facilmente.
scx7 :
[BOFH]Tienen el foro "Pruebas" y los MP para pelearse [/BOFH]
Por nestorrente el 03 de Septiembre de 2006
Y otra cosa... ¿como enlazaría el SWF al HTML?
Por Dano el 04 de Septiembre de 2006
Saludos
Por Zah el 04 de Septiembre de 2006
Cargar el swf desde un conenedor con un códogo normal y corriente:
Código :
En el directorio safe, creamos un archivo llamado .htaccess (noten el punto delante), en el que pondrá lo siguiente:
Código :
Esto quiere decir que sólo permitimos que abra esa carpeta alguien desde ese mismo dominio (por ejemplo el cargador.swf), pero no hay manera de acceder desde fuera... ¿verdad?
Pueden verlo aquí, aunque el server lleva mal todo el día y no sé si podrán.
http://zah.frageon.net/safeswf/
Por Freddie el 04 de Septiembre de 2006
Porque un SWF hace una llamada al loadMovie desde el PC y la IP del usuario. No desde el server.
Por jomajudo el 05 de Septiembre de 2006
Por josé el 06 de Septiembre de 2006
Por nestorrente el 06 de Septiembre de 2006
al SWF le llamas (ejemplo) flor.gif, y le pones el código HTML de un SWF, y el navegador lo reconoce. Hecho esto, e el caché quedará un archivo llamado "flor.gif" que el usuario no creo que quiera guardar.
A ver si eso te ayuda en algo.
Por José el 08 de Septiembre de 2006
Por fresas el 30 de Septiembre de 2006
Con el fin de mandar estas variables a una pagina ASP y asi tener mejor control de los visitantes de la página
Gracias por sus respuestas
Por nestorrente el 01 de Octubre de 2006
Por kiro el 02 de Octubre de 2006
Por Freddie el 02 de Octubre de 2006
kiro_blog :
Por misco el 19 de Octubre de 2006
Por nestorrente el 19 de Octubre de 2006
Vamos, que si no quieres que la vean, no la cuelgues... uno de los atributos del HTML es que es un código ABIERTO.
Por Chuliano el 30 de Noviembre de 2006
SWF Encrypt 3.0
o bien llamen sus SWf desde un PHP protegido y listo, nadie sabra los nombres utilizan alias y listo!!
Por Freddie el 30 de Noviembre de 2006
Chuliano_blog :
Y listo!!
Por gonzalo el 05 de Diciembre de 2006
ayuda
porfavor
_global.SW = Stage.width;
_global.SH = Stage.height;
_global.SWsur2 = SW / 2;
_global.SHsur2 = SH / 2;
Stage.scaleMode = "exactFit";
//----------------------------------------------
MovieClip.prototype.chargement_jpg = function(jpg, couleur, larg, haut) {
var cible = this.dest;
cible._alpha = 0;
cible.loadMovie(jpg);
var id = setInterval(function (mc) {
var d = mc["dest"];
if (d._width > 0) {
clearInterval(id);
d.memw = d._width;
d.memh = d._height;
d.proportion = (d._width / d._height);
d._width = Math.floor(mc._w0 * 2);
d._height = Math.floor(mc._h0 * 2);
d._alpha = 99;
with (d) {
lineStyle(4, 0x444444, 80);
moveTo(this._x memw 1, this._y - 1);
lineTo(this._x memw 1, this._y memh 1);
lineTo(this._x - 1, this._y memh 1);
lineStyle(4, 0xaaaaaa, 80);
lineTo(this._x - 1, this._y - 1);
lineTo(this._x memw 1, this._y - 1);
}
// --------------------
mc._alpha = 99;
mc._width = mc._w0;
mc._height = mc._h0 * 1.5;
mc.onPress = cliquer;
// mc.onRelease = relacher;
// mc.onReleaseOutside = relacher;
//--------------------
} else {
var pourcent = (d.getBytesLoaded() / d.getBytesTotal());
mc._width = pourcent * mc._w0;
mc._height = pourcent * mc._h0 * 1.6;
}
}, 100, this);
};
// -----------------------------------------------------
MovieClip.prototype.cliquer = function() {
_global.memoire.swapDepths(0);
_global.memoire.relacher();
if (_global.memoire != this) {
_global.memoire = this;
//---------------------
delete this.onEnterFrame;
//---------------------
var grossissement_V = SH * .9;
var grossissement_H = grossissement_V * this.dest.proportion;
var positiont_V = SHsur2 * 1.1;
//---------------------
this._alpha = 99;
this.swapDepths(_root.niveau );
//---------------------
var x_deb = this._x;
var y_deb = this._y;
var dis_x = (SWsur2 - x_deb) / 2;
var dis_y = (positiont_V - y_deb) / 2;
var vitesse = Math.PI / 20;
var angle = -Math.PI;
var limite = -Math.PI / 3.3;
var decalage = Math.PI / 6;
//------------------------------------
this.onEnterFrame = function() {
angle = vitesse;
s = 1 Math.cos(angle - Math.sin(angle - decalage));
this._x = x_deb s * dis_x;
this._y = y_deb s * dis_y;
this._width = (grossissement_H - this._width) / 5;
this._height = (grossissement_V - this._height) / 3;
//---------------------
if (angle >= limite) {
this._width = grossissement_H;
this._height = grossissement_V;
delete this.onEnterFrame;
}
};
}
};
// -----------------------------------------------------
MovieClip.prototype.relacher = function() {
delete this.onEnterFrame;
this.onEnterFrame = function() {
this._width = (this._w0 - this._width) / 4;
this._height = (this._h0 - this._height) / 4;
this._x = (this._x0 - this._x) / 4;
this._y = (this._y0 - this._y) / 4;
if (this._yscale < 70) {
this._width = this._w0;
this._height = this._h0 * 1.5;
this._x = this._x0;
this._y = this._y0;
this._alpha = 50;
delete this.onEnterFrame;
}
};
};
// -----------------------------------------------------
MovieClip.prototype.allons_y = function(tableau) {
var L = SW / (tableau.length 2);
L = Math.floor(L * .9);
var M = L 5;
for (var i = 0; i < tableau.length; i ) {
clip = _root.createEmptyMovieClip("cadre" i, i);
clip.onLoad = function() {
//--------------------
this._alpha = 30;
this.lineStyle(4, 0, 20);
this.moveTo(-(L 2), L);
this.lineTo(M, L);
this.lineTo(M, -(L - 3));
// --------------------
this.moveTo(M, -L);
this.lineStyle(0, 0x999999);
this.beginFill(0xfff6f0, 100);
this.lineTo(-M, -L);
this.lineTo(-M, L);
this.lineStyle(0, 0);
this.lineTo(M, L);
this.lineTo(M, -L);
this.endFill();
//--------------------
this._x0 = (1.2 * (i 1)) * L;
this._y0 = L;
this._x = this._x0;
this._y = this._y0;
//--------------------
this._w0 = L 3;
this._h0 = L - 5 3;
this._width = this._w0;
this._height = this._h0;
//--------------------
this.createEmptyMovieClip("dest", i 200);
//--------------------
this.dest.onLoad = function() {
this._x = -L - 3;
this._y = -L 2;
var ladress = tableau[i] "?" random(99999);
var ladress = tableau[i];
this._parent.chargement_jpg(ladress, 0xff8800, 20, 50);
};
this.dest.onLoad();
};
clip.onLoad();
}
};
//------------------------------------------------------
niveau = 10000;
//------------------------------------------------------
_global.fichier = [];
_global.repertoire = "http://www.colocolo.cl/imag/galeria/";
//------------------------------------------------------
fichier[0] = "46823.jpg";
fichier[1] = "21703.jpg";
fichier[2] = "17054.jpg";
fichier[3] = "42923.jpg";
fichier[4] = "35966.jpg";
fichier[5] = "83920.jpg";
fichier[6] = "42340.jpg";
fichier[7] = "74358.jpg";
fichier[8] = "80459.jpg";
fichier[9] = "52801.jpg";
fichier[10] = "70370.jpg";
fichier[11] = "62648.jpg";
fichier[12] = "63990.jpg";
fichier[13] = "8872.jpg";
fichier[14] = "73911.jpg";
fichier[15] = "29246.jpg";
fichier[16] = "38642.jpg";
fichier[17] = "36955.jpg";
fichier[18] = "80253.jpg";
fichier[19] = "11233.jpg";
fichier[20] = "9308.jpg";
fichier[21] = "63305.jpg";
fichier[22] = "57109.jpg";
/**/
for (var i = 0; i < fichier.length; i ) {
fichier[i] = repertoire fichier[i];
//trace(fichier[i]);
}
_root.createEmptyMovieClip("phototheque", 0);
phototheque.allons_y(fichier);
//------------------------------------------------------
stop();
//------------------------------------------------------
Por nestorrente el 05 de Diciembre de 2006
Por GONZALO el 06 de Diciembre de 2006
yo lo aplico
pero no me deja abrirse dentro de otro flash
Por Luciano Crescente el 04 de Enero de 2007
Cuando levantas con el html index el swf contenedor y lo decompilas te encuentras con el codigo tal cual, pero sin decodificar.
Asi lo hice yo, asi lo use, pero ahora ese cliente no lo tengo mas online, donde me haga un tiempo subo los fla. de todos modos busquen info, esta minado, Suere! Feliz ano 2007!
Por Cam el 24 de Enero de 2007
Por Reyes rojos el 08 de Marzo de 2007
2º OH utilizando ColdFusion
si alguien me entendio....me salio..
no puedo agarrarlo..ni yo
SI HAY MANERAS:::NADA ES IMPOSIBLE, MAS VEAN EN LA WEB DE ADOBE
Por Deuchts el 08 de Marzo de 2007
Por fernando el 17 de Marzo de 2007
Por Aleksander el 19 de Abril de 2007
Gracias....
Por reycar el 27 de Abril de 2007
Por reycar el 27 de Abril de 2007
Por Plus el 14 de Mayo de 2007
Por Plus el 14 de Mayo de 2007
eso de que te quieras copiar la animacion esa es muy sencillo.
1.- bajate un descompilador(el sothink esta muy bueno)
2.- copia la direccion donde esta la animacion.
3.- Cierra todas las ventanas de internet
4.- borra todos los archivos temporales
5.-abre una nueva ventana de IE y pega y entra en la barra de direcciones el enlace de la pagina del N.1(la animacion)
6.- ve a archivos temporales, ya que estes en esta carpeta solo apareceran todos los archivos de la pagina que estas viendo. de esa manera ya puedes jalar todos los SWF y despues descompilarlos con Sothink blablabala, y editarlos
Por mario300 el 15 de Mayo de 2007
Por christian chena el 11 de Junio de 2007
Por Lexas el 09 de Julio de 2007
Por Sbygxl el 19 de Julio de 2007
Por Arturo el 19 de Julio de 2007