Moderators SmOke_N Posted May 26, 2006 Author Moderators Share Posted May 26, 2006 Please read the main page, I have no idea what in the world that is obfuscated, and don't have the time or want to, to even try and figure it out. 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. Link to comment Share on other sites More sharing options...
dash007 Posted May 27, 2006 Share Posted May 27, 2006 SmOke_N, To assist further in determining the problem, I tried with the latest beta 125, but the error continues. I tried something different. So far I have been trying to encode the "file.au3" of the beta version. I thought perhaps I could try and replace it with the "file.au3" from the v3.1.1 (stable version). I tested it and unfortunately I still get the error.Next step: I put back the beta's "file.au3" into my includes folder. Then I tried something different: I tried to encode the "file.au3" directly. In other words, I started EncodeIT and then browsed for the file "file.au3" from my includes folder. Guess what! no errors! I am still lost as to why its happening, but thought you might like to know what I tried. Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted May 27, 2006 Author Moderators Share Posted May 27, 2006 SmOke_N, To assist further in determining the problem, I tried with the latest beta 125, but the error continues. I tried something different. So far I have been trying to encode the "file.au3" of the beta version. I thought perhaps I could try and replace it with the "file.au3" from the v3.1.1 (stable version). I tested it and unfortunately I still get the error.Next step: I put back the beta's "file.au3" into my includes folder. Then I tried something different: I tried to encode the "file.au3" directly. In other words, I started EncodeIT and then browsed for the file "file.au3" from my includes folder. Guess what! no errors! I am still lost as to why its happening, but thought you might like to know what I tried.That does explain a bit, I am checking for Beta first, and if not then taking the litteral path... I will check further when I have a few.Did you install autoit with the zip or install.exe? That may help in determinng if I need to maybe add an extra parameter or 2.Thanks Dash. 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. Link to comment Share on other sites More sharing options...
Bâshrat the Sneaky Posted May 27, 2006 Share Posted May 27, 2006 Please read the main page, I have no idea what in the world that is obfuscated, and don't have the time or want to, to even try and figure it out.I'm sorry, but I don't see what I'm missing here? What requirement or limitation did I overlook? Link to comment Share on other sites More sharing options...
dash007 Posted May 27, 2006 Share Posted May 27, 2006 SmOke_N, I installed Autoit beta using the zip. I don't have the stable version installed and also don't use ScITe. My Autoit beta is in the location: C:\Program Files\Autoit3. Every time there is a beta update, I replace existing files with the newer files found in the zip archive. All my scripts work fine so far. Hope this info is useful too.... @Bâshrat the Sneaky, What SmOke_N is saying is that in the main page, he has mentioned that if you have any errors on using Encodeit, then you can paste your original script in this forum so that he can test it and not the 'obfuscate' code. SmOke_N also has given an option that you can PM him if you don't prefer to paste the script on this website. You see the below text in Burgundy colour in the main page that SmOke_N was referring to: http://www.autoitscript.com/forum/index.php?act=Attach&type=post&id=6417 ".....If you have an issue with something that is turning out Poor Results or Errors, Please don't post it unless you have a reproduced script that I can test what is causing the problem. And an obfuscated post is futile, so If you can't post your main script, than you can PM me with it with a description of what is supposed to turn out, so I can test the Obfuscator on it personally......" Link to comment Share on other sites More sharing options...
Bâshrat the Sneaky Posted May 27, 2006 Share Posted May 27, 2006 (edited) @Bâshrat the Sneaky, What SmOke_N is saying is that in the main page, he has mentioned that if you have any errors on using Encodeit, then you can paste your original script in this forum so that he can test it and not the 'obfuscate' code. SmOke_N also has given an option that you can PM him if you don't prefer to paste the script on this website. You see the below text in Burgundy colour in the main page that SmOke_N was referring to: http://www.autoitscript.com/forum/index.php?act=Attach&type=post&id=6417 ".....If you have an issue with something that is turning out Poor Results or Errors, Please don't post it unless you have a reproduced script that I can test what is causing the problem. And an obfuscated post is futile, so If you can't post your main script, than you can PM me with it with a description of what is supposed to turn out, so I can test the Obfuscator on it personally......"Doh... I feel so n00bish now... :"> Thank you dash007, I'll send him a PM. EDIT: done. Edited May 27, 2006 by Bâshrat the Sneaky Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted May 27, 2006 Author Moderators Share Posted May 27, 2006 I installed Autoit beta using the zip. My Autoit beta is in the location: C:\Program Files\Autoit3.Would you mind doing a test for me... make a folder named beta in the autoit3 folder... and then copy everything in the main (other than beta) and paste it in the beta folder, then try it?I would also suggest (after looking at the code again) to maybe look at using the install.exe, it looks for 1 or 2 things that you may not put in the same spot with the .zip. I'll be able to better debug after Tuesday. 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. Link to comment Share on other sites More sharing options...
dash007 Posted May 27, 2006 Share Posted May 27, 2006 SmOke_N, Having the beta installed in the beta folder as you suggested, I am able to successfully create an encoded script, ie no error about duplicate function! To do this, I created a beta folder inside the Autoit3 folder and dragged everything into this newly created beta folder. However I was unable to run the scripts because my scripts rightly complained about missing includes. I next installed the stable version to the default location. However my scripts complained about unknown functions (I expected this). To avoid this, either I had to correct the path to the "beta includes" in my scripts or the easier way was to have the beta in the Autoit3 folder and a copy of the beta in the "Beta" subfolder. My script works and EncodeIt works on the tested scripts too. So I guess we have narrowed down the problem eh? Hopefully... Let me know if you need me to check anything else. One other suggestion is can you have the EncodeIT splash to stay on top? It doesn't have a taskbar so the only way is to minimise all my windows one by one to know the progress. Cheers! Link to comment Share on other sites More sharing options...
gamerman2360 Posted June 8, 2006 Share Posted June 8, 2006 Problems when I have a script that uses OnAutoItExit() Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted June 8, 2006 Author Moderators Share Posted June 8, 2006 (edited) Problems when I have a script that uses OnAutoItExit()Yeah, I can definately see that being an issue... considering that's a keyword function with AutoIt that doesn't require any outside intervention... I would rather not stop it from changing that function, because anyone could just see what the function name is and see what it does on exit... I would suggest for better security in using something like: Opt('OnExitFunc', 'BlahBlah') Sleep(5000);Your script etc... Func BlahBlah() MsgBox(0, 'info', 'exiting') EndFunc Edit: I tested this and it works fine and you will have the same outcome. Edited June 8, 2006 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. Link to comment Share on other sites More sharing options...
gamerman2360 Posted June 9, 2006 Share Posted June 9, 2006 (edited) Cool, that fixes everything! Thanks for the quick reply. So it dosn't need to be anything special right? Even just this at the top of your script?Opt('OnExitFunc', 'OnAutoItExit') ƒoÝŠ÷ ØGbµêæ•ël¶¼…«Z¨§jëhŠ×6Opt('OnExitFunc', 'OnAutoItExit') Um everytime I edit it messes up my tags.. I'm guessing it's escaping some of the characters so you cant have html in posts but I have no clue what happened here. I'll try one more time(using a code tag):Opt('OnExitFunc', 'OnAutoItExit') Edited June 9, 2006 by gamerman2360 Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted June 9, 2006 Author Moderators Share Posted June 9, 2006 Cool, that fixes everything! Thanks for the quick reply. So it dosn't need to be anything special right? Even just this at the top of your script?Opt('OnExitFunc', 'OnAutoItExit') oÝ÷ ØGbµêæël¶¼«Z¨§jëh×6Opt('OnExitFunc', 'OnAutoItExit')OnAutoItExit is predefined, I would suggest to name it somethng different like "gammerman2360s_Exit" or something and then rename the "OnAutoItExit" function name to the same... I'm not sure if the Opt overrides that predefined, but if you say it's working, then I will assume it will. 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. Link to comment Share on other sites More sharing options...
gamerman2360 Posted June 9, 2006 Share Posted June 9, 2006 (edited) Lol, usually when I type stuff I havn't tested it yet. I probably should get into the habit. Edit: It works! Edited June 9, 2006 by gamerman2360 Link to comment Share on other sites More sharing options...
Proph Posted June 9, 2006 Share Posted June 9, 2006 I have a crazy idea... Not sure if it is possible or not. Would it be possible to have the obfuscator search thoughout the script for IsDeclared(), Assign(), Eval() and Call(). If any of them exist they could be replaced with some sort of functions that would allow the obfuscator to properly obfoscate the script? Or would that not be possible? Just a thought. It may be at least smart to have the obfoscator report if it finds any of these unsupported functions. Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted June 9, 2006 Author Moderators Share Posted June 9, 2006 It may be at least smart to have the obfoscator report if it finds any of these unsupported functions.I would think if you wrote the script... you'd be smart enough to know if you used any of those functions. Thanks for the other input though. 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. Link to comment Share on other sites More sharing options...
nfwu Posted June 9, 2006 Share Posted June 9, 2006 NOTE: EnCodeIt cannot successfully obfuscate scripts relying on dynamic behaviour provided by IsDeclared(), Assign(), Eval() and Call(). If you wish to obfuscate such scripts, you must rewrite them so as not to use these functions. This should not be regarded as a limitation of EnCodeIt; it is simply not possible to obfuscate a script to use randomly distributed variable names when such a function may require a more ordered set of variable names at this time with EnCodeIt.What about replacing these with UDFs that would obfubuscate the parameters passed in, then evaluate the obfubuscated code?#) TwitterOut of date stuff:Scripts: Sudoku Solver | Webserver | 3D library (Pure AutoIt) | Wood's GadgetsUDFs: _WoodUniqueID() | _DialogEditIni() | _Console*() | _GetIPConfigData() | _URLEncode/Decode() Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted June 9, 2006 Author Moderators Share Posted June 9, 2006 What about replacing these with UDFs that would obfubuscate the parameters passed in, then evaluate the obfubuscated code?#)Dynamic behaviour... You have to go through "steps" to obfuscate or else your all over the place... and when Eval("a" & "b") = $ab how do I split up the $ab = $alkdfu0f92309uafpoie0a9su into Eval("a" & "l" & "k" & "d" & "f" & "u" & "0" & "f" & "9" & "2" & "3" & "0" & "9" & "u" & "u" & "a" & "f" & "p" & "o" & "i" & "e" & "0" & "a" & "9" & "s" & "u") properly (Just one example, I know if you look at the functions closer you'd understand out of most people). Now, I've past the point already of Encoding something ('text') or whatever, then I'd have to back track and do it all over again for these specific functions, and to be honest, It takes long enough as is.If someone has written a UDF for things like this, and would like them to be included in EnCodeIt then by all means, but you'll find that it just isn't going to work on some of them at all. 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. Link to comment Share on other sites More sharing options...
gamerman2360 Posted June 10, 2006 Share Posted June 10, 2006 (edited) Is there ever a time when you absolutely need to use one of those functions? I know about the #include, IsDeclared(), and Const problem. Isn't that it? Edited June 10, 2006 by gamerman2360 Link to comment Share on other sites More sharing options...
seandisanti Posted June 12, 2006 Share Posted June 12, 2006 I would think if you wrote the script... you'd be smart enough to know if you used any of those functions. Thanks for the other input though.Nice. Link to comment Share on other sites More sharing options...
scythetleppo Posted June 16, 2006 Share Posted June 16, 2006 Hi I'm having a problem. I have used this on 2 different scripts and it was fast and seemed to work correctly. I have a new script that is 5kb. EncodeIt took 43 minutes to obfuscate it and the filesize went from 5kb to 178kb and gets an error of improperly defined function. the script doesn't have any of the commands listed on page one of this post. the script unobfuscated works perfectly. Link to comment Share on other sites More sharing options...
Recommended Posts