domingo, 22 de mayo de 2016

Ya disponible Erosion v.4!

Enlace de descarga aqui.



Han pasado mas de 10 años desde que apareció en 2003 Erosion v.3, un programa que a la vez que simple y lleno de fallos, gano una gran popularidad sobre todo en Youtube.
Este programa esta destinado a cambiar bytes arbitrarios en ROMs y otros archivos con el objetivo de ver como afecta los distintos tipos de corrupción de datos a los archivos en determinados offsets.
Este era el programa antiguo en si:


Solo hace falta buscar en Youtube "Erosion v.3" para ver la cantidad de videos de corrupciones de ROMs realizados con esta utilidad, la cual ademas de su tosca y confusa interfaz (Solo hace falta ver el menu de abrir archivos) estaba lleno de fallos que te cerraban la aplicacion a mitad de progreso obligandote a volver a abrirla y a volver a buscar el archivo en su horrible menu.
¡¡Eso sin hablar de lo lento que era!!
Por suerte todo eso ha acabado. Mejoras y novedades en Erosion v.4:


-Velocidad: ¡Entre 100-1000 veces mas rapido que v.3! Ademas al terminar su trabajo, en vez de abrir una molesta ventana emergente, simplemente notifica con el sonido "ding" de windows.
-Menu de archivos: Utiliza el menu abrir archivo de windows de toda la vida recordando el ultimo directorio abierto. ¡Se agradece bastante!
-Bugs: Gracias a su gestor de excepciones, es practicamente imposible que haga crash. En caso de que un archivo este siendo utilizado, haya sido borrado, o sea de solo lectura, se notifica y se detiene la erosión.
-Log: Mensajes mucho mas completos y posibilidad de borrarlo en cualquier momento.
-CRC32: Permite asegurarnos que hemos elegido un ROM correcto o que no haya sido modificado/erosionado con anterioridad.
-Rango de erosion: ¡Totalmente rediseñado! Las direcciones ahora estan en hexadecimal, como siempre debían haber sido, y empezando en 0x0000. Ademas incluye dos sliders que indican las posiciones relativas del archivo, haciendo la tarea mucho mas visual, sencilla y agradable
-Intervalo de erosion: Ademas de darle un nombre mas entendible (antes era "power") permite especificar los valores entre los que se encuentra el intervalo aleatorio, porque... ¿De que sirve si solo podía ser entre 1 y 4000?
-Nuevos valores del byte: Lo primero es que la funcion de erosionar Long que daba tantos errores y era tan poco util (El programa trabajaba en bytes) ha sido eliminada. La función "Slope" se ha reemplazado por invertir byte, lo cual es bastante util, y la funcion predefined Values, que era demasiado compleja y con muy poca utilidad, se ha reemplazado por una mucho mas util, que son valores aleatorios en un rango.
-Botones: Los botones "Erode" y "Re-Erode" se han fusionado en uno solo evitando confusiones, y creando una interfaz mas limpia. Gracias a la casilla "restore before re-erode" se elije la funcionalidad de este boton.
-Backup: No solo detecta automaticamente si ya existe un backup al abrir un archivo, sino que ademas estos ahora se guardan en el mismo directorio que el .exe con extension *.backup y se ha añadido una opcion para borrarlos dentro del menu "File".
-Menus de ayuda: Totalmente resideñados, son mas breves y sencillos.




lunes, 2 de mayo de 2016

Como ver si un audio mp3 ha sido re-codificado / Descubrir emisoras de radio piratas

No es la primera vez que encuentro un archivo de audio mp3 con un bitrate de 192kbps que al reproducirlo suena como uno de 64kbps. Esto ocurre cuando alguien coge un MP3 a 64kbps y lo recodifica a 192kbps, ya sea porque alguien piense que haciendo eso obtendra mejor calidad (a dia de hoy aun hay gente asi xd) o para "engañar" a los usuarios que descarguen ese audio.
¿Como podriamos saber si un mp3 ha sido recodificado a partir de un mp3 inferior?

Una caracteristica de MP3 (Y de practicamente todos los archivos de audio) es que elimina el espectro de audio que el oido humano no puede oir (o escucha con menor intensidad), en concreto los agudos, y conforme la compresion es mayor, este espectro de audio es menor, llegando a cortar demasiado los agudos a bajos bitrates.

Gracias a la aplicación Audacity podemos visualizar estos espectros, asi que realicé el siguiente experimento:
A partir de un archivo de audio .FLAC (losless, igual que en los CD audio) codifique una misma muestra en MP3 con diversos bitrates, y visualicé los espectros resultantes, que son los siguientes:

Vemos que a partir de un determinado bitrate, se corta a una determinada frecuencia:
19/16,5 kHz (variable) en un mp3 a 192kbps
16,5 kHz en un mp3 a 128kbps
15,5 kHz en un mp3 a 96kbps
11,5 kHz en un mp3 a 64kbps

Entonces... ¿como podemos saber si un audio esta recodificado? Si abrimos un mp3 a 360 kbps y en el espectro vemos que nunca supera los 16,5 khz, podremos deducir que ha sido recodificado a partir de un mp3 a 128kbps.

Como descubrir emisoras de radio piratas:

Con esto me refiero a emisoras de radio que en vez de emitir las canciones en sus CDs originales, las emiten a partir de un mp3 a 128kbps, por ejemplo (pirateado).
Pues bien, para grabar una emisora de radio fm en Audacity conectamos con un cable 3,5mm macho-macho desde la toma de auriculares de una radio a la toma de microfono del ordenador. Si teneis una tarjeta sintonizadora de radio en el ordenador, pues ese esfuerzo que os ahorrais.

Tras 15 minutos grabando el espectro de distintas emisoras de radio me encuentro con una emisora (no diré cual para evitar problemas xd) en la que se oye una canción y veo lo siguiente:

La canción acabó en el minuto 13:40. ¿A que bitrate decis que estaba la cancion mp3 que estaban emitiendo? Comentad ;) El primero que acierte se lleva premio.