Universal Extractor 2 is a tool to extract files from any type of archive or installer.
UniExtract2版本: v2.0.0-rc.3
🔗更新日志

Added support for MSCF installers Added support for Amiga Disk Files using unADF Added support for PDF files using Xpdf command line tools Added support for hundreds of game archives using GARbro Added support for Godot engine packages using godotdec Added support for Actual Installer executables Added support for Clickteam Install Creator installers using cicdec Added support for newer Symbian Os packages using extsis (plugin) Added unshield as the default extractor for InstallShield cab files, thanks to TAbdiukov Fixed some installers being misdetected as InstallShield Fixed swf exe extraction not terminating correctly Fixed console window always being visible for extractions using definition files Fixed file identification not working correctly for a few big executables Fixed Wise extraction methods 3 and 4 always failing Fixed some executables not being tested with 7zip Fixed some FMOD sound banks not being fully extracted, thanks to Sakkade Fixed some zip extractions being detected as failed, although they completed successfully Fixed 'NScripter archive' false positives Fixed problems with BCM, Bink, CHM, CreateInstall, FEAD, InstallShield Z, MSP, Reflexive Arcade Installers, SQLite, SuperDAT, SWF, Thinstall, UU, VMDK, WMA extraction Fixed ttarch extraction failing if UniExtract's path contains spaces, thanks to wwh1004 Fixed 'Game Select' dialog being displayed in silent mode Fixed batch mode not being enabled if directory is passed via command line Fixed some extracted files could be lost if moving the file/folder failed, thanks to patrickdrd Fixed context menu items not being shown if more than 15 files are selected Fixed several UI issues, thanks to stdedos and wvxwxvw Fixed rare problem during program files updates preventing some files from being downloaded correctly Fixed crash when trying to send feedback while offline Fixed possible extraction failure if file/directory locks could not be released quick enough Fixed problems enabling context menu integration Changed Wise extraction: E_WISE is now used automatically, the method select dialog only appears if it fails Changed output directory input field to autofill after typing an input file path Changed design/usability of 'Unknown file type', 'Plugin missing', 'No language file found' and 'Unsupported file type' error messages; FFmpeg and feedback prompts; 'Batch mode duplicate' warning Changed drag and drop: when a folder is passed, all files in subfolders are added to batch mode as well (this can be disabled by adding batchrecurse=0 to section 'UniExtract Preferences' in UniExtract.ini) Changed 'Remember window position' option to also store window size, thanks to ltdeta Improved speed of file type detection Improved file type detection for .eml, .mht, .xz, some game archives Improved detection of multipart archives when adding files to batch queue Improved error detection for encrypted archives Improved Visionaire extraction for many games: fixed file naming and corrupt webp images Updated cicdec to 2.1.0 Updated demoleition to 0.61 Updated EnigmaVB unpacker to 0.58 Updated ExeInfo PE to 0.0.6.0 Updated godotdec to 2.1.0 Updated innounp to 0.49 Updated lzop to 1.04 Updated MediaInfo to 20.03 Updated mtee to 2.21 Updated PeaZip to 0.72 Updated Qt Linguist to 5.13.2 Updated QuickBMS to 0.10.1 Updated SQLite to 3.31.1 Updated UnRAR to 5.91; added x64 version Updated unrpa to 2.3.0 Updated unshield to 1.4.d14d2e2 x86, thanks to lifenjoiner Updated upx to 3.96 Updated WiX to 3.11.2 Updated Bulgarian translation, thanks to jekovcar Updated Chinese (Simplified) translation, thanks to SeaHOH Updated Dutch translation, thanks to Wouterdek Updated French translation, thanks to Pierre le Lidgeu and zorbao Updated German translation, thanks to Mr-Update Updated Hungarian translation, thanks to hevesij Updated Japanese translation, thanks to maboroshin Updated Polish translation, thanks to Barnaba Updated Portuguese (Brazilian) translation, thanks to igorruckert Updated Russian translation, thanks to wvxwxvw Updated Turkish translation, thanks to MinTR and Yakup Kök Removed Arc-reader, brunsdec, Crass/Crage, disunity and ns2dec, replaced with GARbro Removed XAce, replaced with acefile Removed Extract NT, replaced with 7zip Removed ExtractMht and MhtUnPack, replaced with 7zip and TotalObserver Removed GCFScape and STIX, replaced with TotalObserver Removed wtee, replaced with mtee

