Você deve fazer isso verificando as assinaturas de tipo de arquivo. Ele pode ser encontrado aqui , ou você pode encontrá-lo por teste e erro ao verificar seus arquivos.
Por exemplo, a assinatura JPG é FF D8 FF E0
, o que significa que os primeiros quatro bytes devem ser iguais a FF D8 FF E0
.
Tudo o que você precisa é de uma ferramenta para combinar esses bytes com os do arquivo. Como exemplo, hexdump -n 4 -C file.jpg| awk '{print $2 $3 $4 $5}'
retorna esses bytes em formato hexadecimal, o que pode ser comparado com a assinatura desejada.
Se os arquivos de imagem que você tem podem estar quebrados, informações avançadas sobre assinaturas e recuperação de arquivos podem ser encontradas aqui . Por exemplo, quando apenas uma fração de uma imagem é baixada.