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?
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
Code: Select all
@%k@#kk@%%k##ff##k@fff@f#f%fk#f%f@kk%kfk@kk#k#k()
return
@ffk#fkfk@kk#k#k() {
msgbox ok
}
Remove empty variables
Code: Select all
@fk#fkfk@kk#k#k()
return
@ffk#fkfk@kk#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%k@ff%@kff%%#fff#kf@%%k#@f#kk##fk@k#%kk@k%Str
with spaces to better visualize: Su %k@ff% @kff% %#fff#kf@% %k#@f#kk##fk@k#% kk@k% 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%k@ff%@kff%%#fff#kf@%%k#@f#kk##fk@k#%kk@k%Str
with spaces to better visualize: Su %k@ff% @kff% %#fff#kf@% %k#@f#kk##fk@k#% kk@k% 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%#%kkfkkkkfk@kkk@ff%#fk#@f#k%%f@#fkf@f%%kfkffk#k#k#f%fkk@k#kfk@f#k#ff%k@@kk@k#
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
Re: [TOOL] AHK Dynamic Obfuscator L - Protect your code by Obfuscation
Posted: 09 Jun 2021, 14:52
by Logitope
I'm also not able to get this to work.
After working through a few errors only to find that there are too many to remove manually, I tried inserting the ;$OBFUSCATOR: $STOP_OBF command mentioned in the documentation (
https://www.everfastaccess.com/AHK-Obfuscator/obfmode.htm) to exclude some functions and labels.
But the Obfuscator was still obfuscating everything. I then removed all ;$OBFUSCATOR: $RESUME_OBF: commands and placed the stop command at various places, including at the very beginning of the script. Still, everything was obfuscated.
I also tried adding a colon after the command (;$OBFUSCATOR: $STOP_OBF:), although there is no colon in the documentation, but the result is still the same.
Did anyone else have the same problem? It seems strange to me that this basic functionality is not working, as at least some people seem to have used the Obfuscator successfully.
Re: [TOOL] AHK Dynamic Obfuscator L - Protect your code by Obfuscation
Posted: 17 Jun 2022, 17:30
by ConTrast77
not working in _
Switch ... Case .. _operator:
https://www.autohotkey.com/docs/commands/Switch.htm
"
Default:" parameter
is treated as a global/local label, not as part of the Switch enum. And therefore it is obfuscated, but it should not be so.
Parameters from this manual:
https://www.everfastaccess.com/AHK-Obfuscator/obfmode.htm
has no effect.
Code: Select all
switch Var01
{
case "none":
swRC := 0
case "Yes01":
swRC := 1
case "Yes02":
swRC := 2
default:
swRC := 0
}
Re: [TOOL] AHK Dynamic Obfuscator L - Protect your code by Obfuscation
Posted: 17 Jun 2022, 17:38
by ConTrast77
Bug obfuscation:
if subject to the use of short conditions
.. ? .. : ..
Code: Select all
(Var01 <>"") ? Var02 := "," : Var02 := "" ; after such comments can also appear and stop being obfuscated
Code: Select all
(Var01 <>"")
? Var02 := ","
: Var02 := "" ; in this form it is obfuscated FREQUENTLY normally, but comments may stop being deleted
Re: [TOOL] AHK Dynamic Obfuscator L - Protect your code by Obfuscation
Posted: 17 Jun 2022, 17:43
by ConTrast77
Bug obfuscation:
Code: Select all
if (Var01 <>"") ... ; obfuscation succeeds
...
obfuscation succeeds when there is a space after the IF but before the parenthesis, there must also be a space before any comparison sign
Re: [TOOL] AHK Dynamic Obfuscator L - Protect your code by Obfuscation
Posted: 17 Jun 2022, 17:51
by ConTrast77
Bug obfuscation:
if Hotkey is used in a separate file #include ...
then there shouldn't be any empty lines.
Even if there are lines with comments or with code, there should not be empty lines between them inside each hotkey (in include file) like:
#include FileTest_RShift.ahk
Code: Select all
~$RShift::
; --
MsgBox % It's Ok!
/*
no empty lines of code
*/
return
$RShift Up::
; --
return
Re: [TOOL] AHK Dynamic Obfuscator L - Protect your code by Obfuscation
Posted: 12 Apr 2024, 04:22
by mmelon
i seem to have a previously reported issue where the obfuscator is ignoring any stop or resume commands and doing all function names and labels regardless. Any ideas?