UniExtract2版本: v2.0.0-rc.2
🔗更新日志

Release Candidate 2 aims at improving usability with the first batch of redesigned dialogs and other interface improvements. As always, UniExtract also introduces fancy new features - like a new update channel, for those who want to test the newest features while they are still in development. Oh, and don't forget almost two handful of previously unsupported file types, which can now be extracted!

Added support for InstallScript installers Added support for .bsa, .ba2 archives using BSA Browser Added support for .pex scripts using Champollion Added support for Bruns Engine encrypted files Added support for .mo translation files using GNU gettext Added support for .qm translation files using Qt Linguist Added support for encrypted .wolf archives using WolfDec (plugin) Added support for StuffIt X archives Added support for install4j installers Added TotalObserver as additional extractor choice for InstallShield Added nightly update channel Added changelog to update found message box Added progress bar while search for update is in progress as the new updater might need more time than the old one on some systems Added build date to 'About' window and feedback data Added beta update channel Added 'Open most recent log file' menu item Fixed first-start assistant not being displayed when running from command line Fixed language setting being reset if language file does not exist Fixed UI images not being loaded if starting UniExtract from context menu Fixed extraction from context menu if UniExtract is in scan mode Fixed some files being misdetected as disk images Fixed status box not being updated for some file types Fixed MSI extraction failing for some files, which were supported in previous versions of Universal Extractor, thanks to mzso Fixed some options ('Open folder after extraction', 'Keep Open') being ignored and UniExtract not exiting as intended (setting exit code, delete empty output directory) after certain message boxes, thanks to davidhbrown Fixed some problems with file names containing non-ASCII characters Fixed GUI being cut off if Windows font scaling is enabled Fixed NSIS bin files extraction: prevented error message for every bin file; status box now displays correct file information Fixed 'Update failed' error message on every start of UniExtract if not connected to the internet Changed preferences dialog: redesigned GUI, added option to remove additional files, replaced numeral update interval with daily, weekly, etc. presets, removed timeout setting, added beta update setting Changed file scan results message box: the name of the detector is now shown along with its result, output can now be selected and copied easily Changed first start assistant: removed 2 pages and changed some wording Changed msi extraction: added method selector prompt if the default extractor fails Changed plugin file selector to use 'Downloads' folder as default Improved file scan results for non-executable files Improved UniExtract logo quality Improved text quality for several dialogs Removed RPGMaker Decrypter plugin, replaced with RGSS Decryptor CLI Removed mpq plugin, replaced with built-in TotalObserver Removed StuffIt Expander, replaced with unar Removed FLV Extract CL, decompression is done with FFMPEG instead Updated 7Zip to 19.00 Updated demoleition to 0.60 Updated EnigmaVB unpacker to 0.55 Updated fsbext to 0.3.8 Updated innounp to 0.48 Updated lessmsi to 1.6.1 mod Updated QuickBMS to 0.9.0 Updated rmvdec to 1.1.0 Updated SQLite to 3.25.1 Updated ttarchext to 0.3.1a Updated VISExt to 2.2.6777.0 Updated ZPAQ to 7.15 Updated Czech translation, thanks to DžejPý Updated Chinese (Simplified) translation, thanks to deluxghost Updated Chinese (Traditional) translation, thanks to jfcherng Updated Croatian translaton, thanks to Alen Bajo Updated Finnish translation, thanks to jyrkive Updated Greek translation, thanks to gvp9000 Updated Italian translation, thanks to NAMP and tfr Updated Korean translation, thanks to 까꿍 Updated Polish translaton, thanks to Barnaba and dmocha Updated Russian translation, thanks to wvxwxvw Updated Spanish translation, thanks to GGobbi Updated Ukrainian translation, thanks to YuriPet

