Run it
Copy the script and paste it into your executor.
G2L = {};
G2L[] = .(, :():());
G2L[][] = ;
G2L[][] = .ZIndexBehavior.Sibling;
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[][] = .(, , , );
G2L[][] = .(, , , );
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = ColorSequence.{ColorSequenceKeypoint.(, .(, , )),ColorSequenceKeypoint.(, .(, , ))};
G2L[] = .(, G2L[]);
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , , );
G2L[][] = .(, , , );
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = Font.(, .FontWeight.Bold, .FontStyle.Normal);
G2L[][] = .(, , );
G2L[][] = .(, , , );
G2L[][] = ;
G2L[][] = ;
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , , );
G2L[][] = .(, , , );
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = Font.(, .FontWeight.Bold, .FontStyle.Normal);
G2L[][] = .(, , );
G2L[][] = .(, , , );
G2L[][] = ;
G2L[][] = ;
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[][] = .(, , , );
G2L[][] = .(, , , );
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = .TextXAlignment.Left;
G2L[][] = ;
G2L[][] = .TextYAlignment.Top;
G2L[][] = .(, , );
G2L[][] = .(, , );
G2L[][] = Font.(, .FontWeight.Bold, .FontStyle.Normal);
G2L[][] = ;
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , , );
G2L[][] = ;
G2L[][] = .(, , , );
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , , );
G2L[][] = .(, , , );
G2L[][] = ;
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = ColorSequence.{ColorSequenceKeypoint.(, .(, , )),ColorSequenceKeypoint.(, .(, , ))};
G2L[] = .(, G2L[]);
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = Font.(, .FontWeight.Bold, .FontStyle.Normal);
G2L[][] = .(, , );
G2L[][] = .(, , , );
G2L[][] = ;
G2L[][] = ;
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = ColorSequence.{ColorSequenceKeypoint.(, .(, , )),ColorSequenceKeypoint.(, .(, , ))};
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[][] = Font.(, .FontWeight.Bold, .FontStyle.Normal);
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = .(, , , );
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , , );
G2L[] = .(, G2L[]);
G2L[][] = .(, , );
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = ColorSequence.{ColorSequenceKeypoint.(, .(, , )),ColorSequenceKeypoint.(, .(, , ))};
G2L[] = .(, G2L[]);
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L_REQUIRE = ;
G2L_MODULES = {};
(Module:)
ModuleState = G2L_MODULES[Module];
ModuleState
ModuleState.Required
ModuleState.Required = ;
ModuleState.Value = ModuleState.();
ModuleState.Value;
;
(Module);
G2L_MODULES[G2L[]] = {
Closure = ()
= G2L[];
(s: ):
.(
.(.(.(.(s, , ), , ), , ), , ),
,
)
(s: ):
.(s, , )
(s: ):
.(s, , )
TokenColors: HighlighterColors = {
[] = .(, , ),
[] = .(, , ),
[] = .(, , ),
[] = .(, , ),
[] = .(, , ),
[] = .(, , ),
[] = .(, , ),
[] = .(, , ),
[] = .(, , ),
}
ColorFormatter: { []: } = {}
LastData: { [TextObject]: ObjectData } = {}
Cleanups: { [TextObject]: () -> () } = {}
Highlighter = {
defaultLexer = (.lexer),
}
Highlighter.(props: HighlightProps)
textObject = props.textObject
src = ((props.src textObject.Text))
lexer = props.lexer Highlighter.defaultLexer
customLang = props.customLang
forceUpdate = props.forceUpdate
data = LastData[textObject]
data ==
data = {
Text = ,
Labels = {},
Lines = {},
Lexer = lexer,
CustomLang = customLang,
}
LastData[textObject] = data
forceUpdate ~= data.Text == src
lineLabels = data.Labels
previousLines = data.Lines
lines = .(src, )
data.Lines = lines
data.Text = src
data.Lexer = lexer
data.CustomLang = customLang
textObject.RichText =
textObject.Text = src
textObject.TextXAlignment = .TextXAlignment.Left
textObject.TextYAlignment = .TextYAlignment.Top
textObject.BackgroundColor3 = TokenColors.background
textObject.TextColor3 = TokenColors.iden
textObject.TextTransparency =
lineFolder = textObject:()
lineFolder ==
newLineFolder = .()
newLineFolder.Name =
newLineFolder.Parent = textObject
lineFolder = newLineFolder
cleanup = Cleanups[textObject]
cleanup
connections: { RBXScriptConnection } = {}
()
_, label (lineLabels)
label:()
.(lineLabels)
lineLabels =
LastData[textObject] =
Cleanups[textObject] =
_, connection connections
connection:()
.(connections)
connections =
Cleanups[textObject] = newCleanup
cleanup = newCleanup
.(
connections,
textObject.AncestryChanged:(()
textObject.Parent
()
)
)
.(
connections,
textObject:():(()
Highlighter.({
textObject = textObject,
forceUpdate = ,
lexer = lexer,
customLang = customLang,
})
)
)
.(
connections,
textObject:():(()
Highlighter.({
textObject = textObject,
lexer = lexer,
customLang = customLang,
})
)
)
.(
connections,
textObject:():(()
Highlighter.({
textObject = textObject,
forceUpdate = ,
lexer = lexer,
customLang = customLang,
})
)
)
src ==
l=, #lineLabels
lineLabels[l].Text ==
lineLabels[l].Text =
cleanup
textBounds = textObject.TextBounds
(textBounds.Y ~= textBounds.Y) (textBounds.Y < )
.()
textBounds = textObject.TextBounds
LastData[textObject] ==
cleanup
numLines = #lines
textHeight = textBounds.Y / numLines * textObject.LineHeight
richText, index, lineNumber = .(), ,
token: , content: lexer.(src)
Color =
customLang customLang[content]
TokenColors[]
TokenColors[token] TokenColors[]
tokenLines = .((content), )
l, line (tokenLines)
lineLabel = lineLabels[lineNumber]
lineLabel
newLabel = .()
newLabel.Name = .. lineNumber
newLabel.RichText =
newLabel.BackgroundTransparency =
newLabel.Text =
newLabel.TextXAlignment = .TextXAlignment.Left
newLabel.TextYAlignment = .TextYAlignment.Top
newLabel.Parent = lineFolder
newLabel.TextWrapped=
lineLabels[lineNumber] = newLabel
lineLabel = newLabel
lineLabel.TextColor3 = TokenColors[]
lineLabel.Font = textObject.Font
lineLabel.TextSize = textObject.TextSize
lineLabel.Size = .(, , , .(textHeight))
lineLabel.Position = .(, textHeight * (lineNumber - ) / textObject.AbsoluteSize.Y)
l >
forceUpdate lines[lineNumber] ~= previousLines[lineNumber]
lineLabels[lineNumber].Text = .(richText)
lineNumber +=
index =
.(richText)
forceUpdate lines[lineNumber] ~= previousLines[lineNumber]
index +=
Color ~= TokenColors[] .(line, )
richText[index] = .(ColorFormatter[Color], line)
richText[index] = line
richText[] lineLabels[lineNumber]
lineLabels[lineNumber].Text = .(richText)
l=lineNumber+, #lineLabels
lineLabels[l].Text ==
lineLabels[l].Text =
cleanup
Highlighter.(): ()
textObject, data (LastData)
_, lineLabel (data.Labels)
lineLabel.TextColor3 = TokenColors[]
Highlighter.({
textObject = textObject,
forceUpdate = ,
src = data.Text,
lexer = data.Lexer,
customLang = data.CustomLang,
})
Highlighter.(colors: HighlighterColors)
token, color colors
TokenColors[token] = color
ColorFormatter[color] = .(
,
color.R * ,
color.G * ,
color.B *
) ..
Highlighter.()
Highlighter.(TokenColors)
Highlighter :: Highlighter
;
};
G2L_MODULES[G2L[]] = {
Closure = ()
= G2L[];
lexer = {}
Prefix, Suffix, Cleaner = , ,
UNICODE =
NUMBER_A =
NUMBER_B =
NUMBER_C =
NUMBER_D =
OPERATORS =
BRACKETS =
IDEN =
STRING_EMPTY =
STRING_PLAIN =
STRING_INTER =
STRING_INCOMP_A =
STRING_INCOMP_B =
STRING_MULTI =
STRING_MULTI_INCOMP =
COMMENT_MULTI =
COMMENT_MULTI_INCOMP =
COMMENT_PLAIN =
COMMENT_INCOMP =
lang = (.language)
lua_keyword = lang.keyword
lua_builtin = lang.builtin
lua_libraries = lang.libraries
lexer.language = lang
lua_matches = {
{ Prefix .. IDEN .. Suffix, },
{ Prefix .. NUMBER_A .. Suffix, },
{ Prefix .. NUMBER_B .. Suffix, },
{ Prefix .. NUMBER_C .. Suffix, },
{ Prefix .. NUMBER_D .. Suffix, },
{ Prefix .. STRING_EMPTY .. Suffix, },
{ Prefix .. STRING_PLAIN .. Suffix, },
{ Prefix .. STRING_INCOMP_A .. Suffix, },
{ Prefix .. STRING_INCOMP_B .. Suffix, },
{ Prefix .. STRING_MULTI .. Suffix, },
{ Prefix .. STRING_MULTI_INCOMP .. Suffix, },
{ Prefix .. STRING_INTER .. Suffix, },
{ Prefix .. COMMENT_MULTI .. Suffix, },
{ Prefix .. COMMENT_MULTI_INCOMP .. Suffix, },
{ Prefix .. COMMENT_PLAIN .. Suffix, },
{ Prefix .. COMMENT_INCOMP .. Suffix, },
{ Prefix .. OPERATORS .. Suffix, },
{ Prefix .. BRACKETS .. Suffix, },
{ Prefix .. UNICODE .. Suffix, },
{ , },
}
PATTERNS, TOKENS = {}, {}
i, m lua_matches
PATTERNS[i] = m[]
TOKENS[i] = m[]
lexer.(s: )
index =
size = #s
previousContent1, previousContent2, previousContent3, previousToken = , , ,
thread = .(()
index <= size
matched =
tokenType, pattern (PATTERNS)
start, finish = .(s, pattern, index)
start ==
index = finish +
matched =
content = .(s, start, finish)
rawToken = TOKENS[tokenType]
processedToken = rawToken
rawToken ==
cleanContent = .(content, Cleaner, )
lua_keyword[cleanContent]
processedToken =
lua_builtin[cleanContent]
processedToken =
.(previousContent1, ) previousToken ~=
parent = .(previousContent2, Cleaner, )
lib = lua_libraries[parent]
lib lib[cleanContent] .(previousContent3, )
processedToken =
processedToken =
processedToken =
rawToken ==
.(content, )
processedToken =
processedToken =
isString =
subIndex =
subSize = #content
subIndex <= subSize
subStart, subFinish = .(content, , subIndex)
subStart ==
.(, .(content, subIndex))
isString
subIndex = subFinish +
.(, .(content, subStart, subFinish))
isString =
subIndex = subFinish
subContent = .(content, subStart, subFinish-)
innerToken, innerContent lexer.(subContent)
.(innerToken, innerContent)
isString =
previousContent3 = previousContent2
previousContent2 = previousContent1
previousContent1 = content
previousToken = processedToken rawToken
processedToken
.(processedToken, content)
matched
)
()
.(thread) ==
success, token, content = .(thread)
success token
token, content
lexer.()
nav = {
Source = ,
TokenCache = .(),
_RealIndex = ,
_UserIndex = ,
_ScanThread = ,
}
nav:()
self.Source =
self._RealIndex =
self._UserIndex =
self.TokenCache =
self._ScanThread =
nav:(SourceString)
self.Source = SourceString
self._RealIndex =
self._UserIndex =
.(self.TokenCache)
self._ScanThread = .(()
Token, Src lexer.(self.Source)
self._RealIndex +=
self.TokenCache[self._RealIndex] = { Token, Src }
.(Token, Src)
)
nav.()
nav._UserIndex +=
nav._RealIndex >= nav._UserIndex
.(nav.TokenCache[nav._UserIndex])
.(nav._ScanThread) ==
success, token, src = .(nav._ScanThread)
success token
token, src
nav.(PeekAmount)
GoalIndex = nav._UserIndex + PeekAmount
nav._RealIndex >= GoalIndex
GoalIndex >
.(nav.TokenCache[GoalIndex])
.(nav._ScanThread) ==
IterationsAway = GoalIndex - nav._RealIndex
success, token, src = , ,
_ = , IterationsAway
success, token, src = .(nav._ScanThread)
(success token)
token, src
nav
lexer
;
};
G2L_MODULES[G2L[]] = {
Closure = ()
= G2L[];
language = {
keyword = {
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
},
builtin = {
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
},
libraries = {
bit32 = {
arshift = , band = , bnot = , bor = , btest = , bxor = ,
countlz = , countrz = , extract = , lrotate = , lshift = ,
replace = , rrotate = , rshift = ,
},
= {
close = , create = , isyieldable = , resume = , running = ,
status = , wrap = , yield = ,
},
debug = {
dumpheap = , info = , loadmodule = , profilebegin = , profileend = ,
resetmemorycategory = , setmemorycategory = , traceback = ,
},
= {
abs = , acos = , asin = , atan2 = , atan = , ceil = ,
clamp = , cos = , cosh = , deg = , exp = , floor = ,
fmod = , frexp = , ldexp = , log10 = , log = , max = ,
min = , modf = , noise = , pow = , rad = , random = ,
randomseed = , round = , sign = , sin = , sinh = , sqrt = ,
tan = , tanh = , huge = , pi = ,
},
= { clock = , date = , difftime = , time = },
= {
byte = , char = , find = , format = , gmatch = , gsub = ,
len = , lower = , match = , pack = , packsize = , rep = ,
reverse = , split = , sub = , = , upper = ,
},
= {
clear = , clone = , concat = , create = , find = , foreach = ,
foreachi = , freeze = , getn = , insert = , isfrozen = ,
maxn = , move = , pack = , remove = , sort = , = ,
},
utf8 = {
char = , codepoint = , codes = , graphemes = , len = ,
nfcnormalize = , nfdnormalize = , offset = , charpattern = ,
},
Axes = { new = },
BrickColor = {
Black = , Blue = , DarkGray = , Gray = , Green = , new = ,
New = , palette = , Random = , random = , Red = , White = ,
Yellow = ,
},
CatalogSearchParams = { new = },
= {
Angles = , fromAxisAngle = , fromEulerAngles = , fromEulerAnglesXYZ = ,
fromEulerAnglesYXZ = , fromMatrix = , fromOrientation = , lookAt = ,
new = , identity = ,
},
= { fromHex = , fromHSV = , fromRGB = , new = , toHSV = },
ColorSequence = { new = },
ColorSequenceKeypoint = { new = },
DateTime = {
fromIsoDate = , fromLocalTime = , fromUniversalTime = , fromUnixTimestamp = ,
fromUnixTimestampMillis = , now = ,
},
DockWidgetPluginGuiInfo = { new = },
= {},
Faces = { new = },
FloatCurveKey = { new = },
Font = { fromEnum = , fromId = , fromName = , new = },
= { new = },
NumberRange = { new = },
NumberSequence = { new = },
NumberSequenceKeypoint = { new = },
OverlapParams = { new = },
PathWaypoint = { new = },
PhysicalProperties = { new = },
Random = { new = },
Ray = { new = },
RaycastParams = { new = },
Rect = { new = },
Region3 = { new = },
Region3int16 = { new = },
RotationCurveKey = { new = },
= {
cancel = , defer = , = , desynchronize = , = ,
synchronize = , = ,
},
TweenInfo = { new = },
= { new = },
= { fromOffset = , fromScale = , new = },
= { new = , one = , xAxis = , yAxis = , zero = },
Vector2int16 = { new = },
= {
fromAxis = , FromAxis = , fromNormalId = , FromNormalId = , new = ,
one = , xAxis = , yAxis = , zAxis = , zero = ,
},
Vector3int16 = { new = },
},
}
enumLibraryTable = language.libraries.Enum
_, enum (:())
enumLibraryTable[(enum)] =
language
;
};
()
= G2L[];
Highlighter = (.Highlighter)
Highlighter.({
textObject=.Parent,
})
textbox=.Parent
textbox.InputChanged:(()
textbox.Text~=
textbox.TextTransparency=
textbox.TextTransparency=
)
;
.(C_12);
()
= G2L[];
queueteleport = ( .queue_on_teleport) queue_on_teleport (fluxus fluxus.queue_on_teleport)
queueteleport
()
GUI=.Parent.Frame
alphabet={,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}
backdoor=
HttpService=:()
(text, lvl)
func=
lvl== func=
lvl== func=
lvl== func=
(..text)
(remote, data, data2)
remote:()
remote:(data)
remote:()
(() remote:(data) )
(folder, state)
i,v folder:()
v:()
v.Visible=state
(text)
:():(
,
{
Title = ,
Duration = ,
Text = text
}
)
(GUI, )
GUI.Scanner.Visible=
GUI.Visible=
(lenght)
text=
i=,lenght
text=text..alphabet[.(,#alphabet)]
text
code
()
timee=.()
remotes={}
protected_backdoor=:():(..game.PlaceId/**.PlaceId)
protected_backdoor protected_backdoor:()
code=(.(,))
remotes[code]
(() protected_backdoor:(, ..code..) )
remotes[code]=protected_backdoor
i,remote :()
remote:()
remote:()
.(remote:(), )[]==
(..remote.Name.., )
remote.Parent==:() remote.Parent.Parent==:() remote.Parent.Parent.Parent==:()
remote:() remote.Name==
(..remote.Name.., )
remote.Parent.Parent.Name== remote.Parent.Name==
(..remote.Name.., )
remote.Parent.Name==
(..remote.Name.., )
code=(.(,))
remotes[code]
(remote, ..code..)
remotes[code]=remote
(..remote:().., )
i=,
i,remote remotes
code=i
:(code)
(..os.()-timee..)
backdoor=remote
(remote:(), )
GUI.Scanner.Visible=
(GUI.Executor, )
(remote, )
(remote, )
()
GUI.Executor.Execute.Button.MouseButton1Click:(()
a,b=.(GUI.Executor.ExecutorBox.TextBox.Text, , :().LocalPlayer.Name)
protected_backdoor=:():(..game.PlaceId/**.PlaceId)
protected_backdoor protected_backdoor:()
(, )
(()
boolValue, variantValue=(() protected_backdoor:(, a) )
variantValue~=
splited=.(variantValue,)
(splited[#splited])
)
(backdoor, a)
GUI.Executor.Execute.Button.Text=
()
GUI.Executor.Execute.Button.Text=
)
GUI.Executor.Clear.Button.MouseButton1Click:(()
GUI.Executor.ExecutorBox.TextBox.Text=
GUI.Executor.Clear.Button.Text=
()
GUI.Executor.Clear.Button.Text=
)
searching=
GUI.Scanner.Button.MouseButton1Click:(()
searching
searching=
(, )
GUI.Scanner.Button.Text=
()
GUI.Scanner.Button.Text=
searching=
)
:().InputBegan:((input, processed)
(input.KeyCode == .KeyCode.LeftAlt processed)
GUI.Visible GUI.Visible=
GUI.Visible=
)
;
.(C_20);
()
= G2L[];
UIS = :()
(Frame)
dragToggle =
dragSpeed =
dragInput =
dragStart =
dragPos =
(input)
Delta = input.Position - dragStart
Position = .(startPos.X.Scale, startPos.X.Offset + Delta.X, startPos.Y.Scale, startPos.Y.Offset + Delta.Y)
:():(Frame, TweenInfo.(), {Position = Position}):()
Frame.InputBegan:((input)
(input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch) UIS:() ==
dragToggle =
dragStart = input.Position
startPos = Frame.Position
input.Changed:(()
input.UserInputState == .UserInputState.End
dragToggle =
)
)
Frame.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch
dragInput = input
)
:().InputChanged:((input)
input == dragInput dragToggle
(input)
)
(.Parent.Frame)
;
.(C_21);
G2L[], ;
Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: gist.githubusercontent.com, discord.gg.
This version has been replaced. No more LALOL Hub Backdoor Because it stopped working, I recreated that version.

Universal