Introduction
ARJ is an archiver for MS-DOS written by Robert K. Jung, first released in 1991. In the
early and mid-1990s it was one of the most used archivers on DOS, valued for its
compression and for splitting archives across floppy disks, and many shareware programs
and games of the time were shipped as .arj files. Split archives continue
in files named .a01, .a02 and so on. Jung published the header
layout and the source code of the free UNARJ extractor.
Structure
Every header starts with the bytes 60 EA and a 2-byte size of the basic
header that follows, then ends with a CRC-32 of that header and any extended headers.
Numbers are little-endian.
0Main header60 EA, versions, host OS, flags, dates, archive name and commentvaries…File header60 EA, method, sizes, CRC-32, time, attributes, name and commentvaries…Compressed data for that filevaries…More files a header and data for eachrepeated…End60 EAwith a header size of 04 bytes
Method 0 stores a file; methods 1 to 3 use LZ77 with Huffman coding at different speeds, and method 4 is a faster, simpler variant.
Links
Software
- 7-Zip, extract only (Windows)
- The Unarchiver (macOS)
- ARJ and ARJ32, the original archivers (MS-DOS, Windows)
Reference
TECHNOTE.DOC, the header description that came with ARJ