Le “carving” (de to carve, sculpter) consiste à :
En se basant simplement sur la recherche des headers : https://en.wikipedia.org/wiki/List_of_file_signatures
Un en-tête de fichier est une signature (aussi appelée magic header), qui est une valeur hexadécimale constante déterminant le format du fichier.
Certains formats ont une signature de fin claire :
| Format | Header (début) | Footer (fin) |
|---|---|---|
| JPEG | FFD8 |
FFD9 |
| ZIP | 504B0304 |
504B0506 (End of Central Directory) |
%PDF |
%%EOF |
|
| PNG | 89504E47 |
49454E44AE426082 |
Dans ces cas, le logiciel de carving lit à partir du header jusqu’à la détection du footer correspondant.
D’autres formats contiennent dans leur en-tête une taille totale ou des offsets vers les sections internes, par exemple :