Hacking: Programa para descargar los vídeos de atresplayer.com (la Sexta, Antena 3, etc) a tu PC en calidad HD. Introducción

kappa

Hace unos cuantos meses, cansado de los fallos y la mala interfaz de la plataforma de vídeos atresplayer.com, decidí investigar sus tripas con la única finalidad de crearme un script para descargar los vídeos (uso personal) y así, poder verlos sin publicidad y sin tener que utilizar flash, registrarme o simplemente pagar.

Aunque ultimamente solo publico temas relacionados con electrónica, mi profesión es informático y encontrar vulnerabilidades en sitios web se ha convertido en algo que me cuesta más bien poco.

Cuando vivía en España nunca fui un gran consumidor de TV, prefiero ver vídeos “on demmand” en Youtube, Vimeo o cualquier otra plataforma de vídeos y elegir que quiero ver. Al vivir en Japón desde hace unos años, la única opción viable que tengo de ver televisión de Españistan es simplemente online.

Sería normal y deseable que las plataformas online de los principales grupos mediáticos de televisión de España permitiesen ver los programas en abierto online y gratis, incluso poniendo publicidad para financiarse de la misma manera que lo hacen con la televisión clásica. Incluso, sería deseable que tomasen nota de lo que hace, por ejemplo, “Ilustres Ignorantes” de Canal Plus y publicasen los programas en plataformas como Youtube. Al fin y al cabo también lo podrían monetizar con el partnership de Youtube.

Pero no, a los de atresplayer.com les gusta más abrir su plataforma inicialmente para generar tráfico y poco a poco van cerrándola hasta el punto de tener que pagar suscripción de 3 o 4 euros por ver por ejemplo, uno de sus telediarios. De hecho, a día de hoy han cerrado completamente todo y tienes que estar registrado y pagar para ver lo que sea. Se van a estrellar ellos solitos al igual que les está ocurriendo a los periódicos digitales y sus mafiosas leyes de prohibir links. Internet no funciona así amigos mios. Si queréis tráfico y dinero, cambiar vuestro modelo de negocio.

Antes de que tuvieras que pagar sí o sí, la gran mayoría de vídeos y programas se podían ver en abierto con publicidad, pero constantemente fallaba. Podías ver la misma publicidad hasta 10 veces seguidas para luego cortarse el vídeo, te bloqueaban si tenías activo extensiones como AdBlock y solo funcionaba con Flash. De hecho, la alternativa era instalarse la app de Android o Iphone y registrarse para poder ver los vídeos de manera decente (aunque la app de Android petaba de tanto en tanto).

Cansado de todo esto, pensé en que tal vez, alguien ya habría creado algún programita para descargar los vídeos y de hecho, encontré dos o tres proyectos de gente que llegó a romper los tokens de seguridad que se utilizaban para acceder a las url de origen de los servidores de streaming, pero el equipo de abogados de atresmedia rápidamente se encargo de enviarles unos bonitos “Cease and desist” para acojonarlos y que cerrasen sus webs y/o borrasen cualquier rastro de código fuente de sus aplicaciones, Eran residentes en España y ya se sabe lo mafiosos que son estos grupitos con los derechos de autor. Queda por ver si hubiesen podido actuar contra alguien que no aloja vídeos con copyright sino que simplemente crea aplicaciones que aprovecha vulnerabilidades creadas por la ignorancia de los webmasters de atresplayer.com

Como era de esperar, tras el cese de estas webs y aplicaciones, los desarrolladores de atresplayer.com se habían apresurado a cambiar los algoritmos de generación de tokens, por lo que o, con paciencia y alevosía los rompía o intentaba encontrar alguna otra vulnerabilidad a modo de bypass para llegar al origen de la fuente de los vídeos (a lo legal para entendernos).

Tras buscar y buscar URLs con ciertos patrones y analizar el orden y origen de las llamadas a URLs desde distintos navegadores Web de escritorio con distintos User-Agent y analizar todo el tráfico generado por las apps de Android y iPhone, acabé encontrando como llegar a la fuente de los vídeos. Lo mejor de todo es que no necesito ni generar tokens ni romperles ningún código.

