Mostrando entradas con la etiqueta Manos a la obra. Mostrar todas las entradas
Mostrando entradas con la etiqueta Manos a la obra. Mostrar todas las entradas

viernes, 17 de junio de 2016

Cómo escuchar los podcasts y música de tu iPhone a través del manos libres del coche

Todos los días estoy más de una hora en el coche, conduciendo hacia/desde mi trabajo. Me gusta aprovechar ese tiempo escuchando algo, ya que se trata aproximadamente del 6% del tiempo que estoy despierto los días de diario, y no me gusta la sensación de estar perdiéndolo. Normalmente voy escuchando la radio, pero en ocasiones me apetece escuchar otras cosas sobre ciencia, tecnología, etc. La mejor forma de escuchar este tipo de contenidos es a través de PodCasts.
Llevaba tiempo preguntándome si existiría la posibilidad de poder escuchar estos PodCasts que tengo en mi iPhone, directamente a través del manos libres del coche, pero hasta ahora no me había puesto a intentarlo.
Ayer, después de un rato buscando y probando aplicaciones, encontré una gratuita con la que he conseguido hacerlo. Esta aplicación, llamada AudioOverHFP, te permite escuchar cualquier audio de tu iPhone directamente a través del manos libres del coche (en realidad "engaña" al manos libres del coche para hacerle creer que estás recibiendo una llamada de teléfono, cuando en realidad estás escuchando el sonido del iPhone).
Es muy fácil de utilizar, una vez conectados con el manos libres del coche a través de Bluetooth, sólo tenéis que abrir la aplicación, activar la casilla "A2DP Blocker", seleccionar el manos libres del coche, y a partir de entonces podéis reproducir Podcasts o Música desde las aplicaciones nativas del iPhone a través de éste.

En este enlace podéis descargaros la aplicación, espero que a alguno os sea de utilidad (si es así, dejad un comentario ;-)

miércoles, 9 de marzo de 2011

Recuperando archivos cifrados de una partición NTFS con EFS (Encrypted File System)