UniExtract2版本: v2.0.0-rc.1
🔗更新日志

Release Candidate 1 comes with a new updater, support for many new file types and lots of bug fixes and improvements.

Added support for wix installers Added support for Spoon installers Added support for .rpgmvp files Added support for .utage files Added support for MDF image files Added support for Smacker video files Added support for ECM compressed disk images Added support for swf executables Added support for OGG Vorbis audio files Added support for Mole Box executables Added support for NScripter version 2 archives using ns2dec Added support for Smile Game Builder archives Added support for UNC paths Added support for Lzip archives Added support for Visionaire game archives Added 'Open Log Directory' menu item Added 'Open Configuration File' menu item Added detection support for encrypted fsb files Added check on start to make sure a language file exists Added Right to left UI mirroring for Arabic, Farsi and Hebrew; thanks to peterooch Added new error messages: not enough free disk space, missing part for multipart archives Fixed MS SFX hotfix extraction Fixed 'Open folder after extraction' being always disabled when UniExtract is opened with command line parameters Fixed cleanup for .chm and EnigmaVB files Fixed error message after failed iso extraction: choices were mixed-up Fixed missing file type information in NOTPACKED error message for FFMPEG extraction Fixed missing packer name in unpack prompt Fixed extractors not being found on some systems Fixed pea extraction writing to wrong directory Fixed cascading context menu for supported Windows Server operating system versions Fixed 'Always on top' option not being saved Fixed endless detection loop occuring for some .exe files Fixed missing minimize controls Fixed status box for .swf extraction Fixed extraction being detected as failed if the output directory is a drive, not a folder Fixed FFMPEG download/installation problems Fixed progress display performance in status box and pattern detection Fixed certain files being ignored by cleanup function Fixed crash when trying to open preferences GUI if /lang directory does not exist Fixed log files size display in file menu, if log directory is set to a location, which does not exist Fixed DGCA plugin installation Fixed language selection list not being scrollable Fixed some context menu GUI items not being translated after language change Fixed 'Not an InstallShield installer' option in MethodSelector not starting additional scans Fixed output directory not being deleted after failed extraction (unicode mode only) Fixed video extraction failing for files starting with - Fixed error message when starting batch mode Changed feedback GUI design, removed unneeded input fields Changed feedback GUI to always pre-fill output field Changed .nrg extraction method to use 7zip for improved unicode support Changed .arj extraction to use 7z instead of arj Changed .hlp extraction: improved logging, localized file name Changed extraction to subdirectory: "."-character is now replaced to prevent collisions with existing files Changed updater: each file is now updated on its own instead of using update packages, this way extractors can be updated much easier and faster; administrator rights are now only necessary if the program directory cannot be written to Changed plugin download: URLs are no longer hardcoded; instead they are requested from the server, so when something goes offline UniExtract does not have to be updated to fix the link Replaced Unreal Engine package extractor with Umodel Removed redundant 64-bit MediaInfo dll Removed option to toggle support for game packages from settings GUI Updated 7zip to 18.01 Updated EnigmaVB unpacker to 0.44, changed logic to use new command line parameter Updated Exeinfo PE to 0.0.5.0 Updated unrar to 5.50 Updated unrpa to 1.5.2 Updated TrID to 2.24 Updated unshield to 1.4 Updated FFMPEG to 4.0.2 Updated innounp to 0.47 Updated Bulgarian translation, thanks to Jekov J.K. Updated French translation, thanks to zorbao Updated Chinese (Traditional) translation, thanks to jfcherng Updated Portuguese (Brazilian) translation, thanks to igorruckert Updated Greek translation, thanks to gvp9000 Updated Russian translation, thanks to @wvxwxvw

UniExtract2版本: v2.0.0-beta.4
🔗更新日志

Beta 4 is planned to be the last beta version before the final release. It adds support for several new installer types, a new context menu entry 'Extract to last used directory', improved user interface, a statistics display and multiple bugfixes.

