Рылся по старым папкам и нашел некий скрипт для обфускации и появился вопрос на сколько он пригодный в наше время и есть ли что-то лучше?
concommand.Add("Obfuscator", function()
local frame = vgui.Create( "DFrame" )
frame:SetSize( 733, 273 )
frame:SetTitle("Obfuscator script")
frame:Center()
frame:MakePopup()
local edit = vgui.Create( "DTextEntry", frame )
edit:SetPos( 3,50 ) edit:SetSize( 360,220 )
edit:SetText("print('hello')")
edit:SetMultiline( true )
edit:SetEditable( true )
edit:SetAllowNonAsciiCharacters( true )
edit:SetEnterAllowed( true )
local edit1 = vgui.Create( "DTextEntry", frame )
edit1:SetPos( 370,50 )
edit1:SetSize( 360,220 )
edit1:SetText("")
edit1:SetMultiline( true )
edit1:SetEditable( true )
edit1:SetAllowNonAsciiCharacters( false )
edit1:SetEnterAllowed( false )
local DermaButton = vgui.Create( "DButton", frame )
DermaButton:SetText( "esly" )
DermaButton:SetPos( 3, 27 )
DermaButton:SetSize( 122, 22 )
DermaButton.DoClick = function()
local Script = edit:GetValue()
local buff = "" for v=1,string.len(Script) do buff=buff..'\\'..string.byte(Script,v) end edit1:SetText("RunString('"..buff.."')") end
local DermaButton = vgui.Create( "DButton", frame )
DermaButton:SetText( "classic" )
DermaButton:SetPos( 130, 27 )
DermaButton:SetSize( 122, 22 )
DermaButton.DoClick = function() math.randomseed(1/(os.clock()*1e3))function recursiveObf(_,a)
if a<=0 then return _ end
local b=math.floor(math.random()*10000000)math.randomseed(b)
local c=string.gsub(_,".",function(_)return string.format("%02x",bit.bxor(string.byte(_),math.random(0,255)))end) return recursiveObf("math.randomseed("..b..");RunString((\""..c.."\"):gsub('%x%x',function(c)return string.char(bit.bxor(tonumber(c,16),math.random(0,255)))end))",a-1)end
local d=recursiveObf(edit:GetValue(),5) edit1:SetText(d) end
local DermaButton = vgui.Create( "DButton", frame )
DermaButton:SetText( "pro" )
DermaButton:SetPos( 257, 27 )
DermaButton:SetSize( 122, 22 )
DermaButton.DoClick = function()
local function _(_)return _:gsub(".",function(_)return"\\"..string.byte(_)end)end
local function a(a)local b=""for a=a,math.random(a*1,a*3)do b=b.." "..("_"):rep(a).."=_[\"".._(table.Random{"RunStringEx","DOF_Kill","ColorToHSV","DOFModeLHack","AddOriginTpPVS","AccessorFuncNW","ErrorNoHalt","GetTaskID","LerpVector","NewMesh","PlayerDataUpdate","STNDRD"}).."\"]"end return b end
local function c(c)return"_=_G"..a(5).."__=_[\"".._"string".."\"][\"".._"reverse".."\"]"..a(8).."_[\"".._"RunString".."\"](__\"".._(c:reverse()).."\")"..a(5)end
local _= edit:GetValue() edit1:SetText("local function _(_) end "..c(_)) end
local DermaButton = vgui.Create( "DButton", frame )
DermaButton:SetText( "Creator" )
DermaButton:SetPos( 608, 27 )
DermaButton:SetSize( 122, 22 )
DermaButton.DoClick = function() gui.OpenURL("") end end)