wraithdu Posted January 13, 2009 Posted January 13, 2009 (edited) I have a little problem. I use the MemoryDllGen that came with Ward's MemoryDll UDF, and it defaults to a linelength of something like 2050 characters. Obfuscator spits out an error, which is fine, but I can't seem to work around it like I thought I could. First, I'm only using /striponly, so I don't see why Obfuscator cares about the linelength. Second, I tried adding the function containing the code to Obfuscator's list of skipped functions, but no luck either, still get the error. Shortening the line is OK, but I've run into some very large arrays with the same linelength problem. Shouldn't either one of the previous scenarios get rid of that error (/striponly or skip function)? Edited January 13, 2009 by wraithdu
Moderators SmOke_N Posted January 13, 2009 Moderators Posted January 13, 2009 (edited) I have a little problem. I use the MemoryDllGen that came with Ward's MemoryDll UDF, and it defaults to a linelength of something like 2050 characters. Obfuscator spits out an error, which is fine, but I can't seem to work around it like I thought I could. First, I'm only using /striponly, so I don't see why Obfuscator cares about the linelength.Jos's Obfuscator uses BCX ... which default string length is 2048 bytes (if I remember correctly, And it has a cow when you try to make it dynamic). Edited January 13, 2009 by SmOke_N Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.
wraithdu Posted January 13, 2009 Posted January 13, 2009 I'm not really trying to obfuscate the script, but it's a problem even just /striponly huh? Oh well, no biggie. The MemoryDllGen linelength can be changed. And I've only seen one script with an array declaration that was over the limit.
Developers Jos Posted January 13, 2009 Author Developers Posted January 13, 2009 I thought I had tackled most of the limitations in Tidy and Obfuscator, but could have missed something. Supply me with a small test script that shows your issue and I will have a look. @Smoke_N: BCX indeed defaults to 2k char string variables, but I did convert most of them to either to: Local TempRec$ * 4100 Or Global DYNAMIC ScriptRecords$[1000,4096] AS CHAR Which is working fine now. 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 SmOke_N Posted January 13, 2009 Moderators Posted January 13, 2009 I thought I had tackled most of the limitations in Tidy and Obfuscator, but could have missed something. Supply me with a small test script that shows your issue and I will have a look. @Smoke_N: BCX indeed defaults to 2k char string variables, but I did convert most of them to either to: Local TempRec$ * 4100 Or Global DYNAMIC ScriptRecords$[1000,4096] AS CHAR Which is working fine now. JosRight, you had to make them static... That was "1" of the many draw backs (that and object handling) that made me move on. Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.
wraithdu Posted January 13, 2009 Posted January 13, 2009 (edited) Here's a small sample. Either one of the /striponly or Ignore_Funcs directives should make this obfuscatable (new word;)) EDIT - here's a script to MAKE a failing script. Easier for you $h = FileOpen("test.au3", 2) FileWrite($h, "#AutoIt3Wrapper_Run_Obfuscator=y" & @CRLF & "#Obfuscator_Parameters=/striponly" & @CRLF & "#Obfuscator_Ignore_Funcs=_test" & @CRLF & @CRLF & "Func _test()" & @CRLF) $str = "" For $i = 1 To 3000 $str &= Random(0, 9, 1) Next FileWrite($h, @TAB & "$var = '" & $str & "'" & @CRLF & "EndFunc") FileClose($h) Edited January 13, 2009 by wraithdu
Developers Jos Posted January 13, 2009 Author Developers Posted January 13, 2009 (edited) Ok, fixed this check when doing a /striponly operation in the version of Obfuscator available in the SciTE Beta download directory. It will still stop when doing an Obfuscation or else the line will become to long after obfuscation. Jos Edited January 13, 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 January 13, 2009 Author Developers Posted January 13, 2009 Here's a small sample. Either one of the /striponly or Ignore_Funcs directives should make this obfuscatable (new word;))/StripOnly I understand but Ignore_Funcs directive isn't clear to me. This directive is to avoid Obfuscation of the Func name, not the whole Func code.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 January 13, 2009 Posted January 13, 2009 Oh ok, my mistake on the meaning of Ignore_Funcs. I thought it meant to skip the whole function, not just the name. I got it now.
wraithdu Posted January 14, 2009 Posted January 14, 2009 I just noticed you posted a fix. I'll test it out when I get home. Thanks!
-Ultima- Posted January 17, 2009 Posted January 17, 2009 @Jos: Sorry for the late reply. Your fix for the issue I reported earlier seems to be working without a hitch. Thanks for the quick update! [ WinINet.au3 | Array.au3 (Optimized) | _UnixTimeParse() ]
VeeDub Posted February 15, 2009 Posted February 15, 2009 Hi, As this is a long thread, I have not checked every post. Are there any known issues when using Obfuscator and _singleton? Thanks VW
Developers Jos Posted February 15, 2009 Author Developers Posted February 15, 2009 Hi,As this is a long thread, I have not checked every post.Are there any known issues when using Obfuscator and _singleton?ThanksVWLets turn the question around: What is the problem you have?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.
VeeDub Posted February 15, 2009 Posted February 15, 2009 Lets turn the question around: What is the problem you have?Fair enough I have a script that uses _singleton that runs OK when complied normally, however after using Obfuscator the first instance of the program exits immediately If _Singleton("application",1) = 0 Then Exit EndIf When I compile the obfuscator script, the resulting exe is 'application.exe'
Developers Jos Posted February 15, 2009 Author Developers Posted February 15, 2009 Just tested this script and it is working as expected when Obfuscated and Compiled: #Include <Misc.au3> If _Singleton("application", 1) = 0 Then Exit EndIf While 1 Sleep(50) WEnd 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.
VeeDub Posted February 15, 2009 Posted February 15, 2009 @Jos After further checking, the application works for me on some computers (XP SP2) when obfuscated, but at least not one that is W2K3. I had just added the singleton check and assumed that was the problem. On the W2K3 computer, after compiling without obfuscation the application started. I guess I am going to have to examine this further. Thanks VW
UEZ Posted February 16, 2009 Posted February 16, 2009 (edited) I'm getting an error message for this code: using#AutoIt3Wrapper_Run_Obfuscator=y#Obfuscator_Parameters=/SO>Running Obfuscator (1.0.25.0) from:C:\Program Files\AutoIt3\SciTE cmdline:- Iteration 1 Strip Functions result: Output 1452 lines and stripped 2648 lines- Iteration 2 Strip Variables result: Output 460 lines and stripped 928 lines- Iteration 3 Strip Variables result: Output 451 lines and stripped 9 lines+> Source 15220 lines 345076 Characters.+> Stripped 3585 Func/Var lines and 11128 comment lines, Total 909709 Characters.+> Saved 96% lines 263% Characters.+> Obfuscator v1.0.25.0 finished created:C:\_Coding\Scripts\AU3\Screensaver\Mesmerizing Squares Screensaver_Obfuscated.au3>Running AU3Check for obfuscated file(1.54.14.0) from:C:\Program Files\AutoIt3C:\_Coding\Scripts\AU3\Screensaver\Mesmerizing Squares Screensaver_Obfuscated.au3(362,18) : ERROR: syntax errorDllStructCreate(_~~~~~~~~~~~~~~~~~^C:\_Coding\Scripts\AU3\Screensaver\Mesmerizing Squares Screensaver_Obfuscated.au3 - 1 error(s), 0 warning(s)!>12:05:01 AU3Check Obfuscated code ended.rc:2+>12:05:17 AutoIt3Wrapper Finished>Exit code: 0 Time: 22.259What's wrong?UEZPS: attachment removed -> look here if you are interested Edited February 16, 2009 by 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!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ
Developers Jos Posted February 16, 2009 Author Developers Posted February 16, 2009 It stripped the space Between the "("and the "_". I will look into that to see why it does that. 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 February 16, 2009 Author Developers Posted February 16, 2009 I'm getting an error message for this code: using #AutoIt3Wrapper_Run_Obfuscator=y #Obfuscator_Parameters=/SO >Running Obfuscator (1.0.25.0) from:C:\Program Files\AutoIt3\SciTE cmdline: - Iteration 1 Strip Functions result: Output 1452 lines and stripped 2648 lines - Iteration 2 Strip Variables result: Output 460 lines and stripped 928 lines - Iteration 3 Strip Variables result: Output 451 lines and stripped 9 lines +> Source 15220 lines 345076 Characters. +> Stripped 3585 Func/Var lines and 11128 comment lines, Total 909709 Characters. +> Saved 96% lines 263% Characters. +> Obfuscator v1.0.25.0 finished created:C:\_Coding\Scripts\AU3\Screensaver\Mesmerizing Squares Screensaver_Obfuscated.au3 >Running AU3Check for obfuscated file(1.54.14.0) from:C:\Program Files\AutoIt3 C:\_Coding\Scripts\AU3\Screensaver\Mesmerizing Squares Screensaver_Obfuscated.au3(362,18) : ERROR: syntax error DllStructCreate(_ ~~~~~~~~~~~~~~~~~^ C:\_Coding\Scripts\AU3\Screensaver\Mesmerizing Squares Screensaver_Obfuscated.au3 - 1 error(s), 0 warning(s) !>12:05:01 AU3Check Obfuscated code ended.rc:2 +>12:05:17 AutoIt3Wrapper Finished >Exit code: 0 Time: 22.259 What's wrong? UEZThis bug is fixed in the current Obfuscator version 1.0.26.8 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.
Recommended Posts