I've stumbled upon Inno Setup installer with additional separate Arc archives (commonly with .bin extension) that I was unable to extract using normal methods:

  1. the installer didn't work for an obscure reason (e.g. Runtime Error (at -1:0): Cannot Import EXTRACTFILENAME.),
  2. extracting the Arc file with FreeArc was impossible due to ERROR: unsupported compression method srep,
  3. also, the archive was apparently password-protected (trying to open it with FreeArc UI resulted in Enter decryption password dialog box).

How can one deal with such a situation?

1 Answer 1


There are three main steps here:

  1. you'll have to decompile/dissect the IS installer itself; the easiest way is to use Inno Setup Decompiler ; essentially, you'll need to get CompiledCode.bin from your .exe file, and then disasm it, possibly finding a code that handles the unpacking - it usually calls ISArcExtract or a similar library function, and is placed in a method named CURSTEPCHANGED.
  2. you have to get SREP (SuperREP) extractor (for more info, see e.g. http://krinkels.org/resources/superrep-srep.107/ and https://www.fileforums.com/showthread.php?p=460707) - the easiest way is to get a pack called SrepInside0.33.7z (available for download in various places), as it has all the required files bundled (essentially, you'll get an unarc.exe with CLS-srep.dll lib and cls.ini config).
  3. in your Inno Setup's disassembly, locate the variable that holds the password itself (in case of ISArcExtract it's the 7th parameter passed), and pass it to your unarc call - note that it may contain non-printable characters (e.g. <32 ASCII codes), so that passing the password using a script is advisable.

Note that there are different versions/variants to both Arc and SREP; the above method should work in most cases, though.

  • Is there a way to user FreeArc to open those arc bins? I managed to open a few after fiddling with External compressor entries in arc.ini for srep, but others, some from more recent installers, give block descriptor is corrupted regardless. I know they're arcs, internal inno files have the unarc.dll.
    – JasonXA
    Nov 9, 2019 at 14:29
  • @JasonXA AFAIR (I haven't done this in a year, and I don't have any relevant files handy), it's a version mismatch problem - FreeArc got abandoned ca. v0.666, with v0.67 roaming in the wild, some people having access to the v0.70, and there's also FreeArc Next right now as the supported version. Try with the latest versions, YMMV.
    – user15807
    Nov 9, 2019 at 15:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy