Jump to content

Universal Extractor


nitro322

Recommended Posts

There have been several reports of false-positives by anti-virus scanners over the last few months. Apparently it's been an issue with a lot of other AutoIt-based applications as well. In response they've put up a rather useful sticky post about this on the AutoIt forums. In addition to explaining the cause of the issue, they also provide links to to varios AV vendor feedback forms.

If you encounter a false-positive by your AV product, I suggest using these links to notify your vendor that they made a mistake, and to request that the fix it in their next definition update. If this happens to UniExtract.exe in particular, you may want to to send them a link to my website (which contains the source code) and ask them to verify it themselves. This should help reduce the amount of false positives that people are reporting.

Of course, if you haven't had to deal with any false positives yet, then feed free to ignore this post.

Link to comment
Share on other sites


There have been several reports of false-positives by anti-virus scanners over the last few months. Apparently it's been an issue with a lot of other AutoIt-based applications as well. In response they've put up a rather useful sticky post about this on the AutoIt forums. In addition to explaining the cause of the issue, they also provide links to to varios AV vendor feedback forms.

Antivirus companies usually request to send an e-mail to their virus submission address with the subject "False Positive" and the ofending file attached as a password protected zip (Otherwise the attachment will be deleted by the scanners in the e-mail servers before it can reach the AV company. Of course, you must tell the password in the message). For the e-mail address see this thread "E-mails for submitting samples to AV companies"

Link to comment
Share on other sites

Hello!

Great app! It's just what I've been looking for.

I'd like to ask you to add a feature: right-click drag and drop context menu support. When you right-click drag and drop an archive, another context menu is shown. Could you please add the UniExtract Here and UniExtract to Subdir menu entries here too? That way you can extract archives to other directories (or drives) without having to copy/move the file or opening the Universal Extractor program and selecting the target directory (slow). WinRAR, Winzip, Tugzip support drag and drop extraction this way.

And I've noticed an installation issue: my everyday user account is limited (not administrative). I have installed Universal Extractor with an administrative account, and the installer added the context menu options only to administrative accounts on my machine. The limited user account doesn't have the options on the context menus for archives. I've already logged off, but it still doesn't show up. Could you please fix the installer so that it adds the context menu entries correctly for all users?

Thanks for releasing it for free and keep up the great work!

Edited by inutil.inutil
Link to comment
Share on other sites

Your program needs administrative rights to write the tmp files to the c drive.

Is it possible to write them to the users tmp folder?

That would be much better. I tried to change the src myself, but ive done something wrong.

But your program is great! :thumbup :thumbup :thumbup

UniExtract.au3

Edited by Brutos
Link to comment
Share on other sites

Not being a programmer I've no idea if this is any use to you nitro322 but I thought I'd post it anyway.

PEiD in a DLL.. Now faster and has new exports for getting the entropy of a file and also new scanmode option for MultiScanDir export.

That's a great tip, DerekB, but unfortunately AutoIt isn't very well suited to work with DLLs like this. It can be done, just rather painfully from what I've been able to tell. Besides, I'm really not much of a programmer myself. I can write some pretty bad-a** scripts (if I may brag a bit), but when it comes to low-level program, system calls, etc., I usually have to leave it to the pros. That's why AutoIt relies on so many support programs to get the job done - I have absolutely no idea how to rip data out of a .zip file, for example, but I can most certainly script using unzip.exe to perform the job. :)

I'll have to stick with the PEiD .exe for the time being, but I'll keep an eye on it.

I'd like to ask you to add a feature: right-click drag and drop context menu support. When you right-click drag and drop an archive, another context menu is shown. Could you please add the UniExtract Here and UniExtract to Subdir menu entries here too? That way you can extract archives to other directories (or drives) without having to copy/move the file or opening the Universal Extractor program and selecting the target directory (slow). WinRAR, Winzip, Tugzip support drag and drop extraction this way.

This is a great idea, and I'd love to implement it, but as far as I can tell this behavior requires a shell extension DLL. All of the programs you mentioned register a DLL with Windows Explorer to enable this options. Unfortunately, as I stated in response to DerekB's response above, this kind of programming is beyond me. I actually did look into modifying the source code for 7-Zip's DLL to do something similar, but I wasn't able to make that work either, as these DLLs apparently require the commercial version of Visual Studio (for MFC support). Given that I write free and open source software, I really don't have any intention of purchasing Visual Studio.

With that said, if any other talented hackers out there are interested in improving Universal Extractor and would like to contribute such a DLL, I certainly wouldn't be opposed. :whistle:

And I've noticed an installation issue: my everyday user account is limited (not administrative). I have installed Universal Extractor with an administrative account, and the installer added the context menu options only to administrative accounts on my machine. The limited user account doesn't have the options on the context menus for archives. I've already logged off, but it still doesn't show up. Could you please fix the installer so that it adds the context menu entries correctly for all users?

