gg.colorAlert("注意","加密时有点慢,别着急") time=os.clock() local File_operations = function(path,text) if text then io.open(path, "w+"):write(text):close() else reTn = io.open(path):read("*a") return reTn end end local RanStr = (function() local res = "" for i = 1, math.random(3, 6) do res = res .. "\\" .. math.random(0, 255) end return res end) local Checkstr=function(text) local yc = {} local ht = "[%z\1-\127\194-\244][\128-\191]*" for v in text:gmatch(ht) do table.insert(yc, v) end return yc end local Checkstr_2=function(text) local yc = {} local ht = "[%z\1-\127\194-\244][\128-\191]*" for v in text:gmatch(ht) do table.insert(yc,("'"..v.."'")) end return yc end Tablename="" for i=1,math.random(2,5) do Tablename=Tablename..string.char(math.random(97,122)) end ___=Checkstr("ABCDEFGHIJKLMNOPQRSTUVWXYZ❤️🧡💛💚💙💜🖤💖💝") _Number_1=Checkstr("❤️🧡💛💚💙💜🖤💖💝") _Number_2=Checkstr("0123456789") _Table_=Checkstr_2("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") 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:gsub(".", function(jia) return string.format("%02X", (string.byte(jia)) % 256) end) for i=1,10 do DATA=DATA:gsub(_Number_2[i],(_Number_1[i])) end for i=1,#___ do DATA=DATA:gsub(___[i],(i..",")) end return "(_Xx({"..DATA.."}))" 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["字符串1"]=function(DATA) 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, "%-%-")--注释 str = Min_num(s1, ss1, x1, xx1) 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 == 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]+", "") _Table="\nlocal "..Tablename.."={}\n" Decode="\n"..[=[ for i=1,36 do if i>=27 then ]=]..Tablename..[=[[i]=string.char(47+(i-26)) else ]=]..Tablename..[=[[i]=string.char(64+i) end end local function _Vv(___) local res="" for i=1,#___ do res=res..]=]..Tablename..[=[[___[i]] end return res end local function _Xx(tab) return ((_Vv(tab)):gsub('..', function (jie) return string.char((tonumber(jie,16))%256) end)) end ]=].."\n\n" DATA=_Table..Decode..gr return DATA 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 local RanStr = (function() local res = "" for i = 1, math.random(3, 6) do res = res .. "\\" .. math.random(0, 255) end return res end) local 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 local 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 function encrypt(data, key) return string.rc4(data, key) end -- 解密函数 function decrypt(data, key) return string.rc4(data, key) end local math = math local function str_enc(str) local t = {string.byte(str, 1, -1)} for i = 1, #t do t[i] = string.format('\\x%02x', t[i]) end return '"' .. table.concat(t) .. '"' end function Rc4(code,key)--Rc4加密算法 code = tostring(code) key = tostring(key) XINXIN = {} function XINXIN.__andBit(left,right) return (left == 1 and right == 1) and 1 or 0 end function XINXIN.__orBit(left, right) return (left == 1 or right == 1) and 1 or 0 end function XINXIN.__xorBit(left, right) return (left + right) == 1 and 1 or 0 end function XINXIN.__base(left, right, op) if left < right then left, right = right, left end local res = 0 local shift = 1 while left ~= 0 do local ra = left % 2 local rb = right % 2 res = shift * op(ra,rb) + res shift = shift * 2 left = math.modf( left / 2) right = math.modf( right / 2) end return res end function XINXIN.andOp(left, right) return XINXIN.__base(left, right, XINXIN.__andBit) end function XINXIN.xorOp(left, right) return XINXIN.__base(left, right, XINXIN.__xorBit) end function XINXIN.orOp(left, right) return XINXIN.__base(left, right, XINXIN.__orBit) end function XINXIN.notOp(left) return left > 0 and -(left + 1) or -left - 1 end function XINXIN.lShiftOp(left, num) return left * (2 ^ num) end function XINXIN.rShiftOp(left,num) return math.floor(left / (2 ^ num)) end function encrypt(text,key) local function KSA(key) local keyLen = string.len(key) local schedule = {} local keyByte = {} for i = 0, 255 do schedule[i] = i end for i = 1, keyLen do keyByte[i - 1] = string.byte(key, i, i) end local j = 0 for i = 0, 255 do j = (j + schedule[i] + keyByte[ i % keyLen]) % 256 schedule[i], schedule[j] = schedule[j], schedule[i] end return schedule end local function PRGA(schedule, textLen) local i = 0 local j = 0 local k = {} for n = 1, textLen do i = (i + 1) % 256 j = (j + schedule[i]) % 256 schedule[i], schedule[j] = schedule[j], schedule[i] k[n] = schedule[(schedule[i] + schedule[j]) % 256] end return k end local function output(schedule, text) local len = string.len(text) local c = nil local res = {} for i = 1, len do c = string.byte(text, i,i) res[i] = string.char(XINXIN.xorOp(schedule[i], c)) end return table.concat(res) end local textLen = string.len(text) local schedule = KSA(key) local k = PRGA(schedule, textLen) return output(k, text) end return encrypt(code,key) end function string.rc4(code, key)--rc4解密算法 return Rc4(code, key) end local V=print local SN = {} File_operations = function(path,text) if text then io.open(path, "w+"):write(text):close() else return io.open(path):read("*a") end end function SN:mul( num , num2 ) return num * num2 or 1 end To_16=function(txt) local sp=string.format("%x",txt) if #sp==1 then sp="0"..sp end return "\\x"..sp end local I_love_you=520 local Ones_whole_life=1314 local Unknown_boundary=128 local Unknown_vertex=Unknown_boundary*2 _Table_Key=function(content) local Table_Key={} local _length=#content for _Ergodic_growth = 1,_length do local rule = false local Ergodic_growth=_Ergodic_growth~_length~I_love_you~Ones_whole_life if(rule==false)then Table_Key[#Table_Key+1]=bit32.bxor((_length~_Ergodic_growth),(_length+_Ergodic_growth*Ergodic_growth))~(Unknown_boundary*_length) rule=(true or false) elseif(rule==true)then Table_Key[#Table_Key+1]=bit32.bxor((_length*( _Ergodic_growth+Ergodic_growth)),(_length~_Ergodic_growth))~(Unknown_vertex*_length) rule=(false or true) end end return(Table_Key) end __Table_Key={} STR={} KEY=math.random(1,20) Str={} function NZF_Str(str) str = string.gsub(str, "\\t", "\t"):gsub("\\n", "\n"):gsub("\\34", "\34"):gsub("\\39", "\39") local ascll={str:byte(1,-1)} local Ascll={} key=(math.random(1,255)) __Table_Key[#__Table_Key+1]=To_16(key) ___Table_Key=#__Table_Key Key=_Table_Key(str) for index,value in ipairs(ascll) do value=(value~(key~KEY)) value=value+Key[index]-Key[1] value=value-(Key[index]-Key[#Key])*Key[1] value=value+(I_love_you*Ones_whole_life) value=value%256 Ascll[#Ascll+1]=To_16(value) end Ascll='"'..table.concat(Ascll)..'"' _name_number=math.random(1,1000000) while(true)do if Str[_name_number] then _name_number=math.random((_name_number+1),1000000) else break end end x1=math.random(1,5000) x2=math.random(5000,10000) x3=math.random(5000,10000) x4=math.random(1,5000) if ___x==true then Table_number=[=[(function() if(]=]..x1..[=[>]=]..x2..[=[)then elseif(]=]..x3..[=[>]=]..x4..[=[)then return(]=].._name_number..[=[) end end)()]=] else Table_number=[=[(function() return(]=].._name_number..[=[) end)()]=] end name="STR["..Table_number.."]" STR[#STR+1]=name.."=(function() return {"..Ascll.."} end)" return '(NZFDec(STR[(function() return('.._name_number..') end)()](),'..___Table_Key..'))' end Decryption_algorithm=[=[ local NZFDec=function(content,__Table_Key) local content=content[1] local index,value local KEY=Byte(Tab_key,__Table_Key,__Table_Key) local Key=_Table_Key(Len(content)) local Extraction='' local tab={Byte(content,numerical_value_1,#content)} for index,value in Ipairs(tab)do value=value-(I_love_you*Ones_whole_life) value=value+(Key[index]-Key[#Key])*Key[1] value=value-Key[index]+Key[1] value=(value~(KEY~Table_Char[']=]..To_16(KEY)..[=['])) value=(value)%(Unknown_vertex+numerical_value_1) Extraction=Extraction..Char(value) end return(Extraction) end ]=] decode=[=[ local Table_Char={} for x=0,255 do Table_Char[x]=string.char(x) Table_Char[Table_Char[x]]=x end string.char=function(...) local Char,res={...},"" for i,k in pairs(Char) do res=res..Table_Char[k] end return(res) end local Char,Ipairs,Byte,Len,Bxor,Concat=string.char,ipairs,string.byte,string.len,bit32.bxor,table.concat local numerical_value_1=Table_Char["\1"] local I_love_you=Table_Char["\52"]*Table_Char["\10"] local Ones_whole_life=Table_Char["\100"]*Table_Char["\13"]+Table_Char["\14"] local Unknown_boundary=Table_Char["\128"] local Unknown_vertex=Table_Char["\255"] local _Table_Key=function(_length) local Table_Key={} for _Ergodic_growth = numerical_value_1,_length do local rule = false local Ergodic_growth=_Ergodic_growth~_length~I_love_you~Ones_whole_life if(rule==false)then Table_Key[#Table_Key+numerical_value_1]=Bxor((_length~_Ergodic_growth),(_length+_Ergodic_growth*Ergodic_growth))~(Unknown_boundary*_length) rule=(true or false) elseif(rule==true)then Table_Key[#Table_Key+numerical_value_1]=Bxor((_length*( _Ergodic_growth+Ergodic_growth)),(_length~_Ergodic_growth))~(Unknown_vertex*_length) rule=(false or true) end end return(Table_Key) end local Added_value=numerical_value_1 ]=]..Decryption_algorithm..[=[ ]=] fuc = { ["gg"] = 2, ["os"] = 2, ["io"] = 2, ["string"] = 2, ["math"] = 2, ["table"] = 2, ["debug"] = 2, ["bit32"] = 2, ["utf8"] = 2, } To_16=function(txt) local sp=string.format("%x",txt) if #sp==1 then sp="0"..sp end return "\\x"..sp end ToStrong_Str = function(txt) return '\34' .. txt .. '\34' end local Fuc_Enc = function(ltre) gg.toast("正在加密标准库...") for v, s in pairs(_ENV) do if type(s) == "table" and fuc[v] then Enc_func1 = ToStrong_Str(v) for i in pairs(s) do if ltre:find(v .. "%." .. i) then Enc_func2 = ToStrong_Str(i) ltre = ltre:gsub("([^%w_])" .. v .. "%." .. i .. "%(", "%1_ENV[" .. Enc_func1 .. "]" .. "[" .. Enc_func2 .. "](") ltre = ltre:gsub("([^%w_])" .. v .. "%." .. i .. "%)", "%1_ENV[" .. Enc_func1 .. "]" .. "[" .. Enc_func2 .. "])") ltre = ltre:gsub("([^%w_])" .. v .. "%." .. i .. "%s*,", "%1_ENV[" .. Enc_func1 .. "]" .. "[" .. Enc_func2 .. "],") ltre = ltre:gsub("=(%s*)" .. v .. "%." .. i .. "([^%w_])", "=%1_ENV[" .. Enc_func1 .. "]" .. "[" .. Enc_func2 .. "]%2") ltre = ltre:gsub("([^%w_])" .. v .. "%." .. i .. "%s*=", "%1_ENV[" .. Enc_func1 .. "]" .. "[" .. Enc_func2 .. "]=") end end elseif type(s) == "function" and debug.getinfo(s)["what"] == "Java" then if ltre:find(v) then ltre = ltre:gsub("([^%w_])" .. v .. "%(", "%1_ENV[" .. ToStrong_Str(v) .. "](") ltre = ltre:gsub("=%s*" .. v .. "([^%w_])", "=_ENV[" .. ToStrong_Str(v) .. "]%1") ltre = ltre:gsub("([^%w_])" .. v .. "%s*=", "%1_ENV[" .. ToStrong_Str(v) .. "]=") end end end return ltre 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 StrEnc=function(DATA) 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, "%-%-") str = Min_num(s1, ss1, x1, xx1) 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] = NZF_Str(t3(),true) 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] = NZF_Str(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] = NZF_Str(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=Fuc_Enc(gr) --gr = Ran_Bool(gr) gr = gr:gsub("%-%-%[%[.-%]%]",""):gsub("%-%-[^\n]+", "") return gr end _G["字符串"]=function(DATA) DATA = StrEnc(DATA) return DATA end ZFC_PP=function(DATA) local zfc={} repeat local A,B,C,D,E,F,G A=string.find(DATA,"\034") B=string.find(DATA,"\039") C=string.find(DATA,"%[[=]*%[") D=string.find(DATA,"%-%-") E=string.find(DATA,"[^%w_]0[xX][0-9A-Fa-f]+") F=string.find(DATA,"[^%w_]%d+") E,F=nil,nil G=SJ_ZFC(A,B,C,D,E,F) if G==nil then break end if G==A then DATA=DATA:gsub("(.-)(\034.-\034)",function(t1,t2) zfc[#zfc+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("\t字符加密失败❗\n\t加密失败原因:"..t2) os.exit() end zfc[#zfc+1]=JS_ZFC(t3()) return "" end,1) elseif G==B then DATA=DATA:gsub("(.-)(\039.-\039)",function(t1,t2) zfc[#zfc+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("\t字符加密失败❗\n\t加密失败原因:"..t2) os.exit() end zfc[#zfc+1]=JS_ZFC(t3()) return "" end,1) elseif G==C then local g1=string.match(DATA,"%[([=]*)%[") DATA=DATA:gsub("(.-)(%["..g1.."%[.-%]"..g1.."%])", function(t1,t2) zfc[#zfc+1]=t1 t3=load("return "..t2) if not t3 then gg.alert("\t字符加密失败❗\n\t加密失败原因:"..t2) os.exit() end zfc[#zfc+1]=JS_ZFC(t3()) return "" end,1) elseif G==D then d1,d2,d3,d4=string.find(DATA,"%-%-(%[([=]*)%[)") if d1==D then DATA=string.gsub(DATA,"(.-)%-%-%["..d4.."%[.-%]"..d4.."%]",function(txt1) zfc[#zfc+1]=txt1 return "" end,1) else DATA=string.gsub(DATA,"(.-)%-%-[^\n]*",function(txt1) zfc[#zfc+1]=txt1 return "" end,1) end elseif G==E then DATA=DATA:gsub("(.-[^%w_])(0[xX][0-9A-Fa-f]+)", function(txt1,txt2) zfc[#zfc+1]=txt1 zfc[#zfc+1]="TR("..JS_ZFC(txt2)..")" return "" end,1) elseif G==F then local n3,n4,n5,n6 n3=string.find(DATA,"[^%w_]%d+%.%d+[eE][%-%+]%d+") n4=string.find(DATA,"[^%w_]%d+%.%d+[eE]%d+") n5=string.find(DATA,"[^%w_]%d+[eE]%d+") n6=string.find(DATA,"[^%w_]%d+%.%d+") if G==n3 then DATA=DATA:gsub("(.-[^%w_])(%d+%.%d+[eE][%-%+]%d+)",function(txt1,txt2) zfc[#zfc+1]=txt1 zfc[#zfc+1]="TR("..JS_ZFC(txt2)..")" return "" end,1) elseif G==n4 then DATA=DATA:gsub("(.-[^%w_])(%d+%.%d+[eE]%d+)", function(txt1,txt2) zfc[#zfc+1]=txt1 zfc[#zfc+1]="TR("..JS_ZFC(txt2)..")" return "" end,1) elseif G==n5 then DATA=DATA:gsub("(.-[^%w_])(%d+[eE]%d+)", function(txt1,txt2) zfc[#zfc+1]=txt1 zfc[#zfc+1]="TR("..JS_ZFC(txt2)..")" return "" end,1) elseif G==n6 then DATA=DATA:gsub("(.-[^%w_])(%d+%.%d+)", function(txt1,txt2) zfc[#zfc+1]=txt1 zfc[#zfc+1]="TR("..JS_ZFC(txt2)..")" return "" end,1) else DATA=DATA:gsub("(.-[^%w_])(%d+)",function(txt1,txt2) zfc[#zfc+1]=txt1 zfc[#zfc+1]="TR("..JS_ZFC(txt2)..")" return "" end,1) end else break end until not G zfc[#zfc+1]=DATA zfc=table.concat(zfc) zfc=zfc:gsub("return %s+end","return 0\nend"):gsub("%-%-%[%[.-%]%]",""):gsub("%-%-[^\n]+","") return zfc end zfc={} JS={} SJ_ZFC=function(...) local ZDZ={...} local JSZ=nil for i,v in pairs(ZDZ) do if v~=nil then if not JSZ then JSZ=v elseif JSZ>v then JSZ=v end end end return JSZ end SJBM=function(SZ) SZ=SZ or 6 local str="" for i=1,SZ do local JSSZ=math.random(1,26) if i%2==0 then JSSZ=JSSZ+64 else JSSZ=JSSZ+96 end str=str..string.char(JSSZ) end return str end TPXZ=SJBM(256) SJZF={string.byte(TPXZ,1,-1)} ZFTH=#SJZF BMTH=SJBM() JS_ZFC=function(zfc) local Table={} for i,v in pairs({string.byte(zfc,1,-1)}) do Table[i]=(v~SJZF[(i-1)%ZFTH+1]) end zfc="{"..table.concat(Table,",").."}" zfc=load("return "..zfc)() --print(zfc) mid = #zfc / 2 --print(mid) a = {} b = {} for i = 1, mid do table.insert(a, zfc[i]) end --print(a) for i = mid + 1, #zfc do table.insert(b, zfc[i]) end a = "{" .. table.concat(a, ", ") .. "}" b = "{" .. table.concat(b, ", ") .. "}" --print(a) zfc='('..BMTH..'((function() local function a() return '..a..' end local function b() return '..b..' end local c = {} local a = a() local b = b() XSPH(a,b,c) return c end)()))' return zfc end ht = gg.prompt({"选择加密脚本→加密时有点慢不要着急"},{"/storage/emulated/0/"},{"file"}) if not ht then return print("未选择脚本") end local data = io.open(ht[1],"r"):read("*a") data = data : gsub ("gg.getFile","gg_getFile") -- 替换一下 防止变 ? 懂得都懂 zfc[#zfc+1]=ZFC_PP(data) -- 字符串处理 zfc=table.concat(zfc) BM_TH=SJBM() B_M_T_H=SJBM() data="ot[name]=nil\nlocal tables = table.insert\nlocal paIrs=pairs\nlocal string_char=string.char\nlocal table_unpack=table.unpack\nfunction XSPH(a,b,c)\nfor i = 1, #a do\ntables(c, a[i])\nend\nfor i = 1, #b do\ntables(c, b[i])\nend\nend\n" data=data.."ot[name]=nil\nlocal "..BM_TH.."={"..table.concat(SJZF,",").."}\nlocal "..B_M_T_H.."=#"..BM_TH.."\n" defuanhx , defuangsub = ';if(nil)then;end;' , ';if%(nil%)then;end;' max_ , min_ = 2 , 2 defuanhx_ = string.rep(defuanhx , SN:mul(max_ , min_)) defuan_1 = string.rep('(function()\n' .. defuanhx_ , 45) defuan_2 = string.rep(defuanhx_ .. '\nend)()' , 45) --data=FY.."\n"..data DATA=_G["字符串"](data) data="ot[name]=nil\nlocal Tab_key='"..table.concat(__Table_Key).."'\nlocal STR={}\n"..table.concat(STR,defuanhx_..'')..decode..DATA data=data.."ot[name]=nil\nlocal "..BMTH.."=function(str)local zfc={}for i,v in paIrs(str)do zfc[#zfc+1]=(v)~"..BM_TH.."[(i-1)%"..B_M_T_H.."+1]end str=string_char(table_unpack(zfc))return str end\n" data=data..""..zfc.."" data=_G["字符串1"](data) data = data:gsub(defuangsub , '\n' , 1) logo=[=[ 本加密由正版加密→非天仔爸爸开发 ——————————————— 加密作者:天仔 Q群:1081557263 TG频道:YY 加密成功时间:]=] .. os.date("%Y.%m.%d.%H.%M.%S") .. [=[ ["天仔加密非本人开发"] ["落魄古中寒风吹"] ["春秋蝉明少年归"] ["荡魂山处石人泪"] ["定先游走魔向北"] ["逆流河上万仙退"] ["爱情不敌坚持泪"] ["宿命天成命中败"] ["仙尊悔而我不悔"] ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⣿⡇ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⣿⣿⣿⣿⣷ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣤⣴⣶⣶⣶⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⣿⣿⡄ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣿⣿⣿⣿⣿⡟⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠙⠛⠛⠛⣿⣿⣿⣿⣿⣿⣿⠹⣷⡈⠻⠿⠋⠋⠀⠀⠶⠛⠛⠉⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡁ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣣⣴⣾⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⠉⠻⡟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⡏⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⠿⠋⣰⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠔⠒⠂⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⢀⣠⠞⠋⠀⡀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⢸ ⠀⠀⠀⠀⠀⣠⡶⠋⠁⠀⠠⠊⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣤⣀⡀⠀⠀⠀⠀⡇⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⢸ ⣤⣄⣀⣴⠛⠁⠀⠀⡀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣤⣤⣼⣷⣾⣿⣿⠹⣿⣿⣿⣿⣿⣿⡋⣿⠀⠀⠀⢸ ⣠⡾⠋⠈⠉⠉⠠⢊⣀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠉⠉⠉⠹⡏⣿⠇⠀⠀⠉⠛⠛⠿⠿⠭⣿⡍⠀⠀⠀⠈ ⠁⣀⣀⣤⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠛⠉⠁⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢳ ⠿⠿⢛⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢟⣿⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘ ⢄⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣾⣿⡿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⢠⡀ ⣿⣿⣿⣿⣿⣿⠿⠛⠋⢉⣵⣿⣿⣿⣿⣿⣿⣿⣵⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣇⠀⠀⠀⠀⠀⠀⣠⣾⡟⣿⡀ ⣿⣿⣿⣿⡿⠃⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠏⠀⠀⠀⠀⠀⢸⣿⣿⡇⢸⣧ ⣿⢿⣿⡿⠁⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⡇⠘⠈⠄ ⢁⣾⣿⢁⣴⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⣴⣶⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⡇ ⣼⣿⣿⣾⣿⣿⣿⣿⡿⢿⣿⣿⣯⣾⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠈⠛⢋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣧ ⣿⣿⣿⣿⡿⠟⢫⠏⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡀⠀ ⠀ --KS.天仔 ]=] data = string.dump(load(data), true) function strenc(str) local t = {string.byte(str, 1, -1)} for i = 1, #t do t[i] = string.format('\\x%02x', t[i]) end return '"' .. table.concat(t) .. '"' end data = strenc ( data ) --转16进制 data=[[ ot , name ={} , 1 gg_getFile=gg.getFile _ENV["l".."o".."a".."d"](]]..data..[[)() ]] data = string.dump(load(data), true) time=os.clock()-time io.open(ht[1] .. "-[天仔加密 免费版].lua", "w"):write(data..logo) gg.alert("加密完成弟弟\n耗时:"..time.."秒\n输出路径:"..ht[1].."-[天仔加密 免费版].lua")