Skip to content

ZIP containers

Open, list, test and extract APK, JAR, EPUB, CBZ, wheels and other ZIP-based files without renaming them, and why Arca keeps them read-only.

Last updated

Many file types are ordinary ZIP archives with their own extension and a few extra rules. Arca opens them with its ZIP reader, so they need no renaming:

ExtensionWhat it is
.apk, .aarAndroid app and library
.jar, .war, .earJava archive, web app and enterprise app
.epubE-book
.cbzComic book
.xpiFirefox add-on
.whlPython wheel
.nupkgNuGet package
.ipaiOS app
Terminal
arca list app.apkarca test book.epub                  # verify every CRC, write nothingarca extract comic.cbz -o pages/

The desktop window opens them too, and shows the real format in the title, for example app.apk - Arca (APK: read-only). Extensions are matched without regard to case, so BOOK.EPUB works the same.

Read-only

Arca never creates or modifies these files. arca create app.jar ..., arca password, and adding, deleting or renaming entries in the window are all refused, with an error that names the format.

Rewriting them would break what makes them more than a ZIP:

  • APK, AAR, JAR, XPI and IPA files usually carry a signature over their entries. Any change invalidates it, and the app or add-on no longer installs.
  • An EPUB must start with an uncompressed mimetype entry. A rewrite that reorders or compresses it gives a book that readers reject.
  • Wheels and NuGet packages list their files and hashes in a manifest that has to stay in step with the contents.

To change one, extract it, edit the files, and rebuild it with the tool made for that format (apksigner, jar, pip wheel, nuget pack and so on).

Arca does not check the meaning of these formats: it doesn't validate an EPUB, verify a signature or show comic pages. It reads them as ZIP, with the same limits and the same protection against entries that try to escape the destination folder.