Page 3 of 3

Re: [TOOL] AHK Dynamic Obfuscator L - Protect your code by Obfuscation

Posted: 31 Jul 2019, 07:52
by Dogway
A few questions, is it possible to hide these type of strings?

Code: Select all

Lookup =
(
some
text
here
)
Also I observed that the obfuscated script is noticeable slower. Is this true? Is there a way to make it faster?

Re: [TOOL] AHK Dynamic Obfuscator L - Protect your code by Obfuscation

Posted: 05 Sep 2019, 08:13
by afe
An error occurs when the function name has only one character.

For example,

Code: Select all

;$OBFUSCATOR: $STRAIGHT_MODE:
f()
return
;$OBFUSCATOR: $END_AUTOEXECUTE: 

f()
{
    msgbox ok
}
The result is Remove empty variables

Code: Select all

@fk#[email protected]#k#k()
return
@ffk#[email protected]#k#k() { 
msgbox ok
}
The function name is no longer the same!

Re: [TOOL] AHK Dynamic Obfuscator L - Protect your code by Obfuscation

Posted: 05 Sep 2019, 11:33
by afe
DigiDon wrote:
30 Jul 2018, 13:48
I've run some tests and it seems that there are indeed no %'s straight or dynamic vars introduced inside the names for gLabels or vVars no
Yes, no %'s straight or dynamic vars introduced inside the names for gLabels, but it is OK for vVars.

Re: [TOOL] AHK Dynamic Obfuscator L - Protect your code by Obfuscation

Posted: 05 Sep 2019, 15:24
by Relayer
Hi,

I've been interested in this for a while and finally played with it a little. Has anyone else seen a problem where dynamic variable insertion into regular variables or built-in functions produces an error at run time: "empty variable reference"? Looking at the RMESS file I can see what the substitution would be without the blank dynamic variable insertion. I then look at what the obsfucator created and I see a mismatch of the '%' character such that two end up next to each other as '%%' and AutoHotkey thinks it is a dynamic variable without a name.

I haven't been able to detect a pattern in how it is making this mistake. I thought it was because of some regular variables with simple names that are to be avoided per the documentation but then I started to see the same problem with built in function names such as 'SubStr'.

Example: Su%[email protected]%@kff%%#fff#[email protected]%%k#@f#kk##[email protected]#%[email protected]%Str
with spaces to better visualize: Su %[email protected]% @kff% %#fff#[email protected]% %k#@f#kk##[email protected]#% [email protected]% Str

Anyone see this?

Relayer

Re: [TOOL] AHK Dynamic Obfuscator L - Protect your code by Obfuscation

Posted: 09 Sep 2019, 07:13
by afe
Relayer wrote:
05 Sep 2019, 15:24
Hi,

I've been interested in this for a while and finally played with it a little. Has anyone else seen a problem where dynamic variable insertion into regular variables or built-in functions produces an error at run time: "empty variable reference"? Looking at the RMESS file I can see what the substitution would be without the blank dynamic variable insertion. I then look at what the obsfucator created and I see a mismatch of the '%' character such that two end up next to each other as '%%' and AutoHotkey thinks it is a dynamic variable without a name.

I haven't been able to detect a pattern in how it is making this mistake. I thought it was because of some regular variables with simple names that are to be avoided per the documentation but then I started to see the same problem with built in function names such as 'SubStr'.

Example: Su%[email protected]%@kff%%#fff#[email protected]%%k#@f#kk##[email protected]#%[email protected]%Str
with spaces to better visualize: Su %[email protected]% @kff% %#fff#[email protected]% %k#@f#kk##[email protected]#% [email protected]% Str

Anyone see this?

Relayer
Yes, I also encountered an Empty variable reference (%%) error when I tried to use dynamic obfuscation. It took me a long time to modify the code to meet the prerequisites, but in the end it didn't work.

This is obviously a bug, wrong with %%. For very long code, it is unavoidable that %% will not be generated.
Not working at all, too many bugs.

Error at line 86.

Line Text: kf%k#@k%#%[email protected]@ff%#fk#@f#k%%[email protected]#[email protected]%%kfkffk#k#k#f%[email protected]#[email protected]#k#ff%[email protected]@[email protected]#
Error: Empty variable reference (%%).

The program will exit.

Re: [TOOL] AHK Dynamic Obfuscator L - Protect your code by Obfuscation

Posted: 15 Jan 2020, 22:28
by Monomoy
adding
;$OBFUSCATOR: $END_AUTOEXECUTE:
after 'return' and entering source file into program, to make transMAP

then attempting to obfuscate source code, seems to run without issue

but at the end the script has not been obsfucated

Code: Select all

ESC:: ;hotkey
Coordmode, Mouse, [Client]
Click, 735, -19
Run, chrome.exe https link /  Broken Link for safety
return
;$OBFUSCATOR: $END_AUTOEXECUTE:

Code: Select all

obf_copyright := " Date: 10:23 PM Wednesday, January 15, 2020     "
obf_copyright := "                                                "
obf_copyright := " THE FOLLOWING AUTOHOTKEY SCRIPT WAS OBFUSCATED "
obf_copyright := " BY DYNAMIC OBFUSCATOR L FOR AUTOHOTKEY         "
obf_copyright := " By DigiDon                                     "
obf_copyright := "                                                "
obf_copyright := " Based on DYNAMIC OBFUSCATOR                    "
obf_copyright := " Copyright (C) 2011-2013  David Malia           "
obf_copyright := " DYNAMIC OBFUSCATOR is released under           "
obf_copyright := " the Open Source GPL License                    "

;autoexecute
#NoEnv 
SendMode Input 
SetWorkingDir %A_ScriptDir% 
ESC::
Coordmode, Mouse, [Client]
Click, 735, -19
Run, chrome.exe https link /  Broken Link for safety
return

Re: [TOOL] AHK Dynamic Obfuscator L - Protect your code by Obfuscation

Posted: 16 Jan 2020, 00:14
by guest3456
Monomoy wrote:
15 Jan 2020, 22:28
adding
;$OBFUSCATOR: $END_AUTOEXECUTE:
after 'return' and entering source file into program, to make transMAP

then attempting to obfuscate source code, seems to run without issue

but at the end the script has not been obsfucated
as i remember, only certain things got obfuscated, like variable names and function names... you'd have to check the docs