Entrevista a Héctor Martín, responsable del hackeo a Kinect en cuestión de horas


Estos últimos días en Gizmología hemos hecho un especial seguimiento a Kinect, desde su lanzamiento hasta la noticia de que buscaban unos drivers open source para que la comunidad logre jugar con Kinect conectado a un PC.
No se han tardado muchos días desde su lanzamiento en EE.UU., en concreto horas desde su lanzamiento en España hasta que Héctor Martín ha logrado llevarse el premio de $3000 que Adafruit ofrecía al primero en ofrecer estos drivers.

Héctor se ha llevado el premio de Adafruit y ahora mismo está siendo bombardeado por preguntas desde todos los frentes, los desarrolladores quieren saber como lo ha hecho, los usuarios de Kinect quieren saber cuando podrán tener aplicaciones para su ordenador y toda la prensa nacional está encima suyo para que les preste unos minutos de su tiempo y conteste a las preguntas básicas: ¿como y por qué?

Os presentamos una entrevista con Héctor Martín, @marcan42 en Twitter, un asturiano apasionado de la electrónica y del desarrollo por lo que podemos ver en su blog Marcan’s Soft.








Hola Héctor, primero, felicidades por ser de los primeros en acceder a Kinect, ¿qué vas a hacer con el dinero del premio de Adafruit?

El dinero irá destinado a herramientas y hardware para hackear, tanto para mí como para mis compañeros del iPhone Dev Team, Team Twiizers, y otros (Probablemente los conocéis, son los que desarrollan jailbreaks de iPhone y herramientas y software casero para Wii). Practicamente todos lo hacemos como hobby y no siempre hay dinero para estas cosas, así que creo que será de gran ayuda :)



De acuerdo, ¿por qué nos cuentas un poco sobre ti, que haces o que es lo que te mueve para hacer estos logros?

Pues realmente lo que soy es una persona muy curiosa. Desde pequeño me gusta trastear con todo lo que se me cruce, y últimamente me he dedicado a lo que es el hacking de hardware, sobre todo videoconsolas. Por ejemplo, en 2006/7 hice una buena parte de la ingeniería inversa al mando de la Wii que sirvió para que se crearan drivers libres, y luego estuve más de 2 años trabajando en el uso de software casero, reproductores multimedia, Linux, etc. en la Wii. Me parece muy interesante el cojer hardware creado para un propósito y aprovecharlo para otros.

Por lo que parece la seguridad que Microsoft le ha puesto a Kinect no es muy fuerte. ¿Cuánto tiempo te ha llevado realmente en acceder a las cámaras de Kinect?

Estuve unas 5 horas la noche anterior, antes de tenerlo en mano (investigando logs USB, que analicé para estudiar exactamente cómo se comunican la Xbox y el Kinect). Tras ello tenía una idea bastante buena sobre cómo funcionaba. Entonces lo compré justo cuando abrieron la tienda, y después tardé dos horas en escribir el código definitivo, solucionar problemas y añadir la visualización gráfica.

Microsoft parece que no le ha puesto absolutamente nada de seguridad a Kinect de cara a su uso con otros sistemas. Esto no es raro, ya que realmente ellos no pierden nada con ese tipo de uso. Lo que sí tiene es un juego de claves digitales y un certificado que sirven para demostrarle a la Xbox que es un Kinect original (no un clon), pero eso no nos afecta a nosotros.

El protocolo no es muy complicado, y las imágenes se transmiten en un formato muy sencillo y sin compresión. Por eso se ha podido conseguir bastante rápido. Aun así, todavía queda averiguar qué opciones de configuración tienen las cámaras, y el tema del audio. El audio puede llegar a ser bastante más complicado, ya que hay que subir un firmware al procesador de audio cada vez que lo conectas.

Creo que por ahora se ha podido acceder a las cámaras y al motor que mueve el cabezal, pero según lo que has estado viendo ¿hasta donde se podría llegar a controlar o se puede controlar algo más?