Added support for InstallAware installers Added support for .gif and apng files (FFMPEG) Added support for Enigma Virtual Box executables using EnigmaVB unpacker (plugin) Added support for Ghost Installer Studio installers Added support for Smart Install Maker installers (plugin) Added lessmsi for improved support for .msi files Added statistics GUI Added status box when moving/copying unicode files to temp directory Added timeout to some scan functions to prevent delays caused by unresponsive helper binaries Added extraction to last used directory command line option and context menu Changed forcing a single instance and auto-adding is now disabled if the extraction is already finished and only the result message box is opened Changed unicode path logic: file is now copied instead of moved if it is on a different drive than the temp directory Changed status box design Fixed multiple error messages being displayed on failed update check Fixed update message display problem Fixed possible problems when entering relative paths in main GUI input fields Fixed extraction not working when file directory contains unicode characters and there is not enough free space on the drive containing the temp folder Fixed free space check not taking unicode file moving into account Fixed .sit extraction Fixed crash when trying to extract wise installers Fixed swf extraction ignoring some images and sounds Updated language files for Portuguese, Russian, Swedish, Italian Removed DMGExtractor and replaced it with 7z Updated 7zip to 16.04 Updated ExeInfoPE to 0.0.4.3 Updated fsbext to 0.3.5 Updated innounp to 0.46 Updated QuickBMS to 0.7.5 Updated ttarchext to 0.2.10

UniExtract2版本: v2.0.0-beta.3
🔗更新日志

Beta 3 brings a brand new updater, fixes several errors related to missing permissions and adds 8 formats to the list of extractable files.

Added support for .mp3, .wmv and .wma files Added support for bcm compressed files using bcm Added support for zpaq archives using zpaq Added support for Android boot images using bootimg (plugin) Added support for Excelsior Installer executables Added support for ISO zipped image files using unisz Added status box to sfx script extraction Added output directory permission check Added update summary to update prompt Added back is5comp (plugin) Changed .exe detection logic for speed improvements Changed file type detection: TrIDLib is now used for extraction, TrID for scan only mode, the library version is much faster but returns less additional information Changed settings directory: if UniExtract detects insufficient write permissions to its directory, all settings are stored in %APPDATA%; this way multiple users on the same local system can also have different preferences Changed .exe extraction: UniExtract will now terminate with a NOTPACKED error instead of using generic 7z extraction, which produces useless files Changed success evaluation: if files were overwritten the extraction was often evaluated as failed Changed success evaluation: improved failure detection Changed keepopen option: moved from edit menu to main GUI for better usability Fixed crash when clicking finish button in plugin GUI if no item has been selected before Fixed helper binaries execution failing if %comspec% environment variable is unset Fixed .pea detection Fixed .chm extraction Fixed .mht detection Fixed FreeArc extraction Fixed AdvancedInstaller extraction Fixed registry keys are now being deleted after scanning if they did not exist before for ExeInfo, PEid Fixed settings not being saved if UniExtract lays in program files directory due to lacking permission Fixed updating/FFMPEG download if user has no write permissions to UniExtract's directory Fixed free space check failing if output directory does not exist Fixed not enough free space dialog's 'Abort' button not working Fixed download progress indicator not being on top of first start GUI Fixed first start GUI now shows 'Installed' if FFMPEG already exists Fixed error message display bug for unicode files Fixed some wrong detections Fixed unicode multipart rar/7z archive extraction Fixed unpack prompt in some cases being displayed again after the user clicked 'no' Fixed 7zip check often returning true, even if the file cannot be extracted, leading to 'failed' extraction result Fixed crash in update message when UniExtract is run from command line and 'No' is clicked Fixed syntax help dialog closing automatically Fixed possible false positives when using checkNSIS function Fixed password detection for some .rar files Fixed some untranslated terms in MethodSelect GUI Removed globalprefs option and preference storage in registry Removed faad and flac, extraction is now handled by FFMPEG Removed unnecessary input file moves Removed 7zip 15.14, reverted to 15.05 as NSIS support was dropped from newer versions Updated ExeInfoPE to 0.0.4.1 Updated peazip to 0.53/1.0 Updated ttarchext to 0.2.9 Updated Japanese translation, thanks to A. Inaba Updated Chinese (Simplified) translation, thanks to SeaHOH

