--[=[ #声明: #------------------------------------------- #二改圈钱死全家、婊子妈被活剥操死! #以任何形式删掉注释全家暴毙、父母被凌迟处死! #转载请标注来源! #仅供参考 #开源 #分享频道@RLGG77 #作者:帝君 #------------------------------------------- ]=] main1 = "/storage/emulated/0/改名字/91vip" function Main() menu = gg.choice({ '️选择文件\n'..main1, '️开始加密', '️视频教程', '️更新日志', '退出加密'}, nil,"攻坚版-加密\n版本: 22.0\n时间: 2024/12/01\n\n- 该加密出来的脚本仅允许RLGG执行\n- 新注册用户刯免费亓验加密功能一个月\n\n本加密QQ交流群:1007160484\n建议使用高级版加密 会员越高级越安全哦\n----------------------------------------") if menu == 1 then A1() end if menu == 2 then A2() end if menu == 3 then A3() end if menu == 4 then A4() end if menu == 5 then Exit() end end function A1() --选择脚本 xm=gg.prompt({"请选择脚本"},{main1},{"file"}) if xm == nil then return gg.alert("未选择文化") end gg.toast("选择成功") main1 = xm[1] gg.setVisible(true) return xm[1] end function A2() --读取文件 if not xm then return gg.alert("未选择文件") end data=io.open(xm[1],'r'):read('*a') local debr1 = { "((function()local OoOoO1={};local max=", "';local _=(function()OoOoO1={", "}end)();local OoOoO2={};local _2=(function()OoOoO2=Dec(OoOoO1,max)end)();local OoOoO3={};local _3=(function()return OoOoO2 end);return (function()return _3() end)() end)())" } local debr2 = { "2000", "3000" } local Table = { ["table"] = 1, ["_G"] = 1, ["debug"] = 1, ["os"] = 1, ["io"] = 1, ["package"] = 1, ["bit32"] = 1, ["utf8"] = 1, ["string"] = 1, ["math"] = 1, ["gg"] = 1, ["print"] = 1, ["local"] = 1, ["function"] =1 } for k, v in pairs(_ENV) do types = type(v) if types == "table" and Table[k] then for kk, vv in pairs(v) do data = data:gsub('([^%w_])'..k .. "%s*%.%s*" .. kk..'([^%w_])',"%1_ENV[ (function()::OoOoO3::if nil then goto OoOoO3 end return '" .. k .."'end)()][(function()::OoOoO3::if nil then goto OoOoO3 end return '" .. kk .. "'end)() ]%2") end end end local Min_num = function(...) local arm = {...} local num = nil for i, v in pairs(arm) do if v ~= nil then if not num then num = v elseif num > v then num = v end end end return num end _G["字符串"]=function(data) --data = string.gsub(data,'([^%w_])function%s+([%a_][%w_]*)%s*(%([%w_%.,%s]*%))','%1%2=function%3') BooLean = function(data) local Bool_Num = math.random(10000, 99999) local Num_Bool = math.random(1000, 9999) _BooLean = "BooLean={}\nBooLean[" .. Bool_Num .. "]=not BooLean[1]\nBooLean[" .. Num_Bool .. "]=not BooLean[" .. Bool_Num .. "]\n" data=_BooLean..data data = data:gsub("([^%w_])nil([^%w_])","%1BooLean[" .. math.random(100, 999) .."]%2") data = data:gsub("([^%w_])true([^%w_])","%1BooLean[" .. Bool_Num .."]%2") data = data:gsub("([^%w_])false([^%w_])","%1BooLean[" .. Num_Bool .."]%2") data=data:gsub("([^%w_%.])local%s+([%a_][%w_]*)%s*=%s*function%s*%(","%1local function.%2(") data=data:gsub("([^%w_%.])local%s+function%s+([%a_][%w_]*)%s*%(","%1local function.%2(") data=data:gsub("([^%w_%.])function%s+([%a_][%w_]*%.[%w_%.]+)%s*%(",BooLean) data=data:gsub("([^%w_%.])([%a_][%w_]*%.[%w_%.]+)%s*=%s*function%s*%(",BooLean) data=data:gsub("local%s+function%.([%a_][%w_]*)%(","local %1BooLean[") data="local _ENC={}\n"..data return data end local gr = {} repeat local s1, ss1, x1, xx1, n1, n2, str s1 = string.find(data, "\034")--单引号 ss1 = string.find(data, "\039")--双引号 x1 = string.find(data, "%[[=]*%[")--中括号 xx1 = string.find(data, "%-%-")--注释 n1 = string.find(data, "[^%w_]0[xX][0-9A-Fa-f]+")--Hex str = Min_num(s1, ss1, x1, xx1,n1) if str == nil then break end if str == s1 then data = data:gsub("(.-)(\034.-\034)",function(t1, t2) gr[#gr + 1] = t1 t2 = string.gsub(t2, "\\\\","\\092") t2 = string.gsub(t2, "\\\034", "\\034") if t2:sub(-1, -1) ~= "\034" then return t2 end t3 = load("return "..t2) if not t3 then gg.alert("\034加密失败\n"..t2) os.exit() end gr[#gr + 1] = Enc_value(t3(),true) return "" end, 1) elseif str == n1 then data = data:gsub("(.-[^%w_])(0[xX][0-9A-Fa-f]+)",function(txt1,txt2) gr[#gr + 1] = txt1 gr[#gr + 1] = "tonumber("..Enc_value(txt2)..")" return "" end,1) elseif str == ss1 then data = data:gsub("(.-)(\039.-\039)",function(t1, t2) gr[#gr + 1] = t1 t2 = string.gsub(t2, "\\\\","\\092") t2 = string.gsub(t2, "\\\039", "\\039") if t2:sub(-1, -1) ~= "\039" then return t2 end t3 = load("return "..t2) if not t3 then gg.alert("\039加密失败\n"..t2) os.exit() end gr[#gr + 1] = Enc_value(t3(),true) return "" end, 1) elseif str == x1 then local g1 = string.match(data,"%[([=]*)%[") data=data:gsub("(.-)(%["..g1.."%[.-%]"..g1.."%])",function(t1, t2) gr[#gr + 1] = t1 t3 = load("return "..t2) if not t3 then gg.alert("[[加密失败\n"..t2) os.exit() end gr[#gr + 1] = Enc_value(t3(),true) return "" end, 1) elseif str == xx1 then d1, d2, d3, d4 = string.find(data, "%-%-(%[([=]*)%[)") if d1 == xx1 then data = string.gsub(data, "(.-)%-%-%[" .. d4 .. "%[.-%]" .. d4 .. "%]", function(txt1) gr[#gr + 1] = txt1 return " " end, 1) else data = string.gsub(data, "(.-)%-%-[^\n]*", function(txt1) gr[#gr + 1] = txt1 return "" end, 1) end else break end until not str gr[#gr+1]=data gr = table.concat(gr):gsub("return%s+end","return 0\nend") gr = gr:gsub("%-%-%[%[.-%]%]",""):gsub("%-%-[^\n]+", "") Decode="\n"..[=[ local pairs=pairs local string_char=string.char local table_concat=table.concat local _NZF=0 local Char={} for i=0,255 do Char[i]=string.char(i) Char[string.char(i)]=i end local string_char=function(Tab1) for i,k in pairs(Tab1) do if type(k)=="number" then Tab1[i]=Char[k] end end return table_concat(Tab1) end local Dec = function(_Tab,Max) for i=1,#_Tab do _Tab[i]=(_Tab[i]~(Char[Max]-i)) end return string_char(_Tab) end ]=].."\n\n" data=Decode..gr return data end local To_16=function(txt) local sp=string.format("%x",txt) if #sp==1 then sp="0"..sp end return sp end function Enc_value(data) if data=="" then return "\34\34"end data=tostring(data) data = string.format('%q', data) local Func = load('return ' .. data) if not Func then data = data:sub(2, -2) data = string.format('%q', data) Func = load('return ' .. data) data = Func() data = data:sub(2, -2) else data = Func() end data=tostring(data) data={data:byte(0,-1)} Max=math.random(40,255) for i, v in pairs(data) do data[i]=(v~(Max-i)) end data=debr1[1].."'\\"..(Max)..debr1[2]..table.concat(data,",")..debr1[3] return data end data=_G["字符串"](data) local function Table_Rand(t) local tRet = {} local Total = #t while Total > 0 do local i = math.random(1,Total) table.insert(tRet,t[i]) t[i] = t[Total] Total = Total-1 end return tRet end function OPcode(data) function CC() local b = run(0, 22) return b end function GetJMP() local data, num1, A num1 = run(1, 8) A = run(2, 255) if num1 == 1 then data = 'TAILCALL v' .. CC() .. '..v' .. CC() .. '' elseif num1 == 2 then data = 'MUL v' .. CC() .. ' v' .. CC() .. ' v' .. CC() .. '' elseif num1 == 3 then data = 'EQ 1 1 1' elseif num1 == 4 then data = 'LT 0 1 1' elseif num1 == 5 then data = 'CALL v' .. CC() .. '..v' .. CC() .. '' elseif num1 == 6 then data = 'LE 1 1 1' elseif num1 == 7 then data = 'POW v' .. CC() .. ' v' .. CC() .. ' v' .. CC() .. '' else data = 'DIV v' .. CC() .. ' v' .. CC() .. ' v' .. CC() .. '' end data = '\n' .. data .. '\n' return data end Symbol = {} function Resver(b) local tab = {} for k, v in pairs(b) do table.insert(tab, 1, string.format("%x", v)) end str = table.concat(tab) tab = {} str = str:gsub("........", function(x) table.insert(tab, 1, "\nOP[" .. math.random(1, 255) .. "] 0x" .. x .. "\n") end) return table.concat(tab) end for k = 141, 5000 do table.insert(Symbol, utf8.char(k)) end op = {} for k = 141, 5000 do local txt = string.rep(Symbol[math.random(1, 4860)], math.random(2, 3)) table.insert(op, Resver(gg.bytes(txt))) end OP1 = op OP2 = { "TEST vRN1 RN2", "VARARG vRN1..vRN3", "LT RN3 RN1 RN2" } data = data:gsub('SETTABUP u%d "DUMP" "DUMP"', function(x) res = "" for i = 1, 10 do run = math.random OPlist = run(1, #OP1) OP = OP1[OPlist] OP2list = run(1, #OP2) OP2ListModif = OP2[OP2list]:gsub("RN1", run(1, 15)):gsub("RN2", run(1, 15)):gsub("RN3", run(1, 15)) OP = OP2ListModif .. "\n" .. GetJMP() .. "\n" .. OP .. "\n\n" res = OP .. "\n" .. res end return res end) return data end --布尔值 local RanStr = (function() local res = "" for i = 1, math.random(3, 6) do res = res .. "\\" .. math.random(0, 255) end return res end) function Ran_True() local n1, n2, s1, s2, ranx, min, max local ran = math.random(0, 3) if ran == 0 then if math.random(0, 1) == 0 then local s = RanStr() return "\034" .. s .. "\034==\034" .. s .. "\034" else local n = math.random(0, 114514) return n .. "==" .. n end elseif ran == 1 then if math.random(0, 1) == 0 then repeat s1 = RanStr() s2 = RanStr() until s1 ~= s2 return "\034" .. s1 .. "\034~=\034" .. s2 .. "\034" else repeat n1 = math.random(0, 114514) n2 = math.random(0, 114514) until n1 ~= n2 return n1 .. "~=" .. n2 end elseif ran == 2 then ranx = math.random(0, 2) if ranx == 0 then n1 = math.random(1, 114514) n2 = math.random(0, n1 - 1) return n1 .. ">" .. n2 elseif ranx == 1 then n = math.random(1, 114514) return n .. ">=" .. n elseif ranx == 2 then n1 = math.random(1, 114514) n2 = math.random(0, n1 - 1) return n1 .. ">=" .. n2 end elseif ran == 3 then ranx = math.random(0, 2) if ranx == 0 then n1 = math.random(1, 114514) n2 = math.random(0, n1 - 1) return n2 .. "<" .. n1 elseif ranx == 1 then n = math.random(1, 114514) return n .. "<=" .. n elseif ranx == 2 then n1 = math.random(1, 114514) n2 = math.random(0, n1 - 1) return n2 .. "<=" .. n1 end end end local function Ran_False() local n1, n2, s1, s2, ranx, min, max local ran = math.random(0, 3) if ran == 0 then if math.random(0, 1) == 0 then local s = RanStr() return "\034" .. s .. "\034~=\034" .. s .. "\034" else local n = math.random(0, 114514) return n .. "~=" .. n end elseif ran == 1 then if math.random(0, 1) == 0 then repeat s1 = RanStr() s2 = RanStr() until s1 ~= s2 return "\034" .. s1 .. "\034==\034" .. s2 .. "\034" else repeat n1 = math.random(0, 114514) n2 = math.random(0, 114514) until n1 ~= n2 return n1 .. "==" .. n2 end elseif ran == 2 then ranx = math.random(0, 2) if ranx == 0 then n1 = math.random(1, 114514) n2 = math.random(0, n1 - 1) return n1 .. "<" .. n2 elseif ranx == 1 then repeat n1 = math.random(0, 114514) n2 = math.random(0, n1 - 1) until n1 ~= n2 return n1 .. "<=" .. n2 elseif ranx == 2 then n1 = math.random(1, 114514) n2 = math.random(0, n1 - 1) return n1 .. "<=" .. n2 end elseif ran == 3 then ranx = math.random(0, 2) if ranx == 0 then n1 = math.random(1, 114514) n2 = math.random(0, n1 - 1) return n2 .. ">" .. n1 elseif ranx == 1 then repeat n1 = math.random(0, 114514) n2 = math.random(0, n1 - 1) until (n1 ~= n2 and n1 > n2) return n2 .. ">=" .. n1 elseif ranx == 2 then n1 = math.random(1, 114514) n2 = math.random(0, n1 - 1) return n2 .. ">=" .. n1 end end end local function Ran_Bool(boolean) if boolean == nil then return "_Bool[\034" .. RanStr() .. "\034]" elseif boolean == true then if math.random(0, 1) == 0 then return Ran_True() else return "not (" .. Ran_False() .. ")" end elseif boolean == false then if math.random(0, 1) == 0 then return Ran_False() else return "not (" .. Ran_True() .. ")" end end end function bool_Control(data) local BoolTab = {true, false, nil} for i = 1, #BoolTab do local boolStr = tostring(BoolTab[i]) data = data:gsub( '%f[%w_"]' .. boolStr .. '%f[^%w_"]', function() return "(" .. Ran_Bool(BoolTab[i]) .. ")" end ) end return "local _Bool={}\n" .. data end data = OPcode(data)--字节码 data = bool_Control(data)--布尔值 logo=[==[ -- ヘ⌒ヽフ --( ・ω・) XMRLGG 攻坚版 -- / ~つと) -- [加密群聊]:1007160484 -- Xu Ruoxuan[许若萱] I like you[我c你m] ]==] --io.open("字符串.Lua","w"):write(data) data=string.dump(load(data),true,true) io.open(xm[1]..".改-攻坚版.lua","w"):write(data..logo) gg.alert("文件保存路径:"..xm[1]..".改-攻坚版.lua","") end function A3() gg.alert("这都不会","[确定]") end function A4() gg.alert("更新了一个78","[确定]") end function Exit() os.exit() end while true do if gg.isVisible() then gg.setVisible(false) Main() end end