Jump to content

Recommended Posts

Posted

Hi people!

Why compiled files in later version of AutoIt it is more less than in last versions?

For example, I have found in my archive old code from Lazycat EnumIcons.au3 and compiled file size in Autoit 3.1.0.15 - 125.441 bytes.

After code adaptation (some new #include only) for last 3.3.0.0 version file size has 304.815 bytes!?

It is 179.374 (243%!!!) :) bytes more for same compression type (normal in my case)

Why? Аlso it is normal?

  • Moderators
Posted

RAMzor,

Huge changes have occured in AutoIt since 3.1, so I would not be surprised if the code stub were much larger. Look at the difference in size of "C:\Program Files\AutoIt3\Aut2Exe\AutoItSC.bin" between the 2 versions to see (remember that upx will shrink them from their full size).

I see you have added some #include files - they can seriously increase the size of your compiled file. If you use the full SciTE4AutoIt3 install, you can add

#AutoIt3Wrapper_Run_Obfuscator=y

#Obfuscator_Parameters=/SO

to the script and then all unused functions and constants are stripped out (thanks Jos ;-)). That might help reduce the size of your exes as well.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Posted

RAMzor,

Huge changes have occured in AutoIt since 3.1, so I would not be surprised if the code stub were much larger. Look at the difference in size of "C:\Program Files\AutoIt3\Aut2Exe\AutoItSC.bin" between the 2 versions to see (remember that upx will shrink them from their full size).

I see you have added some #include files - they can seriously increase the size of your compiled file. If you use the full SciTE4AutoIt3 install, you can add

#AutoIt3Wrapper_Run_Obfuscator=y

#Obfuscator_Parameters=/SO

to the script and then all unused functions and constants are stripped out (thanks Jos ;-)). That might help reduce the size of your exes as well.

M23

Nice to know the parameters:

#AutoIt3Wrapper_Run_Obfuscator=y

#Obfuscator_Parameters=/SO

Thanks,

UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Posted

Anyway, is there any technical reason why the compiled exe is bigger than the previous release?

As far as I remember since the latest Beta version compiled exe gets bigger....

Nice to know :)

UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Posted (edited)

...you can add

#AutoIt3Wrapper_Run_Obfuscator=y

#Obfuscator_Parameters=/SO

It has really a little helped and reduced the size from 304.815 bytes to 292.603 bytes (~12Kb less)! :lmao: Nice to know these parameters

I have applied your trick to other code and have received more considerable difference - more than 110 kb from 398kb to 288kb! :)

Viva Jos and thanks Melba23!

It should seems to me that this option is must be included by default at compilation. For what to include junk in a code?

Edited by RAMzor
Posted

Be aware that /SO means striponly, thus the resulting script is not obfuscated.

Possible Parameters: 
   /cs 0/1   : 0=No String encryption (1=default)
   /cn 0/1   : 0=No Numeric encryption (1=default)
   /cf 0/1   : 0=No Func rename (1=default)
   /cv 0/1   : 0=No Var rename (1=default)
   /sf 0/1   : 1=Strip all unused Func's (0=default)
   /sv 0/1   : 1=Strip all unused Global var records (0=default)
   /striponly: same as /cs=0 /cn=0 /cf=0 /cv=0 /sf=1 /sv=1
   /sci 0   : Default Minimal output to the console: warning and errors.
   /sci 1   : Show more progress information. 
   /sci 9   : Show all debug lines as found in the Obfuscator.log.
   /Beta     : Use Beta Includes. Dont use AutoIt3Wrapper_Run_Obfuscator.
  
To strip the source, which is included in the ouput EXE from all Comments, Whitespace and All un-used Func's (also included UDF's), you just specify :   
/striponly

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
×
×
  • Create New...