Ingeniería inversa de la compresión de firmware de Samsung NX mini: Descubriendo Fujitsu RELC

2025-05-07
Ingeniería inversa de la compresión de firmware de Samsung NX mini: Descubriendo Fujitsu RELC

Esta publicación detalla la ingeniería inversa de un algoritmo de compresión LZSS propietario utilizado en el firmware de las cámaras Samsung NX mini, NX3000/NX3300 y Galaxy K Zoom. El objetivo inicial era comprender lo suficiente del algoritmo para extraer y desensamblar el código ARM, pero resultó ser el RELC (Rapid Embedded Lossless Data Compression) de Fujitsu, un bloque de IP de hardware en sus SoC ARM. Mediante el análisis meticuloso del flujo comprimido, los investigadores determinaron los esquemas de codificación de máscara de bits, desplazamiento y longitud, creando finalmente un descompresor completo que descomprimió con éxito todos los archivos de firmware. Esta investigación no solo revela el mecanismo de compresión del firmware de la cámara Samsung, sino que también destaca los desafíos y técnicas involucrados en la ingeniería inversa de algoritmos de compresión desconocidos.

Leer más

Cambio incompatible con GRUB2 causa un bucle de arranque de la configuración de la BIOS

2024-12-16
Cambio incompatible con GRUB2 causa un bucle de arranque de la configuración de la BIOS

Los sistemas Debian y Kali Linux del autor experimentaron bucles de arranque después de una actualización de GRUB2 que agregó el comando `fwsetup --is-supported`. Las versiones anteriores de GRUB no reconocieron este parámetro. El problema surgió de un módulo `efifwsetup.mod` anterior, sobrante de una restauración de copia de seguridad del sistema, causando un conflicto entre la nueva configuración de GRUB y el módulo antiguo. La instalación del paquete `grub-efi-amd64-bin` resolvió el problema. Esto destaca la importancia de la compatibilidad con versiones anteriores en las actualizaciones de software y la necesidad de considerar los posibles efectos secundarios al realizar cambios parciales en software complejo como GRUB2.

Leer más
Desarrollo bucle de arranque