Page 1 of 2

protect or obfuscate imacro

Posted: Thu Mar 18, 2010 2:15 pm
by giorgio79
Hello,

I am building an app for sale that wil create special purpose imacros.

My only option of hiding this code from the users is using the scripting edition with the "CODE..." calls?

I would like to use the Imacros for Firefox free version, not to put off any users with the high price tag for the scripting version, but then they can see the created imacros easily.

Any ideas? Could I load into Firefox memory the imacros straight away?

Re: protect or obfuscate imacro

Posted: Thu Mar 18, 2010 6:32 pm
by coolcocky
hi,

even while using scripting edition, you can run the macros either in internet explorer or firefox see syntax for iimplay() method

hope this helps

just my 2 cents

regards,

cool

Re: protect or obfuscate imacro

Posted: Thu Mar 18, 2010 8:36 pm
by giorgio79
As I mentioned, I would like users to run imacros in the memory without the Scripting edition which is almost 500 bucks.

So to recap, how can I run imacros from memory in free edition, or at least be able to obfuscate imacros output or protect it somehow.

The ultimate goal is "how to protect my imacro" :)

Re: protect or obfuscate imacro

Posted: Fri Mar 19, 2010 6:09 pm
by Daniel, Tech Support
Hello,

You can use Javascript to play your macro. E.g.

Code: Select all

macro = "CODE:";macro = "CODE:";
macro += "URL GOTO=http://wiki.imacros.net" + jsLF;
macro += "WAIT SECONDS=" + MyDelay + jsLF;
macro += "URL GOTO=http://wiki.imacros.net/iMacros_for_Firefox";

retcode = iimPlay(macro);
And then you can obfuscate the JavaScript code.

Best regards,

Re: protect or obfuscate imacro

Posted: Sat Mar 20, 2010 2:10 pm
by giorgio79
Thanks Daniel. Looks great.

If I start firefox by calling the js script with run.imacros.net this will be a great solution. Will be testing soon.

Re: protect or obfuscate imacro

Posted: Mon Mar 22, 2010 6:54 pm
by Daniel, Tech Support
Great! Please share the results with us! :)

Re: protect or obfuscate imacro

Posted: Mon Apr 12, 2010 11:51 am
by Claudiu
i can't see how this can be called obfuscating .. i'd appreciate some light on this ..

as far as i can see the javasript calls the .iim file which can be seen by the average joe and can easily can run the .iim file from within his browser without the js file.

unless the .iim file can be ran through a server .. like the user would call the .iim file from my server and won't be able to download this file on his own server ...

again .. i'd appreciate some light on this as i'm thinking at obfuscating my scripts that i want to share with other community members.

Daniel, iOpus wrote:Hello,

You can use Javascript to play your macro. E.g.

Code: Select all

macro = "CODE:";macro = "CODE:";
macro += "URL GOTO=http://wiki.imacros.net" + jsLF;
macro += "WAIT SECONDS=" + MyDelay + jsLF;
macro += "URL GOTO=http://wiki.imacros.net/iMacros_for_Firefox";

retcode = iimPlay(macro);
And then you can obfuscate the JavaScript code.

Best regards,

Re: protect or obfuscate imacro

Posted: Mon Apr 12, 2010 1:47 pm
by Daniel, Tech Support
Hello,

As you seen in my example, you don't have to store the macro in .iim, but you can make it a part of .js file. This is JavaScript code that forms a macro, stores it in a variable and then runs it.

Code: Select all

macro = "CODE:";macro = "CODE:";
macro += "URL GOTO=http://wiki.imacros.net" + jsLF;
macro += "WAIT SECONDS=" + MyDelay + jsLF;
macro += "URL GOTO=http://wiki.imacros.net/iMacros_for_Firefox";

retcode = iimPlay(macro);
And naturally, when you obfuscate your .js file, macro source will also be obfuscated.

Best regards,

Re: protect or obfuscate imacro

Posted: Mon Apr 12, 2010 9:49 pm
by Claudiu
ok, i've re-done some tests and it's ok now .. ty for your help
Daniel, iOpus wrote:Hello,

As you seen in my example, you don't have to store the macro in .iim, but you can make it a part of .js file. This is JavaScript code that forms a macro, stores it in a variable and then runs it.

Best regards,

Re: protect or obfuscate imacro

Posted: Wed Apr 14, 2010 6:53 pm
by Daniel, Tech Support
You are very welcome!

Re: protect or obfuscate imacro

Posted: Sat Jul 17, 2010 8:32 pm
by giorgio79
Daniel, I noticed that even if I obfuscate, the current imacro is always saved in #current.iim file. All the user needs to do is stop or pause the script, and copy it out from there... Ouch.

Re: protect or obfuscate imacro

Posted: Tue Jul 20, 2010 8:32 pm
by Daniel, Tech Support
Hi,

Unfortunately I don't know of any better way to protect the macro in Firefox... Well, what you could do is play the macro piece after piece, so that the whole macro is never in .iim, but of course a user could simply collect all the parts together. You could also hide some logic in JavaScript, so that it doesn't work when played as pure macro. For anything more advanced you would need to use Scripting Edition, which can, among other things, run in silent mode.

By the way
I would like to use the iMacros for Firefox free version, not to put off any users with the high price tag for the scripting version
You can get an unlimited player license and deploy that to users. Here is more info:
http://www.iopus.com/imacros/compare/#player

Best regards,

Re: protect or obfuscate imacro

Posted: Thu Jul 22, 2010 9:25 am
by giorgio79
Thanks Daniel, I might just stick to chopping up imacros to parts so it would be more difficult to piece it together.

Also, I notice in v7 of imacros there is an option:
" Hide GUI toolbar / sidebar with iimInit ("-kioskmode") "

Wonder if this could be made a command for the free player, or perhaps for run.imacros.net we could pass in a variable that would enable hiding the GUI. :)

Re: protect or obfuscate imacro

Posted: Thu Jul 22, 2010 10:23 am
by Daniel, Tech Support
Hi,

Exactly, you can use the kioskmode in v7, even with the Player version!

Best regards,

Re: protect or obfuscate imacro

Posted: Fri Aug 20, 2010 11:15 am
by giorgio79
Daniel, could we have a setting or an option which would disable saving the running imacro in the current.iim file?

That would help as well :)

Something like

SET !DISABLE_CURRENT_SAVE