Ingénierie inverse de la compression du firmware Samsung NX mini : découverte du Fujitsu RELC

2025-05-07
Ingénierie inverse de la compression du firmware Samsung NX mini : découverte du Fujitsu RELC

Cet article détaille l’ingénierie inverse d’un algorithme de compression LZSS propriétaire utilisé dans le firmware des appareils photo Samsung NX mini, NX3000/NX3300 et Galaxy K Zoom. L’objectif initial était de comprendre suffisamment l’algorithme pour extraire et désassembler le code ARM, mais il s’est avéré qu’il s’agissait du RELC (Rapid Embedded Lossless Data Compression) de Fujitsu, un bloc IP matériel sur ses SoC ARM. En analysant méticuleusement le flux compressé, les chercheurs ont déterminé les schémas de codage du masque de bits, du décalage et de la longueur, créant finalement un décompresseur complet qui a décompressé avec succès tous les fichiers de firmware. Cette recherche révèle non seulement le mécanisme de compression du firmware de l’appareil photo Samsung, mais souligne également les défis et les techniques liés à l’ingénierie inverse des algorithmes de compression inconnus.

Lire plus
Développement algorithme de compression

Une modification incompatible de GRUB2 provoque une boucle de démarrage de la configuration du BIOS

2024-12-16
Une modification incompatible de GRUB2 provoque une boucle de démarrage de la configuration du BIOS

Les systèmes Debian et Kali Linux de l'auteur ont subi des boucles de démarrage après une mise à jour de GRUB2 ayant ajouté la commande `fwsetup --is-supported`. Les anciennes versions de GRUB ne reconnaissaient pas ce paramètre. Le problème provenait d'un module `efifwsetup.mod` plus ancien, restant d'une restauration de sauvegarde du système, provoquant un conflit entre la nouvelle configuration de GRUB et l'ancien module. L'installation du paquet `grub-efi-amd64-bin` a résolu le problème. Cela souligne l'importance de la compatibilité descendante dans les mises à jour logicielles et la nécessité de prendre en compte les effets secondaires potentiels lors de modifications partielles dans un logiciel complexe comme GRUB2.

Lire plus
Développement boucle de démarrage