Jump to content

Recommended Posts

  • Moderators
Posted

Jos,

A thought has just occurred to me.

The /SO Obfuscated file looks like this: Stripped includes + stripped basic script.

You new Fullsource file looks like this: Full includes + full basic script.

What I believe we are asking you for is this: Stripped includes + full source -- that is a conbination of both files.

At the moment I can see an obvious point where the Fullsource file changes to the basic script: the final * End Include:C:\Program Files\AutoIt3\include\Array.au3 Include by:Main line. But the Obfuscated file has no obvious break point - although it is not difficult to find the place when scrolling through it.

If you were able to place a flag in the Obfuscated file at the point the basic source started, it would seem a relatively trivial matter to split the 2 files into the sections described above and then rejoin the wanted sections into what we are looking for. But I am probably overlooking something very important!

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

 

  • Replies 47
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

  • Developers
Posted

Jos,

A thought has just occurred to me.

The /SO Obfuscated file looks like this: Stripped includes + stripped basic script.

You new Fullsource file looks like this: Full includes + full basic script.

What I believe we are asking you for is this: Stripped includes + full source -- that is a conbination of both files.

At the moment I can see an obvious point where the Fullsource file changes to the basic script: the final * End Include:C:\Program Files\AutoIt3\include\Array.au3 Include by:Main line. But the Obfuscated file has no obvious break point - although it is not difficult to find the place when scrolling through it.

If you were able to place a flag in the Obfuscated file at the point the basic source started, it would seem a relatively trivial matter to split the 2 files into the sections described above and then rejoin the wanted sections into what we are looking for. But I am probably overlooking something very important!

M23

Nice thought....(and here comes the famous) BUT:

#include statements can be place at any line in the script so your thought would require the #includes to be placed at a fixed place (start or end) to be easily identified.

:)

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

  • Moderators
Posted

Jos,

So be it - if you want to store the source as we have described, you put your includes at the front!

Enlighten me, why would anyone scatter their includes throughout the script? Does it have some useful purpose which escapes me?

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

 

  • Developers
Posted (edited)

Jos,

So be it - if you want to store the source as we have described, you put your includes at the front!

Enlighten me, why would anyone scatter their includes throughout the script? Does it have some useful purpose which escapes me?

M23

One reason could be a coding habbit but you could also have an include that doesn't contain func's but just some code lines you want at a specific place.

Anyways, just the slim chance it happens is enough for me not to do it that way.

Just give me some time to have a look at the Obfuscator code to see if we can make it "fullproof" or "foolsproof" :)

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

  • Moderators
Posted

Jos,

Thank you for that. I did not realise include files could be used as "super abbreviations".

I am now patiently waiting....... :-)

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 (edited)

what i don't understand is this: if you're going to give the customer access to the source aswell as the exe why not give him the source in the first place? and if he dosen't have autoit installed just give him a compiled exe that does nothing but run the previous script...

example:

script1.au3

Run(@AutoItExe & ' /AutoIt3ExecuteScript script2.au3')oÝ÷ ÙÊzÇ+vjíÿr^jëh×6MsgBox(0 , '' , 'Hello World')

and you just compile the first script with just that line of code in it and put all your code in script2

Edited by TheMadman

Only two things are infinite, the universe and human stupidity, and i'm not sure about the former -Alber EinsteinPractice makes perfect! but nobody's perfect so why practice at all?http://forum.ambrozie.ro

  • Developers
Posted (edited)

There's a new beta version of Obfuscator that has an extra option:

/striponlyincludes -or- /soi

It will leave the comments and empty lines in the master script but will still remove the leading spaces/tabs.

Jos

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

  • Moderators
Posted

Jos,

That looks like the one! The new obfuscated file is everything I (and the others) asked for.

These are the results from the check I have just run:

Basic source        FullSource      New Obfuscated /SOI

.au3    88,373              2,069,072       186,536

.exe    351,877             743,558     372,333
(with upx)

A very small overhead when including the stripped code - I cannot see anyone complaining about that.

Bedankt for all your work. We did not have to wait patiently for long!

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

 

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...