I am very very happy to see there is still an active development of 7-Zip. I have a few requests and decide to write you.
I'm currently using 7-Zip 9.20. Yesterday I decide to give it a shot trying to open 2 unusual (for me) formats, both of them being program installers.
1st was an EXE installer (I'm Win32 user) for an OCR Language Pack for the famous PDF-XChange Editor :). The goal I was aiming at was to only extract the inner contents off the installer, 'cause the OCR Language Pack installer itself searches for a valid installation of the software on the target system. The thing is that they provide a portable version of their PDF Editor software and it does not need an installation at all, thus surpassing registry manipulation etc... (you know). Therefore the OCR Pack installer fails every time when trying to find an installation folders and it does not install/unpack anything. Yes, this is some very stupid design decision someone made...
The OCR Pack installer has almost all of its content stored in a single file (around 90% of the total size) (at least what I'm able to see from inside the 7-Zip manager).
So my guess was that it could be some type of archive/package/data-compress, holding the important data. Looking at the raw file, I saw it starts with "zlb" string in the beginning, which in turn proved to be some file header for Inno Setup installer (compressed with zlib). Unfortunately 7-Zip was unable to decompress the file. I was able to decompress and extract the contents with InnoExtractor (which obviously uses innounp)... and it was very interesting for me to fumble inside installer's inner guts (and to achieve my goal at the end :)).
2nd installer also was en EXE, but it's for SumatraPDF. The case here is analogous - some single file inside containing about 93% of the whole thing.
It begins with the string "LzSA" (0x41537a4c little endian), which stands for Lzma Simple Archive (according to the author of the format). It looks like the SumatraPDF installer is the only one using this LzSA format (correct me if I'm wrong). The good thing is that the software is open source and the author explains the archive format he creates. I'm unable to understand it thoroughly but you may give it a shot - https://github.com/sumatrapdfreader/sumatrapdf/blob/master/src/tools/MakeLzSA.cpp. Is seems no one is able to read/decompress/extract such archive.
And my last request is about the UI - it would be helpful if there is a history navigation through "Back" and "Forward" buttons, just like in the Web browsers (would require a history buffer of some type). And it would be awesome if (like in FireFox) there is a history pull-down arrow, allowing the user to navigate where he/she was with just 1 click. The reason behind this request is when you are in some deep archive tree and you go up to the 1st level, then you might forget where you've been initially (excellent example is me), and even if you remember, the "go back" process is long and annoying... and why, in the first place, you have to remember such things?! And if you have some sophisticated tree or work with many archives simultaneously (+ the other things happening alongside) - your work starts to slow down considerably. I just judge by myself using FireFox - it's a real work saver!
I'm sorry for the lengthy post and hope that these suggestions are meaningfull. Keep up the good work.
Regards
Zenix
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
1) I don't plan to support these formats.
InnoSetup - can be difficult to implement as I suppose.
LzSA is used only by one program.
2) There is "Folders History" in "View" menu.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I do encounter these zlb files quite often, and stil haven't located a tool that will unpack them. It's a shame 7zip cannot and will not, given that 7zip gets this far with unpacking these exe installers up to this point. With a zlb decompressor, we'd be able to bypass all kinds of adware installer crap.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi, Igor (and the crew)
I am very very happy to see there is still an active development of 7-Zip. I have a few requests and decide to write you.
I'm currently using 7-Zip 9.20. Yesterday I decide to give it a shot trying to open 2 unusual (for me) formats, both of them being program installers.
1st was an EXE installer (I'm Win32 user) for an OCR Language Pack for the famous PDF-XChange Editor :). The goal I was aiming at was to only extract the inner contents off the installer, 'cause the OCR Language Pack installer itself searches for a valid installation of the software on the target system. The thing is that they provide a portable version of their PDF Editor software and it does not need an installation at all, thus surpassing registry manipulation etc... (you know). Therefore the OCR Pack installer fails every time when trying to find an installation folders and it does not install/unpack anything. Yes, this is some very stupid design decision someone made...
The OCR Pack installer has almost all of its content stored in a single file (around 90% of the total size) (at least what I'm able to see from inside the 7-Zip manager).
So my guess was that it could be some type of archive/package/data-compress, holding the important data. Looking at the raw file, I saw it starts with "zlb" string in the beginning, which in turn proved to be some file header for Inno Setup installer (compressed with zlib). Unfortunately 7-Zip was unable to decompress the file. I was able to decompress and extract the contents with InnoExtractor (which obviously uses innounp)... and it was very interesting for me to fumble inside installer's inner guts (and to achieve my goal at the end :)).
So my 1st request is if it is possible to add support for the "zlb" format in 7-Zip? The OCR installer mentioned can be found at http://www.tracker-software.com/pdf-xchange-viewer-ocr (any of them).
2nd installer also was en EXE, but it's for SumatraPDF. The case here is analogous - some single file inside containing about 93% of the whole thing.
It begins with the string "LzSA" (0x41537a4c little endian), which stands for Lzma Simple Archive (according to the author of the format). It looks like the SumatraPDF installer is the only one using this LzSA format (correct me if I'm wrong). The good thing is that the software is open source and the author explains the archive format he creates. I'm unable to understand it thoroughly but you may give it a shot - https://github.com/sumatrapdfreader/sumatrapdf/blob/master/src/tools/MakeLzSA.cpp. Is seems no one is able to read/decompress/extract such archive.
My 2nd request is if it is possible to add support for the "LzSA" format in 7-Zip (and probably be the first to do so)? The SumatraPDF installer mentioned can be found at http://www.sumatrapdfreader.org/download-free-pdf-viewer.html.
And my last request is about the UI - it would be helpful if there is a history navigation through "Back" and "Forward" buttons, just like in the Web browsers (would require a history buffer of some type). And it would be awesome if (like in FireFox) there is a history pull-down arrow, allowing the user to navigate where he/she was with just 1 click. The reason behind this request is when you are in some deep archive tree and you go up to the 1st level, then you might forget where you've been initially (excellent example is me), and even if you remember, the "go back" process is long and annoying... and why, in the first place, you have to remember such things?! And if you have some sophisticated tree or work with many archives simultaneously (+ the other things happening alongside) - your work starts to slow down considerably. I just judge by myself using FireFox - it's a real work saver!
I'm sorry for the lengthy post and hope that these suggestions are meaningfull. Keep up the good work.
Regards
Zenix
1) I don't plan to support these formats.
InnoSetup - can be difficult to implement as I suppose.
LzSA is used only by one program.
2) There is "Folders History" in "View" menu.
I do encounter these zlb files quite often, and stil haven't located a tool that will unpack them. It's a shame 7zip cannot and will not, given that 7zip gets this far with unpacking these exe installers up to this point. With a zlb decompressor, we'd be able to bypass all kinds of adware installer crap.
Innounp (Inno Setup Unpacker) is also available and still maintained (current version 0.47) on SourceForge. Your claims about crap are null and void.
You can use innounp 0.43 as a workarround.
Yes! It is certainly possible! Somebody did that already for Zstd format. You can write a plugin for 7zip and share it. You can start here http://www.tc4shell.com/en/7zip/modern7z/, here https://www.7-zip.org/sdk.html and here https://sourceforge.net/projects/sevenzip/files/7-Zip/18.05/ (sources).