Developers Jos Posted September 19, 2009 Author Developers Posted September 19, 2009 Item 3 "Stripping of includes in #cs & #ce" partially solved . It works if the include in #cs & #ce is in the main script, but not if the include in #cs & #ce itself is in an include.Is fixed in v 1.0.26.22 soon to be uploaded.ThanksJos 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.
wraithdu Posted September 21, 2009 Posted September 21, 2009 (edited) - You were missing the /CN=0 for Strip only in the Example.Not fully true as encryption of Funcname, Varnames, Macros and Numbers will change the line length. I am not even going to try to make all possible exceptions possible with all parameter combinations and take the approach that when anything is going to be obfusticated then the max line length supported by obfuscator will be 2048.My mistake. Will these combinations currently disable the 2048 line limit? I'm not asking you to go against your statement above, just want to find out what works currently./cn=0 /cs=0 /cf=0 /cv=0or/om /cn=0 /cs=0Thanks again for your hard work! Edited September 21, 2009 by wraithdu
Developers Jos Posted September 21, 2009 Author Developers Posted September 21, 2009 (edited) My mistake. Will these combinations currently disable the 2048 line limit? I'm not asking you to go against your statement above, just want to find out what works currently. /cn=0 /cs=0 /cf=0 /cv=0 or /om /cn=0 /cs=0 Thanks again for your hard work! The first line makes Obfuscator don't do anything I guess so don;t see why you would want to use that one? The second line Obfuscates Functions and Variables thus there is a Line length check. I basiccally use tis logic to determine StripOnly (No check for Line length): This is the logic I have for "StripOnly" : Either "/so" or "/StripOnly"in the parameter list or: If (StripUnUsedFunc% = 1 or StripUnUsedVars% = 1) _ And ConvStrings% = 0 _ And ConvNumerics% = 0 _ And ConvFuncs% = 0 _ And ConvVars% = 0 Then StripOnly% = 1 EndIf Jos Edited September 21, 2009 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.
wraithdu Posted September 21, 2009 Posted September 21, 2009 (edited) Alright, so what's the logic with the new /om switch? That switch should only make lines shorter, so when used as you showed: /sf /sv /om /cs=0 /cn=0 then there should be no line check? For reference here, what is the origin of the line lenght limitation? Is it the encryption mechanism you use? Edited September 21, 2009 by wraithdu
Developers Jos Posted September 21, 2009 Author Developers Posted September 21, 2009 Alright, so what's the logic with the new /om switch? That switch should only make lines shorter, so when used as you showed:/sf /sv /om /cs=0 /cn=0then there should be no line check?For reference here, what is the origin of the line lenght limitation? Is it the encryption mechanism you use?The /OM switch only tells Obfuscator to used a different (than standard) way of Obfuscating Funcnames and VariableNames.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.
Developers Jos Posted September 21, 2009 Author Developers Posted September 21, 2009 Beta version 1.0.26.22 available in the Beta download directory. 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.
hunt Posted November 10, 2009 Posted November 10, 2009 Really to fix it (obfuscator passes a function "_Hello") ? #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Run_Obfuscator=y #Obfuscator_Parameters=/striponly #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** _Msg("_Hello") Func _Msg($function) Call($function) ;HotKeySet("{F1}",$function) EndFunc Func _Hello() MsgBox(0,"","Hello") EndFunc
wraithdu Posted November 10, 2009 Posted November 10, 2009 I don't think Obfuscator can parse that correctly, since the value of $function is determined at runtime. There are warnings about using Call() and Obfuscator anyway.
Developers Jos Posted November 10, 2009 Author Developers Posted November 10, 2009 (edited) Really to fix it (obfuscator passes a function "_Hello") ? #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Run_Obfuscator=y #Obfuscator_Parameters=/striponly #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** _Msg("_Hello") Func _Msg($function) Call($function) ;HotKeySet("{F1}",$function) EndFunc Func _Hello() MsgBox(0,"","Hello") EndFunc Try avoiding to use the CAll() functions when it is not needed, but when it is required you can just add this to your script: #Obfuscator_Ignore_Funcs=_hello There are warnings about using Call() and Obfuscator anyway. It doesn't when using the /SO parameter. Jos Edited November 10, 2009 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.
Developers Jos Posted November 10, 2009 Author Developers Posted November 10, 2009 It doesn't when using the /SO parameter.Uploaded v 1.0.28.0 to the Beta directory that will warn about Call functions when using /SO.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.
LOULOU Posted November 21, 2009 Posted November 21, 2009 Running Obfuscator (1.0.28.0) from:C:\Program Files\AutoIt3\SciTE cmdline:/Beta- Invalid Obfuscator option: -### StripOnly Error: Found ObjEvent() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by the Call() statement.>### current Func: _IEErrorHandlerRegisterC:\Program Files\AutoIt3\Beta\include\ie.au3(3102,1) Warning for line:$oIEErrorHandler = ObjEvent("AutoIt.Error", $s_functionName) -### StripOnly Error: Found ObjEvent() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by the Call() statement.>### current Func: __IEInternalErrorHandlerDeRegisterC:\Program Files\AutoIt3\Beta\include\ie.au3(3746,1) Warning for line:$oIEErrorHandler = ObjEvent("AutoIt.Error", $sIEUserErrorHandler) -#############################################################################################-#### Obfuscator Found 2 Error(s)!!!! This means your script could have problems running properly. ####-#############################################################################################How ca i solve the problem
Developers Jos Posted November 21, 2009 Author Developers Posted November 21, 2009 How ca i solve the problemDon't use a variable in the ObjEvent() as Obfuscator has no idea what the value is of the variable.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.
Bowmore Posted November 30, 2009 Posted November 30, 2009 Version 1.0.28.0When running Obsfucator I get the following warning message which I think is related to the /Beta option- Invalid Obfuscator option:apart from that it seems to work OK.#AutoIt3Wrapper_Run_Obfuscator=Y #Obfuscator_Parameters=/SO >"C:\Autoit3\Scite\AutoIt3Wrapper\AutoIt3Wrapper.exe" /beta /in "C:\AutoIt3Data\Scripts\Profiler\Profiler.au3" /autoit3dir "C:\Autoit3\beta" +>23:28:07 Starting AutoIt3Wrapper v.2.0.0.3 Environment(Language:0409 Keyboard:00000809 OS:WIN_XP/Service Pack 3 CPU:X64 OS:X86) >Running Tidy (2.0.29.0) from:C:\Autoit3\Scite\tidy Documentation file:C:\AutoIt3Data\Scripts\Profiler\Profiler_tidy.txt +>23:28:10 Tidy ended.rc:0 >Running AU3Check (1.54.19.0) params:-q -d -w 1 -w 2 -w 3 -w 4 -w 6 from:C:\Autoit3\beta +>23:28:10 AU3Check ended.rc:0 [b]>Running Obfuscator (1.0.28.0) from:C:\Autoit3\Scite cmdline:/Beta - Invalid Obfuscator option: [/b] - Iteration 1 Strip Functions result: Output 3431 lines and stripped 3368 lines - Iteration 2 Strip Variables result: Output 1569 lines and stripped 1818 lines - Iteration 3 Strip Variables result: Output 1529 lines and stripped 40 lines +> Source 18754 lines 1036389 Characters. +> Stripped 5226 Func/Var lines and 11929 comment lines, Total 968853 Characters. +> Saved 91% lines 93% Characters. +> Obfuscator v1.0.28.0 finished created:C:\AutoIt3Data\Scripts\Profiler\Profiler_Obfuscated.au3 "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning."- Rick Cook
Developers Jos Posted December 1, 2009 Author Developers Posted December 1, 2009 Version 1.0.28.0When running Obsfucator I get the following warning message which I think is related to the /Beta option- Invalid Obfuscator option:apart from that it seems to work OK.It's a cosmetic issue when multiple spaces are used in the commandline. Fixed in v 1.0.28.1 available in the Beta directory.ThanksJos 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.
Developers Jos Posted December 1, 2009 Author Developers Posted December 1, 2009 Jos.I think you broke something in 1.0.28.1.Yeap... I did mess up the /cs param logic. Made a simple change to the programs and didn't really do any complex testing.Those always prove to be the ones you screw up the easiest. Anyways, Uploaded a new version that "should" process the commandline parameters correctly again.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.
whim Posted December 2, 2009 Posted December 2, 2009 Hallo Jos, First of all, a great thumbs up for /Obfuscate_minimum ! Since i always (manually) post process the /om output, i've noticed that variables always have 3 characters (a simple '$a' -> '$' 'replace all' yields 7 kB for me) So...couldn't obfuscator, when generating shortened variable names, start off with 2 character ones, and only switch to 3 chars when it runs out of 2 char names ? Note that i'm well aware there could be good reasons for doing it as it's done now, and that i don't mind the post processing - it's just an idea cheers, wim
GEOSoft Posted December 2, 2009 Posted December 2, 2009 Hallo Jos,First of all, a great thumbs up for /Obfuscate_minimum !Since i always (manually) post process the /om output, i've noticed that variablesalways have 3 characters (a simple '$a' -> '$' 'replace all' yields 7 kB for me)So...couldn't obfuscator, when generating shortened variable names, start off with2 character ones, and only switch to 3 chars when it runs out of 2 char names ?Note that i'm well aware there could be good reasons for doing it as it's donenow, and that i don't mind the post processing - it's just an ideacheers,wimChanging from 3 character to 2 character wouldn't make any appreciable difference in the size. George Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.*** The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number. Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else. "Old age and treachery will always overcome youth and skill!"
whim Posted December 2, 2009 Posted December 2, 2009 Changing from 3 character to 2 character wouldn't make any appreciable difference in the size.That depends on how you define that, i would call 2% (YMMV) appreciable ...and, in case this was not clear, i was just trying to provide (possibly useful) feedback,as i said, i don't mind having to do a post processing stepcheers,wim
Recommended Posts