Sign in to follow this  
Followers 0

UPX / MPress GUI


11 posts in this topic

Posted (edited)

I made this just for the heck of it, it's a GUI for UPX and MPress.

MPress is actually a pretty neat packer for PE files, it compresses your AutoIt interpreter a little more than UPX does but it doesn't have an option to preserve overlay data (I.E., the script appended to the autoit interpreter when compiling) so I made a GUI that will help out with using MPress by saving the script and appending it after the compression operation is completed.

Additionally, I added functionality to use res hacker to strip some optional resources if the user wishes to do so.

Options include stripping the resource debug strings table if the use feels they are unnecessary and stripping the tray icon resource if the application has the #NoTrayIcon option set.

You can also remove the "Input Dialog" resource but be warned that stripping this resource will render a script that uses the "InputBox()" function useless.


Posted Image

Posted Image


This html links to a rar archive that comes with the MPress (v2.1.9.0) and UPX (v3.8.0.0) executables and application source script of the early version.

Download.html

Source code, latest version without MPress and UPX.

UPX and MPress Wrapper.au3.rar

Download the compiled version (exe) here. [269kb]

Download links: UPX, MPress and ResHacker.

Edited by THAT1ANONYMOUSEDUDE

Share this post


Link to post
Share on other sites



Posted

Suggestion: Add an option to remove the AutoIt debug messages in the Resource tables. It shaves a good amount off the file size.

Share this post


Link to post
Share on other sites

Posted

The MPress portion of this skirts the "no reverse engineering" portion of our license. However, I'm almost certain we have publicly stated how Aut2Exe works so with that in mind I'm going to allow this for the time being. Keep in mind you are right up against the license now so careful consider new features as you could very easily cross that line at which point this thread will be locked and you may possibly be removed from this site.

Share this post


Link to post
Share on other sites

Posted

The MPress portion of this skirts the "no reverse engineering" portion of our license. However, I'm almost certain we have publicly stated how Aut2Exe works so with that in mind I'm going to allow this for the time being. Keep in mind you are right up against the license now so careful consider new features as you could very easily cross that line at which point this thread will be locked and you may possibly be removed from this site.

Oh wow, didn't see that one coming.

Suggestion: Add an option to remove the AutoIt debug messages in the Resource tables. It shaves a good amount off the file size.

I'm afraid to even touch it now that valik warned me that any new features could possibly have me banned.

Share this post


Link to post
Share on other sites

Posted

I'm curious now regarding Valik's response... we do the same thing in AutoIt3Wrapper because otherwise the resource updating code strips the overlay. So is that considered ok because it is distributed by AutoIt? Or must it also abide by the license since it is technically a 3rd party package?

Share this post


Link to post
Share on other sites

Posted

I'm curious now regarding Valik's response...

Me too. The PE format clearly defines that the executable size is stored in a structure member called SizeOfImage which can also be calculated as Offset + Size of last section. Now is it reverse engeneering if I split the file in the PE formatted part and the attached data and later merge it again?

Share this post


Link to post
Share on other sites

Posted

You can do what you want to the PE format, it's not ours. That includes resource changes.

Share this post


Link to post
Share on other sites

Posted

You can do what you want to the PE format, it's not ours. That includes resource changes.

we have publicly stated how Aut2Exe works so with that in mind I'm going to allow this for the time being.

So let me get this right, can I add the functionality that rcmaehl suggested?

It's because now I want to add some functionality that removes some resources that a user specifies by just checking some boxes etc, like the tray icons resource etc if a user doesn't want it.

But I should be wary of messing with things like the portion that saves the overlay data right?

Share this post


Link to post
Share on other sites

Posted

You can modify resources all you want. I think it's stupid to start stripping the string table but you can do what you want.

Share this post


Link to post
Share on other sites

Posted

Nice little tool.

MPress is actually a pretty neat packer for PE files, it compresses your AutoIt interpreter a little more than UPX does

LoL, nothing beats "upx.exe --ultra-brute"

Share this post


Link to post
Share on other sites

Posted

I like the idea of removing some unused resources (tray and inputbox).

Most of my applications use neither tray nor inputbox.

I thought about that in past already too.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0