Code: Select all
Lookup =
(
some
text
here
)
Code: Select all
Lookup =
(
some
text
here
)
Code: Select all
;$OBFUSCATOR: $STRAIGHT_MODE:
f()
return
;$OBFUSCATOR: $END_AUTOEXECUTE:
f()
{
msgbox ok
}
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
}
Code: Select all
@fk#fkfk@kk#k#k()
return
@ffk#fkfk@kk#k#k() {
msgbox ok
}
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.Relayer wrote: ↑05 Sep 2019, 15:24Hi,
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
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.
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
as i remember, only certain things got obfuscated, like variable names and function names... you'd have to check the docs
Code: Select all
switch Var01
{
case "none":
swRC := 0
case "Yes01":
swRC := 1
case "Yes02":
swRC := 2
default:
swRC := 0
}
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
Code: Select all
if(Var01<>"") ...
...
Code: Select all
if (Var01 <>"") ... ; obfuscation succeeds
...
Code: Select all
~$RShift::
; --
MsgBox % It's Ok!
/*
no empty lines of code
*/
return
$RShift Up::
; --
return
Return to “Scripts and Functions (v1)”
Users browsing this forum: Descolada, wjt936826577 and 57 guests