It is a known issue. Unfortunately I can not do much about it. ROPS Decompiler uses original Pascal Script source code for decompilation process. But authors did not update it to work properly with newest PS versions.
If it's not a zip file, why do they give it a zip extension It is not a standalone file, it does not have an extension. If you attach sfx module to standard zip file it will loose extension but it is zip file still. why do you want 7-Zip to be able to handle it as zip file Because besides backslashes it is zip file.
But it is not a zip program. They don't create zip files for user consumption. It is installer creation tool, similar to NSIS and Inno. Install4j installer file is not standard zip sfx. They pack installable files in one or more zips then compress zips with lzma and attach as pe overlay. From the outside view installer .exe file does not have any signs of zip format. I guess they took zip format without any changes for simplicity. But I doubt that they had any intent to fix compatibility issues with...
There is nothing to report. It is not a bug. They do it on purpose. Install4j does not intend for these zips to be extracted regular way. They are part of the installer blob. I've created small tool to extract .zips from installer .exe file and wanted to use 7zip to further open zips to extract individual files. But I was unable to do so with new version. I don't agree with you about following strict specification in this case. I doubt there are a lot of files where backslash is really intended to...
think about such situation: user in linux creates such file: If somebody makes archive like this manually I don't think he intends it to be multi-platform. But such incorrect zip archives are rare cases. And best solution to solve the problem is to fix wrong software that was used to create such incorrect zip files. Archive that I've uploaded is not a result of bug in software. It was deliberately created this way. As I've mentioned earlier it is from Install4j installer. Install4j packs installable...
On Linux backslash is a valid character for file names. So unzip has no reason not to use it as such. But on Windows it is a path delimiter and can not be used in names. It is more logical to use it as path delimiter. Most Win software uses both slashes as equal delimiter. Besides if you insist on using path as filename why does 7zip replace backslash with some strange Unicode symbol? In console output it looks like underscore but it is not. See attached image. Consolas font even does not have a...
As you can see in the listing 21.07 does not recognize directories in the file path. It thinks that all files have long names with entire path in it. 7zip 19.0 and winrar process such archives properly. This file was created by Install4j installer. It stores installer content in similar zips.
Hi. I have zip file that seems to be somewhat non-standard. I'm no expert with the format but it looks like it has Unix flag for entries but DOS backslashes as path delimiter. 7zip 19.00 processes this file without any issues: 7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21 Scanning the drive for archives: 1 file, 162127 bytes (159 KiB) Listing archive: i4j.zip -- Path = i4j.zip Type = zip Physical Size = 162127 Date Time Attr Size Compressed Name ------------------- ----- ------------...
File name pattern for .bin files is stored in main .exe file. If you renamed them for some reason there is no way to tell unpacker to use them.
Delphi 10 uses a predefined global conditional symbol called UNICODE In original Inno source it was a Delphi symbol. Inno ansi and inicode versions were compiled in different Delphi versions and predefined UNICODE was used to split the two. Although I don't have Delphi 10 to test the build process and resulting binaries I will try to incorporate your changes. They make sense.
Innounp should have unique errorcode. I agree with that. Maybe one day it will be implemented :). Would be nice if Innounp would displays the password hash that is used to verifiy the password. You can see password hash in the reconstructed script.
Inno Setup Unpacker 0.50 released
Not really sure. Never needed to see how it is serialized in byte sequence. Version data is 10 bytes long. 4 bytes for 0.0 (all zeroes), 4 bytes for 6.0 (zeroes and 1 byte = 6). Last 2 bytes for Win service pack are not printed in script so can be anything. Can't say offhand exact position of 6 between zeroes.
As I've said that sequence is inside solid compressed data block. You can't change data without full recompression.
Script is not "decompiled". It is "reconstructed". It does not exists in the installer, unpacker runs through all the data and tries to reconstruct the script as close as possible to the original one based on the things found inside the binary data. Which in turn is a solid compressed archive. And you can not patch solid archived data without full recompression.
Check for file embedded\CompiledCode.bin. If it is present then there were code attached. It does not mean that it is very important code. But you will loose it if you try to recompile the installer with reconstructed script.
It is not possible to modify the existing installer to change Win version requirements. Technically you can rebuld installer from reconstructed script and extracted files but you'll loose any code that were attached to the script (if there is one). Or may be you can simply use extracted files if installer does not do any magic and just unpacks files to some location.
It is not an issue. It is how installer is packed. GOG packs lot of stuff this way. Usually it is patches, but sometimes full games too. Bundled script file assembles game content from tmp folder after unpacking.
Could you provide a sample installer for tests? It would be simpler when there are some files with reproducable behavior to play with.
It is possible. But what's the point in making it a separate command? You can easily get list of languages from recompiled script. There is a special section.
Inno Setup Unpacker 0.49 released
IS 5.6.6 does not exists. Last available official version in 5.6 branch is 5.6.2. I guess is some custom version. It is hard to unpack such versions without any knowledge of the changes inside them.
It happens sometimes :). Sources are distributed in the same folder as release archive. I probably should do something with old sources to avoid confusion.
You didn't noticed source archive near release?
I don't understand. Innounp does not have any GUI inside. Are you using some external GUI wrapper?
Use -d option to specify exact location where you want to unpack your files. Innounp checks if all files can fit to the destination folder. By default it is your current folder. Its location depends on where you launch command from. Using -d should solve your problems.
This file has non-standard signature. It uses (U) instead of (u) for Unicode sign. And unpacker wrongfully thinks it is Ansi version and fails. You can manually fix signature in any editor that supports binary files to unpack the installer.
No
Inno Setup Unpacker 0.47 released
I will do the update sometimes next week. I'm currently away from my development box.
Run prep.bat to create all required files.
Та не, там попроще система нужна. В инсталяхе все данные идут непрерывным потоком сжатым lzma. И чтобы понять размер картинки перед данными идет размер файла. А теперь ещё и счетчик идет. Т.е. по сути надо прочитать число из потока (и счетчик и размер по 4 байта) и прикинуть на что это значение больше похоже. На количество картинок или на размер файла. Туповатый алгоритм, но должно работать.
Ну счетчик то там есть. Инсталяха же должна знать сама сколько там картинок. Тут некоторая сложность в том, что мы не знаем, что у нас первое число в распакованом потоке: счетчик на много картинок или это уже сама картинка пошла. Версия то не поменялась, а формат да. Задача вполне решаемая, но туповато получится.
Как-то вот это меня заинтриговало, и посравнивал я сорцы новой и старой версии. Оказывается, там структуры не поменялись, поэтому, наверное, и сигнатуру автор не сменил. После тыкания отладчиком и воскурения сорцов, выяснилось, что в новой версии вместо традиционной одной картинки в визарде, теперь их может быть много. И там, где раньше сразу шла распаковка данных, теперь надо читать количество картинок ,а потом их по очереди распаковывать. Проблема решаемая, только теперь вопрос как узнать одна...
Не получится пока обновиться. Версию автор поднял, а сигнатура старая осталась - 5.5.7 (можно в Фаре открыть и посмотреть, если интересно).
Broken build with MSVC 2015
OK. Will do.
You can't get script code from installer file. It is not stored in text form. Compiled...
Versions above 1.2.3 does not have serious vulnerabilities that can make update worth...
And how this question is related to unpacker?
FreeArc compressed data is not a part of main installer. Technically it is a separate...
Hi. Thanks for the info. You are probably correct, innounp should handle this situation...
And how this question is related to unpacker? If you packaged the installer you probably...
Ох. Затупил с именем архивов. Спасибо, исправил.
Inno Setup Unpacker 0.46 released
С гиговым словарем и правда все распаковывает нормально. Спасибо за диагностику :)....
Так оно всегда так было. В скрипт прописывается версия из сигнатуры файла, а не та,...
Inno Setup Unpacker 0.45 released
Inno Setup Unpacker 0.45 released
Inno Setup Unpacker 0.45 released
О, прозевал выход новой версии. Спасибо. Добавлю поддержку.
Error message is quite descriptive. You are trying to open file that was made with...
Inno Setup Unpacker 0.44 released
Yes. I've received your message. Thanks for the sample file, I can see the issue...
I've checked your file. It seems that there is nothing could be done here. Installer...
Yes, it is a possible solution.
Well, english is not my language too so i can't really judge :) Could you give me...
I don't understand what -t and -v have to do with original issue (which was invalid...
It is not a vanilla 1.3.25, it is ISX version (Inno Setup Extensions) which is not...
InnoEx is a small and simple GUI for InnoUnp to view and extract resources from Inno...
Try adding -a to command line. It will give you all files. For some reason exe names...
Hi. Yes, I accept patches. I myself trying to modify innounp to be usable as a library,...
Inno Setup Unpacker 0.43 released
Well, I thought about it several times in the past. But my laziness always won :)....
Sourceforge release system behave kinda strange and I can not properly upload files....
Yes, I know. New version will be released soon.
Ok, I understand. Maybe I was worried a little for backward compatibility, but program...
Ok, I understand. Maybe I was worried a little for backward compatibility, but program...
On old innounp (prior to 0.42) it was possible to extract non-encrypted file from...
Hm. Yes I see the issue. Can't really say why decompiler is not working. Decompiler...
Inno Setup Unpacker 0.42 released
Can't confirm. File is unpacked by innounp 0.41 without any problems.
Yes, I could reproduce the bug. I've fixed it. Thanks for the report.
Adding support for IS 1.x has one significant problem: no sources for those versions...
Inno Setup Unpacker 0.41 released
Basically you need to implement handling of some additional structures introduced...
What vulnerability are you talking about? I don't recall version 1.2.3 having critical...
Setup file header stores information about compression method. But it does not store...
I've checked latest version 0.40 and it gives me following results in script [Run]...
Sources are uploaded to the same directory as binaries now.
Yes, it is indeed a bug. Thanks for the report. I've fixed the names.
Then you should have b64encode(SHA1("PasswordCheckHash"+b64decode(PasswordSalt)+pwd))...
Salt is base64 encoded before dumping to script for better readability. Inside it...
It is wrong. You should look at the source code of either IS or innounp. Search for...
Well, I guess you are using password hash and salt a wrong way. :) How do you attaching...
Use private messages. You can find Send Message button in my profile page (works...
What version of the disasm did you used? I will check what's wrong if you send me...
Nope. Standard installers can be unpacked without any issues.
Network path should start with double backslash, e.g. \\server\share\folder\inst...
Yes, it was made with incompatible version. I've fixed the AV exception but unfortunately...
Address points to the unpacker's memory, so it's not really helpful. Success of the...
This usually means that installer is made with non-vanilla IS version and is not...
I don't have any code. Didn't have any need to use such scripts. If you so care about...
Technically yes. K-lite codec pack installers do the same. But you have to understand...
Functions are declared in compiled script. Decompile file embedded\CompiledCode.bin...
To check if file was made with Inno Setup open it in any text editor and search for...