Decompressie – Inno Setup Unpacker (software)

Informatie (ENG):

Version 0.41 supports Inno Setup versions 2.0.7 through 5.5.5

Inno Setup is a popular program for making software installations. Unfortunately, there is no official unpacker – the only method of getting the files out of the self-extracting executable is to run it. One piece of software that addresses this issue is Sergei Wanin’s InstallExplorer, a plug-in for the FAR Manager that unpacks several types of installations, including Inno Setup (IS). But since it is not updated in a timely fashion, and so does not support the latest IS most of the time, this program was born. The advantages over InstallExplorer are:

Innounp is open source and based on IS source. Therefore, it is more likely to support future IS versions.

It recovers portions of the installation script (.iss file), including the registry changes and the compiled Innerfuse/RemObjects Pascal Script, if available.

UsageInnounp is a console application, and it uses command-line options to find out what to do. For a more human-friendly interface utilizing FAR or Total Commander as a front-end see the MultiArc section below. Windows Explorer fans: nullz has made some .reg scripts to add innounp into the right-click menu and Richard Santaella crafted a graphical wrapper for innounp (get it on the download page).

If an installation has setup.0 (it is made without using SetupLdr), run innounp on setup.0 instead of setup.exe.

To extract all files from a specific directory, use dirname\*.*, not just dirname.

By default all files are extracted to the current directory. Use -d to override this behaviour. For example, -dUnpacked will create a directory named Unpacked inside the current directory and put the extracted files there.

The -c option is a little more tricky to explain. Suppose you opened an installation in a file manager and browsed to {app}\subdir\program.exe. Now if you copied program.exe to another location, the entire directory tree ({app}\subdir\) would be created and program.exe would be extracted there. -c notifies innounp that you are only interested in paths from the current directory and below, so that your file, program.exe, is extracted right where you intended to copy it, not several directory levels deeper. Note that in order to avoid confusion, files must still be specified by their full path names inside the installation.

Note that an installation can contain several identical files (possibly under different names). Inno Setup stores only one copy of such files, and by default innounp will also unpack one file. If you want to have all files that could ever be installed anywhere, regardless of how many identical files this may get you, -a option will do it.

If -m is specified, the file listing includes embedded\CompiledCode.bin which is the code made by the RemObjects Pascal Script compiler. It is possible to disassemble it using the ifps3_disasm.rar package on the download page. The result is not very readable though since it uses the basic ‘disassembler’ from IFPS3. Anyone wants to write a decompiler?

Changelog

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

0.43 (2015.07.18)

* Added support for IS 5.5.6.

0.42 (2015.05.27)

* Added support for IS 1.3.21 and 1.3.25.

* Experimental support for some custom IS versions.

* Fixed encoding of several entries in reconstructed script.

0.41 (2015.03.18)

* All slashes in file paths are converted to Windows style for consistency.

* Fixed a bug in MultiArc settings that prevented shells from displaying file dates and times (thanks to Maxim Ryazanov).

* The reconstructed setup script (.iss

) is now included together with the 'normal' files. Using -m

option it's possible to view/extract other internal files in the same way.

0.07 (2004.03.16)

* Multiple files with the same name are not overwritten now, instead they are appended with numbers.

* -c

command extracts the compiled Innerfuse Pascal Script code to a file. It can then be 'disassembled' with a separate tool. Get one on the download page.

* The output of -i

command now looks more like .iss

script. More data is included.

0.06 (2004.03.11)

* Added support for IS versions 3.0.0 - 4.0.0.

* Supports installations that were not packaged into a single exe using SetupLdr (these can be identified by the presence of setup.0

which is appended to setup.exe

in packaged installations).

* -i

command displays registry changes made by an installation.

* Supports (displays and reads from filelists) filenames with national characters (single-byte character encodings only, Unicode/MBCS was not tested). The correct code page must be set in Windows for this function to work properly.

* [fix] File dates and times were not set during extraction.

0.05 (2004.03.09)

* Improved batch processing. Now it's possible to browse and extract IS installations in FAR using the supplied settings for the standard MultiArc plug-in.