"Después del juego es antes del juego"
Sepp Herberger

martes, 14 de febrero de 2017

Obtener la versión de un fichero libflashplayer.so

Estos días he estado liado con Flash Player para hacer funcionar un libro digital de Oxford, de esos que necesitan una versión concreta en una ubicación concreta para tirar sin problemas.

Llega un momento en que tienes varios libflashplayer.so de distintos orígenes dando vueltas y no sabes la versión y arquitectura de cada cual. Podemos meterlos uno a uno en el directorio /usr/lib/mozilla/plugins o similar, abrir firefox e irnos a about:plugins para saber la versión, pero es un poco tedioso.

Recordé que en Debian había un script llamado /usr/sbin/update-flashplugin-nonfree, que actualizaba libflashplayer.so si la versión de la web de Adobe era superior a la instalada. Lo he localizado en packages.debian.org y he podido localizar dentro el fragmento de código que extrae la versión de Adobe Flash del fichero .so:
# strings libflashplayer.so 2> /dev/null | grep LNX | cut -d ' ' -f 2 | sed -e "s/,/./g"
24.0.0.194
Sencillo: con "strings" se sacan todos los strings (cadenas ASCII) legibles contenidos en el fichero .so, luego buscamos una línea con el trigrama LNX y detrás está el número de versión de Flash.
Por último, ¿cómo sabemos si es de 64 o 32 bits?. Esta es más sencilla si cabe:
# file libflashplayer.so 
ELF 32-bit LSB.... | ELF 64-bit LSB....
Aprovechando el Grammy a Megadeth pongamos un vídeo suyo para rematar:



Venga, vale, no troleemos al buenazo de Mustaine:

No hay comentarios:

Publicar un comentario