Ingeniería inversa de la barra de sonido Creative Katana V2X para controlarla desde Linux

Fuentes: Reverse engineering the Creative Katana V2X soundbar to be able to control it from Linux

Un usuario necesitaba configurar su nueva barra de sonido Creative Sound Blaster Katana V2X sin depender de la aplicación propietaria de Creative, disponible únicamente para Windows. Para sortear esa limitación, recurrió a la ingeniería inversa del dispositivo y su protocolo de comunicación USB.

El proceso comenzó con el análisis del software oficial en dnSpy, que reveló una aplicación .NET con módulos ofuscados. El autor descartó esa vía y se centró en capturar el tráfico USB con Wireshark y USBPcap, registrando unas 100 capturas correspondientes a cada acción de la aplicación. Así descubrió que la barra se comunica a través de la interfaz serie CDC ACM, exponiéndose en Linux como /dev/ttyACM*, y que los comandos propietarios usan un encuadre simple: marcador 0x5A, opcode, longitud y payload.

El reto principal fue el mecanismo de autenticación por reto-respuesta previo al envío de comandos. Tras rastrear la cadena "whoareyou" hasta la DLL CTCDC.dll y analizarla en Ghidra, el autor determinó que Creative emplea AES-256-GCM con una clave derivada parcialmente de datos estáticos del archivo y del PID USB del dispositivo, en lugar de un HMAC convencional.

Con toda la información reunida, desarrolló v2x-ctl, una biblioteca y herramienta CLI en Rust (publicada en crates.io) que permite ajustar el ecualizador, los modos de iluminación y otros parámetros desde Linux. La herramienta fue probada con el firmware 1.3.230619.1820 y podría adaptarse a otros dispositivos Sound Blaster modificando la clave de cifrado.