Come distinguere i file doc, ppt, xls, senza guardare l'estensione del file

4

Quindi mi chiedevo in che modo potresti differenziare i file ppt, xls e doc gli uni dagli altri in linux, indipendentemente dalle estensioni. Ho provato 'file', ma dal suo aspetto, tutti i file MSOffice sono classificati sotto lo stesso tipo di file. Allo stesso modo ho problemi con i file docx, xlsx e pptx, dal momento che sono essenzialmente tutti i file zip contenenti un sacco di xml.

Ho anche provato uno script python importando il modulo magico, ma non ci sono riuscito.

Sto cercando di identificare il file effettivo per un'analisi sandbox. E per questo scopo specifico ho bisogno di trovare il tipo di file effettivo per eseguirlo nella sandbox vm (il vm di Windows gira tutto per estensione).

Diciamo che il mio file di esempio è etichettato come try.exe, ma in realtà è solo un file doc. Il mio script lo rinominerà come try.exe.doc, che funzionerebbe bene per i file doc. Ma dal momento che linux identifica tutti i file MSOffice come semplici file DOC, non c'è modo di identificare i file ppt o xls. Di conseguenza, la sandbox non analizzerà correttamente il campione.

    
posta Shelby. S 03.07.2012 - 16:50

2 risposte

0

È possibile utilizzare il comando mimetype . Esempio:

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

e

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

Tuttavia, a differenza di file -i questa determinazione del tipo MIME è basata su estensioni di file di ricerca ( .ppt , .doc ecc.) dal database MIME-info condiviso e cambiandole cambierà i tipi MIME, pure.

Con l'estensione alterata, l'unico modo per sapere su un file è quello di cercare la sua firma di file o il numero magico, che è lo stesso per tutti i documenti di Microsoft Office ( D0 CF 11 E0 o DOCFILE0 ). Quindi qualsiasi file MS-Office verrà rilevato come lo stesso tipo MIME.

    
risposta data Samik 03.07.2012 - 19:20
2

Usa file con -i per ottenere mime-type:

file -i <filename>
    
risposta data AndAC 03.07.2012 - 17:31

Leggi altre domande sui tag