I'll have to investigate this. I'm not sure what the problem is at this point, but I'll do my best to resolve it for the next release. Thanks for reporting it.

Your program needs administrative rights to write the tmp files to the c drive.

Is it possible to write them to the users tmp folder?

That would be much better. I tried to change the src myself, but ive done something wrong.

The C:\ issue has been debated before, and I do plan on changing this in the next version. However, the administrative rights issue that you mentioned is an argument that I haven't heard before. That's certainly a more serious issue than previous discussions have addressed. I took at look at your changes to the source code, and they're pretty good. In fact, it'll probably save me some time when working on the next version. :)

The only problem I could find were a couple cases where the new log file was properly quoted (%temp% has spaces in the default path). I fixed the problem and did a small amount of testing on the attached copy. I can't guarantee that I didn't overlook anything, but this should do the job of writing the log files to %temp% rather than C:\. To use, simply compile the modified script with AutoIt, then replace the existing UniExtract.exe binary. I'd recommend backing up the original UniExtract.exe, though, just in case this one has any unexpected problems.

Again, this for reporting this.

UniExtract_mod.au3

Link to comment
Share on other sites

If anyone is interested in archiving their audio CD collection, you may be interested in checking out AutoFLAC. It automates ripping CDs using EAC (Exact Audio Copy) and FLAC, which combined allows for perfect backup copies. Additionally, it supports a "write" mode as well that automates the process of decoding back to WAVs and burning the CD with EAC, should the originals be lost or stolen (which was actually my original motivation to write this.

I usually try not to pimp my own software, but one of the MSFN mods actually came across it on his own and found it so useful that he recommended I post about it here. I guess that's a pretty good endorsement. :)

I don't want to spend too much time discussing it here, as it's not at all related to Universal Extractor, but if you're interested you can get full details about it from the AutoFLAC home page. Additionally, there's a long discussion thread about it over at the Hydrogenaudio Forums. Hydrogenaudio has become the main point of discussion for AutoFLAC (similar to this thread for Universal Extractor), so if you have any questions about or suggestions for it I'd suggest posting it at the above link.

Enjoy.

Link to comment
Share on other sites

I'd like to ask you to add a feature: right-click drag and drop context menu support. When you right-click drag and drop an archive, another context menu is shown. Could you please add the UniExtract Here and UniExtract to Subdir menu entries here too? That way you can extract archives to other directories (or drives) without having to copy/move the file or opening the Universal Extractor program and selecting the target directory (slow). WinRAR, Winzip, Tugzip support drag and drop extraction this way.

This is a great idea, and I'd love to implement it, but as far as I can tell this behavior requires a shell extension DLL. All of the programs you mentioned register a DLL with Windows Explorer to enable this options. Unfortunately, as I stated in response to DerekB's response above, this kind of programming is beyond me. I actually did look into modifying the source code for 7-Zip's DLL to do something similar, but I wasn't able to make that work either, as these DLLs apparently require the commercial version of Visual Studio (for MFC support). Given that I write free and open source software, I really don't have any intention of purchasing Visual Studio.

I might have completely misunderstood the issue here, but if you put a shortcut of \bin\UniExtract.exe to the "%appdata%\send to" folder, you get a right click functionality. I always use it that way and it works beautifully. Please no shell extensions - the world is already polluted with them. :)

And thank you for the tool, nitro322!

GL

Link to comment
Share on other sites

I might have completely misunderstood the issue here, but if you put a shortcut of \bin\UniExtract.exe to the "%appdata%\send to" folder, you get a right click functionality. I always use it that way and it works beautifully. Please no shell extensions - the world is already polluted with them. :)

I'll explore the Send To option. Also, while I agree with you that there are seemingly too many shell extensions out there, I personally feel that this project (and its users) could benefit from one. One of the most request features is a cascading menu for the UniExtract options, which I cannot do without a shell extension. Another feature that has been requested a couple times (and one that I'd like to see, as I'm used to WinRAR's great implementation) is the ability to drag the icon to a specific directory and extract the files there. Again, I believe you need a shell extension to do this. One final feature that I think would be nice, though by no means essential, is a simple icon in the context menu to differentiate UniExtract from any other archiving/extraction programs that may be installed.

If I ever do get this included, it will be optional. Of course, none of this debate really matters unless someone actually steps forward and volunteers to do this. :)

what do you think about extracting symbian installer files? they have the ending .sis

I looked into this a few weeks ago at someone else's request, but couldn't find anything suitable. The closest I could find were two command line scripts, but one required a perl installation and the other required a python implementation. Neither of are very portable. :) I'll look into unmakesis.exe and see if that'd be usable. Can you please provide a download link?

Edit: Surfer made this request, as pointed out just above.

