Comunidad de diseño web y desarrollo en internet online

Encriptar Codigo fuente AS3

Citar            
MensajeEscrito el 22 May 2009 07:32 am
Bueno aki estoy otra vez... una pequeña duda... porque no estoy seguro si se puede hacer...

Se puede encriptar el HTML donde se definen todos los parametros y variables de un reproductor flash y luego cuando el swf busque en el HTML coja los parametros y variables encriptados y los desencripte ???

Esque no estoy muy seguro de esto... si se puede me gustaria que me indiqueis asi un poco por encima como se haria para poder guiame xq es la primera vez que hago esto.

Un saludo y gracias por adelantado. :oops:

Por NiGGa

35 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 May 2009 07:49 am
La idea de encriptar y desencriptar es fácil.
Tenemos un parámetro (imaginemos que es "Hola")
Lo encriptamos para que quede algo distinto, p.e. invierto las letras y queda

Código :

<PARAMS FlashVars="aloH">

y en tu .fla le damos la vuelta

Vale, es la encriptación más penosa que se me ha ocurrido, pero esa es la idea.

En este post de Sidedev tienes algo para abrir boca (es un poco antiguo, pero los fundamentos están bien tratados)

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 May 2009 07:56 am
Eliseo ese tipo de encriptacion ya se me habia ocurrido... y de hecho la tengo puesta. Yo me referia a algo mas de este palo:

http://labs.boulevart.be/index.php/2007/05/23/encryption-in-as2-and-as3/

Aunque al ser novato en AS3 este nivel se me keda muy alto y no se por donde cojerlo... en fin, gracias por responder.

Espero poder hacer algo. Un saludo.

Andres

Por NiGGa

35 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 May 2009 08:10 am
En el post de Sidedev que te indicaba usaba una encriptación HASH (no reversible) y una encriptación AES (reversible). La idea es siempre la misma. Existen librerías que dada una palabra, te la encriptan y otras que, dada una palabra encriptada y una key la desencriptan.
SideDev escribía

Código ActionScript :

   var codec:Rijndael = new Rijndael(192, 128);
   function decryptfile(crypto:String):String{
       return codec.decrypt(crypto, key, "ECB");
    }
    getURL(decryptfile("3e3b9304a675c7fb24be775d4aee65962118be8080270e618204093773374004"),"_blank");

Vamos, siempre vamos a tener una función del estilo "decryptFile" (que nos podemos crear nosotros usar una librería ya hecha)

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 May 2009 08:31 am
Vale... una pregunta basica... como uso una libreria ya hecha??

Yo opto por usar una encriptacion MD5, que viene el paquete de Sideview (MD5.as asi se llama la libreria).

Como no me se explikar bien del todo te dire como lo quiero hacer mas o menos...

Código :

HTML

   AC_FL_RunContent(
                 ...
      'FlashVars', 'varUrl=[i]Nombre del video[/i]' //Aqui solo va el nombre del video, la direccion del servidor la defino en la conexion del reproductor.
                ...
      ); //end AC code


Es ese nombre el que quiero encriptar con MD5.

En el swf coje la variable "varUrl" y la usa para reproducirlo. La cosa seria meter antes el desencriptador para desencriptar el codigo MD5 y pasarselo a otra variable para que lo coja... algo asi:

Código :

   varEncrip =    var urlVideo:String = LoaderInfo(this.root.loaderInfo).parameters.varUrl;
  //Empieza funcion desencriptadora
   e = new Encryption(EncryptionTypes.MD5(), str , null, null, null, null);
   e.calculate();
   trace(”String after MD5 calculation: ” + e.getInput() + “\n”);
  //Hacer que esta funcion me devuelva la variable "varDecript"
   //finaliza funcion
   var urlVideo:String = varDecrip;



Esta es la idea... con que me digas como meter la libreria me vale. El resto supongo que solo es adaptar el codigo a mis necesidades.

Andrés

Por NiGGa

