Como distinguir doc, ppt, xls, sem olhar para a extensão do arquivo

4

Então eu queria saber como você diferenciaria os arquivos ppt, xls e doc uns dos outros no Linux, independentemente das extensões. Eu tentei 'arquivo', mas pela aparência dele, todos os arquivos do MSOffice são categorizados sob o mesmo tipo de arquivo. Da mesma forma estou tendo problemas com arquivos docx, xlsx e pptx, já que são essencialmente todos os arquivos zip contendo um monte de xml.

Eu também tentei um script python importando o módulo mágico, mas não vou.

Estou tentando identificar o arquivo real de uma análise de sandbox. E para esta finalidade específica, eu preciso encontrar o tipo de arquivo real para executá-lo no sandbox vm (o Windows vm executa tudo por extensão).

Digamos que meu arquivo de amostra seja rotulado como try.exe, mas na realidade é apenas um arquivo doc. Meu script irá renomeá-lo como try.exe.doc, o que funcionaria bem para arquivos doc. Mas como o linux identifica todos os arquivos MSOffice como arquivos DOC simples, não há como identificar arquivos ppt ou xls. Como resultado, o sandbox não analisará a amostra corretamente.

    
por Shelby. S 03.07.2012 / 16:50

2 respostas

0

Você pode usar o comando mimetype . Exemplo:

mimetype example.ppt
example.ppt: application/vnd.ms-powerpoint

e

mimetype example.doc 
example.doc: application/vnd.ms-word

No entanto, ao contrário de file -i , essa determinação do tipo MIME é baseada nas extensões de arquivo de pesquisa ( .ppt , .doc etc.) do banco de dados MIME-info compartilhado, e alterá-las alterará os tipos MIME também.

Com a extensão alterada, a única maneira de saber sobre um arquivo é examinar sua assinatura de arquivo ou número mágico, que é o mesmo para todos os documentos do Microsoft Office ( D0 CF 11 E0 ou DOCFILE0 ). Assim, qualquer arquivo do MS-Office será detectado como o mesmo tipo MIME.

    
por Samik 03.07.2012 / 19:20
2

Use file com -i para obter o tipo mime:

file -i <filename>
    
por AndAC 03.07.2012 / 17:31