local function ToByte( Code ) return Code: gsub ( "." , function ( Char ) return "\\ " .. string.byte ( Char ) end ) ; end
local function Random( V ) local a = "" ; for i = V, math.random ( V * 1 , V * 3 ) do a = a .. " " .. ( "_" ) : rep( i ) .. "=_[\" " .. ToByte( table . Random( { "RunStringEx" , "DOF_Kill" , "ColorToHSV" , "DOFModeLHack" , "AddOriginTpPVS" , "AccessorFuncNW" , "ErrorNoHalt" , "GetTaskID" , "LerpVector" , "NewMesh" , "PlayerDataUpdate" , "STNDRD" } ) ) .. "\" ]" end return a end
local function Obfuscate( Code ) return "_=_G" .. Random( 5 ) .. "__=_[\" " .. ToByte( "string" ) .. "\" ][\" " .. ToByte( "reverse" ) .. "\" ]" .. Random( 8 ) .. "_[\" " .. ToByte( "RunString" ) .. "\" ](__\" " .. ToByte( Code: reverse( ) ) .. "\" )" .. Random( 5 ) ; end
local Code = [[print("Lol, hi!\nThis is my GLua obfuscator.")]] ;
print ( "--->>> " .. Code .. "\n Obfuscated GLua code: \n " .. Obfuscate( Code ) .. "\n Result: \n " )
_G [ "RunString" ] ( Obfuscate( Code ) )
bG9jYWwgZnVuY3Rpb24gVG9CeXRlKCBDb2RlICkgcmV0dXJuIENvZGU6Z3N1YiggIi4iLCBmdW5jdGlvbiggQ2hhciApIHJldHVybiAiXFwiIC4uIHN0cmluZy5ieXRlKCBDaGFyICkgZW5kKTsgZW5kCmxvY2FsIGZ1bmN0aW9uIFJhbmRvbSggViApIGxvY2FsIGEgPSAiIjsgZm9yIGkgPSBWLCBtYXRoLnJhbmRvbSggViAqIDEsIFYgKiAzICkgZG8gYSA9IGEgLi4gIiAiLi4gKCAiXyIgKTpyZXAoIGkgKSAuLiI9X1tcIiIuLiBUb0J5dGUoIHRhYmxlLlJhbmRvbSggeyAiUnVuU3RyaW5nRXgiLCAiRE9GX0tpbGwiLCAiQ29sb3JUb0hTViIsICJET0ZNb2RlTEhhY2siLCAiQWRkT3JpZ2luVHBQVlMiLCAiQWNjZXNzb3JGdW5jTlciLCAiRXJyb3JOb0hhbHQiLCAiR2V0VGFza0lEIiwgIkxlcnBWZWN0b3IiLCAiTmV3TWVzaCIsICJQbGF5ZXJEYXRhVXBkYXRlIiwgIlNUTkRSRCIgfSApICkgLi4gIlwiXSIgZW5kIHJldHVybiBhIGVuZApsb2NhbCBmdW5jdGlvbiBPYmZ1c2NhdGUoIENvZGUgKSByZXR1cm4gIl89X0ciLi4gUmFuZG9tKCA1ICkgLi4iX189X1tcIiIgLi4gVG9CeXRlKCAic3RyaW5nIiApIC4uICJcIl1bXCIiIC4uIFRvQnl0ZSggInJldmVyc2UiICkgLi4gIlwiXSIuLiBSYW5kb20oIDggKSAuLiJfW1wiIi4uIFRvQnl0ZSggIlJ1blN0cmluZyIgKSAuLiAiXCJdKF9fXCIiIC4uIFRvQnl0ZSggQ29kZTpyZXZlcnNlKCkgKSAuLiAiXCIpIi4uIFJhbmRvbSggNSApOyBlbmQKIApsb2NhbCBDb2RlID0gW1twcmludCgiTG9sLCBoaSFcblRoaXMgaXMgbXkgR0x1YSBvYmZ1c2NhdG9yLiIpXV07CnByaW50KCAiLS0tPj4+ICIgLi4gQ29kZSAuLiAiXG5PYmZ1c2NhdGVkIEdMdWEgY29kZTogXG4iIC4uIE9iZnVzY2F0ZSggQ29kZSApIC4uICJcblJlc3VsdDogXG4iICkKX0dbIlJ1blN0cmluZyJdKE9iZnVzY2F0ZSggQ29kZSApKQ==