Ayer me dejaron un portátil que no arrancaba, para que tratase de arreglarlo. Había que intentar no perder los datos si era posible, porque su dueño tenía ahí todas sus fotos y vídeos personales, y como siempre, no tenía copia de seguridad (Me recuerda la frase "hay dos tipos de usuarios de ordenadores: los que han perdido datos, y los que los perderán".
El disco duro tenía dos particiones, una con las aplicaciones instaladas y otra con los datos de usuario (escritorio, documentos, fotos, etc.). Windows XP comenzaba a arrancar, pero en mitad del arranque el portátil se reiniciaba sólo.
Intenté varias cosas como restaurar el MBR desde la consola de recuperación de Windows, y también arranqué el ERD Commander para verificar que los ficheros seguían ahí. ERD Commander te permite "Restaurar el sistema a un estado anterior", pero desafortunadamente estaba desactivado este sistema en Windows XP, por lo que no había backups anteriores del sistema.
Sin embargo, desde ERD Commander pude ver que los datos seguían ahí y podía acceder a ellos. Así que decidí sencillamente borrar la partición del sistema, formatearla con NTFS (rápido), crear una nueva y reinstalar Windows XP en ella.
Cuál fue mi sorpresa cuando, una vez reinstalado el sistema operativo, me dí cuenta de que podía ver los ficheros de la partición de datos, pero no podía acceder a ellos (aparecían con un color verde en el explorador de Windows).
Comencé a investigar por qué aparecían los ficheros en color verde, y entonces descubrí lo que desconocía: El Encrypting File System. Resulta que en un sistema de ficheros NTFS se pueden tener carpetas y archivos encriptados, de manera que alguien puede acceder a los ficheros pero su contenido no se puede descifrar sin una clave de desencriptado, que Windows almacena en su partición del sistema (la que yo acababa de formatear).
Después de muchas investigaciones, pude hacerme con la herramienta Advanced EFS Data Recovery, que busca los archivos encriptados y trata de desencriptarlos, buscando también los ficheros de Windows con la clave.
Sin embargo, como yo había formateado la partición, el wizard que trae la herramienta para buscar las claves de desencriptación no funcionó. Tuve que entrar en el modo experto, el cuál incorpora una opción (sólo a partir de la versión 4) para poder examinar a nivel de sector físico el disco duro, buscando posibles claves. Tuve suerte, ya que al formatear la partición con el modo "rápido" el contenido no se borra físicamente del disco duro, así que el programa encontró las claves de desencriptación y pude recuperar las fotos del dueño.

  • Nota importante: El programa, en su versión "Trial", aunque parece que ha desencriptado bien los ficheros no lo hace, ya que como te avisa en un mensaje, sólo desencripta los primeros 512 bytes de cada archivo (el resto lo rellena a ceros). Si adquieres una licencia puedes desencriptar los ficheros completos.

Espero que os sirva de ayuda si alguna vez os encontráis con este tipo de ficheros "marcianos" mostrados en verde.

jueves, 24 de febrero de 2011

Mi primer análisis forense: recuperando fotos borradas de un iPhone


Estos días me he enfrentado con un amigo a un reto apasionante a la vez que estresante. Alguien había borrado unas fotos importantes de un iPhone 4, y necesitaba recuperarlas. La historia ha sido toda una odisea, aquí os cuento los pasos que dimos (se hizo todo en cuatro tardes/noches, no teníamos más tiempo e íbamos contra-reloj).

Fase 1: Jailbreak y Dump de disco
Lo primero que se hizo fue un Backup del iPhone utilizando iTunes, por si se perdían el resto de datos intentando recuperar las fotos borradas.
Después de investigar sobre el tema, se decidió proceder a realizar un jailbreak del iPhone, para intentar volcar todo el contenido de su disco interno y así tratar de recuperar las fotos.
Se realizó el jailbreak utilizando cynthia y nos conectamos a él según se indica aquí, es decir, montando un servidor ssh en el iPhone y conectándonos a él por Wifi (aquí está bien explicado, la password de root es alpine).
Como no conseguimos volcar toda la imagen de disco por Wifi (se desconectaba cuando llevaba unas megas), realizamos un tunnel para conseguir el volcado a través de USB.
Con esto se consiguió volcar el contenido de la partición de usuario (unos 15 Gb) a una imagen iso, y aquí comenzó la segunda fase.

Fase 2: Abrir la imagen de la partición e intentar recuperar las fotos
Una vez que teníamos la imagen de la partición, estuvimos viendo cómo poder abrirla e intentar recuperar las fotos. Después de investigar bastante, descubrimos que la partición está en formato HFS+, por lo que puede montarse en un Linux y tratar de recuperar los datos de ahí.
Probamos decenas de utilidades para tratar de recuperar las fotos borradas, pero ninguna era capaz de hacerlo. Entre otras muchas, probamos con photorec, sleuthkit y autopsy, pero lo más que conseguimos fue sacar los ficheros ya existentes. También conseguimos sacar archivos existentes utilizando HFSExplorer en Windows, montando la imagen como si fuese un disco. Sin embargo, al examinar alguno de los ficheros que habíamos sacado (fotos que no se habían borrado), vimos que no se podían abrir. Hicimos también una aplicación en Java que fuese mirando sector a sector (cada 512 bytes), buscando la cabecera típica de los archivos JPG, pero no encontramos nada. Y no encontramos nada por lo mismo que no se podían abrir los archivos que extrajimos con autopsy o HFSExplorer, y es que el iPhone 4 encripta por hardware el contenido de todos los ficheros que almacena en el disco, por lo que aunque consigas sacarlos no hay manera de desencriptarlos. Se explica así en este thread, en el que se dice que tiene que ver con un sistema de encriptado hardware, y un archivo llamado "".
En este momento desistimos de tratar de recuperar las fotos borradas, porque aunque fuésemos capaces de extraerlas de la imagen del disco que habíamos hecho, no habría forma de desencriptarlas. ¿Y ahora qué?

Fase 3: Recuperar los thumbnails de las fotos
Como no podíamos recuperar las fotos borradas, pensamos que tal vez pudiésemos recuperar los thumbnails (las miniaturas) de las fotos que almacena el iPhone en su caché, y que milagrosamente no hubiese refrescado estas miniaturas después de borrar las fotos (se apagó el teléfono justo después de borrarlas). Buscando con el HFSExplorer en la imagen de la partición de usuario, encontramos dos archivos que podrían contener lo que buscábamos, los ficheros "120x120.ithmb" y "158x158.ithmb", además del fichero "thumbnailconfiguration" según se muestra en esta imagen:
Recuperamos esos tres ficheros de la imagen, pero al igual que el resto de ficheros que habíamos logrado extraer estaban encriptados. Sin embargo ya sabíamos dónde estaban los ficheros que queríamos, así que pensamos que tal vez conectándonos por ssh al iPhone y utilizando scp para traernos los ficheros, el iPhone se encargase de dárnoslos ya desencriptados. Y así fue, ya que trayendo los ficheros de los thumbnails por ssh vimos que el fichero thumbnailconfiguration estaba en formato legible (xml), y contenía esto:
¿Pero en qué formato estaban los archivos con extensión ithmb?

Fase 4: Recuperar las fotos a partir de los thumbnails
Buscamos en cientos de sitios para saber cómo convertir el fichero ithmb a jpg o a algún formato de fotos legible, pero no hubo manera (ni siquiera con aquellos programas como iThmbConv.exe que prometían hacerlo). ¿Y ahora qué? ¿En qué formato está un archivo con extensión ithmb y cómo conseguimos abrirlo para ver las fotos?. La pista nos la dio este post en el que un tipo prometía que había conseguido abrir un fichero de thumbnails con photoshop, tratándolo como un fichero raw con 16 bits de profundidad de color.
Hicimos una primera prueba, intentando abrir el archivo "158x158.ithmb" con las siguientes opciones:
Parece que nos íbamos acercando, porque aunque no se veía mucho, en lo que apareció se podía distinguir una imagen desplazada:
Parecía claro que el ancho no era 158, pero se aproximaba. Después de muchas otras pruebas abrimos la imagen con 160 píxels de ancho y apareció ante nosotros la primera imagen visible. ¿Y dónde estaban las otras?. Cambiamos el alto a 10000 pixels y empezaron a aparecer el resto de imágenes, unas debajo de otras, pero aparecían cada vez más desplazadas hacia la derecha:
Nos dimos cuenta de que esto era porque entre imagen e imagen parecía haber una cabecera, que era lo que hacía que la siguiente foto apareciese desplazada. Entonces hicimos un programa en Java para tratar el fichero ithmb y quitarle esas cabeceras. Después de mucha prueba y error (y de mucho visor hexadecimal para tratar de ver los patrones entre fotos) conseguimos eliminar las cabeceras con este pequeño programa en Java:


Y así, después de procesar el fichero raw con este programa, conseguimos quitar el ruido de los thumbnails y abrir el archivo con Photoshop, que por fin nos mostró todas las fotos colocadas unas debajo de las otras:


Y con esto, por fin, conseguimos recuperar las (miniaturas de) las fotos que se habían borrado. Fue suficiente con las miniaturas, pues tienen un tamaño de 158x158 pixels, con lo que se apreciaba bastante bien el contenido de las fotos:

Toda una odisea, pero después de muchos quebraderos de cabeza, dos noches casi sin dormir, cerca de treinta herramientas probadas, dos programas en java y un entendimiento preciso del sistema de ficheros HFS+... PRUEBA SUPERADA!

martes, 15 de febrero de 2011

Vídeo: Tareas cotidianas hechas mucho más rápido

Cómo atarse los cordones en dos segundos, pelar una patata instantáneamente o quitarte la camiseta en un abrir y cerrar de ojos.

Visto aquí.

viernes, 28 de enero de 2011

Aprendiendo chino mientras conduces, con los podcasts de chinoesfera.com

Este verano voy a viajar a China (cerca de Macau), así que a finales de noviembre pensé que tal vez podría aprender algo de chino hablado (el escrito lo veo más difícil). Como no tengo demasiado tiempo, pensé en buscar algún tipo de curso en mp3 para escuchar en el coche mientras conduzco (paso una hora y media al día conduciendo).
Buscando por la web, me encontré con Chinoesfera, y los Podcasts que publican en sus distintos niveles me parecen de una calidad excelente. Los cursos son en Español, y el profesor (Jorge, al menos en el nivel pre-inicial) es bastante bueno explicando.
Los podcasts se pueden descargar en mp3 (previo registro gratuito) y están divididos en cinco niveles (Pre-inicial, inicial, básico, intermedio y avanzado). Cada capítulo viene acompañado por un PDF con lo que se aprende en ese capítulo (aunque no es necesario tener el PDF delante para seguirlo bien).

Llevo un par de meses aprendiendo, y voy por el capítulo 15 del nivel Pre-inicial (escucho tres o cuatro veces cada capítulo). Si pasáis algo de tiempo al día en el coche, tal vez os interese hacer algo así en lugar de escuchar música.

domingo, 16 de enero de 2011

Más imágenes tomadas con el microscopio

Aquí os pongo otras imágenes que he tomado con el microscopio:
Cebolla
Pata de mosca
Espermatozoides
Punta de pelo de pestaña
Base de pelo de pestaña


jueves, 13 de enero de 2011

¿Adivináis qué es esto?


Puede parecer la obra maestra de de un artista contemporáneo... pero no. Es el resultado de mis primeras pruebas con un juguete que me han traído los reyes magos por portarme bien.
Se trata de un microscopio que venden en LIDL por 59€, y que viene con un adaptador que sustituye a la lente de Barlow y te permite conectarlo al PC para capturar imágenes y vídeos (El modelo del microscopio es el Biolux NV).


Las características del aparato son:
  • Revólver con 3 objetivos de alta calidad (4x/10x/40x).
  • Lente de Barlow doble y 2 oculares de gran ángulo (5x/16x).
  • Posibilidad de apagar la lámpara LED para microscopía con luz reflejada.
  • Regulador de la iluminación de 6 grados para un alumbrado óptimo del objeto.
  • Disco de filtro de 6 colores para observar mejor los preparados incoloros.
  • Incluye un ocular para ordenador con conexión USB y el software Photomizer SE.
  • Requisitos del sistema: Windows XP/Vista/7, 512 MB RAM, CD-Rom drive.
  • Carro en cruz de precisión.
No entiendo mucho de estas cosas, pero la verdad es que la relación calidad/precio me ha parecido bastante buena. Tenéis un análisis a fondo del microscopio aquí.

¿Alguno adivina qué es lo que aparece en la imagen del principio del post?. 

Hagan sus apuestas!

Actualización: Una pista, el vídeo completo del que he sacado la imagen:

miércoles, 24 de noviembre de 2010

Uso de Apache Maven para gestión del ciclo de vida de aplicaciones Java

Hace tiempo que tenía ganas de escribir sobre las virtudes de Apache Maven. Para los que no la conozcáis, se trata de una potentísima herramienta para la gestión del ciclo de vida y dependencias de proyectos escritos en Java. Si conocéis ant, maven es una evolución que permite gestionar todas las fases de un proyecto java (compilación, ejecución de pruebas, despliegue en distintos servidores de aplicaciones, etc.) configurando todo esto en un fichero xml.
En ICM (Comunidad de Madrid) hemos creado un nuevo framework para el desarrollo de aplicaciones Java/J2EE (framework ATLAS), y maven es la herramienta sobre la que se sustentan todos los procesos del framework. Os comento algunas de las características de maven que me parecen interesantes, y cómo hacemos uso de ellas en ATLAS:
  • Gestión de dependencias:
    • Un proyecto gestionado con Maven no necesita incluir las librerías (jar's) dentro del proyecto, es decir, no necesitamos bajarnos todos los jar's de un proyecto y situarlos en el directorio de librerías. Para utilizar una librería desde nuestro proyecto, sólo hay que indicar la versión de la librería que deseamos utilizar en el fichero de configuración de maven (pom.xml), y maven se encarga de descargarla desde repositorios públicos existentes.
    • Además, si una determinada librería a su vez tiene dependencias con otras, maven accede de forma recursiva a estas otras hasta descargar todo lo necesario para que nuestro proyecto funcione (dependencias transitivas). Esta gestión de dependencias de los jars es muy potente, y nos permite resolver los típicos conflictos de versiones y duplicidad de librerías en aplicaciones Java.
    • En ATLAS todas las librerías que pueden ser incluídas en cualquier proyecto Java se publican en un repositorio propio al que los proveedores (los que desarrollan las aplicaciones) tienen acceso. Cuando un proveedor hace entrega de una aplicación, sólo entrega el código fuente y el fichero de configuración de maven (no entrega jars), y es durante la instalación de la aplicación en los distintos entornos de ICM cuando se descargan las librerías necesarias para compilar ese proyecto. Con esto nos aseguramos que ningún proveedor incluye en su aplicación una librería que no esté autorizada.
  • Control de Versiones:
    • En maven todo está versionado. Cualquier proyecto realizado con maven necesita tener una versión. Lo mismo sucede con todas las librerías de las que depende el proyecto.
    • Al estar gestionado por maven, todo en ATLAS también está versionado. Así, actualmente, cada mes publicamos una nueva versión/revisión del framework. Cada versión del framework puede utilizar distintas versiones de librerías, sin que ello suponga ningún dolor de cabeza (proyectos con versiones distintas del framework conviven sin problemas en el mismo servidor de aplicaciones). Cuando arranca un nuevo desarrollo, éste lo hace con la última versión de atlas disponible en ese momento. Las versiones liberadas de ATLAS no se modifican, por lo que el framework puede evolucionar sin el riesgo de afectar a los proyectos en curso.
  • Generación de Aplicaciones a partir de Arquetipos:
    • Maven permite la creación de plantillas de partida para aplicaciones, llamadas arquetipos. Con esto, cuando deseamos empezar un nuevo proyecto, en lugar de empezar desde cero podemos utilizar una de estas plantillas como punto de partida.
    • En ATLAS hemos creado varios arquetipos como punto de partida para las aplicaciones que deseen desarrollar los proveedores. Así, tenemos arquetipos para aplicaciones web, aplicaciones batch, librerías, servicios web, etc. Esto ahorra semanas de trabajo al proveedor, ya que al generar una aplicación desde un arquetipo ésta es totalmente operativa y contiene ejemplos de uso de todos los componentes de ATLAS.
  • Gestión de la configuración dependiendo del entorno:
    • Maven permite la creación de perfiles, que son distintas configuraciones del ciclo de vida de la aplicación. Al compilar y desplegar una aplicación podemos decidir activar uno de estos perfiles, y así se utilizará una configuración específica para realizar esta compilación/despliegue.
    • En ATLAS utilizamos los perfiles de Maven para configurar el despliegue de una aplicación en los distintos entornos (entorno de desarrollo, validación, preproducción, producción, etc.). El proveedor define todas las variables de configuración de la aplicación en un fichero llamado "environment.properties", que es distinto para cada entorno. Así, cuando el personal de ICM necesita desplegar una aplicación en un entorno determinado, sólo es necesario ejecutar maven activando el perfíl correspondiente a dicho entorno. Maven se encarga de desplegar automáticamente la aplicación en el servidor Weblogic del entorno especificado. Esto simplifica enormemente los procesos internos de despliegue de aplicaciones (incluidos los pasos a producción)
  • Desarrollo ágil con servidor de aplicaciones local:
    • Puede configurarse Maven para que automáticamente ejecute un servidor de aplicaciones y arranque la aplicación en la que estamos trabajando sobre dicho servidor (jetty, tomcat, etc.).
    • En ATLAS, aunque el servidor final en el que se despliegan las aplicaciones es Oracle Weblogic, se puede ejecutar maven de manera que levante automáticamente un servidor jetty para probar nuestra aplicación durante la fase de desarrollo. Esto acorta los tiempos de desarrollo, ya que para probar una aplicación web no es necesario generar el fichero ".war" y desplegarlo en un servidor, maven hace todo esto automáticamente.
  • Generación automática de un site en HTML con información del proyecto:
    • Con maven puede ejecutarse una tarea que genera automáticamente un site en HTML con toda la información relativa al proyecto (incluyendo JavaDoc, dependencias, y un montón de cosas más).
    • El framework ATLAS se acompaña de una normativa en la que se indica a los proveedores una serie de reglas a seguir para el desarrollo de aplicaciones. Además de utilizar la generación automática del site para todas las aplicaciones, hemos desarrollado un plugin propio que es capaz de publicar en este site un informe sobre el grado del cumplimiento de la normativa de una determinada aplicación. Esto supone un importantísimo avance y ahorre de tiempo respecto al procedimiento anterior (el proveedor no sabía si estaba cumpliendo bien o mal la normativa hasta que no entregaba la aplicación finalizada). Ahora, el proveedor puede ejecutar esta herramienta en cualquier momento, y corregir los incumplimientos de la normativa durante el desarrollo. Además, con esta herramienta se ha automatizado gran parte del procedimiento de comprobación de la calidad de un proyecto (realizado por un departamento interno de ICM), que anteriormente se realizaba de manera manual.
Estas son algunas de las virtudes de Maven, y me dejo muchas en el tintero. Al comenzar el desarrollo de ATLAS, maven era una simple herramienta de compilación, pero gracias a su potencia se ha convertido en la piedra angular sobre la que gira todo el ciclo de vida de las aplicaciones desarrolladas con este framework, ahorrando mucho tiempo y quebraderos de cabeza tanto a desarrolladores como al personal de ICM que se encarga de instalar y mantener las aplicaciones en los distintos entornos.