About
Inno Setup is a tool to create installers for Microsoft Windows applications. innoextract allows to extract such installers without running the actual setup executable under Windows or using Wine. innoextract currently supports installers created by Inno Setup 1.2.10 to 6.1.2. (details)
Author: DanielScharrer (daniel@constexpr.org)
License: zlib/libpng
Oct 05, 2018 Dragon UnPACKer is a game archive (Quake PAK, etc.) unpacking tool. It is plugin based making easier to add new archive file formats. It has convert ability and raw search function for known material (audio, video and pictures). The primary apparatus Ext4 Unpacker changes over the system.img record into an EXT4 document. And after that the second apparatus Ext2Explore, which is a traveler programming for perusing ext2,ext3 and ext4 document organizes on Windows PCs, allows you read the system.img record changed over into EXT4 and duplicate whole substance of the record. Recently I have been working on reverse engineering of binary samples and executables of known malware. Most of them have been packed or encrypted. And to reach the actual data or part of the program we have to find where it is unpacking. Is there any common way or some technique to unpack malware samples for easier analysis? Right-click on the EXE, mouse-over the WinRAR item to get the flyout with further choices, and select one of the several 'extract' options on the flyout. Works perfectly. Just like UN-ZIP, such as if you download a driver/install file from the HP support site.
In addition to standard Inno Setup installers, innoextract also supports some modified Inno Setup variants including Martijn Laan's My Inno Setup Extensions 1.3.10 to 3.0.6.1 as well as GOG.com's Inno Setup-based game installers. innoextract is able to unpack Wadjet Eye Games installers (to play with AGS), Arx Fatalis patches (for use with Arx Libertatis) as well as various other Inno Setup executables. See the list of limitations below.
While developed on Linux, innoextract is cross-platform and meant to work with any C++03 to C++17 compiler, architecture and operating system supported by CMake, Boost, liblzma and (optionally) iconv.
Announcements
innoextract 1.9 released
- Added preliminary support for Inno Setup 6.1.0
- Added support for a modified Inno Setup 5.4.2 variant
- Fixed output directory being created for unsupported installers
- Fixed some safe non-ASCII characters being stripped from filenames
- Fixed handling of path separators in Japanese and Korean installers
- Fixed build with newer Boost versions
- Windows: Fixed heap corruption
- Windows: Fixed garbled output
Download
The current version of innoextract is 1.9 (changelog):
- innoextract Source Code(mirror)innoextract-1.9.tar.gz202 KiB
MD5:964f39bb3f8fd2313629e69ffd3dab9fsignature - innoextract Windows Binaries(mirror)innoextract-1.9-windows.zip509 KiB
MD5:72d0d0dd874b6236eaa44411f4470ee1signature - innoextract Linux Binaries(mirror)innoextract-1.9-linux.tar.xz888 KiB
MD5:33bdf359c62d4f88a51ae15048ea480esignature - innoextract FreeBSD Binaries(mirror)innoextract-1.8-freebsd.tar.xz712 KiB
MD5:7e50020f771ce4b1827c1088c6c72a3fsignature
The files have been signed with this OpenPGP key (28555A66D7E1DEC9).
Windows binaries should work on XP or newer.
The Linux tarball includes x86, amd64 and ARMELv6j+hardfloat+vfp (Raspberry Pi compatible) binaries.
FreeBSD binaries are built against FreeBSD 9.1, but will likely also work on other versions.
All 32-bit binaries are compiled for i686 (Pentium Pro or newer). 64-bit binaries are included for some platforms.
Older versions are still available for download.
There is also a port of innoextract to Android by Alan Woolley.
macOS
Exe Unpacker Download
There are no pre-builtinnoextract binaries for macOS (formerly OS X), but there are also MacPorts and Homebrew packages.You can also build it yourself by downloading the source code and then following these instructions.
Packages
innoextract packages are available for the following operating systems and Linux distributions:
Exe Unpacker
| OS / Distribution | Repository | Package | Version | Type | |
|---|---|---|---|---|---|
| Alpine Linux | Alpine packages | innoextract | 1.9 | distro | |
| ALT Linux | Sisyphus repository | innoextract | 1.9 | distro | |
| AOSC OS | AOSC packages | innoextract | 1.8 | distro | |
| Arch Linux | community | innoextract | 1.9 | distro | Instructions |
| Calculate Linux | Portage | innoextract | 1.8 | distro | |
| Chakra | Chakra Community Repo | innoextract | 1.4 | user | Instructions |
| Clear Linux | sysadmin-basic | innoextract | 1.8 | distro | |
| Debian stable | home:dscharrer on OBS | innoextract | 1.9 | own | Instructions |
| Debian 8 (jessie) | main | innoextract | 1.4 | distro | Instructions |
| Debian 9 (stretch) | main | innoextract | 1.6 | distro | Instructions |
| Debian 10 (buster) | main | innoextract | 1.7 | distro | Instructions |
| Debian testing (bullseye) | main | innoextract | 1.8 | distro | Instructions |
| Debian unstable (sid) | main | innoextract | 1.8 | distro | Instructions |
| Deepin | deepin | innoextract | 1.6 | distro | |
| Devuan 1 (Jessie) | main | innoextract | 1.4 | distro | |
| Devuan 2 (ASCII) | main | innoextract | 1.6 | distro | |
| Devuan 3 (Beowulf) | main | innoextract | 1.7 | distro | |
| Devuan Testing (Chimaera) | main | innoextract | 1.8 | distro | |
| Devuan Unstable (Ceres) | main | innoextract | 1.8 | distro | |
| DragonFlyBSD | DPorts | innoextract | 1.8 | distro | |
| EL 7 (RHEL 7, CentOS 7, …) | scx on Copr | innoextract | 1.7 | user | |
| Fedora | home:dscharrer on OBS | innoextract | 1.9 | own | Instructions |
| Fedora 31 | fedora | innoextract | 1.8 | distro | Instructions |
| Fedora 32 | fedora | innoextract | 1.8 | distro | Instructions |
| FreeBSD | FreeBSD ports | innoextract | 1.8 | distro | Instructions |
| Funtoo | nokit | innoextract | 1.7 | distro | |
| Gentoo | arx-libertatis overlay | innoextract | 1.9 | own | Instructions |
| GuixSD | GNU Guix | innoextract | 1.9 | distro | |
| Haiku | HaikuPorts | innoextract | 1.8 | distro | |
| Kali Linux | main | innoextract | 1.8 | distro | |
| Linuxbrew | linuxbrew-core | innoextract | 1.9 | distro | |
| macOS | Homebrew | innoextract | 1.9 | distro | Instructions |
| macOS | MacPorts | innoextract | 1.8 | distro | |
| Mageia | home:dscharrer on OBS | innoextract | 1.9 | own | Instructions |
| Mageia 6 | Core | innoextract | 1.6 | distro | Instructions |
| Mageia 7 | Core | innoextract | 1.7 | distro | Instructions |
| Mageia Cauldron | Core | innoextract | 1.9 | distro | Instructions |
| Manjaro | community | innoextract | 1.8 | distro | |
| NetBSD | pkgsrc | innoextract | 1.9 | distro | Instructions |
| NixOS | NixOS packages | innoextract | 1.9 | distro | Instructions |
| OpenBSD | OpenBSD ports | innoextract | 1.9 | distro | Instructions |
| OpenMandriva | OpenMandriva Association | innoextract | 1.9 | distro | |
| openSUSE | home:dscharrer on OBS | innoextract | 1.9 | own | Instructions |
| openSUSE | Archiving on OBS | innoextract | 1.9 | distro | Instructions |
| openSUSE Leap 42.1 | official release | innoextract | 1.4 | distro | Instructions |
| openSUSE Leap 42.2 | official release | innoextract | 1.6 | distro | Instructions |
| openSUSE Leap 42.3 | official release | innoextract | 1.6 | distro | Instructions |
| openSUSE Leap 15.0 | official release | innoextract | 1.6 | distro | Instructions |
| openSUSE Leap 15.1 | official release | innoextract | 1.7 | distro | Instructions |
| openSUSE Leap 15.2 | official release | innoextract | 1.7 | distro | Instructions |
| openSUSE Tumbleweed | official release | innoextract | 1.9 | distro | Instructions |
| Parabola GNU/Linux-libre | community | innoextract | 1.9 | distro | |
| Pardus | main | innoextract | 1.7 | distro | |
| Parrot OS | main | innoextract | 1.8 | distro | |
| PLD Linux | packages | innoextract | 1.9 | distro | |
| PureOS | main | innoextract | 1.8 | distro | |
| Raspbian stable | home:dscharrer on OBS | innoextract | 1.9 | own | Instructions |
| Raspbian | main | innoextract | 1.8 | distro | Instructions |
| Slackware 14.0 | slackbuilds.org | innoextract | 1.4 | user | |
| Slackware 14.1 | slackbuilds.org | innoextract | 1.5 | user | |
| Slackware 14.2 | slackbuilds.org | innoextract | 1.7 | user | |
| Solus | shannon | innoextract | 1.9 | distro | |
| Solus | unstable | innoextract | 1.9 | distro | |
| Source Mage | grimoire | innoextract | 1.8 | distro | |
| SUSE Linux Enterprise 15 | SUSE Package Hub | innoextract | 1.7 | distro | |
| Trisquel | main | innoextract | 1.6 | distro | |
| Ubuntu | ppa:arx/release | innoextract | 1.9 | own | Instructions |
| Ubuntu 16.04 (xenial) | universe | innoextract | 1.5 | distro | Instructions |
| Ubuntu 18.04 (bionic) | universe | innoextract | 1.6 | distro | Instructions |
| Ubuntu 20.04 (focal) | universe | innoextract | 1.8 | distro | Instructions |
| Ubuntu 20.10 (groovy) | universe | innoextract | 1.8 | distro | Instructions |
| Ubuntu 21.04 (hirsute) | universe | innoextract | 1.8 | distro | Instructions |
| Void Linux | Void Packages | innoextract | 1.9 | distro | |
| Windows | Chocolatey | innoextract | 1.9 | user | Instructions |
| Windows | MSYS2 | innoextract | 1.9 | user | |
| Windows | Scoop | innoextract | 1.9 | user | |
| Windows | Yet Another Cygwin Ports | innoextract | 1.9 | user |
If your distribution is not listed, first check Repology's package version list as well as the appropriate repositories in case someone already created a package for your distribution. If you create your own packages or find one that isn't listed here, please let me know so that I can add them.
Usage
To extract a setup file to the current directory run:
$ innoextract <file>A list of available options can be retrieved using
$ innoextract --helpDocumentation is also available as a man page:
$ man 1 innoextractCompatibility
innoextract cannot guarantee good forward compatibility as the Inno Setup data format changes frequently. The following table lists the supported versions:
| innoextract 1.9or newer | Inno Setup 1.2.10 to 6.1.2 |
| innoextract 1.8 | Inno Setup 1.2.10 to 6.0.5 |
| innoextract 1.7 | Inno Setup 1.2.10* to 5.6.1 |
| innoextract 1.6 | Inno Setup 1.2.10* to 5.5.9 |
| innoextract 1.5 | Inno Setup 1.2.10* to 5.5.6 |
| innoextract 1.3 to 1.4 | Inno Setup 1.2.10* to 5.5.5 |
| innoextract 1.0 to 1.2 | Inno Setup 1.2.10* to 5.4.3 |
innoextract 1.7 and older cannot extract installers created by Inno Setup 1.3.0 to 1.3.23. GOG.com Installers
GOG.com installers with a 2.x.x version number on the download page or in the filename use Inno Setup 5.5.0 and cannot be extracted by innoextract 1.2 and older. Older installers use Inno Setup 5.2.3 and usually have no version in the filename.
Some GOG.com multi-part installers with version 2.1.x or higher use RAR archives (renamed to .bin) to store the game data. These files are not part of the Inno Setup installer. However, innoextract 1.5 or newer can extract them using the --gog option if either unrar or unar is installed.
UnPacker - Free Download And Software Reviews - CNET Download.com
Other newer GOG.com installers don't include the raw files directly but instead store them in GOG Galaxy format: split into small parts which are then individually compressed. These files are named after their MD5 hash and stored in the tmp directory, for example 'tmp/ab/d7/abd72c0dddc45f2ce6098ce3a286066a'. innoextract 1.7 or newer will automatically re-assemble these parts and extract the original files unless the --no-gog-galaxy option is used.
Some multi-part GOG.com installers use .bin slice files larger than 2 GiB - extracting these requires innoextract 1.8 or newer on 32-bit platforms. Older versions failed with a 'bad chunk magic' error.
Limitations
- There is no support for extracting individual components and limited support for filtering by name.
- Included scripts and checks are not executed.
- The mapping from Inno Setup constants like the application directory to subdirectories is hard-coded.
- Names for data slice/disk files in multi-file installers must follow the standard naming scheme.
Also see the list of planned/requested enhancements on the issue tracker.
Another (Windows-only) tool to extract Inno Setup files is innounp.
Dll Unpacker
Development Information
Unpacker - Download
Projects using innoextract
Dragon UnPACKer Download | SourceForge.net
- Inno Setup Extractor for Android uses
innoextractas the backend - Debian's
game-data-packagerusesinnoextractto extract the data for some games. - the ./play.it project uses
innoextractto extract the data for some games. - The arch-gog project uses
innoextractin many PKGBUILD scripts - vcmibuilder uses
innoextractwhen installing from a GOG.com setup file - arx-install-data from Arx Libertatis uses
innoextractto extract GOG.com installers and Arx Fatalis patches - The Linux version of the Daikatana 1.3 patch uses
innoextractin its GOG.com install script - The FreeSpace Open Installer uses
innoextractto extract data from the FreeSpace 2 GOG.com setup. - The defunct gogonlinux project used
innoextractto unpack GOG.com installers - The Play on Linux/Mac project has scripts to extract installers using
innoextract - Legaci, the Legacy Game Commandline Installer can use
innoextractto unpack GOG.com installers

Related Projects
innounp- alternative toinnoextractfor Windowsuninno- portable unpacking tool for Inno Setup installers, written in Perlinno2john- cracks password protected Inno Setup generated installers using John the Rippercabextract- unpacker for .cab files used in Microsoft installersunshield- unpacker for .cab files used in InstallShield installers