martes, 27 de julio de 2010

[Seguridad] Sorpresa con Spotify

Hoy me ha ocurrido algo extraño: me estaba preparando para elaborar un post para el blog sobre cómo practicar de manera segura y legal el Cracking (o ingeniería inversa, en este caso orientada a saltarnos algunas "limitaciones") en Windows mientras escuchaba mi música en Spotify, cuando de repente me quedé sin música. Spotify decidió cerrarse de repente...

Se ve que las otras veces que he estado con el cracking me puse el Winamp y aún no me había pasado esto.Os lo cuento en detalle:

Este es el reproductor Spotify. Es un programa para escuchar música en internet de manera gratuita (o de pago, si no quieres anuncios).



Hasta aqui todo bien, yo estaba feliz oyendo mi música. Cuando me da por abrir OllyDbg, el depurador de programas para hacer los ejemplos de cracking para el blog...



¡Me quedé sin música! (aunque no se vea en la imagen, es así xD). En la imagen se aprecia como tengo aún el icono de Spotify (redondo y verde) en la esquina inferior derecha.

Cuando voy a ver qué le pasa al programa, el icono desaparece... Vale, se ha cerrado. Pues le doy a abirse otra vez (sin cerrar OllyDbg) y ... "A debugger has been found runnig in your system. Please unload it from memory and restart Spotify", es decir, "Se ha detectado un depurador en ejecución. Por favor, descárgalo de la memoria y reinicia Spotify".



Vale, esto ha estado muy guapo, ha detectado mi depurador xD, aunque no tenía intención de usarlo con él... ¡Ahora me ha picao!

Asi que intenté abirlo con OllyDbg para ver que me decía, y me saca algunos mensajes comunicándome que algunas partes del código están cifradas (que no encriptadas) y que puedo obtener un análisis erróneo.




Aún así lo abro y se muestra su código, pero en cuanto le doy a ejecutar... ¡Me echa abajo el debugger!



Me pareció muy curioso todo esto que me estaba pasando y me puse a buscar a ver si alguien se había interesado por este tema. Encontré un análisis bastante completo del problema.

Parece ser que se utiliza una función de conversión de datos que intenta convertir un dato de 80 bits en uno de 64, la unidad encargada de este tipo de datos (FPU) lanza una excepción y al parecer nuestro OllyDbg no está preparado para esto y se cierra. El autor del análisis incluso probó a analizar OllyDbg dentro de OllyDbg y desde éste hacer el mismo proceso, para ver el error... ¡y se cargó a los dos! xD.

En fin, por lo visto a los de Spotify no les gusta que miren su código, ni que oigamos música mientras intentamos crackear algo... Tendré que buscar alternativas.

No hay comentarios: