Сделать что-то вроде файловой системы CP\M: каждый файл разбиваем на чанки фиксированного размера и их пишем в архив, сохраняя где-то какой чанк какому файлу принадлежит. Поверх этого реализовать итерацию по файлам, сохранение, удаление, чтение, запись.
Костыль эпичный, но как сделать проще, чтобы архив не рос при операциях на файлах без перезаписи, не представляю.