Universal Extractor 2 (UniExtract2)

Download

Universal Extractor 2 is a tool designed to extract files from any type of extractable file.

Unlike most archiving programs, UniExtract is not limited to standard archives such as .zip and .rar. It can also deal with application installers, disk images and even game archives and other multimedia files. An overview of supported file types can be found here

This program is an unofficial updated and extended version of the original UniExtract by Jared Breland. As the development of the original version has stopped and no update has been published for years, many forks (modified versions, maintained by volunteers from the community) have arisen. This is the most advanced of them, featuring a very long list of enhancements.

New features in version 2

  • 500+ new supported file types
  • Batch mode
  • Scan only mode to detect the type of any given file
  • Built-in updater
  • Support for password list for common archives
  • Improved context menu integration and status box
  • Better and faster file analysis
  • Silent mode, not showing any prompts
  • Many interface improvements and redesigned dialogs
  • Resource usage/speed improvements, lots of bug fixes

See the changelog for a complete log of all improvements.

Download

Get the latest version here

Virus alert?

Universal Extractor does not contain any malware. Some anti-virus programs occasionally misdetect files inside UniExtract's program directory. You can be sure that this is a so-called false positive, an error - if you downloaded UniExtract from the official source at https://github.com/Bioruebe/UniExtract2. A more detailed explanation can be found here. If you encounter a false positive, please report it here.

'Windows protected your PC'?

Modern versions of Windows have a feature called SmartScreen, which warns about unknown files. This means software without a big company behind it and/or a huge userbase produces a warning. Don't panic! Mostly this happens after a new version of UniExtract has been released. After enough users updated their installation, the warning might vanish, because it now has reputation. If you see a SmartScreen warning, you can safely click 'More info', then 'Run anyway'.

System requirements

In short: Windows XP or newer. However, outdated version of Windows only have limited support:

  • Windows 7: sending feedback requires you to follow this guide by Microsoft, otherwise it will fail
  • Windows XP: any online functionality, such as the updater or the feedback dialog, is disabled for security reasons. Also some extractors might not work.

(Online functionality for these systems might be restored in a future version of Universal Extractor.)

Updating

Universal Extractor 2 comes with a built-in updater. You will receive a notification when a new version is released. Alternatively, you can search for updates manually from the Help menu.

At the moment, UniExtract is still in beta and updates are rare. If you want to keep up-to-date with the development, you can opt-in to more frequent updates.

Do not replace any files in UniExtract's program directory yourself. This will break things! More details can be found here.

Older versions

...can be found on the Releases page. However, this is for historical reasons ony. Please consider using the newest version instead.

Uninstalling
  • If you enabled context menu entries, open Universal Extractor and select Edit > Context Menu Entries. Uncheck both enabled checkboxes and click OK.
  • If you saved the program to a directory without write access (e.g. C:\Program Files) and want to remove all settings, remove the directory %APPDATA%\Bioruebe\UniExtract. Simply open the file explorer and enter %APPDATA%\Bioruebe into the path input, then delete the directory UniExtract.
  • Finally, delete the program directory.

FAQ

Is there a portable version?

Universal Extractor itself is completely portable, with some exceptions:

  • Enabling context menu entries will create registry entries
  • To extract a wide variety of file types more than 50 different extractors are used. Some of them might leave traces on the system. For the most common archives and installers extraction can be considered portable, for others probably not.
  • Storing Universal Extractor in a directory without write access (e.g. C:\Program Files) enables multi-user mode. This results in configuration files being stored in the %APPDATA% directory (C:\Users\YourUsername\AppData\Roaming\Bioruebe\UniExtract). See issue #20 for more information.

Why are there many different versions/modifications/repacks of Universal Extractor?

