Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How do you obfuscate lua scripts without the usage of loadstring? [closed]

Asked by
ffejyos 10
5 years ago

I've searched a bit on this topic but no one seems to know. It is possible and I do have my hands on an obfuscator but I want to make my own.

local l|l|llI|_iIliiIIIiliIlliII=select;local l|l|llI|_IIiiliIill=string.byte;local l|l|llI|_lIllliIiIIlIIiIii=string.sub;local l|l|llI|_lIIiiiiIIlIiliilI=string.char;local l|l|llI|_IIlIii=type;local l|l|llI|_iIIllIiIilllllI=table.concat;local unpack=unpack;local setmetatable=setmetatable;local pcall=pcall;local l|l|llI|_liilIlIllliililiI,l|l|llI|_IIiliiIIlliiIlIlll,l|l|llI|_IiIilIIillIiIiiI,l|l|llI|_iiill;if bit and bit.bxor then l|l|llI|_liilIlIllliililiI=bit.bxor;l|l|llI|_IIiliiIIlliiIlIlll=function(l|l|llI|_IiIIIlllIIIIliIlI,l|l|llI|_ilIiIliIililIIIill)local l|l|llI|_liiIllIlliIIilIIIIl=l|l|llI|_liilIlIllliililiI(l|l|llI|_IiIIIlllIIIIliIlI,l|l|llI|_ilIiIliIililIIIill)if l|l|llI|_liiIllIlliIIilIIIIl<0 then l|l|llI|_liiIllIlliIIilIIIIl=4294967296+l|l|llI|_liiIllIlliIIilIIIIl end;return l|l|llI|_liiIllIlliIIilIIIIl end else l|l|llI|_liilIlIllliililiI=function(l|l|llI|_IiIIIlllIIIIliIlI,l|l|llI|_ilIiIliIililIIIill)local l|l|llI|_illliIlIiIliiIl=function(l|l|llI|_lIiIIliIIIl,l|l|llI|_lIlIiiIiiiIlilliIllI)return l|l|llI|_lIiIIliIIIl%(l|l|llI|_lIlIiiIiiiIlilliIllI*2)>=l|l|llI|_lIlIiiIiiiIlilliIllI end;local l|l|llI|_IliIiiilIlii=0;for l|l|llI|_liIIliiIilIiiililll=0,31 do l|l|llI|_IliIiiilIlii=l|l|llI|_IliIiiilIlii+(l|l|llI|_illliIlIiIliiIl(l|l|llI|_IiIIIlllIIIIliIlI,2^l|l|llI|_liIIliiIilIiiililll)~=l|l|llI|_illliIlIiIliiIl(l|l|llI|_ilIiIliIililIIIill,2^l|l|llI|_liIIliiIilIiiililll)and 2^l|l|llI|_liIIliiIilIiiililll or 0)end;return l|l|llI|_IliIiiilIlii end;l|l|llI|_IIiliiIIlliiIlIlll=l|l|llI|_liilIlIllliililiI end;l|l|llI|_IiIilIIillIiIiiI=function(l|l|llI|_IiiIIIIIIllIlli,l|l|llI|_lliIi,l|l|llI|_IiiIil)return(l|l|llI|_IiiIIIIIIllIlli+l|l|llI|_lliIi)%l|l|llI|_IiiIil end;l|l|llI|_iiill=function(l|l|llI|_IiiIIIIIIllIlli,l|l|llI|_lliIi,l|l|llI|_IiiIil)return(l|l|llI|_IiiIIIIIIllIlli-l|l|llI|_lliIi)%l|l|llI|_IiiIil end;local function l|l|llI|_liIiIliIlIli(l|l|llI|_liiIllIlliIIilIIIIl)if l|l|llI|_liiIllIlliIIilIIIIl<0 then l|l|llI|_liiIllIlliIIilIIIIl=4294967296+l|l|llI|_liiIllIlliIIilIIIIl end;return l|l|llI|_liiIllIlliIIilIIIIl end;local getfenv=getfenv;if not getfenv then getfenv=function()return _ENV end end;local l|l|llI|_liililliiil={}local l|l|llI|_iiIiIlliIliilli={}local l|l|llI|_IlIliIIIIlilll;local l|l|llI|_ilIiIllIlIlIlIIlIll;local l|l|llI|_liIilllIlIIiililiIIi={}local l|l|llI|_lIiliIiIilIll={}for l|l|llI|_liIIliiIilIiiililll=0,255 do local 

^ this is a simple snippet of a 2000 line print execution. I do not want to learn how to make something this advanced but I do want to know how to do simple obfuscation.

0
There's a vermillion post of a simple obfucator script. I don't have the link and I don't know if it works but it used string.byte Protogen_Dev 268 — 5y
0
Yes, there is something called vm obsfucation I think. I'm pretty sure it works by creating a custom lua vm in lua and then running its own custom bytecode in its own interpreter. vm obsfucation is a good choice for hiding the logic of the code when reading unlike just changing variable names. EpicMetatableMoment 1444 — 5y
0
Try looking at this article for more information http://luaforge.net/docman/83/98/ANoFrillsIntroToLua51VMInstructions.pdf EpicMetatableMoment 1444 — 5y

Closed as Not Constructive by EpicMetatableMoment, SerpentineKing, and ihatecars100

This question has been closed because it is not constructive to others or the asker. Most commonly, questions that are requests with no attempt from the asker to solve their problem will fall into this category.

Why was this question closed?