Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



martes, 7 de agosto de 2012

Juegos Flash: Extraer gráficos y música...




Ú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

Nota:
Tambien se puede descargar desde la pagina web http://www.swftools.org/about.html


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
.png

Para extraer el sonido:
swfextract -s 
2709-2746  
battlegear2.swf -o banda.mp3


Espero 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/