When the original developer of UniExtract stopped working on it, many people from around the world continued to update and improve the program. Some 'only' updated the tools Universal Extractor uses, others added great features. As a result all versions differ in terms of supported archives and features added.

This version is the only 'real' open-source one, with a central repository on Github everyone can contribute to. Over the years I fulfilled many user requests, added support for files the community wanted to decompress and implemented a lot of convenience functions. Many volunteers help translating UniExtract, finding bugs, discussing improvements and respond to other user's questions.

However, Universal Extractor 2 may fail to unpack files, which other versions of this tool can extract. If you really need to access the contents of an archive, you may have success with one of the other UniExtracts. Alternatively, you can also ask for support here. It might take a while until I can answer, though.

Can UniExtract (re)compress files?

No. This tool was designed as an extraction utility. A counterpart ("UniArchive") is out of scope - at least for me. (Read about the reasons here.) Feel free to create it!

Nightly Builds

You can opt-in to receive the most current development build of Universal Extractor 2. Simply open the preferences dialog (from 'Edit' menu) and check Install beta updates. The next time you search for updates, you will receive the development build instead of the release version. After disabling the option again you can go back to the latest stable version by simply updating.

Reporting bugs

Did you encounter a problem with UniExtract? Please report what went wrong to us. There are differnet ways to do so:

  • If you have a Github account, you can open an issue. This is the prefered way for feature requests, suggestions and general technical problems.
  • From within Universal Extractor: select 'Give feedback' from the 'Help' menu. This is the prefered way to submit failed extractons. If UniExtract was not successful, it will automatically ask you to send feedback (can be disabled from the options). This type of feedback includes a log with several debug information, which could help fixing the problem.
  • Direct contact via email. This can be used if you do not have an account at Github. Many users, who created translations for UniExtract, like to send updated files per email. (Others open pull requests instead.)

Building from Source

  1. Download and install AutoIt
  2. Download and install SciTE (Optional)
    • Running UniExtract through SciTE has the additional benefit of real-time logging in the built-in console.
  3. Clone this repository or download a snapshot and unpack into a folder of your likings
  4. Open UniExtract.au3 in SciTE and hit F5 to run in debug mode; F7 to build an executable file or run UniExtract.au3 through Aut2Exe (look here for more information about Aut2Exe)
  5. Download the necessary program files, which are not part of the source package
    1. Run the program
    2. UniExtract will display a message that the program files are incomplete. Select No.
    3. Go to Edit/Preferences and check Install beta updates. An update notification should appear. Otherwise, choose Help/Check for Updates. Select Yes.
  6. In case the main executable gets overwritten, rebuild it as explained in step 4.

Contributions

Any contribution in form of ideas, bug reports, code commits, documentation improvements, etc. is welcome. Help is currently needed in updating the translations for many languages. If you are able to translate into another language, take a look at the corresponding issue (#2) or open the language file in the /lang subdirectory and check for empty strings. English and German language are always up-to-date and can be used as a reference.

Feel free to submit bug reports or feature requests using the issues tab or the built-in feedback window in Universal Extractor, accessible via the 'Help' menu. Refer to Github's issue page for planned features and problems to be fixed in future versions. The file todo.txt is a leftover from the original Universal Extractor and only used for personal development thoughts and notes.

License

Universal Extractor is licensed under GPLv2. See LICENSE for the full legal text. Code (functions, UDFs, etc.) written from scratch by me (which are not under copyleft) can also be used in your own projects under the terms of a BSD 3-clause license.

Universal Extractor uses TrIDLib by Marco Pontello, several 7zip plugins by Dec Software and many other great tools and libraries to support as many file formats as possible. Please consider supporting the authors of the software mentioned here.

Please note that Universal Extractor includes third-party software, which uses different licenses than the main program. Specifically, some extractors do not allow commercial use. If you intend to use the software for commercial purposes, please check the individual license files in the /docs subdirectory and the helper binary info file first. Feel free to delete files, whose license does not fit your use case, from the /bin subdirectory.