Saturday, March 12, 2016

7-zip "Store" archives' fault tolerance

The 7-zip file compression software has a compression mode called Store that just jams a bunch of files and folders into one archive file without doing any actual compression. Compression and decompression with these archives is quite fast and not at all CPU-intensive.

I did some tests and discovered that when one part of such an archive is damaged, only the file that the modified range represents is corrupted. In fact, it's not really even corrupted - the 7zip extraction process will warn about a checksum mismatch, but it will extract the modified file.

Bookkeeping (addresses, checksums, and file names) are kept at the beginning and end of the archive file. If that part is damaged, a hex editor may be required to pull the remaining data out. Fortunately, the middle of archives is pure user data; the start of one file is immediately after the end of the previous.

No comments:

Post a Comment