Ads 468x60px

Tuesday, February 15, 2011

Universal Extractor 1.6.1

Universal Extractor is a program designed to decompress and extract files from any type of archive or installer, such as ZIP or RAR files, self-extracting EXE files, application installers, etc.  The full list of supported formats can be found in the table below.  It's able to support so many varied file formats by utilizing the many backend utilities listed in the credits at the bottom of the page.


Please note that Universal Extractor is not intended to be a general purpose archiving program.  It cannot (and never will) create archives, and therefore cannot fully replace archivers such as 7-Zip or WinRAR.  What it will do, however, is allow you to extract files from virtually any type of archive, regardless of source, file format, compression method, etc.
The original motivation behind this project was to create an easy, convenient way to extract files from various types of installation packages without the need to remember arcane command line switches or track down separate utilities to handle the unpacking.  Over time, and with the encouragement of its many users and the fine folks over on the MSFN forum, it has evolved into a mature and very capable unarchiving utility that many, including myself, find indispensable.

Technical Details

When a file is passed to UniExtract, it begins by scanning the file with TrID.  If the file format matches one of the supported non-executable formats listed below, it immediately begins extraction from the archive.  If it's an executable file, it calls PEiD to analyze the file signature.  If the signature indicates that it's a supported format, then it attempts to begin extraction.  If it is not a recognized signature, it will try running it through 7-Zip and UnZip as default cases.  If 7-Zip or UnZip recognizes it, it will be extracted; otherwise, UniExtract displays an error message and exits.
Note: Filetype scanning with TrID is new as of v1.5.  Older versions relied on the file extension to identify the filetype.  This behavior is still used if the TrID scan cannot determine the filetype.
If the filetype is supported, UniExtract begins by checking for a valid destination directory and recording the directory size.  If necessary, a new directory will be created (with a directory size of zero).  UniExtract then spawns a shell and calls the supporting binary to begin extracting files from the selected archive to the destination directory.  After completion, UniExtract checks the size and timestamp of the subdirectory to determine if extraction was successful; if the size or timestamp is greater than the initial values, UniExtract assumes success and exits.  If extraction fails, UniExtract notifies the user and leaves a log file (uniextract.log) that (should) contain any error messages.
The uniextract.log file is created during the extraction process by the tee program.  Essentially, all output from the running binary is redirected to tee, which in turn writes the output to the log file as well as echo it to the screen to give the user current progress.  Upon successful execution this file is deleted, but if an error is detected it is left alone for the user to review.

Preview:


Click this image below to download :