Sign in to follow this  
Followers 0
vladedoty

protect my program

32 posts in this topic

I really want to protect my program from being decompiled

Was curious, since i tried obfuscating it and i get the errors because of my use of the execute function (which i cannot take out of the program)

Is there any alternatives or a way to ignore the execute functions while obfuscating?

Share this post


Link to post
Share on other sites



Have you searched our forums for this particular question?

Short story: There is NO way to make it truly safe.


Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

Have you searched our forums for this particular question?

Short story: There is NO way to make it truly safe.

I have searched them but was wondering why there is an obfuscator released by autoit where it can't work with certain functions.

why wouldn't they make an ignore command? Or is there one.

I would at least like to obfuscate it.

Share this post


Link to post
Share on other sites

I have searched them but was wondering why there is an obfuscator released by autoit where it can't work with certain functions.

why wouldn't they make an ignore command? Or is there one.

I would at least like to obfuscate it.

There is no Obfuscator release by AutoIt but is release by me.

The reason why some functions aren't supported is easy to explain and there are several ways around it but it all depends on the script.

Jos


Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

There is no Obfuscator release by AutoIt but is release by me.

The reason why some functions aren't supported is easy to explain and there are several ways around it but it all depends on the script.

Jos

PM sent

Share this post


Link to post
Share on other sites

Lets have the discussion in open forum so other can participate.

The reason Execute isn't supported in Obfuscator is easy to explain since it can contain variables which are not renamed to the obfuscated new variable name. Try to avoid using execute.

Why do you need to use Execute() it in your script?

Jos


Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

Lets have the discussion in open forum so other can participate.

The reason Execute isn't supported in Obfuscator is easy to explain since it can contain variables which are not renamed to the obfuscated new variable name. Try to avoid using execute.

Why do you need to use Execute() it in your script?

Jos

how do i get to the open forum

sorry never used it

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

how do i get to the open forum

sorry never used it

This is it... in other words: Do not PM me but post your questions/remark HERE.

Jos

Edited by Jos

Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

Isnt there a switch to ingore function remame ?

There are several ways to avoid code to be obfuscated as are described in the helpfile ;)

#Obfuscator_Off ;Stop the Obfuscation process below this line

#Obfuscator_On ;Start the Obfuscation process below this line

#Obfuscator_Ignore_Funcs= ; Don't convert these Funcs

#Obfuscator_Ignore_Variables= ; Don't convert these Variables


Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

This is it... in other words: Do not PM me but post your questions/remark HERE.

Jos

lol ok understood

thought maybe there was a chat box

anyhow there is now way for my script to perform correctly without the execute commands.

i use it save settings in my gui in a bunch of different commands

It saves me from over 500 lines of code

Share this post


Link to post
Share on other sites

lol ok understood

thought maybe there was a chat box

anyhow there is now way for my script to perform correctly without the execute commands.

i use it save settings in my gui in a bunch of different commands

It saves me from over 500 lines of code

I have yet to use Execute() in any script so would love to see an example from you where it is required.

Just make a simple small example so I also can understand it.

Jos


Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

#13 ·  Posted (edited)

I have yet to use Execute() in any script so would love to see an example from you where it is required.

Just make a simple small example so I also can understand it.

Jos

here is an example.

plz show me ways around this,

also i have an error obfuscating with the timers.au3 file

I was also curious if after obfuscating, will this be easily unobfuscatable

Func ButtonStateSet($varname)
    If IniRead($inifile, "Settings", $varname, 4)==1 Then
        Execute("GUICtrlSetState("&$varname&", $GUI_CHECKED)")
    Else
        Execute("GUICtrlSetState("&$varname&", $GUI_UNCHECKED)")
    EndIf
EndFunc

I really appreciate your help

Edited by vladedoty

Share this post


Link to post
Share on other sites

#14 ·  Posted (edited)

Func ButtonStateSet($varname)
    Local $iVal = IniRead($inifile, "Settings", $varname, 4)
    If GUICtrlGetState($varname) <> $iVal Then GUICtrlSetState("&$varname&", $iVal)
EndFunc

EDIT: BTW, that was a ridiculous use of Execute() anyway.

Edited by GEOSoft

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

Share this post


Link to post
Share on other sites

Whats wrong with?:

Func ButtonStateSet($varname)
    If IniRead($inifile, "Settings", $varname, 4)==1 Then
        GUICtrlSetState($varname, $GUI_CHECKED)
    Else
        GUICtrlSetState($varname, $GUI_UNCHECKED)
    EndIf
EndFunc

Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

#16 ·  Posted (edited)

Whats wrong with?:

Func ButtonStateSet($varname)
    If IniRead($inifile, "Settings", $varname, 4)==1 Then
        GUICtrlSetState($varname, $GUI_CHECKED)
    Else
        GUICtrlSetState($varname, $GUI_UNCHECKED)
    EndIf
EndFunc

nothing it works fine

so if i want to ignore the remaining execute functions i would put

#Obfuscator_Ignore_Funcs=Execute or

#Obfuscator_Ignore_Funcs=Execute()

cause when i put this at the top of my script i get the following error: Invalid Complier directive

Keyword:#Obfuscator_Ignore_Funcs

Value:Execute

Is this because I can't ignore Execute?

also i am having that error with the timers.au3 file

can i ignore that since it is a built in au3 file?

Edited by vladedoty

Share this post


Link to post
Share on other sites

#Obfuscator_Ignore_Funcs= ; Don't convert these Funcs

This is ONLY for UDFs not build in functions.

But you haven't shown why you would need Execute().


Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

#Obfuscator_Ignore_Funcs= ; Don't convert these Funcs

This is ONLY for UDFs not build in functions.

But you haven't shown why you would need Execute().

ok i see that i do not need the execute function

but what about the timers.au3 error when obfuscating.

and after abfuscated correctly, can it easily be unobfuscated

Share this post


Link to post
Share on other sites

Jos, je geduld is bewonderenswaardig, respekt...

OP, take a look at my sig, under Obfuscator you'll get to the correct 26 pages long thread answering ALL questions you might have... alternatively take also a look at the "Software Armoring tools" thread...

Share this post


Link to post
Share on other sites

#20 ·  Posted (edited)

ok i see that i do not need the execute function

but what about the timers.au3 error when obfuscating.

and after abfuscated correctly, can it easily be unobfuscated

also now getting this error while trying to obfuscate the new functions converted from the old Execute

Found GUICtrlSetOnEvent() statement using unsolvable Func, which will/could lead to problems running your obfuscated script.

and the Ignore_Funcs does not work on GUICtrlSetOnEvent either

and here is the timer error

-### Obfuscation Error: Found DllCallbackRegister() statement using unsolvable Func, which will/could lead to problems running your obfuscated script.

>### current Func: _Timer_SetTimer

C:\Program Files\AutoIt3\include\timers.au3(282,1) Warning for line:$hCallBack = DllCallbackRegister($sTimerFunc, "none", "hwnd;int;int;dword")

Edited by vladedoty

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0