ARJ
ARJ is a compressed archive format, and associated software. It was developed by Robert Jung.
Contents |
Discussion
ARJ was one of the leading compression tools during the 1990s. While it was a bit slower than PKZIP, it sported many more options, some of which were unique during that time (archives over multiple disks/volumes, fine-tuning of the compression algorithms used based on the data that was being compressed, recovery records to recover from simple transmission errors, etc.).
ARJ software expiration
If you wish to use or research the official ARJ software, be aware that some of the free/evaluation and beta versions of ARJ and ARJ32 have a hard-coded expiration date. They do not work, or do not work as well, if they think they are being used after that date. Expiration can manifest in several ways.
The 0.xx versions disable some features, based on the system clock, and the timestamp of the file being archived. Other versions only seem to care about the system clock.
Some beta versions inexplicably print "CRC error!" if they're expired.
At least one version prints a message about a time delay, but then seems to hang forever.
Newer versions have a time delay whose duration depends on how long ago they expired. The delay can be several minutes.
The newest versions that don't expire are apparently ARJ 2.76 and ARJ32 3.09.
Suggest running expired DOS versions in DOSBox-X, which lets you set the clock.
Format details
Compression methods
ID | Name | Description |
---|---|---|
0 | stored | No compression |
1 | compressed most | LZ77+Huffman. These are all essentially the same as LHA's "lh6" method, but with the history window artificially limited to 26K, instead of 32K.
It is possible for ARJ files to exist that violate the 26K limit, e.g. if they were created by ARJZ, or by Open-Source ARJ with the |
2 | ... | |
3 | ... | |
4 | compressed fastest | An ARJ-specific implementation of LZ77/LZSS.
Note: This compression method was slightly different in ARJ v0.13–0.14. |
8 | no data, no CRC | |
9 | no data |
Identification
An ARJ archive starts with signature bytes 0x60 0xea
. Byte 0x02
appears at offset 10.
The full identification algorithm used by the ARJ software is given in its technical documentation.
See also
Specifications
- The ARJ/UNARJ distributions include detailed format information, in a file named TECHNOTE.TXT or similar.
- A copy of the 2001-09 version (with an addendum of some sort)
- The ARJ Archive File Format, from fileformat.info and Corion.net
- Some extensions are documented in the Open-source ARJ project, especially in resource/en/readme.txt, "INFORMATION FOR DEVELOPERS" section.
Software
- ARJ - Official compression/decompression software for DOS
- ARJ32 - Official compression/decompression software for Windows console
- v3.04 (1999-12-19)
- v3.20 (2012-01-02)
- Various versions at old-dos.ru
- UNARJ - Official software, decompression only
- ARJCRYPT - An add-on required to enable the "new" encryption method
- 7-Zip
- Open-source ARJ
- Konvertor
See also the notes about software expiration, elsewhere on this page.
Sample files
- http://cd.textfiles.com/20mnn/HPTEXT/PHRACK/
- The Silver Collection CDs have many ARJ files
- http://cd.textfiles.com/goldmedal/