Edited by nitro322
Link to comment
Share on other sites

A user named Jason Murray e-mailed me about some enhancements he had made to Universal Extractor a couple months ago. In his own words:

"it adds RTF to HTML, PDF to text, lit to text, and HTML to text...

For rtf I use Drag2HTML found at http://www55.pair.com/betasoft

HTML to text uses dg9ep's html2txt at http://www.u32.de/html2txt.htm

pdf2txt uses ftp://ftp.simtel.net/pub/simtelnet/msdos/txtutl/pdftxt1.zip, ...

To explode lit files I use clit from http://www.convertlit.com/download.php"

He provided a diff against UniExtract version 1.3 to add these features, making it really easy to add support for these formats (just apply the diff, drop the above files into the bin directory and recompile). I had originally planned on adding this to the official version, but after going back and forth on it a good bit I ultimately decided against it. The core purpose of Universal Extractor is file extraction, not conversion. Sure, the argument could be made that this allows for extraction of, for example, text from a multimedia PDF file, but I'm focused more on extracting files and components from archives/installers than extracting content from an already "unpacked" file. The LIT extraction may likely make it to UniExtract, as it does seem to actually extract nested files out of the LIT format (similar to decompiling an CHM file), but the rest probably will not.

However, I'm sure there are some people out there just like Jason that could benefit from this, so I wanted to take the time to post this information here and make it available for everyone. If you're interested in adding any of the above conversion features to UniExtract, you can do so yourself using the Universal Extractor source code and Jason's diff that I've attached to this post.

One note, however: This diff was written for version 1.3, which was the most recent version as of the time Jason e-mailed me. I've since released version 1.3.1, however, so there will likely be some changes that need to be made before the diff can be applied. Consider this more of a blueprint than the exact line-by-line code and you'll be ok.

Jason, if you follow this forum, thanks for sending this my way!

Edit: I had to add a .txt to the end of the filename to get it attached. Just rename it to UniExtract_1.3_1.3a.au3.diff after saving it for the original filename.

UniExtract_1.3_1.3a.au3.diff.txt

Link to comment
Share on other sites

I've started preparing for the next version of Universal Extractor. This version will primarily focus more on the user interface than backend format support (as opposed to 1.3, for example, which was almost entirely backend-related). The biggest goals I'd like to achieve are making it truly "portable", for those of you that like to run it from a USB drive, and add proper support for internationalization. I'm sure there will be some other tweaks here and there as well, but most of my work will focus on those two goals.

With that said, I'd like to solicit feedback on the portability issue. As far as I can tell, there are 2 main issues that portable users may have:

1. It writes an archive/directory history to the registry

2. It writes the debug file to C:\uniextract.txt

I can address the first issue by switching to a local .ini file rather than using the registry for history. This .ini file could also be used to set preferences, such as "don't track history at all", so portable users can have it preconfigured to ensure that it doesn't leave any traces on the computer's hard disk.

The second issue should be resolvable by allowing the output directory to be customized, which can be another option set in the .ini file. This file MUST be written, as it's used during the extraction process in addition to simply being left there afterward in case there's an error, but allowing it to be written to any given directory (such as the root of the USB drive) should be a reasonable compromise.

Any other suggestions or comments along these lines?

Link to comment
Share on other sites

I cannot get this to extract 'Skype' or for that matter 'Easy CD/DC Extractor'. I need to extract Skype to get rid of the Google bar crap that Skype has now started to add to their installer. They actually have the nerve to highlight this as a new feature of Skype.

Link to comment
Share on other sites

And I've noticed an installation issue: my everyday user account is limited (not administrative). I have installed Universal Extractor with an administrative account, and the installer added the context menu options only to administrative accounts on my machine. The limited user account doesn't have the options on the context menus for archives. I've already logged off, but it still doesn't show up. Could you please fix the installer so that it adds the context menu entries correctly for all users?

inutil, can you confirm that this is still a problem? Did it perhaps fix itself after you rebooted? Can anyone else confirm that this is a problem?

I just created a limited user account (after having already installed UniExtract as an Admin), and the context menus work perfectly fine. I did a little bit of research into how file associations are handled for admin vs. user, and as long as UniExtract is installed with an admin account the associations (and therefore context-menu items) should apply to any and all accounts on the system. That seems to be the case on my system, so I'd really like to hear feedback from anyone else that may have seen this problem.

I cannot get this to extract 'Skype' or for that matter 'Easy CD/DC Extractor'. I need to extract Skype to get rid of the Google bar crap that Skype has now started to add to their installer. They actually have the nerve to highlight this as a new feature of Skype.

Skype cannot be extracted. I've looked into this in the past, and they use a custom version of Inno Setup that's not supported by innounp.

I'll be happy to look into Easy CD/DC Extractor. Assuming this is freeware/shareware/demoware, can you provide a download link?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...