Últimamente he visto varios juegos tipo flash, y algunos, con buenos gráficos y banda sonora...
He estado buscando la forma de poder "extraer" la información del juego...estos son los pasos a seguir:
1º Paso: Descargar el juego
1.1) Usar el navegador Firefox, abriremos la página que contenga el juego flash que queremos descargar, esperar que se descargue completamente y debemos apretar el botón derecho del mouse en cualquier parte de la página alrededor del juego. Al hacer esto se desplegará un menú donde deberemos hacer click sobre la opción “ver información de la página”
1.2) Al hacer click sobre la opción anterior aparecerá el menú de la siguiente imagen donde deberemos hacer click en la pestaña “medios”
1.3) Aparece una lista de componentes entre los cuales deberemos encontrar un archivo de extensión .swf que puede ser clasificado como “objeto” o “anidado” o "embed" según como esté programada la pagina web. En este caso el juego aparece como "embed".
Cuando encuentres el juego flash ( .swf) en la página hacemos click sobre él y se sombrea.
1.4) El paso final consiste en apretar el botón “Guardar Como” (en mi caso "Save As") que aparece abajo a la derecha y escoger el sitio donde descargaremos nuestro juego flash favorito.
2) Instalar la aplicación swftools
Este programa es un conjunto de herramientas que nos ayudaran a trabajar con ficheros flash, el linux.
Lo descargamos, descomprimimos y compilamos:
wget http://swftools.org/swftools-0.9.0.tar.gz
tar -zvxf swftools-0.9.0.tar.gz
sudo ./configure
sudo make
sudo make install
3) Decodificando:
La herramienta que usamos se llama swfextrac (que se instala cuando instalamos swftools).
Es muy sencilla de usar, por ejemplo, para que nos de información sobre el fichero flash:
swfextract nombre_juego.swf
En mi caso:
swfextract battlegear2.swf
Genera una salida como esta (o mayor, según las imágenes contenidas en el juego):
Objects in file battlegear2.swf:
[-i] 1264 Shapes: ID(s) 1, 3, 6, 14
[-i] 835 MovieClips: ID(s) 2, 4, 7, 11
[-j] 689 JPEGs: ID(s) 5, 13, 133, 153
[-p] 38 PNGs: ID(s) 157, 291, 359, 511, 680, 681, 683, 701, 702, 744, 747, 843, 931, 990, 1037, 1039, 1138-1140, 1148, 1198, 1200, 1202, 1204, 1206, 1504, 1639, 1640, 1856, 2238, 2240, 2242, 2474, 2475, 2508, 2510, 2516, 2648
[-s] 38 Sounds: ID(s) 2709-2746
[-f] 1 Frame: ID(s) 0
[-m] 1 MP3 Soundstream
Para ayudarte a entender la información, puedes ver la ayuda de swfextract usando el parametro -h
# swfextract -h
Usage: swfextract [-v] [-n name] [-ijf ids] file.swf
-v , --verbose Be more verbose
-o , --output filename set output filename
-V , --version Print program version and exit
SWF Subelement extraction:
-n , --name name instance name of the object (SWF Define) to extract
-i , --id ID ID of the object, shape or movieclip to extract
-f , --frame frames frame numbers to extract
-w , --hollow hollow mode: don't remove empty frames
(use with -f)
-P , --placeobject Insert original placeobject into output file
(use with -i)
SWF Font/Text extraction:
-F , --font ID Extract font(s)
Picture extraction:
-j , --jpeg ID Extract JPEG picture(s)
-p , --pngs ID Extract PNG picture(s)
Sound extraction:
-m , --mp3 Extract main mp3 stream
-s , --sound ID Extract Sound(s)
Por ejemplo, para extraer una imagen:
swfextract -p
359
battlegear2.swf -o
359
.pngPara extraer el sonido:
swfextract -s
2709-2746
battlegear2.swf -o banda.mp3Espero que os sea útil... Saludos.
Nota:
Ir descargando archivo por archivo, es un poco "paliza", en la próxima entrega mostraré un programa realizado en gambas para la extracción completa de todas las imágenes y sonidos.
Fuentes:
http://www.taringa.net/posts/hazlo-tu-mismo/5692923/como-descargar-juegos-flash.html
https://designbye.wordpress.com/2010/02/23/installing-swftools-and-pdf2swf-on-ubuntu-linux/
http://www.glatelier.org/2011/01/destripando-instants-chile-get-prueba-de-concepto/