Jump to content
Sign in to follow this  
SmOke_N

EnCodeIt

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

@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 by Bâshrat the Sneaky

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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 by gamerman2360

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Lol, usually when I type stuff I havn't tested it yet. I probably should get into the habit.

Edit: It works!

Edited by gamerman2360

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

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.

Share this post


Link to post
Share on other sites

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?

#)

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 by gamerman2360

Share this post


Link to post
Share on other sites

I would think if you wrote the script... you'd be smart enough to know if you used any of those functions. :D

Thanks for the other input though.

Nice.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...