35 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 May 2009 09:51 am
No sé cómo empezar :( así que no se admiten piedras si la explicación no es muy buena.

En un proyecto flash, tenemos diversos archivos .fla y diversos archivos .as. Normalmente, cada "proyecto Flash" estará en un directorio o carpeta(*).

Las librerías que usa Flash son las propias de Flash más las que tengamos en la carpeta

Cuando tenemos un .as, lo primero que veremos escrito es algo como

Código ActionScript :

//si nuestro .as está en la misma carpeta del proyecto
package{
    ......
}

ó

Código ActionScript :

//si, p.e. nuestro .as está en la carpeta directorio2 que está a su
//vez en la carpeta directorio1 que  se encuentra dentro de la carpeta del proyecto 
package directorio1.directorio2{
    ....
}


Vale, NO tenemos que escribir un import si el .as está en el directorio de trabajo, pero si lo tenemos en directorio1/directorio2 deberemos escribir

Código ActionScript :

import directorio1.directorio2.Clase


Vale, hasta ahora he dicho que podemos tener .as tanto en la carpeta de trabajo, como en subcarpetas dentro de la carpeta del proyecto. Pero NO es cierto. Podemos tener los .as donde queramos. De hecho se suele tener en algúna carpeta diversas librerías reutilizables. Imaginemos que las tenemos en
c:/flash/utils

En nuestro proyecto Flash le tendremos que decir que usamos librerías de ese directorio. Una vez indicado ese directorio ya podremos hacer como antes.
Si nuestro .as es simplemente

Código ActionScript :

package{
  ...
}

deberá estar en c:/flash/utils
si nuestro .as es

Código ActionScript :

package directorio1.directorio2{
...
}

deberá estar en c:/flash/utils/directorio1/directorio2.

puff

Vale, si has logrado leer hasta aquí te mereces una respuesta concreta a tu problema. Puedes
1.-Modificar el fichero MD5.as de modo que el package sea simplemente

Código ActionScript :

package{
....resto del código...
}

y poner el MD5.as en el directorio de trabajo
2.-fijarte qué es lo que pone detrás de package, si pone, p.e.

Código ActionScript :

package hobbelt.ciphers {
     ....
}

deberás crearte las carpetas hobbelt y, dentro de ella, la carpetaciphers (dentro de tu directorio de trabajo) y escribir al principio de tu película Flash

Código ActionScript :

import holbbelt.ciphers.*

3.-Si no lo quieres poner dentro de tu directorio de trabajo, ponerlo en cualquier otro sitio y decirle a tu proyecto flash que busque las librerías desde allí
4.-Puedes cambiar a gusto los directorios siempre que le cambies el nombre del "package"


(*)Hablo de directorio por costumbre. Antes de Windows teníamos directorios y ficheros (que era el "spanglish" de directory y files que venía a su vez de las instrucciones DIR y FILES de mi querido MS-DOS -hijo de CMP del que para haber trabajado con él tienes que tener unos cuantos añitos-)
Vale, llegó Windows y a los directorios se les tuvo que llamar "carpetas" y a los ficheros se les llamaron "archivos" (por un deje romántico sigo manteniendo lo de directorio)

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 May 2009 10:12 am
Aunque solo tengo 18 años he trabajado con MSDOS... y la primera vez que lo use me lo cargue... xD

Bien he entendido como importar librerias, trankilo xD

Ahora queda un tema... pasarle la variable encriptada y desencriptarla...

Le he preguntado a mi querido jefe pero me ha dicho que no tiene ni idea, que me las apañe... como si fuera tan facil xD

en fin... espero salir de aki vivo... con el lap en la basura xD

Gracias Eliseo

Por NiGGa

35 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 May 2009 10:45 am
para pasarle la vriable, con parameters tal y como hacías en tu propio post

Decía que no habías trabajado con CPM: el sistema operativo que Bill Gates copió, cambiándole el nombre a MS-DOS :)

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 May 2009 10:50 am
Eso si... pero es que un lio...

no se por donde cojerlo, las archivos .as que he cojido me dan errores :S

Yo solo kiero la manera de pasarle una variable encriptada y que la desencripte... ya me da igual que MD5 o hash o lo que sea...

He intentado con las librerias, poniendo directamente las funciones del as en el swf y nada... :(

Por NiGGa

35 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.