LZEXE
(→Identification) |
(→Identification) |
||
Line 10: | Line 10: | ||
LZEXE-compressed files normally have ASCII "{{magic|LZ09}}" (v0.90) or "{{magic|LZ91}}" (v0.91 or 0.91e) at offset 28. | LZEXE-compressed files normally have ASCII "{{magic|LZ09}}" (v0.90) or "{{magic|LZ91}}" (v0.91 or 0.91e) at offset 28. | ||
− | However, it was not uncommon for LZEXE users to modify this signature, for various reasons. | + | However, it was not uncommon for LZEXE users to modify this signature, for various reasons. Examples include [[ARJ#Self-extracting archives|ARJ self-extracting archives]], which have signature "{{magic|RJSX}}", and some [[RAR#Self-extracting archives|RAR self-extracting archives]], with signature "{{magic|RSFX}}". |
More-robust identification is possible, in particular by looking at bytes near the ''start-of-execution'' point (refer to [[MS-DOS EXE#Special file positions]]). This is at a different location in every file. | More-robust identification is possible, in particular by looking at bytes near the ''start-of-execution'' point (refer to [[MS-DOS EXE#Special file positions]]). This is at a different location in every file. |
Revision as of 18:12, 23 July 2022
LZEXE is an executable compression utility, developed by Fabrice Bellard. It compresses DOS .EXE files.
Identification
LZEXE-compressed files normally have ASCII "LZ09
" (v0.90) or "LZ91
" (v0.91 or 0.91e) at offset 28.
However, it was not uncommon for LZEXE users to modify this signature, for various reasons. Examples include ARJ self-extracting archives, which have signature "RJSX
", and some RAR self-extracting archives, with signature "RSFX
".
More-robust identification is possible, in particular by looking at bytes near the start-of-execution point (refer to MS-DOS EXE#Special file positions). This is at a different location in every file.
Apparently, the 300+ bytes starting at the start-of-execution point are always the same for a given version of LZEXE -- and there are only three known versions. A possible signature is the byte sequence 06 0e 1f 8b 0e 0c 00 8b f1 4e 89 f7 8c db 03 1e 0a 00 8e c3
, starting either at the start-of-execution point, or (for v0.91e) one byte beyond it.
Software
Compression:
- LZEXE v0.90 (1989-10-30) - French
- lzexe_e.zip - v0.90 with documentation translated to English by Luigi M. Bianchi
- LZEXE v0.91 (1990-01-02) - French
- lzexe91.zip - v0.91 with English-language supporting material by Luigi M. Bianchi and Earle Robinson
- LZEXE v0.91e (1990-10-15) (also here) - English
- "LZEXE v1.00a" by IS2 France Diffusion. Seems to be functionally identical to LZEXE 0.91.
- lzexeeng.zip - English translation of v0.91, unknown origin
Decompression, general:
- UNLZEXE - A widely-distributed open source utility, originally by Mitugu Kurizono (Kou). Versions "0.6" and above include patches by other authors, and might be unofficial.
- mz-explode
- Deark (with
-m lzexe
option) - Rizzle
Decompression, for DOS:
- See Executable compression#Decompression software for some multi-format utilities that support LZEXE.
- UnLZEXE (archived) by Tenth Planet Software / Clive Turvey (for DOS)
Protectors (utilities that modify a compressed file to make it more difficult to identify and/or decompress):
- ANTI-UNLZEXE
- LZALT v0.03 by Codon Software
- LZEALT v1.04 by De Trans Software