El Attack Shark es un teclado moderno que destaca por sus interruptores magnéticos, macros personalizables, LEDs configurables y otras funciones avanzadas. El problema principal radica en que su software de configuración es exclusivo para Windows, por lo que JR Lanteigne decidió buscar una solución. En el proceso, logró descifrar completamente el protocolo de configuración necesario para este dispositivo y creó la cómoda aplicación web sharkfin para que puedas flashear el tuyo.
¿Cómo saber si tu teclado es compatible?
¿No tienes un Attack Shark? Es posible que poseas uno de los otros 522 modelos fabricados sobre la misma plataforma de hardware ROYUAN, los cuales se comercializan bajo cerca de 100 nombres distintos. Si quieres verificar si tu dispositivo es compatible con la herramienta, puedes consultar la lista de modelos soportados aquí, o simplemente conectarlo al computador y realizar la prueba.
¿Cuál fue el proceso de ingeniería inversa?
El [camino de [RJ] para descifrar el protocolo de configuración](https://dnim.dev/blog/royuan-keyboard-protocol) no fue sencillo. Dado que la aplicación original para Windows era esencialmente una app de Electron, la modificó para ejecutarla en Linux y así registrar varias sesiones de configuración. Por supuesto, surgieron desafíos técnicos, como la existencia de dos generaciones de firmware distintas y el riesgo de que una escritura a la memoria flash demasiado rápida dejara al teclado en un bucle de reinicio (boot loop). Una vez superados estos problemas, solo quedó mapear todos los bytes y encapsular el funcionamiento en una aplicación amigable para el usuario.
No contamos con uno de estos teclados, pero si lo tuviéramos, sin duda agradeceríamos que el protocolo de configuración estuviera documentado. No hay nada peor que descubrir que la empresa que fabricó tu teclado ha cerrado y te quedas con una configuración de iluminación que no combina con tu escritorio. Si eres un entusiasta de los teclados y aún no sigues la serie de [Kristina], deberías hacerlo.
Vía Hackaday.



