Reduza os arquivos extraídos do binwalk

1

Ao extrair arquivos de imagem de um dump de firmware usando binwalk, recebo muitos pngs válidos. Meu problema é o seguinte: todos esses arquivos são extremamente grandes. Eles começam com o começo correto, mas são tão longos quanto o resto do lixo. Como faço para cortar esses arquivos automaticamente?

    
por Max Ried 19.06.2014 / 21:04

2 respostas

1

Muitas vezes você pode usar um conversor de imagem para converter os PNGs em ... PNGs.

Muitos 'processadores' de imagens lerão a imagem com base nos cabeçalhos do próprio arquivo de imagem, o que significa que eles só lerão o que é necessário para carregar a imagem. Em seguida, salve novamente a imagem, talvez com um novo nome.

Eu criei um fat PNG (ha!) por cat ing vários arquivos juntos, um PNG e depois um PDF de 3Meg.

  • feh carrega a imagem bem

  • gimp carrega a imagem e a salva corretamente, descartando o lixo extra.

  • convert (de imagemagick package) funciona bem, convert fat.png jcraig.png retira o extra.

  • gwenview (aplicativo do KDE) leu e salvou o arquivo corretamente.

Eu apenas experimentei os poucos aplicativos em que consegui pensar que sabia que tinha instalado. O imagemagick utility convert é promissor e programável.

for f in *.png; do
  convert "$f" "skinny.$f"
done

Provavelmente, faça um trabalho leve com suas imagens de peso.

    
por 20.06.2014 / 07:46
2

Eu fiz a mesma pergunta, mas cheguei a uma resposta talvez mais elegante.

binwalk -D 'png:png:convert %e %e' myfile.bin

Isso executará o programa convert em vigor em qualquer arquivo PNG extraído.

    
por 21.11.2015 / 23:48