En principio se puede controlar todo lo controlable, es decir, obtener información de las cámaras y ajustar sus parámetros, obtener el audio de los micros y utilizar la función de cancelación de eco, y mover el motor y leer datos del acelerómetro (que ya se ha conseguido). Creo que lo más interesante/difícil será el audio, ya que es bidireccional (la consola le manda su propio audio al Kinect para que realice la cancelación de eco) y va con firmware externo.

Por supuesto, esto sin contar luego desarrollar herramientas para utilizar estos datos. Realmente eso es lo verdaderamente importante: combinar los datos de las cámaras con sistemas de procesado de visión e incluso de inteligencia artificial. Una cosa es sacar los datos del Kinect y otra conseguir interpretarlos con precisión.



Comentas en tu vídeo que has logrado acceder a Kinect sin la necesidad de una Xbox 360, ¿hubiese cambiado algo el que la tengas?

Con una 360 es posible que pueda hacer un análisis un poco más detallado de las opciones que manda la consola. Realmente, es imprescindible que alguien tenga una Xbox, y yo no lo hubiera podido conseguir si los de Adafruit (los que crearon el concurso) no hubieran publicado unos logs USB obtenidos con su Kinect y su Xbox. El problema es que el analizador USB que necesitas para “pinchar” estos datos es muy caro. Mi plan B (no contaba con los logs de Adafruit) era pedirle a mi compañero bushing que me sacara unos logs (él sí tiene un analizador USB).

No es la primera vez que me gustaría haber tenido un analizador USB, por lo que es probable que invierta parte del premio en conseguir uno para el futuro.

Kinect está pensado para videojuegos o por lo menos eso está vendiendo Microsoft, con la creación de drivers open source se abre todo un mundo de posibilidades, ¿qué futuro le ves a Kinect ahora?

Parece que ahora mismo los más interesados son los que trabajan en el mundillo de la robótica. Realmente, una cámara de profundidad asequible abre todo un mundo de posibilidades en cuanto a navegación y reconocimiento de objetos para robots. Esto ya existía, pero a precios 20 veces superiores y totalmente fuera del alcance de los aficionados.

Pero también hay mucho interés por aplicar Kinect a la creación de interfaces de usuario futuristas para PC (el ejemplo que siempre se pone es el de aquella escena de Minority Report con la interfaz táctil). Creo que también puede ser muy útil para fines artísticos, por ejemplo para crear arte interactivo, o como herramienta para digitalizar movimientos en 3D o generar modelos 3D de objetos automáticamente.

¿No te ha contactado Microsoft para mandarte un Cease & Desist… o para contratarte?

No tienen ninguna base legal para un C&D. En cuanto a lo segundo, ya conozco a un cierto hacker al que han contratado, así que quién sabe… :)



Como ves la recien creada “scene” de Kinect gracias al premio de Adafruit, ¿crees que se ha creado comunidad como pasó con PSP o con Wii?

Ahora mismo la cosa está muy verde, pero ya estoy empezando a colaborar con otras personas. Yo creo que surgirá una buena comunidad. Además, lo bueno de esta es que no hay divisiones de opinión respecto al tema de la piratería, todos trabajamos con el mismo fin (utilizar Kinect para más y mejores cosas).

Ok, aquí te pido que te la juegues, ¿qué esperas de los desarrolladores ahora que hay drivers open source para Kinect?

Yo entiendo muy poco sobre el procesado de imagen digital, así que espero que pronto los expertos en ese ámbito pronto combinen software existente y nuevo con estos drivers para realmente empezar a explotar las posibilidades de Kinect. A partir de ahí, todo vale. ¡Seguro que la gente hace cosas que no se nos hubieran ocurrido jamás!

¡Muchas gracias a Héctor que ha tenido un día bastante ocupado respondiendo preguntas de blogs entrometidos y de cadenas de televisión!

Domingo Marte

No hay comentarios:

Publicar un comentario

Instagram