Engenharia Reversa da Compressão de Firmware da Samsung NX mini: Desvendando o Fujitsu RELC

2025-05-07
Engenharia Reversa da Compressão de Firmware da Samsung NX mini: Desvendando o Fujitsu RELC

Esta publicação detalha a engenharia reversa de um algoritmo de compressão LZSS proprietário usado no firmware das câmeras Samsung NX mini, NX3000/NX3300 e Galaxy K Zoom. O objetivo inicial era entender o suficiente do algoritmo para extrair e desmontar o código ARM, mas acabou sendo o RELC (Rapid Embedded Lossless Data Compression) da Fujitsu, um bloco de IP de hardware em seus SoCs ARM. Ao analisar meticulosamente o fluxo comprimido, os pesquisadores determinaram os esquemas de codificação de máscara de bits, offset e comprimento, criando, por fim, um descompactador completo que descompactava com sucesso todos os arquivos de firmware. Esta pesquisa não apenas revela o mecanismo de compressão do firmware da câmera Samsung, mas também destaca os desafios e técnicas envolvidos na engenharia reversa de algoritmos de compressão desconhecidos.

Leia mais
Desenvolvimento algoritmo de compressão

Alteração incompatível com GRUB2 causa loop de inicialização da configuração da BIOS

2024-12-16
Alteração incompatível com GRUB2 causa loop de inicialização da configuração da BIOS

Os sistemas Debian e Kali Linux do autor experimentaram loops de inicialização após uma atualização do GRUB2 que adicionou o comando `fwsetup --is-supported`. Versões mais antigas do GRUB não reconheceram este parâmetro. O problema surgiu de um módulo `efifwsetup.mod` mais antigo, restante de uma restauração de backup do sistema, causando um conflito entre a nova configuração do GRUB e o módulo antigo. A instalação do pacote `grub-efi-amd64-bin` resolveu o problema. Isso destaca a importância da compatibilidade com versões anteriores em atualizações de software e a necessidade de considerar os possíveis efeitos colaterais ao fazer alterações parciais em softwares complexos como o GRUB2.

Leia mais
Desenvolvimento loop de inicialização