Simplemente haciendo unas simple peticiones HTTP GET y cogiendo unos valores de aquí y de allá para generar nuevas URLs, finalmente acabo obteniendo la URL de la fuente del vídeo.

El problema es que la fuente de los vídeos no son URLs en las que descargar directamente un fichero mp4 o parecidos, sino que son URLs de servidores de streaming en formato f4m (Flash Media Manifest de Adobe HTTP Dynamic Streaming) o bien, archivos Manifest de Microsoft Smooth Streaming. Ambos formatos servidos desde 3 subdominios diferentes mediante Wowza Media Server.

Originariamente y como tenía la intención de utilizar el script para mi solito, desarrollé dicho script en PHP-cli, que permite desarrollar scripts en PHP para la linea de comandos en vez de para la web. Gracias a esto, podía ejecutar este script pasándole como parámetro la URL de la página web de atresplayer.com y obtener de manera inmediata los diferentes orígenes del vídeo, o dicho de otro modo, las URL directas a los archivos manifest.

Por otra parte, necesitaba desarrollar o ejecutar otro script o programa que me parseara e interpretara los archivos manifest de los orígenes de los vídeos para descargar el vídeo directamente, y tras mucho buscar, dí con una solución también escrita en PHP-cli llamada K.S.V Adobe HDS, que pasándole como parámetro un manifest f4m, lo analizaba y descargaba el vídeo como un archivo con extensión flv. !Bingooo!

Estos dos scripts (el hecho por mi que calcula la URL de origen del video y el parseador de vídeos en formato f4m de K.S.V) los llevo utilizando desde hace algunos meses para mi uso personal y lo cierto, es que funcionan en el 99% de todos vídeos de atresplayer.com, aunque no funcionan para los directos, ya que utilizan otros formatos de vídeo.

Hace un par de semanas y tras ver el giro repentino y descarado de los administradores de atresplayer.com, he decidido darle una vuelta de tuerca a los scripts y ponerlos a disposición del gran público pero con algunas mejoras.

Por una parte he reescrito los dos scripts de PHP-cli a C# para convertirlos en un ejecutable multiplataforma. Es decir, que funcionará tanto en Linux con Mono Project como en Windows con el .Net Framework que ya está instalado por defecto. Para Mac creo que existe una versión de Mono (lo siento pero Apple me da bastante grima). Por ahora, funcionan con una interfaz gráfica en línea de comandos (al viejo estilo). En el futuro ya crearé alguna interfaz más vistosa en Gtk# o basada en web con Gecko embedido (ya veremos).

Por otra parte he ofuscado el código al máximo y separado parte de la funcionalidad en una API HTTP al que el programa llama para autoactualizarse y para obtener diferentes datos. Todo con la finalidad de controlar el programa para ir actualizándolo con mejoras.

El programa será colgado en una web ajena a esta durante los pr’oximos y ya explicaré como funciona con alguna entrada, wiki o vídeo, aunque es bastante simple e intuitivo. La idea es que en un futuro la aplicación sirva para descargar vídeos de diversas fuentes como Youtube, Vimeo, Dailymotion y otras plataformas de video en general.

ACTUALIZACION

El programa ya esta disponible online. Más info en el siguiente post.

Por otra parte y como nota legal, deciros que bajo ningún concepto se os ocurra publicar en Internet vídeos con copyright descargados con esta aplicación ya que la publicación de contenido con copyright es un delito. Asimismo, deberías utilizar esta aplicación solo con fines educativos y de demostración de la mala implementación y falta de seguridad de la plataforma atresplayer.com

IMPORTANTE

Para estar al día de todas las novedades y actualizaciones de Kappa VDH, he creado una página dedicada a este fin. https://www.vispo.org/kappa/

Si te ha gustado y quieres compartir esta página..