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.
