-- 寒心 -- 拜师+3472977190 --随便拿去二改可执行(*`へ´*) 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 SearchWrite(Search, Write, Type, Name) local time=os.clock() gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("搜索到"..#data.."条数据") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) local time=string.sub(os.clock()-time,0,5) gg.toast("开启成功 已修改:"..#t.."条数据 本次启动耗时:"..time.."秒") gg.addListItems(t) else gg.toast("开启失败未搜索到任何数据", false) return false end else gg.toast("开启失败未搜索到任何数据") return false end end function BL(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 Sy_x32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end end function SO_FLPTXG(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━") else local SOMOD1=gg.getRangesList("libil2cpp.so")[1].start gg.setValues({{address=SOMOD1+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD1+FUNCTIONADD+4,flags=TYPE,value="100A00EEr"}}) gg.setValues({{address=SOMOD1+FUNCTIONADD+8,flags=TYPE,value="C00AB8EEr"}}) gg.setValues({{address=SOMOD1+FUNCTIONADD+12,flags=TYPE,value="100A10EEr"}}) gg.setValues({{address=SOMOD1+FUNCTIONADD+16,flags=TYPE,value="1EFF2FE1r"}}) end end function search(ss,lx,nc,dz1,dz2) gg.setVisible(false) 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 editData(qmnb,qmxg)gg.setVisible(false)gg.clearResults()qmnbv=qmnb[3]["value"]or qmnb[3][1]qmnbt=qmnb[3]["type"]or qmnb[3][2]qmnbn=qmnb[2]["name"]or qmnb[2][1]gg.setRanges(qmnb[1]["memory"]or qmnb[1][1])gg.searchNumber(qmnbv,qmnbt)gg.refineNumber(qmnbv,qmnbt)sz=gg.getResultCount()if sz==0 then gg.toast(qmnbn.."开启失败")else sl=gg.getResults(999999)for i=1,sz do pdsz=true for v=4,#qmnb do if pdsz==true then pysz={{}}pysz[1].address=sl[i].address+(qmnb[v]["offset"]or qmnb[v][2])pysz[1].flags=qmnb[v]["type"]or qmnb[v][3]szpy=gg.getValues(pysz)tzszpd=tostring(qmnb[v]["lv"]or qmnb[v][1]):gsub(",","")pyszpd=tostring(szpy[1].value):gsub(",","")if tzszpd==pyszpd then pdjg=true pdsz=true else pdjg=false pdsz=false end end end if pdjg==true then szpy=sl[i].address for x=1,#qmxg do xgsz=qmxg[x]["value"]or qmxg[x][1]xgpy=szpy+(qmxg[x]["offset"]or qmxg[x][2])xglx=qmxg[x]["type"]or qmxg[x][3]xgdj=qmxg[x]["freeze"]or qmxg[x][4]xg={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xg[1].freeze=xgdj gg.addListItems(xg)else gg.setValues(xg)end end xgjg=true end end if xgjg==true then gg.toast(qmnbn.."开启成功")else gg.toast(qmnbn.."开启失败")end end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) if gg.searchNumber(qmnb[3]["value"],qmnb[3]["type"],false,gg.SIGN_EQUAL,0,-1)~=true then gg.searchAddress(qmnb[3]["value"],-1,qmnb[3]["type"]) end if gg.getResultCount()==0 then gg.toast(qmnb[2]["name"].."开启失败")return end szxx=gg.getResults(gg.getResultCount()) szpd={} a=0 for i=4,#qmnb do for s=1,#szxx do if szpd[s]~="false" then if gg.getValues({{address=szxx[s].address+qmnb[i]["offset"],flags=qmnb[i]["type"]}})[1].value+0~=qmnb[i]["lv"]then szpd[s]="false" a=a+1 end end end end if a==#szxx then gg.toast(qmnb[2]["name"].."开启失败")return end b=0 t={} for x=1,#qmxg do if qmxg[x]["freeze"]==true then a=1 end for i=1,#szxx do if szpd[i]==nil then b=b+1 table.insert(t,{address=szxx[i].address+qmxg[x]["offset"],flags=qmxg[x]["type"],freeze=qmxg[x]["freeze"],value=qmxg[x]["value"]}) end end end gg.setValues(t) gg.addListItems(t) gg.clearResults() if a~=1 then gg.clearList()else a=nil end gg.toast(qmnb[2]["name"].."开启成功,共修改了"..b.."条数据") end qmnb = function(daarr) local array = {} for i = 1, #daarr["搜索数组"] do local data = {["lv"] =daarr["搜索数组"][i][1], ["offset"] = daarr["搜索数组"][i][2], ["type"] = daarr["搜索类型"]} table.insert(array, i, data) end local isok, data = app.memorysearch(daarr["搜索内存"], array) if isok then for i = 1, #data do for x = 1, #daarr["修改数组"] do app.memorywrite(data[i] + daarr["修改数组"][x][2], daarr["搜索类型"], daarr["修改数组"][x][1]) end end gg.toast(daarr["功能名称"] .. "共修改" .. #data * #daarr["修改数组"] .. "条数据") else gg.toast(daarr["功能名称"] .. "开启失败") end end function xg1(value,lx,py,dj) if sj~=nil and #sj>0 then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx if value == nil then value = readValue(z[i].address, lx) end z[i].value= value z[i].freeze = dj and true or false end if dj == true or dj == false then gg.addListItems(z) else gg.setValues(z) end gg.toast('') else gg.toast('') end end function xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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('') else gg.toast('') end end function bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast('') end end Qr_UIP2FazG='Main' gg.clearResults() sj={} xgz={} 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,gg.SIGN_EQUAL,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 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 xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("无数据") end end function BaAdd(add) if gg.getTargetInfo().x64==true then t=gg.getValues({[1]={address=add,flags=32}}) return t[1].value else t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end end function set(dz,xg,lx,dj) if dj=="true" then gg.addListItems({{address=dz,flags=lx,value=xg,freeze=true}}) else gg.setValues({{address=dz,flags=lx,value=xg}}) end gg.toast("已修改完成~") end DWORD=gg.TYPE_DWORD DOUBLE=gg.TYPE_DOUBLE FLOAT=gg.TYPE_FLOAT WORD=gg.TYPE_WORD BYTE=gg.TYPE_BYTE XOR=gg.TYPE_XOR QWORD=gg.TYPE_QWORD D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD -------------不懂勿动------------ ------------道具赛配置--------------- function SearchWrite(Search, Write, Type, Name) local time=os.clock() gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("搜索到"..#data.."条数据") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) local time=string.sub(os.clock()-time,0,5) gg.toast("开启成功 已修改:"..#t.."条数据 本次启动耗时:"..time.."秒") gg.addListItems(t) else gg.toast("开启失败未搜索到任何数据", false) return false end else gg.toast("开启失败未搜索到任何数据") return false end end function Fs3Fs4(Fs1, Fs2, Fs3, Fs4, Fs5) gg.clearResults() gg.setRanges(Fs2) gg.setVisible(false) gg.searchNumber(Fs3[1][1], Fs3[1][3]) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Fs3[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Fs3 do local tmp = {} local offset = Fs3[k][2] - base local num = Fs3[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = Fs3[k][3] end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast(Fs1..'\n搜索到{'..#data..'}条数据') local t = {} local base = Fs3[1][2] if Fs5 == '' and Fs5 > 0 and Fs5 < #data then Fs5 = Fs5 else Fs5 = #data end for i=1, Fs5 do for k, w in ipairs(Fs4) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = w[3] t[#t].value = w[1] if (w[4] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Fs1..'️\n已修改{'..#t..'}条数据') else gg.toast(Fs1..'\n数据搜索失败', false) return false end else gg.toast(Fs1..'\n数据修改失败', false) return false 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 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 xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("无数据") end end function BaAdd(add) t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end function set(dz,xg,lx,dj) if dj=="true" then gg.addListItems({{address=dz,flags=lx,value=xg,freeze=true}}) else gg.setValues({{address=dz,flags=lx,value=xg}}) end gg.toast("已修改完成~") 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 ipairs(result) do if (v.isUseful) then data[#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.alert("\n"..Name.."开启失败",false) return false end else gg.alert(Name.."开启失败") return false end end ----以上为指针搜索模块 function SO_PT(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━") 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 ---SO模块.可修改 function SO_ST(FUNCTIONADD,VALUE,JZXB) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━") else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=4,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=4,value=JZXB}}) 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 ----指针模块 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 Searssjc(FUNCTIONADD,VALUE,SETRANGES) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then gg.toast("开启失败") else gg.setRanges(SETRANGES) gg.searchNumber(FUNCTIONADD, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber(FUNCTIONADD, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) local jg=gg.getResults(100) local sl=gg.getResultCount() for i=1, sl do dzy=jg[i].address gg.clearResults() gg.addListItems({[1]={address=dzy,flags=gg.TYPE_DWORD,freeze=true,value=VALUE}}) end gg.toast("开启成功") end end ----秒开基址模块 function YX_MkPointer(SONC,NCFW,PYL,TYPE,VALUE,NAME,DJ) local Somod=gg.getRangesList(SONC)[1] if Somod==nil then gg.alert(NAME..'开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━') else 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 time=os.clock() local DZT = S_Pointer({SONC, NCFW},{0x0}) local PY_offsets = PYL for _,YX in pairs(PY_offsets) do gg.addListItems({{address = DZT+YX, flags = TYPE, value = VALUE, freeze = DJ}}) end local time=string.sub(os.clock()-time,0,5) gg.alert(NAME..'️开启成功\n当前进程名称:'..gg.getTargetInfo().label..'\n当前进程包名:'..gg.getTargetPackage()..'\n总共耗时:'..time..'秒') end end function BL(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}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end function ByFQ(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 ByF(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 ByYL(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 UnKnown_il2Cpp=function(Change,Offset,type)--修改 偏移量 类型 local x32Bit = gg.getTargetInfo().x32 local x64Bit = gg.getTargetInfo().x64 local il2Cpp_Mod=gg.getRangesList('il2cpp.so'or'libil2cpp.so') local Py=il2Cpp_Mod[1] if il2Cpp_Mod == nil then mods=gg.alert('未存在il2cpp.so\n\n请检查你的进程','继续','Exit') if mods == 2 then os.exit() end end gg.processPause ( ) if x32Bit == gg.getTargetInfo().x32 then gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A MOVT R0, #0'}}) gg.setValues({{address=Py.start+Offset+8,flags=type,value='~A bx lr'}}) gg.processResume ( ) --gg.toast(name..'\nOpenedSuccessfully') else if x64Bit == gg.getTargetInfo().x64 then gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A ret'}}) gg.processResume ( ) --gg.toast(name..'\nOpenedSuccessfully') end end gg.sleep(100) gg.setValues({{address=Py.start+Offset,flags=type,value=Change}}) end function cnm(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}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end function BL(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 LQx32(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}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end function ByXm(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}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end function py1(value,lx,py) gg.setVisible(false) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].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 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 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,gg.SIGN_EQUAL,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[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].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[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].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 xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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 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 ipairs(result) do if (v.isUseful) then data[#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 Get_Search(fname) 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 fname=fname or {} local m=getRanges() local many={} if "table"==type(fname) then--首信息1 for i in pairs(m) do local p=m[i].internalName:match("^.*/(.+)") if p==fname[1] and m[i].state==fname[2] then many={state=m[i].state,start=m[i].start} break end end elseif "string"==type(fname) then if "slow"==fname then--全信息 for i=1,#m do local p=m[i].internalName:match("^.*/(.+)") many[i]={name=p,state=m[i].state,start=m[i].start} end elseif "quick"==fname then--尾信息 for i=1,#m do local p=m[i].internalName:match("^.*/(.+)") many[p]={state=m[i].state,start=m[i].start} end else for i=1,#m do--首信息2 local p=m[i].internalName:match("^.*/(.+)") if p==fname then many={state=m[i].state,start=m[i].start} break end end if AddrInfoLen(many)~=2 then return false end end else error("填写'quick'或者'slow'或者文件名或者{文件名,状态}") end return many end function Get_Address(Head,Offset,Flag) local tinfom=gg.getTargetInfo() Flag=Flag or 32 local t={} local Addr if Head then t[1]={address=Head+Offset[1],flags=Flag} if not (#Offset==1) then for i=2,#Offset do local place=gg.getValues(t) t={} if not tinfom.x64 then place[1].value=place[1].value & 0xFFFFFFFF end t[1]={address=place[1].value+Offset[i],flags=Flag} end end Addr=t[1].address end return string.format("0x%X",Addr) 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 _Q = tonumber(0x167ba0fe) 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 print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end Sy_x32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "1EFF2FE1r" } } ) gg.processResume ( ) end end function Bynq(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 ByLQ(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}}) end end function Bysak(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 os.remove("/storage/emulated/0/Android/data") os.remove("/storage/emulated/0/data") XCx32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end end function Get_Search(fname) 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 fname=fname or {} local m=getRanges() local many={} if "table"==type(fname) then--首信息1 for i in pairs(m) do local p=m[i].internalName:match("^.*/(.+)") if p==fname[1] and m[i].state==fname[2] then many={state=m[i].state,start=m[i].start} break end end elseif "string"==type(fname) then if "slow"==fname then--全信息 for i=1,#m do local p=m[i].internalName:match("^.*/(.+)") many[i]={name=p,state=m[i].state,start=m[i].start} end elseif "quick"==fname then--尾信息 for i=1,#m do local p=m[i].internalName:match("^.*/(.+)") many[p]={state=m[i].state,start=m[i].start} end else for i=1,#m do--首信息2 local p=m[i].internalName:match("^.*/(.+)") if p==fname then many={state=m[i].state,start=m[i].start} break end end if AddrInfoLen(many)~=2 then return false end end else error("填写'quick'或者'slow'或者文件名或者{文件名,状态}") end return many end function Get_Address(Head,Offset,Flag) local tinfom=gg.getTargetInfo() Flag=Flag or 32 local t={} local Addr if Head then t[1]={address=Head+Offset[1],flags=Flag} if not (#Offset==1) then for i=2,#Offset do local place=gg.getValues(t) t={} if not tinfom.x64 then place[1].value=place[1].value & 0xFFFFFFFF end t[1]={address=place[1].value+Offset[i],flags=Flag} end end Addr=t[1].address end return string.format("0x%X",Addr) end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else return false end else return false end end function BL(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 hzs = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) gg.setProcessX ( ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "1EFF2FE1r" } } ) gg.processResume ( ) end end function JG(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 ByFQ(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 Sy_x32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end end bl = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end 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 ipairs(result) do if (v.isUseful) then data[#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 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 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 _Q = tonumber(0x167ba0fe) 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 print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function Fs3Fs4(Fs1, Fs2, Fs3, Fs4, Fs5) gg.clearResults() gg.setRanges(Fs2) gg.setVisible(false) gg.searchNumber(Fs3[1][1], Fs3[1][3]) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Fs3[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Fs3 do local tmp = {} local offset = Fs3[k][2] - base local num = Fs3[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = Fs3[k][3] end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast(Fs1..'\n搜索到{'..#data..'}条数据') local t = {} local base = Fs3[1][2] if Fs5 == '' and Fs5 > 0 and Fs5 < #data then Fs5 = Fs5 else Fs5 = #data end for i=1, Fs5 do for k, w in ipairs(Fs4) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = w[3] t[#t].value = w[1] if (w[4] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Fs1..'️\n已修改{'..#t..'}条数据') else gg.toast(Fs1..'\n数据搜索失败', false) return false end else gg.toast(Fs1..'\n数据修改失败', false) return false 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 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 xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("无数据") end end function BaAdd(add) t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end function set(dz,xg,lx,dj) if dj=="true" then gg.addListItems({{address=dz,flags=lx,value=xg,freeze=true}}) else gg.setValues({{address=dz,flags=lx,value=xg}}) end gg.toast("已修改完成~") 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 Get_Search(fname) 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 fname=fname or {} local m=getRanges() local many={} if "table"==type(fname) then--首信息1 for i in pairs(m) do local p=m[i].internalName:match("^.*/(.+)") if p==fname[1] and m[i].state==fname[2] then many={state=m[i].state,start=m[i].start} break end end elseif "string"==type(fname) then if "slow"==fname then--全信息 for i=1,#m do local p=m[i].internalName:match("^.*/(.+)") many[i]={name=p,state=m[i].state,start=m[i].start} end elseif "quick"==fname then--尾信息 for i=1,#m do local p=m[i].internalName:match("^.*/(.+)") many[p]={state=m[i].state,start=m[i].start} end else for i=1,#m do--首信息2 local p=m[i].internalName:match("^.*/(.+)") if p==fname then many={state=m[i].state,start=m[i].start} break end end if AddrInfoLen(many)~=2 then return false end end else error("填写'quick'或者'slow'或者文件名或者{文件名,状态}") end return many end function Get_Address(Head,Offset,Flag) local tinfom=gg.getTargetInfo() Flag=Flag or 32 local t={} local Addr if Head then t[1]={address=Head+Offset[1],flags=Flag} if not (#Offset==1) then for i=2,#Offset do local place=gg.getValues(t) t={} if not tinfom.x64 then place[1].value=place[1].value & 0xFFFFFFFF end t[1]={address=place[1].value+Offset[i],flags=Flag} end end Addr=t[1].address end return string.format("0x%X",Addr) end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else return false end else return false end end JFYx32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end end function ByWQ(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 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]) end local json = json ms = { } function setvalue ( add , value , falgs) qx={} qx[#qx+1]={} qx[#qx].value=value qx[#qx].flags=falgs qx[#qx].freeze=true qx[#qx].address=add gg.addListItems (qx) end il2cpp_so_x32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end 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 py1(value,lx,py) gg.setVisible(false) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].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 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 function SearchWrite(Search, Write, Type, Name) local time=os.clock() gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("搜索到"..#data.."条数据") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) local time=string.sub(os.clock()-time,0,5) gg.toast("开启成功 已修改:"..#t.."条数据 本次启动耗时:"..time.."秒") gg.addListItems(t) else gg.toast("开启失败未搜索到任何数据", false) return false end else gg.toast("开启失败未搜索到任何数据") return false end end function BL(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 SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else return false end else return false end end j={} xgz={} ZY='Main' gg.toast('欢迎使用寒心内部') gg.clearResults() sj={} xgz={} gg.toast("欢迎进入") 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,gg.SIGN_EQUAL,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[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].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[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].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 xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("?无数据?") end end function search(ss,lx,nc,dz1,dz2) gg.setVisible(false) 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 editData(qmnb,qmxg)gg.setVisible(false)gg.clearResults()qmnbv=qmnb[3]["value"]or qmnb[3][1]qmnbt=qmnb[3]["type"]or qmnb[3][2]qmnbn=qmnb[2]["name"]or qmnb[2][1]gg.setRanges(qmnb[1]["memory"]or qmnb[1][1])gg.searchNumber(qmnbv,qmnbt)gg.refineNumber(qmnbv,qmnbt)sz=gg.getResultCount()if sz==0 then gg.toast(qmnbn.."开启失败")else sl=gg.getResults(999999)for i=1,sz do pdsz=true for v=4,#qmnb do if pdsz==true then pysz={{}}pysz[1].address=sl[i].address+(qmnb[v]["offset"]or qmnb[v][2])pysz[1].flags=qmnb[v]["type"]or qmnb[v][3]szpy=gg.getValues(pysz)tzszpd=tostring(qmnb[v]["lv"]or qmnb[v][1]):gsub(",","")pyszpd=tostring(szpy[1].value):gsub(",","")if tzszpd==pyszpd then pdjg=true pdsz=true else pdjg=false pdsz=false end end end if pdjg==true then szpy=sl[i].address for x=1,#qmxg do xgsz=qmxg[x]["value"]or qmxg[x][1]xgpy=szpy+(qmxg[x]["offset"]or qmxg[x][2])xglx=qmxg[x]["type"]or qmxg[x][3]xgdj=qmxg[x]["freeze"]or qmxg[x][4]xg={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xg[1].freeze=xgdj gg.addListItems(xg)else gg.setValues(xg)end end xgjg=true end end if xgjg==true then gg.toast(qmnbn.."开启成功")else gg.toast(qmnbn.."开启失败")end end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) if gg.searchNumber(qmnb[3]["value"],qmnb[3]["type"],false,gg.SIGN_EQUAL,0,-1)~=true then gg.searchAddress(qmnb[3]["value"],-1,qmnb[3]["type"]) end if gg.getResultCount()==0 then gg.toast(qmnb[2]["name"].."开启失败")return end szxx=gg.getResults(gg.getResultCount()) szpd={} a=0 for i=4,#qmnb do for s=1,#szxx do if szpd[s]~="false" then if gg.getValues({{address=szxx[s].address+qmnb[i]["offset"],flags=qmnb[i]["type"]}})[1].value+0~=qmnb[i]["lv"]then szpd[s]="false" a=a+1 end end end end if a==#szxx then gg.toast(qmnb[2]["name"].."开启失败")return end b=0 t={} for x=1,#qmxg do if qmxg[x]["freeze"]==true then a=1 end for i=1,#szxx do if szpd[i]==nil then b=b+1 table.insert(t,{address=szxx[i].address+qmxg[x]["offset"],flags=qmxg[x]["type"],freeze=qmxg[x]["freeze"],value=qmxg[x]["value"]}) end end end gg.setValues(t) gg.addListItems(t) gg.clearResults() if a~=1 then gg.clearList()else a=nil end gg.toast(qmnb[2]["name"].."开启成功,共修改了"..b.."条数据") end qmnb = function(daarr) local array = {} for i = 1, #daarr["搜索数组"] do local data = {["lv"] =daarr["搜索数组"][i][1], ["offset"] = daarr["搜索数组"][i][2], ["type"] = daarr["搜索类型"]} table.insert(array, i, data) end local isok, data = app.memorysearch(daarr["搜索内存"], array) if isok then for i = 1, #data do for x = 1, #daarr["修改数组"] do app.memorywrite(data[i] + daarr["修改数组"][x][2], daarr["搜索类型"], daarr["修改数组"][x][1]) end end gg.toast(daarr["功能名称"] .. "共修改" .. #data * #daarr["修改数组"] .. "条数据") else gg.toast(daarr["功能名称"] .. "开启失败") end end function xg1(value,lx,py,dj) if sj~=nil and #sj>0 then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx if value == nil then value = readValue(z[i].address, lx) end z[i].value= value z[i].freeze = dj and true or false end if dj == true or dj == false then gg.addListItems(z) else gg.setValues(z) end gg.toast('') else gg.toast('') end end function xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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('') else gg.toast('') end end function bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast('') end end Qr_UIP2FazG='Main' gg.clearResults() sj={} xgz={} gg.toast("欢迎使用寒心内部") 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,gg.SIGN_EQUAL,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 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 xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("无数据") end end function BaAdd(add) if gg.getTargetInfo().x64==true then t=gg.getValues({[1]={address=add,flags=32}}) return t[1].value else t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end end function set(dz,xg,lx,dj) if dj=="true" then gg.addListItems({{address=dz,flags=lx,value=xg,freeze=true}}) else gg.setValues({{address=dz,flags=lx,value=xg}}) end gg.toast("已修改完成~") end DWORD=gg.TYPE_DWORD DOUBLE=gg.TYPE_DOUBLE FLOAT=gg.TYPE_FLOAT WORD=gg.TYPE_WORD BYTE=gg.TYPE_BYTE XOR=gg.TYPE_XOR QWORD=gg.TYPE_QWORD D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD -------------不懂勿动------------ ------------道具赛配置--------------- 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 info = { example_version = '1.0.3', name = '项目', appid = '69835', appkey = 'LR61Ee6n8r61xrA3', rc4key = 'DEDywedZXzEZe8pW', version = '1.0', mi_type = '3' } rlyunyz = getrlyunyz(info) local json = json AS = {} local MediaRecorder = luajava.bindClass("android.media.MediaRecorder") local AudioSource = luajava.bindClass("android.media.MediaRecorder$AudioSource") local OutputFormat = luajava.bindClass("android.media.MediaRecorder$OutputFormat") local AudioEncoder = luajava.bindClass("android.media.MediaRecorder$AudioEncoder") -- 获取录音管理器实例 local audioManager = context:getSystemService(context.AUDIO_SERVICE) -- 获取录音源类型常量值 local sourceType = AudioSource.MIC -- 创建 MediaRecorder 实例 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("你已开启了NPN环境请勿用抓包���=�防抓包开启成功=�=�警告=�否则发现关闭使用权") for _FORV_3_ = 1, 3 do function AA(A0_325, A1_326, A2_327) local L3_328, L4_329, L5_330, L6_331 L3_328 = 1 L4_329 = 999999 for _FORV_6_ = 1, 999999 do end end function BB()for _FORV_4_, _FORV_5_ in pairs({"999999", "0000000"}) do bytes = tonumber(_FORV_5_) AA(bytes, result1, result2) end end BB() print("网络请求警告:\n\n~~~~~ 警告 �~~~~~ \n检测到您正在使用恶意抓包软件破解脚本\n已自动删除原脚本\n请勿有违规行为\n~~~~~� 警告 �~~~~~ ") end for _FORV_3_ = 1, 10 do gg.setVisible(true) gg.setVisible(false) end while true do os.exit(gg.setVisible(true)) end end string.toMusic("NPN环境开启成功")string.toMusic("正在检测环境,请稍等.....") if gg.isHTTPdump() == false then string.toMusic("环境正常,正在开启脚本") end if gg.isHTTPdump() == true then gg.alert("环境异常,检测到你使用了抓包W\n正在退出脚本W") os.exit() end if gg.isHTTPdump() == "error" then gg.alert("请检查网络是否良好W") end string.toMusic("正在二次检测环境,请稍等.....") if gg.isHTTPdump() == false then string.toMusic("环境正常,正在开启脚本") end if gg.isHTTPdump() == true then string.toMusic("环境异常,检测到你使用了抓包W\n正在退出脚本W") os.exit() end if gg.isHTTPdump() == "error" then string.toMusic("请检查网络是否良好W") end string.toMusic("开启成功正在连接脚本") string.toMusic("开启成功正在连接脚本")if gg.isPackageInstalled("sstool.only.com.sstool") or gg.isPackageInstalled("sstool.only.com.sstool") or gg.isPackageInstalled("sstool.only.com.sstool") then gg.alert("检测到解密解密工具\n赶紧删除不然不给你进=") os.remove(string.gsub(gg.getFile(), "@", "")) gg.alert("检测到解密工具\n赶紧删除不然不给你进=") 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.guoshi.httpcanary") then gg.alert("检测到你有黄鸟抓包!\n赶紧删除不然不给你进=") gg.processKill() os.exit() while true do end end if gg.isPackageInstalled("com.maggienorth.max.postdata") then gg.alert("检测到你有抓包软件!\n赶紧删除不然不给你进=") gg.processKill() os.exit() while true do end end if gg.isPackageInstalled("com.chenlun.autumncloudlua") then gg.alert("检测到你有云解密工具!\n赶紧删除不然不给你进=") gg.processKill() os.exit() while true do end end function panduan(A0_332) fille, err = io.open(A0_332) if fille == nil then do return false end return end return true end function panduan(A0_333)fille, err = io.open(A0_333) if fille == nil then do return false end return end return true 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 gg.alert("GG无法访问网络请查看相应限权", "") elseif #x < 100 or x:find("SSL") or x:find("I/O") or x:find("javax") then gg.alert("你已开启了NPN环境请勿用抓包⚠⚠⚠🛡防抓包开启成功🛡🛡警告🛡否则发现关闭使用权") for _FORV_4_ = 1, 3 do function AA(bytes,result1,result2) for i=1,999 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 end --------秒开配置---------------------------------------------------------------------------- function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("修改"..#data.."条数据.修改成功") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else gg.toast(":搜索0条数据.修改失败", false) return false end else gg.toast("搜索0条数据.修改失败") return false end end function Fs3Fs4(Fs1, Fs2, Fs3, Fs4, Fs5) gg.clearResults() gg.setRanges(Fs2) gg.setVisible(false) gg.searchNumber(Fs3[1][1], Fs3[1][3]) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Fs3[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Fs3 do local tmp = {} local offset = Fs3[k][2] - base local num = Fs3[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = Fs3[k][3] end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast(Fs1..'\n搜索到{'..#data..'}条数据') local t = {} local base = Fs3[1][2] if Fs5 == '' and Fs5 > 0 and Fs5 < #data then Fs5 = Fs5 else Fs5 = #data end for i=1, Fs5 do for k, w in ipairs(Fs4) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = w[3] t[#t].value = w[1] if (w[4] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Fs1..'️\n已修改{'..#t..'}条数据') else gg.toast(Fs1..'\n数据搜索失败', false) return false end else gg.toast(Fs1..'\n数据修改失败', false) return false 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 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 xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("无数据") end end function BaAdd(add) t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end function set(dz,xg,lx,dj) if dj=="true" then gg.addListItems({{address=dz,flags=lx,value=xg,freeze=true}}) else gg.setValues({{address=dz,flags=lx,value=xg}}) end gg.toast("已修改完成~") 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 = numlocal 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 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 So_X32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( 'so模块未加载 请重新选择游戏进程' ) else local So = Somod.start local Add = So + Address gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "1EFF2FE1r" } } ) end end function searchwb(a,b,c) gg.setRanges(c) gg.searchNumber(a,b) end function xgwb(a1,a2) gg.getResults(gg.getResultsCount()) gg.editAll(a1,a2) 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 gg.clearResults() j={} xgz={} ZY = 'Main0' gg.clearResults() sj={} xgz={} function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end --配置区-------------------------------------------------------------------------------- sjxnb = function ( Ad , Value , IF ) local Ret = "~A BX LR" local So = gg.getRangesList ( 'libil2cpp.so' ) if not ( Ad or Value ) then return else if not So then gg.alert ( "请重新选择游戏进程" ) else for key , value in pairs ( So ) do if value.state ~= "Xa" then return else local Soad = value.start local Add = Soad + Ad gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) if IF == true then gg.setValues ( { { address = Add + 4 , flags = 4 , value = Ret } } ) elseif IF == nil then gg.setValues ( { { address = Add + 4 , flags = 4 , value = Ret } } ) elseif IF == false then break end end end end end end function BL(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 besz = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) gg.setProcessX ( ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "1EFF2FE1r" } } ) gg.processResume ( ) end end function JG(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 ByFQ(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 Sy_x32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end end bl = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end 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 ipairs(result) do if (v.isUseful) then data[#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 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 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 _Q = tonumber(0x167ba0fe) 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 print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function Fs3Fs4(Fs1, Fs2, Fs3, Fs4, Fs5) gg.clearResults() gg.setRanges(Fs2) gg.setVisible(false) gg.searchNumber(Fs3[1][1], Fs3[1][3]) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Fs3[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Fs3 do local tmp = {} local offset = Fs3[k][2] - base local num = Fs3[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = Fs3[k][3] end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast(Fs1..'\n搜索到{'..#data..'}条数据') local t = {} local base = Fs3[1][2] if Fs5 == '' and Fs5 > 0 and Fs5 < #data then Fs5 = Fs5 else Fs5 = #data end for i=1, Fs5 do for k, w in ipairs(Fs4) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = w[3] t[#t].value = w[1] if (w[4] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Fs1..'️\n已修改{'..#t..'}条数据') else gg.toast(Fs1..'\n数据搜索失败', false) return false end else gg.toast(Fs1..'\n数据修改失败', false) return false 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 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 xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("无数据") end end function BaAdd(add) t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end function set(dz,xg,lx,dj) if dj=="true" then gg.addListItems({{address=dz,flags=lx,value=xg,freeze=true}}) else gg.setValues({{address=dz,flags=lx,value=xg}}) end gg.toast("已修改完成~") 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 ---------秒开配置---------------------------------------------------------------------------- BYWT = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end end function CYC(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}}) end end function _error() ts=gg.alert([[ 开启失败 失败原因:进程存储太小或选择了错误的进程 解决方案:重选进程后开启 ]],"确定","选择进程","") if ts == 2 then gg.setProcessX() end end wt = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end end Sy_x32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert([[开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "1EFF2FE1r" } } ) gg.processResume ( ) end end function WT(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([[ 开启失败 失败原因:地铁跑酷进程存储太小 请选择>三百MB的地铁跑酷进程 解决方案:重新选择进程 ]]) end BYWT = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end end function CYC(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}}) end end function _error() ts=gg.alert([[ 开启失败 失败原因:进程存储太小或选择了错误的进程 解决方案:重选进程后开启 ]],"确定","选择进程","") if ts == 2 then gg.setProcessX() end end wt = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end end Sy_x32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert([[开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "1EFF2FE1r" } } ) gg.processResume ( ) end end function WT(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([[ 开启失败 失败原因:地铁跑酷进程存储太小 请选择>三百MB的地铁跑酷进程 解决方案:重新选择进程 ]]) end function Fs3Fs4(Fs1, Fs2, Fs3, Fs4, Fs5) gg.clearResults() gg.setRanges(Fs2) gg.setVisible(false) gg.searchNumber(Fs3[1][1], Fs3[1][3]) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Fs3[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Fs3 do local tmp = {} local offset = Fs3[k][2] - base local num = Fs3[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = Fs3[k][3] end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast(Fs1..'\n搜索到{'..#data..'}条数据') local t = {} local base = Fs3[1][2] if Fs5 == '' and Fs5 > 0 and Fs5 < #data then Fs5 = Fs5 else Fs5 = #data end for i=1, Fs5 do for k, w in ipairs(Fs4) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = w[3] t[#t].value = w[1] if (w[4] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Fs1..'️\n已修改{'..#t..'}条数据') else gg.toast(Fs1..'\n数据搜索失败', false) return false end else gg.toast(Fs1..'\n数据修改失败', false) return false 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 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 xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("无数据") end end function BaAdd(add) t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end function set(dz,xg,lx,dj) if dj=="true" then gg.addListItems({{address=dz,flags=lx,value=xg,freeze=true}}) else gg.setValues({{address=dz,flags=lx,value=xg}}) end gg.toast("已修改完成~") 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 ipairs(result) do if (v.isUseful) then data[#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 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 ipairs(result) do if (v.isUseful) then data[#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 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 Get_Search(fname) 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 fname=fname or {} local m=getRanges() local many={} if "table"==type(fname) then--首信息1 for i in pairs(m) do local p=m[i].internalName:match("^.*/(.+)") if p==fname[1] and m[i].state==fname[2] then many={state=m[i].state,start=m[i].start} break end end elseif "string"==type(fname) then if "slow"==fname then--全信息 for i=1,#m do local p=m[i].internalName:match("^.*/(.+)") many[i]={name=p,state=m[i].state,start=m[i].start} end elseif "quick"==fname then--尾信息 for i=1,#m do local p=m[i].internalName:match("^.*/(.+)") many[p]={state=m[i].state,start=m[i].start} end else for i=1,#m do--首信息2 local p=m[i].internalName:match("^.*/(.+)") if p==fname then many={state=m[i].state,start=m[i].start} break end end if AddrInfoLen(many)~=2 then return false end end else error("填写'quick'或者'slow'或者文件名或者{文件名,状态}") end return many end function Get_Address(Head,Offset,Flag) local tinfom=gg.getTargetInfo() Flag=Flag or 32 local t={} local Addr if Head then t[1]={address=Head+Offset[1],flags=Flag} if not (#Offset==1) then for i=2,#Offset do local place=gg.getValues(t) t={} if not tinfom.x64 then place[1].value=place[1].value & 0xFFFFFFFF end t[1]={address=place[1].value+Offset[i],flags=Flag} end end Addr=t[1].address end return string.format("0x%X",Addr) end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else return false end else return false end end JFYx32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end 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]) end local json = json ms = { } function setvalue ( add , value , falgs) qx={} qx[#qx+1]={} qx[#qx].value=value qx[#qx].flags=falgs qx[#qx].freeze=true qx[#qx].address=add gg.addListItems (qx) end il2cpp_so_x32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end 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 py1(value,lx,py) gg.setVisible(false) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].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 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 function SearchWrite(Search, Write, Type, Name) local time=os.clock() gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("搜索到"..#data.."条数据") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) local time=string.sub(os.clock()-time,0,5) gg.toast("开启成功 已修改:"..#t.."条数据 本次启动耗时:"..time.."秒") gg.addListItems(t) else gg.toast("开启失败未搜索到任何数据", false) return false end else gg.toast("开启失败未搜索到任何数据") return false end end function WT(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 SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else return false end else return false end end j={} xgz={} ZY='Main' gg.toast('欢迎使用') draw.text('寒心内部',80,200) draw.setColor('#FF0000FF') draw.text('<菜见-共同制作-q.>',110,320) draw.setColor('#FF0000FF') gg.clearResults() sj={} xgz={} gg.toast("欢迎进入") 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,gg.SIGN_EQUAL,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[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].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[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].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 xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("?无数据?") end end function search(ss,lx,nc,dz1,dz2) gg.setVisible(false) 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 editData(qmnb,qmxg)gg.setVisible(false)gg.clearResults()qmnbv=qmnb[3]["value"]or qmnb[3][1]qmnbt=qmnb[3]["type"]or qmnb[3][2]qmnbn=qmnb[2]["name"]or qmnb[2][1]gg.setRanges(qmnb[1]["memory"]or qmnb[1][1])gg.searchNumber(qmnbv,qmnbt)gg.refineNumber(qmnbv,qmnbt)sz=gg.getResultCount()if sz==0 then gg.toast(qmnbn.."开启失败")else sl=gg.getResults(999999)for i=1,sz do pdsz=true for v=4,#qmnb do if pdsz==true then pysz={{}}pysz[1].address=sl[i].address+(qmnb[v]["offset"]or qmnb[v][2])pysz[1].flags=qmnb[v]["type"]or qmnb[v][3]szpy=gg.getValues(pysz)tzszpd=tostring(qmnb[v]["lv"]or qmnb[v][1]):gsub(",","")pyszpd=tostring(szpy[1].value):gsub(",","")if tzszpd==pyszpd then pdjg=true pdsz=true else pdjg=false pdsz=false end end end if pdjg==true then szpy=sl[i].address for x=1,#qmxg do xgsz=qmxg[x]["value"]or qmxg[x][1]xgpy=szpy+(qmxg[x]["offset"]or qmxg[x][2])xglx=qmxg[x]["type"]or qmxg[x][3]xgdj=qmxg[x]["freeze"]or qmxg[x][4]xg={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xg[1].freeze=xgdj gg.addListItems(xg)else gg.setValues(xg)end end xgjg=true end end if xgjg==true then gg.toast(qmnbn.."开启成功")else gg.toast(qmnbn.."开启失败")end end end qmnb = function(daarr) local array = {} for i = 1, #daarr["搜索数组"] do local data = {["lv"] =daarr["搜索数组"][i][1], ["offset"] = daarr["搜索数组"][i][2], ["type"] = daarr["搜索类型"]} table.insert(array, i, data) end local isok, data = app.memorysearch(daarr["搜索内存"], array) if isok then for i = 1, #data do for x = 1, #daarr["修改数组"] do app.memorywrite(data[i] + daarr["修改数组"][x][2], daarr["搜索类型"], daarr["修改数组"][x][1]) end end gg.toast(daarr["功能名称"] .. "共修改" .. #data * #daarr["修改数组"] .. "条数据") else gg.toast(daarr["功能名称"] .. "开启失败") end end function xg1(value,lx,py,dj) if sj~=nil and #sj>0 then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx if value == nil then value = readValue(z[i].address, lx) end z[i].value= value z[i].freeze = dj and true or false end if dj == true or dj == false then gg.addListItems(z) else gg.setValues(z) end gg.toast('') else gg.toast('') end end function xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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('') else gg.toast('') end end function bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast('') end end Qr_UIP2FazG='Main' gg.clearResults() sj={} xgz={} gg.toast("欢迎使用寒心") 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,gg.SIGN_EQUAL,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 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 xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("无数据") end end function BaAdd(add) if gg.getTargetInfo().x64==true then t=gg.getValues({[1]={address=add,flags=32}}) return t[1].value else t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end end function set(dz,xg,lx,dj) if dj=="true" then gg.addListItems({{address=dz,flags=lx,value=xg,freeze=true}}) else gg.setValues({{address=dz,flags=lx,value=xg}}) end gg.toast("已修改完成~") end DWORD=gg.TYPE_DWORD DOUBLE=gg.TYPE_DOUBLE FLOAT=gg.TYPE_FLOAT WORD=gg.TYPE_WORD BYTE=gg.TYPE_BYTE XOR=gg.TYPE_XOR QWORD=gg.TYPE_QWORD D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD -------------不懂勿动------------ ------------道具赛配置--------------- menu ={} name ={} id = 0 play = false song = "" _G_ = { function() local searchMusic = gg.prompt({ "歌曲•歌手", "列表•限制", },{"","10"},{ "text", "text", }) if not searchMusic then gg.setVisible(false) Main() elseif searchMusic[1] == "" then gg.alert("请输入歌曲/歌手!") _G_[1]() else local results = gg.makeRequest("http://music.163.com/api/search/get?s="..searchMusic[1].."&type=1&offset=0&total=true&limit="..searchMusic[2]) if results.code == 200 then n=1 for v,k in results.content:gmatch('"id":(.-),"name":"(.-)"') do if n%4 == 1 then menu[n/4+1] = v..";"..k end if n%4 == 2 then menu[n/4+1] = menu[n/4+1]..";"..k end n=n+1 end _G_[2]() else local s = gg.alert("请求异常,请检查网络……","返回","退出") if not s then gg.setVisible(false) Main() end if s == 1 then os.exit() end if s == 2 then _G_[1]() end end end end, function() if #menu == 0 then gg.alert("没有搜索记录") Main() else for n=1,#menu do name[n] = menu[n]:gsub("[0-9]+;",""):gsub(";","\n歌手:") end local mu = gg.choice(name,0,"歌单") if not mu then _G_[1]() else song = name[mu] local sn=gg.choice({"播放","查看歌词"},nil,"歌曲:"..name[mu]) if not sn then _G_[1]() end if sn == 1 then id = menu[mu]:match("(.-);") gg.toast("正在播放音乐:"..name[mu],true) gg.playMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3") play = true end if sn == 2 then id = menu[mu]:match("(.-);") song = name[mu] _G_[3]() end end end end, function() if id == 0 then gg.alert("未有播放记录") Main() else local results = gg.makeRequest("http://music.163.com/api/song/media?id="..id).content rs = results:match('"lyric":"(.-)","code'):gsub("\\n","\n"):gsub("[[!-z]+]","") gg.alert("\n《"..song:gsub("\n","》\n").."\n\n"..rs) gg.setVisible(false) end end, function() if play then play = false gg.toast("正在停止播放...") for i=1,100 do gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end gg.toast("播放已停止") else gg.toast("无正在播放的音乐") end end, function() gg.setVisible(false) if play then _G_[4]() end LSP() end } function WTYY() local emo = gg.choice({ "搜索歌曲", "搜索列表", "显示歌词", "暂停播放", },nil,"音乐功能") if not emo then gg.setVisible(false) end if emo then _G_[emo]() end 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 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 gg.clearResults() j={} xgz={} ZY = 'Main' gg.clearResults() sj={} xgz={} function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() 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 gg.edits = function(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 gg.clearResults() j={} xgz={} ZY = 'Main' gg.clearResults() sj={} xgz={} function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() 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 gg.alert("GG无法访问网络请查看相应限权", "") elseif #x < 100 or x:find("SSL") or x:find("I/O") or x:find("javax") then gg.alert("你已开启了NPN环境请勿用抓包⚠⚠⚠🛡防抓包开启成功🛡🛡警告🛡否则发现关闭使用权") 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 ------------------------------------防抓包-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- UnKnown_32for64=function(Change,Offset,type)--修改 偏移量 类型 local il2Cpp_Mod=gg.getRangesList('il2cpp.so') local Py=il2Cpp_Mod[1] local x32Bit = gg.getTargetInfo().x32 local x64Bit = gg.getTargetInfo().x64 if il2Cpp_Mod == nil then mods=gg.alert('未存在il2cpp.so\n\n请检查你的进程','继续','Exit') if mods==2 then os.exit()end end gg.processPause ( ) gg.setValues({{address=Py.start+Offset,flags=type,value=Change}}) if x32Bit == gg.getTargetInfo().x32 then gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A bx lr'}}) gg.processResume ( ) --gg.toast(name..'\nOpenedSuccessfulXL') else if x64Bit == gg.getTargetInfo().x64 then gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A ret'}}) gg.processResume ( ) --gg.toast(name..'\nOpenedSuccessfulXL') end end end --------------------------------新手---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- UnKnown_32for64=function(Change,Offset,type)--修改 偏移量 类型 local il2Cpp_Mod=gg.getRangesList('il2cpp.so') local Py=il2Cpp_Mod[1] local x32Bit = gg.getTargetInfo().x32 local x64Bit = gg.getTargetInfo().x64 if il2Cpp_Mod == nil then mods=gg.alert('未存在il2cpp.so\n\n请检查你的进程','继续','Exit') if mods==2 then os.exit()end end gg.processPause ( ) gg.setValues({{address=Py.start+Offset,flags=type,value=Change}}) if x32Bit == gg.getTargetInfo().x32 then gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A bx lr'}}) gg.processResume ( ) --gg.toast(name..'\nOpenedSuccessfulXL') else if x64Bit == gg.getTargetInfo().x64 then gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A ret'}}) gg.processResume ( ) --gg.toast(name..'\nOpenedSuccessfulXL') end end end ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- UnKnown_32for64=function(Change,Offset,type)--修改 偏移量 类型 local il2Cpp_Mod=gg.getRangesList('il2cpp.so') local Py=il2Cpp_Mod[1] local x32Bit = gg.getTargetInfo().x32 local x64Bit = gg.getTargetInfo().x64 if il2Cpp_Mod == nil then mods=gg.alert('未存在il2cpp.so\n\n请检查你的进程','继续','Exit') if mods==2 then os.exit()end end gg.processPause ( ) gg.setValues({{address=Py.start+Offset,flags=type,value=Change}}) if x32Bit == gg.getTargetInfo().x32 then gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A bx lr'}}) gg.processResume ( ) --gg.toast(name..'\nOpenedSuccessfulXL') else if x64Bit == gg.getTargetInfo().x64 then gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A ret'}}) gg.processResume ( ) --gg.toast(name..'\nOpenedSuccessfulXL') end end end gg.alert("欢迎老板使用寒心内部") gg.alert("寒心内部稳定奔放!") string.toMusic("欢迎老板使用寒心内部") local json = json local g = {} g.file = gg.getFile() g.sel = nil gqlb={"请先搜索歌曲",} idb={"1010"} SN,gc=1,nil g.config = gg.getFile():gsub("%lua$", "").."cfg" function bei() g.data = loadfile("-- WSG PRO 1.0.9(109)\n"..g.config) if g.data ~= nil then g.sel = g.data() g.data = nil end if g.sel == nil then g.sel = {"请输入歌曲名","10"} end end bei() --搜索歌曲 function start(name,sl) fw=gg.makeRequest("http://music.163.com/api/search/get?s="..name.."&type=1&offset=0&total=true&limit="..sl) return fw end --歌词 --播放音乐 function play(id,name) gg.toast("正在播放音乐:"..name,true) gg.playMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3") end --停止播放 function stop() gg.toast("正在停止音乐") for i=1,100 do gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end end ---- function Play(gqlb,idb) SN = gg.choice(gqlb,nil,ts) if SN == nil then XGCK =-1 else sn=gg.choice({"播放歌曲","播放并下载"},nil,"歌曲:"..gqlb[SN]) if sn == nil then end if sn == 1 then play(idb[SN],gqlb[SN]) end if sn == 2 then local XEY=gg.makeRequest("http://music.163.com/song/media/outer/url?id="..idb[SN]..".mp3").content local XEY1=gg.getFile():gsub("[^/]+$","")..gqlb[SN]..".mp3" io.open(XEY1,"w"):write(XEY) gg.alert("提示:\n\n音乐已成功下载位置:\n\n"..XEY1) end XGCK=-1 end end function zjson(jsonr) local str = jsonr -- 匹配Json Key的正则表达式 local pattern = "\"[%w]+\":" string.gsub(str, pattern, function(v) if string.find(str, v) then str = string.gsub(str, v, string.gsub(v, "\"", "")) end end) str = string.gsub(str, ":", "=") str = string.gsub(str, "%[", "{") str = string.gsub(str, "%]", "}") local data = "-- WSG PRO 1.0.9(109)\nreturn " .. str local res = load(data)() return res end function json(con) res=zjson(con) zd=res.result.songCount pd=go3-zd if pd <= 0 then else go3=zd end ts="《"..go1.."》找到"..zd.."首歌曲,当前显示"..go3.."首" gqlb={} idb={} for i=1,go3 do gqlb[i]=res.result.songs[i].name idb[i]=res.result.songs[i].id end --print(idb) end function YY998() Obtain=gg.makeRequest("https://api.uomg.com/api/rand.music?sort=热歌榜&format=json").content muchen=Obtain:match('url":"(.-)","picurl') gg.playMusic(muchen) end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) 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 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 = 0x3400000 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 fl(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 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 _Q = tonumber(0x167ba0fe) 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 print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else return false end else return false end end gg.clearResults() sj={} xgz={} 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,gg.SIGN_EQUAL,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 end end function py1(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].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[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("偏移l "..#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 xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("无数据") end end function hexTo255(rgbHex) local rgbHex = string.format("%x", rgbHex) local red = tonumber(rgbHex:sub(3, 4), 16) local green = tonumber(rgbHex:sub(5, 6), 16) local blue = tonumber(rgbHex:sub(7, 8), 16) return {red,green,blue} end local MediaRecorder = luajava.bindClass("android.media.MediaRecorder") local AudioSource = luajava.bindClass("android.media.MediaRecorder$AudioSource") local OutputFormat = luajava.bindClass("android.media.MediaRecorder$OutputFormat") local AudioEncoder = luajava.bindClass("android.media.MediaRecorder$AudioEncoder") -- 获取录音管理器实例 local audioManager = context:getSystemService(context.AUDIO_SERVICE) -- 获取录音源类型常量值 local sourceType = AudioSource.MIC BxCb =io.open('/sdcard/寒心/图片/地铁跑酷','r') if BxCb == nil then download("https://vip.kyun.top/down.php/9e74f67f1d702300a1d637bb1fc17e95.heif", "/sdcard/寒心/图片/地铁跑酷") else --不用添加 end BxCb =io.open('/sdcard/寒心/图片/lixin','r') if BxCb == nil then download("https://vip.kyun.top/down.php/6d1b97f7db0639b18223b440a9c6d924.", "/sdcard/寒心/图片/lixin") else --不用添加 end BxCb =io.open('/sdcard/寒心/图片/图片','r') if BxCb == nil then download("https://vip.kyun.top/view.php/85471933490f1cb518781e16c1b45119.jpg", "/sdcard/寒心/图片/图片") else BxCb =io.open('/sdcard/寒心/图片/ret','r') if BxCb == nil then download("https://vip.kyun.top/view.php/066cd029c96c7eb6971128f77e1554b9.png", "/sdcard/寒心/图片/ret") else --不用添加 end BxCb =io.open('/sdcard/寒心/图片/大背景','r') if BxCb == nil then download("https://vip.kyun.top/view.php/da953ec40d27c41e128364f6647e628a.jpg", "/sdcard/寒心/图片/大背景") else --不用添加 end --不用添加 end 流光=true if tonumber(device.width)==nil then dwidth=1340 dheight=2300 else dwidth=device.width dheight=device.height end colorvs={} 寒心 = {} huiz = function() end window = context:getSystemService("window") -- 获取窗口管理器 local function panduan(rec) fille,err = io.open(rec) if fille == nil then return false else return true end end local function checkimg(tmp,ii) if panduan("/sdcard/寒心/图片/"..tmp) ~= true then gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待") luajava.download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..tmp,"/sdcard/寒心/图片/"..tmp) else if file.length("/sdcard/寒心/图片/"..tmp) <= 1 then gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待") luajava.download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..tmp,"/sdcard/寒心/图片/"..tmp) end end if panduan("/sdcard/寒心/图片/"..tmp) ~= true then gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待") luajava.download("https://rl-1303126286.cos.ap-beijing-fsi.myqcloud.com/"..tmp,"/sdcard/寒心/图片/"..tmp) else if file.length("/sdcard/寒心/图片/"..tmp) <= 1 then gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待") luajava.download("https://rl-1303126286.cos.ap-beijing-fsi.myqcloud.com/"..tmp,"/sdcard/寒心/图片/"..tmp) end end end ckimg = { "bm_music", "hei_right", "heir", "heis", "heix", "heisuo", "lixin", "jian", "opoback", "opou", "Shimmer2.dex", "sscoR", "support.dex", "rw1", "pubgT","pubgG","pubgY","pubgR", } for i = 1,#ckimg do jindu = i checkimg(ckimg[i],i) gg.toast("正在加载资源") end if 流光 then shimmer=dex.loadfile('/sdcard/寒心/图片/Shimmer2.dex') import "com.romainpiel.shimmer.Shimmer" import "com.romainpiel.shimmer.ShimmerTextView" end local function 获取图片2(txt) txt = string.url(txt,"de") ntxt = string.sub(string.gsub(txt,"/","-"),-10,-1) if string.find(tostring(txt),"http") ~= nil then if panduan("/sdcard/寒心/图片/"..ntxt) == false then file.download(txt,"/sdcard/寒心/图片/"..ntxt) else if file.length("/sdcard/寒心/图片/"..ntxt) <= 1 then file.download(txt,"/sdcard/寒心/图片/"..ntxt) end end txt = "/sdcard/寒心/图片/"..ntxt end return luajava.getBitmap(txt) end local function getBit(x) return 获取图片2("/sdcard/寒心/图片/"..x) end local reso=context:getResources() local function getP(bitm,radi) local ret = RoundedBitmapDrawableFactory:create(reso,获取图片2(bitm)) ret:setCornerRadius(radi) ret:setAntiAlias(true) return ret end local function newbg(gtvb1,gtvb4,gtvb5,g1,g2,g3,g4) local jianbians = luajava.loadlayout({ GradientDrawable, color = 0xff000000, gradientType = GradientDrawable.LINEAR_GRADIENT, orientation = GradientDrawable.Orientation.TOP_BOTTOM , }) jianbians:setColors(gtvb1) jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色 jianbians:setCornerRadii({g1,g1,g2,g2,g3,g3,g4,g4}) return jianbians end local function 获取图片(txt) txt = string.url(txt,"de") ntxt = string.sub(string.gsub(txt,"/","-"),-10,-1) if string.find(tostring(txt),"http") ~= nil then if panduan("/sdcard/寒心/图片/"..ntxt) == false then file.download(txt,"/sdcard/寒心/图片/"..ntxt) else if file.length("/sdcard/寒心/图片/"..ntxt) <= 1 then file.download(txt,"/sdcard/寒心/图片/"..ntxt) end end txt = "/sdcard/寒心/图片/"..ntxt end return luajava.getBitmapDrawable(txt) end local function getRes(x) return 获取图片("/sdcard/寒心/图片/"..x) end local YoYoImpl = luajava.getYoYoImpl() local vibra = context:getSystemService(Context.VIBRATOR_SERVICE) local function getLayoutParams2() LayoutParams2 = WindowManager.LayoutParams layoutParams2 = luajava.new(LayoutParams2) if (Build.VERSION.SDK_INT >= 26) then -- 设置悬浮窗方式 layoutParams2.type = LayoutParams2.TYPE_APPLICATION_OVERLAY else layoutParams2.type = LayoutParams2.TYPE_PHONE end layoutParams2.format = PixelFormat.RGBA_8888 -- 设置背景 layoutParams2.flags = LayoutParams2.FLAG_NOT_TOUCH_MODAL -- 焦点设置Finish layoutParams2.gravity = Gravity.CENTER -- 重力设置 layoutParams2.width = LayoutParams2.MATCH_PARENT -- 布局宽度 layoutParams2.height = LayoutParams2.MATCH_PARENT -- 布局高度 return layoutParams2 end local function getLayoutParams() LayoutParams = WindowManager.LayoutParams layoutParams = luajava.new(LayoutParams) if (Build.VERSION.SDK_INT >= 26) then -- 设置悬浮窗方式 layoutParams.type = LayoutParams.TYPE_APPLICATION_OVERLAY else layoutParams.type = LayoutParams.TYPE_PHONE end layoutParams.format = PixelFormat.RGBA_8888 -- 设置背景 layoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL -- 焦点设置Finish layoutParams.gravity = Gravity.TOP|Gravity.LEFT -- 重力设置 layoutParams.width = LayoutParams.WRAP_CONTENT -- 布局宽度 layoutParams.height = LayoutParams.WRAP_CONTENT -- 布局高度 return layoutParams end local function particle() local webView = luajava.webView(function(webView) webView:loadData([[ 炫彩流光圆环加载动画
]], 'text/html', 'UTF-8') webView:setBackgroundColor(0x0) end) return webView end parti=particle() function particlelz() local webView = luajava.webView(function(webView) webView:loadData([[
]], 'text/html', 'UTF-8') webView:setBackgroundColor(0x0) webView:setVerticalScrollBarEnabled(false) webView:setHorizontalScrollBarEnabled(false) webView:setScrollContainer(false) end) return webView end stitle2lz=particlelz() 显2=false function 隐藏2() 显2=true chuangk:setVisibility(View.GONE) control2:setVisibility(View.GONE) smallc:setVisibility(View.VISIBLE) end function 显示2() 显2=false mainLayoutParams.x=20 window:updateViewLayout(floatWindow, mainLayoutParams) if 显示==1 then chuangk:setVisibility(View.VISIBLE) smallc:setVisibility(View.GONE) else control2:setVisibility(View.VISIBLE) smallc:setVisibility(View.GONE) 隐藏() 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) if mainLayoutParams.x<=0 then mainLayoutParams.x=0 end mainLayoutParams.y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(floatWindow, mainLayoutParams) elseif Action == MotionEvent.ACTION_UP then mainLayoutParams.x = tonumber(x) + (event:getRawX() - RawX) if mainLayoutParams.x<=0 then mainLayoutParams.x=0 if 显示==0 and 显2==false then 隐藏2() end end if mainLayoutParams.x>=20 then if 显2==true then 显示2() end end mainLayoutParams.y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(floatWindow, mainLayoutParams) end end function getRes(x) return 获取图片("/sdcard/寒心/图片/"..x) end function getCorner(gtvb1,gtvb3,gtvb4,gtvb5,g1,g2,g3,g4) 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)--边框宽度和颜色 jianbians:setCornerRadii({g1,g1,g2,g2,g3,g3,g4,g4}) return jianbians 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 mainLayoutParams = getLayoutParams() import("android.media.AudioManager") audi = context:getSystemService("audio") audiotype = { AudioManager.STREAM_AL寒心, --手机闹铃的声音 AudioManager.STREAM_MUSIC, --手机音乐的声音 AudioManager.STREAM_NOTIFICATION, --系统提示的通知 AudioManager.STREAM_RING, --电话铃声的声音 AudioManager.STREAM_SYSTEM, --手机系统的声音 AudioManager.STREAM_VOICE_CALL, --语音电话的声音 AudioManager.STREAM_DTMF, --DTMF音调的声音 --AudioManager.STREAM_BLUETOOTH_SCO, } yinl = {} for i = 1,#audiotype do yinl[i] = {} yinl[i].type = audiotype[i] yinl[i].min = audi:getStreamMinVolume(audiotype[i]) yinl[i].max = audi:getStreamMaxVolume(audiotype[i]) yinl[i].now = audi:getStreamVolume(audiotype[i]) end yltype = 0 function jianting3(func) yinln = {} for i = 1,#audiotype do yinln[i] = {} yinln[i].type = audiotype[i] yinln[i].now = audi:getStreamVolume(audiotype[i]) if yinln[i].now > yinl[i].now then yinl[i].now = yinln[i].now if yltype == 1 then yltype = 0 func() end elseif yinln[i].now < yinl[i].now then yinl[i].now = yinln[i].now if yltype == 0 then yltype = 1 func() end end end end 寒心.controlWater = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX", { 1, 0.8, 0.9, 1 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 1,0.8,0.9,1 }):setDuration(time):start() end) end 寒心.controlSmall = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX", { 1, 0.7, 0.4, 0 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 1, 0.7, 0.4, 0 }):setDuration(time):start() end) end 寒心.controlBig = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX", { 0, 0.4, 0.7, 1 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 0, 0.4, 0.7, 1 }):setDuration(time):start() end) 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 gg.setVisible(false) 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', string.sub(sid,1,8), string.sub(sid,10,12), string.sub(sid,21,22)) end function getJMselect() local selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, getRes('jian')) selector:addState({ -android.R.attr.state_pressed }, getVerticalBG({0x00ffffff,0x00ffffff},20,2,0xff8d4bbb)) return selector end 寒心.menu = function(views) if isswitch then return false end isswitch = true local layout = { 'ui.ViewPager', layout_height='match_parent', layout_width='match_parent', focusable="false", focusableInTouchMode="false", } cebian={ LinearLayout, onClick=function() end, onTouch=hanshu, layout_height="match_parent", layout_width="60dp", orientation="vertical", gravity="center_horizontal", layout_weight=1, } jian=getRes('jian') jmselect={} for i=1,#stab do jmselect[i]=getJMselect() if 流光 then _ENV["jm"..i..'t']=luajava.loadlayout{ShimmerTextView, text=stab[i], textSize="13sp", textColor="#ffffff", reflectionColor='#8d4bbb', gravity='center', layout_height='20dp', layout_width='match_parent', background=jmselect[i], } else _ENV["jm"..i..'t']=luajava.loadlayout{TextView, text=stab[i], textSize="13sp", textColor="#ffffff", gravity='center', layout_height='20dp', layout_width='match_parent', background=jmselect[i], } end _ENV["jm"..i]=luajava.loadlayout({ LinearLayout, layout_height="wrap_content", layout_width="60dp", gravity="center", orientation="vertical", onClick=function() 切换(i) end, onTouch=hanshu, padding={'0dp','4dp','0dp','4dp'}, --onTouch=hanshu, _ENV["jm"..i..'t'] }) cebian[#cebian+1]=_ENV["jm"..i] tmp={ LinearLayout, layout_height="wrap_content", layout_width="match_parent", orientation="vertical", } for k=1,#views[i] do tmp[#tmp+1]=views[i][k] end _ENV["layout"..i]={ ScrollView, --orientation="vertical", layout_height="match_parent", layout_width="match_parent", tmp, --onTouch=Gundong, padding={"8dp","3dp","8dp","3dp"}, } layout[#layout + 1] =_ENV["layout"..i] end 当前ui=1 --jm1t:setTextColor(0xffE8AC3E) jm1t:setBackground(jian) ViewPager = ui.ViewPager(layout) luajava.setInterface(ViewPager, 'addOnPageChangeListener', {onPageSelected=function(view) view=tonumber(string.sub(view,1,1)) for i=1,#stab do --_ENV["jm"..i .."t"]:setTextColor(0xffffffff) _ENV["jm".. i .."t"]:setBackground(jmselect[i]) end 当前ui=view+1 --滚(当前ui) --_ENV["jm"..view+1 .."t"]:setTextColor(0xffE8AC3E) _ENV["jm"..view+1 .."t"]:setBackground(jian) end}) if 流光 then stit=luajava.loadlayout{ShimmerTextView, textSize="18sp", gravity='center_horizontal', layout_width='match_parent', shimmerEnable='true', reflectionColor="#8d4bbb"; textColor="#F9D5FF", text=大标题, } else stit=luajava.loadlayout{TextView, textSize="18sp", gravity='center_horizontal', layout_width='match_parent', textColor="#F9D5FF", text=大标题, } end ckou={ LinearLayout, layout_height="wrap_content", layout_width="wrap_content", elevation='3dp', layout_marginLeft='3dp', layout_marginRight='3dp', layout_marginBottom='3dp', layout_marginTop='3dp', background=newbg({0xaa161616,0xaa161616},0,0xaa161616,25,25,25,25), {LinearLayout, id=luajava.newId('cbscro'), onClick=function() end, onTouch=hanshu, elevation='3dp', layout_marginLeft='0dp', layout_marginRight='3dp', layout_marginBottom='0dp', layout_marginTop='0dp', background=newbg({0xaa161616,0xaa161616},0,0xaa161616,25,25,25,25), layout_height="match_parent", orientation='vertical', layout_width='60dp', cebian, { FrameLayout, layout_height='105dp', layout_width='60dp', padding={'0dp','0dp','0dp','5dp'}, {LinearLayout, layout_height='wrap_content', layout_width='60dp', layout_gravity='center_horizontal', gravity='center', id='canv', onClick=function() end, onTouch=hanshu, }, {LinearLayout, layout_height='68dp', layout_width='50dp', layout_gravity='bottom|center_horizontal', background = getRes("ret"), onClick=function() end, onTouch=hanshu, }, } }, {FrameLayout, id="parentv", {LinearLayout, layout_width="wrap_content", layout_height="match_parent", gravity="center", { LinearLayout, id='cvv', layout_width='wrap_content', layout_height='match_parent', gravity="center", } },ViewPager}, } extralis={LinearLayout, layout_height="wrap_content", layout_width="match_parent", id=luajava.newId("extralist"), orientation="vertical", } for k,v in pairs(ewsv) do extralis[#extralis+1]=ewsv[k] end function topSelect() local selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, getVerticalBG({0x22161616,0x22161616},30)) selector:addState({ -android.R.attr.state_pressed }, getVerticalBG({0x22161616,0x22161616},30)) return selector end topbar = luajava.loadlayout({ LinearLayout, layout_width="fill_parent", layout_height="35dp", background=getCorner({0xff181818,0xff181818},15,0,0xff232323,20,20,0,0), onClick=function() end, onTouch=hanshu, {LinearLayout, layout_width="35dp", layout_height="match_parent", gravity="center", { LinearLayout, gravity="center", background=获取图片(悬浮窗图标), layout_width = "20dp", layout_height = "20dp", layout_marginLeft = "5dp", onClick = 隐藏, onTouch = hanshu, } }, {LinearLayout, layout_width="wrap_content", layout_height="match_parent", gravity="center", { LinearLayout, id='cvv', layout_width='100dp', layout_height='match_parent', gravity="center", } }, {LinearLayout, layout_width="fill_parent", layout_marginLeft='-80dp', layout_weight=1, layout_height="match_parent", gravity="center", {LinearLayout, layout_height="match_parent", layout_width="80dp", background=topSelect(), onClick=function() end, gravity="center", onTouch=hanshu, {LinearLayout, layout_height="5dp", layout_width="60dp", id='tops', background=getVerticalBG({控件颜色,控件颜色},20) } } }, {LinearLayout, layout_width="35dp", layout_height="match_parent", gravity="center", { ImageView, padding = "5dp", id="lockui", src = getRes("heis"), background=getVerticalBG({0xffE6E6E6,0xffE6E6E6},90), layout_width = "20dp", layout_height = "20dp", layout_marginRight = "5dp", onClick = uiLock, onTouch = hanshu, } }, {LinearLayout, layout_width="35dp", layout_height="match_parent", gravity="center", { ImageView, padding = "5dp", src = getRes("heix"), background=getVerticalBG({0xffE6E6E6,0xffE6E6E6},90), layout_width = "20dp", layout_height = "20dp", layout_marginRight = "5dp", onClick = 隐藏, onTouch = hanshu, } } }) floatWindow = { FrameLayout, id = "motion", elevation = "10dp", onTouch = hanshu, onClick = function() end, layout_width = "wrap_content", orientation = "vertical", gravity = "center_vertical", layout_height = "wrap_content", { LinearLayout, id = "chuangk", visibility = "gone", layout_height='match_parent', layout_width='match_parent', orientation = "vertical", elevation='2dp', layout_marginLeft='2dp', layout_marginRight='2dp', layout_marginBottom='2dp', layout_marginTop='2dp', background=newbg({0xff2E2E2E,0xff2E2E2E},0,0xffffffff,25,25,25,25), topbar, {LinearLayout, layout_width='match_parent', layout_height='40dp', gravity='center', elevation='2dp', layout_marginTop='0dp', layout_marginBottom='3dp', layout_marginLeft='0dp', layout_marginRight='0dp', background=newbg({0xff181818,0xff181818},4,0xff181818,0,0,50,50), stit }, {LinearLayout, layout_width='match_parent', layout_height='40dp', background=getVerticalBG({0xaa161616,0xaa161616},180,0,0xffffffff), {LinearLayout, layout_weight=1, layout_height='34dp', layout_marginTop='3dp', layout_marginBottom='3dp', layout_marginLeft='3dp', layout_marginRight='3dp', layout_width='match_parent', padding='3dp', elevation='2dp', {ScrollView, id='ggscro', layout_height='match_parent', layout_width='match_parent', {LinearLayout, id='gggscro', orientation='vertical', layout_width='match_parent', layout_height='wrap_content', } },{EditText, visibility='gone', id=luajava.newId("tosearch"), layout_height='match_parent', layout_width='match_parent', padding='-8dp', hint = "请输入需要搜索的音乐关键词", gravity = "center", textColor='#000000', layout_marginLeft="0dp", textSize = "12sp", background = getVerticalBG({ 0x00262626,0x00262626 },15,5,0x00ffffff), } },{ImageView, id='musici', layout_width='34dp', layout_height='match_parent', gravity='center', elevation='2dp', layout_marginTop='3dp', layout_marginBottom='4dp', layout_marginLeft='4dp', layout_marginRight='4dp', background=getVerticalBG({0x00ffffff,0x00ffffff},360,4,0xffffffff), src=getRes('bm_music'), padding='4dp', onTouch=hanshu,onClick=searchmenu }, --topbar }, ckou, }, {LinearLayout, visibility="gone", id=luajava.newId("extra"), layout_height='match_parent', layout_width='match_parent', orientation="vertical", background=getVerticalBG({0xffffffff,0xffffffff},25,2,0xaa161616), {LinearLayout, layout_width="match_parent", layout_height="40dp", background=getCorner({0xff161616,0xff161616},25,nil,nil,25,25,0,0), onClick=function() end, onTouch=hanshu, gravity="center_vertical", {ImageView, id=luajava.newId("backv"), layout_height="34dp", layout_width="34dp", src=getRes("opoback"), background=getVerticalBG({0x00ffffff,0x00ffffff},360,10,0xffffffff), padding="8dp", onClick=关闭窗口, layout_marginLeft="10dp", }, {TextView, id=luajava.newId("extrat"), text="标题", layout_height="match_parent", layout_width="match_parent", layout_weight=1, gravity="center", }, {ImageView, id=luajava.newId("suov"), layout_height="34dp", layout_width="34dp", src=getRes("heix"), background=getVerticalBG({0x00ffffff,0x00ffffff},360,10,0xffffffff), padding="10dp", onClick=隐藏, layout_marginRight="10dp", } }, {ScrollView, padding="10dp", layout_height="match_parent", layout_width="match_parent", extralis } }, { ImageView, id = "control2", background = 获取图片(悬浮窗图标), layout_width = "40dp", layout_height = "40dp", onTouch = hanshu, onClick = 隐藏, },{LinearLayout, id="smallc", visibility="gone", onClick=显示2, onTouch=hanshu, layout_height="56dp", layout_width="20dp", gravity="center", background=getCorner({0x88161616,0x88161616},12,0,0xff232323,0,35,35,0), },{FrameLayout, id='reme', layout_height='match_parent', layout_width='match_parent', elevation='3dp', { ImageView, id="sf", padding = "2dp", src = getRes("sscoR"), layout_width = "30dp", layout_height = "30dp", layout_marginRight = "0dp", layout_marginBottom = "0dp", layout_gravity = "right|bottom", onClick = function() end, onTouch = suofang, }} } local function invoke() local ok local RawX, RawY, x, y mainLayoutParams = getLayoutParams() mainLayoutParams.x = 10 mainLayoutParams.y = dheight/4 floatWindow = luajava.loadlayout(floatWindow) local function invoke2() window:addView(floatWindow, mainLayoutParams) canv:addView(parti) cvv:addView(stitle2lz) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) local isMove end invoke(swib1,swib2) gg.setVisible(false) musici:setColorFilter(0xffFF0F00) luajava.getIdView("backv"):setColorFilter(控件颜色) luajava.getIdView("suov"):setColorFilter(控件颜色) luajava.getIdView("tosearch"):setHintTextColor(控件颜色) 隐藏() if 流光 then shimmer = Shimmer(); luajava.runUiThread(function() shimmer:setDuration(2000) shimmer:setStartDelay(50) shimmer:start(stit) for i=1,#stab do shimmer:start(_ENV["jm"..i..'t']) end end) end setOnExitListener(function() tuichu=1 luajava.setFloatingWindowHide(false) luajava.post(function() window:removeView(floatWindow) end) luajava.setFloatingWindowHide(false) end) luajava.setFloatingWindowHide(true) qhkai = 0 qiehuan = function() if qhkai == 0 then qhkai = 1 draw.remove() luajava.runUiThread(function() 寒心.controlSmall(floatWindow,400) end) gg.sleep(400) luajava.runUiThread(function() floatWindow:setVisibility(View.GONE) end) else qhkai = 0 huiz() luajava.runUiThread(function() floatWindow:setVisibility(View.VISIBLE) end) luajava.runUiThread(function() 寒心.controlBig(floatWindow,400) end) end end if loadBox~=nil then loadBox['关闭']() end huiz() if ylfunc~=nil then ylfunc() end while true do if tuichu == 1 then break end if 音量键 then jianting3(qiehuan) end gg.sleep(300) end end isLocked=false inlock=getRes("heisuo") uiunlock=getRes("heis") function uiLock() vibra:vibrate(15) if isLocked==false then isLocked=true luajava.newThread(function() gg.toast("UI缩放已锁定") end):start() lockui:setImageDrawable(inlock) else isLocked=false luajava.newThread(function() gg.toast("UI缩放已解锁") end):start() lockui:setImageDrawable(uiunlock) end end function tiaose() if 颜色表==nil then return 0 end local tt={ LinearLayout, gravity="center_vertical", layout_height="wrap_content", layout_width='40dp' } for i=1,#颜色表 do tt[#tt+1]={ LinearLayout, layout_height="33dp", layout_width="33dp", gravity="center", id=luajava.newId("yans"..i), onClick=function() xuanse(i) end, {LinearLayout, layout_width="25dp", layout_height="25dp", background=getVerticalBG({颜色表[i],颜色表[i]},15) } } end local t=luajava.loadlayout{ HorizontalScrollView, layout_height="40dp", layout_width="wrap_content", tt } return t end xze2=getVerticalBG({0x00ffffff,0x00ffffff},15,3,0xff232323) xze=getVerticalBG({0x00ffffff,0x00ffffff},15,3,0xff232323) function xuanse(x) for i=1,#颜色表 do luajava.getIdValue("yans"..i):setBackground(empty) end luajava.getIdValue("yans"..x):setBackground(xze) changeColor(颜色表[x]) end function 滚(x) luajava.runUiThread(function() local cbsc=luajava.getIdView("cbscro") local targetLeft = _ENV["jm"..x]:getTop()/2 cbsc:smoothScrollTo(0,targetLeft); end) end function 切换(x) if type(ret)~="table" then log_init() return 0 end 窗口=false luajava.runUiThread(function() local searchUI = luajava.getIdView("tosearch") if x==5 then searchUI:setVisibility(View.VISIBLE) ggscro:setVisibility(View.GONE) else searchUI:setVisibility(View.GONE) ggscro:setVisibility(View.VISIBLE) end 当前ui=x ViewPager:setCurrentItem(x-1) end) end 显示=0 function 隐藏() if 显2==true then return 0 end luajava.runUiThread(function() if 显示 == 0 then control2:setVisibility(View.GONE) sf:setVisibility(View.VISIBLE) 显示 = 1 if 窗口 then luajava.getIdView("extra"):setVisibility(View.VISIBLE) else chuangk:setVisibility(View.VISIBLE) end YoYoImpl:with("ZoomInLeft"):duration(300):playOn(floatWindow) floatWindow:setBackground(beij) mainLayoutParams.height = mubx mainLayoutParams.width = muby mainLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL window : updateViewLayout (floatWindow , mainLayoutParams) else sf:setVisibility(View.GONE) if tuichuing then return 0 end tuichuing=true luajava.newThread(function() luajava.runUiThread(function() balt1.onClick = function() result = 1 dialog:dismiss() exit() end balt2.onClick = function() result = 2 dialog:dismiss() exit() end dialog:setView(layoutabc) dialog:setOnDismissListener(luajava.createProxy('android.content.DialogInterface$OnDismissListener', { onDismiss = function(view) exit() end})) local function invoke() dialog = dialog:create() local window = dialog:getWindow() window:setType(Build.VERSION.SDK_INT >= 26 and 2038 or 2002) window:setBackgroundDrawable(jianbian6) window:getDecorView():setPadding(0,0,0,0) dialog:show() --window:setLayout(1400,1000) YoYoImpl:with("FadeIn"):duration(300):playOn(layoutabc)---秋思 end luajava.handlerPost(invoke) block('join') return result end) gg.sleep(300) luajava.runUiThread(function() chuangk:setVisibility(View.GONE) floatWindow:setBackground(beij2) YoYoImpl:with("FadeIn"):duration(200):playOn(floatWindow) luajava.getIdView("extra"):setVisibility(View.GONE) mainLayoutParams.width = LayoutParams.WRAP_CONTENT -- 布局宽度 mainLayoutParams.height = LayoutParams.WRAP_CONTENT -- 布局高度 control2:setVisibility(View.VISIBLE) 显示 = 0 mainLayoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE window : updateViewLayout (floatWindow , mainLayoutParams) end) tuichuing=false end):start() end end) end function 打开窗口(x) if ewsv[x]==nil then gg.alert("没有窗口“"..x.."”\n请检查是否写错了名字或者没创建") return 0 end luajava.runUiThread(function() 窗口=true chuangk:setVisibility(View.GONE) luajava.getIdView("extra"):setVisibility(View.VISIBLE) for k,v in pairs(ewsv) do if k~=x then v:setVisibility(View.GONE) end end luajava.getIdView("extrat"):setText(x) ewsv[x]:setVisibility(View.VISIBLE) end) end function 关闭窗口() luajava.getIdView("extra"):setVisibility(View.GONE) chuangk:setVisibility(View.VISIBLE) 窗口=false vibra:vibrate(10) end ewsv={} function 创建窗口(name,v) if type(v)~="table" then gg.alert("窗口"..name.."格式错误") end local t={ LinearLayout, orientation="vertical", visibility="gone", layout_width="match_parent", } for i=1,#v do t[#t+1]=v[i] end ewsv[name]=luajava.loadlayout(t) end switches = {} function 开关3(name,func1,func2,nid) local sname = nid local localname=name name = name..guid() _ENV[name] = "关" if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then local outfunc=function() namers = _ENV[name] if namers ~= "开" then vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid.."k"):setVisibility(View.GONE) YoYoImpl:with("ZoomInLeft"):duration(600):playOn(switches["2s"..sname]) luajava.getIdValue(nid.."g"):setVisibility(View.VISIBLE) luajava.getIdValue(nid):setBackground(checkbg) end) _ENV[name] = "开" colorvs[nid]={true,"switch"} pcall(func1) uiadtext(localname.." 已开启.","#ffffff") else vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid.."g"):setVisibility(View.GONE) YoYoImpl:with("ZoomInRight"):duration(600):playOn(switches["1s"..sname]) luajava.getIdValue(nid.."k"):setVisibility(View.VISIBLE) luajava.getIdValue(nid):setBackground(checkbga) end) colorvs[nid]={false,"switch"} _ENV[name] = "关" pcall(func2) uiadtext(localname.." 已关闭.","#545454") end end if localname=="摇一摇隐藏UI" then yyfunc=outfunc end if localname=="音量键隐藏UI" then ylfunc=outfunc end return outfunc end end function uiadtext(txt,color,size) if not txt then txt = "" end if not color then color = "#000000" end if not size then size = "10sp" end local tmp=luajava.loadlayout( { TextView, text = string.fromHtml(" "..getTimeStamp(os.time()).." "..txt..""), textSize = size, --textColor = color, gravity="left", layout_width = "wrap_content", }) luajava.runUiThread (function () local searchUI = luajava.getIdView("tosearch") searchUI:setVisibility(View.GONE) ggscro:setVisibility(View.VISIBLE) end) luajava.post(function() gggscro:addView(tmp) end) luajava.newThread(function() gg.sleep(100) luajava.post(function() ggscro:fullScroll(View.FOCUS_DOWN) end) end):start() end function searchmenu() luajava.runUiThread (function () local searchUI = luajava.getIdView("tosearch") if tonumber(tostring(searchUI: getVisibility ())) == 8.0 then searchUI:setVisibility(View.VISIBLE) ggscro:setVisibility(View.GONE) else luajava.newThread(searchmusic):start() end end) end function getTimeStamp(t) local str = os.date("%m-%d %H:%M:%S",t) return str end function getShape(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(14,tmp3)--边框宽度和颜色 return jianbians end function getShape2(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(24,tmp3)--边框宽度和颜色 return jianbians end local ui = require('ui') function 寒心.switch(name,func1,func2,miaoshu) if not checkbg then checkbg = getShape2( 45, { 控件颜色,控件颜色 }, 4,控件颜色) checkbga = getShape2( 45, { 0xffaaaaaa,0xffaaaaaa }, 4,0xffaaaaaa) switchbg1 = getShape( 45, { 0xffffffff,0xffffffff }, 4,0xffffffff) switchbg2 = luajava.loadlayout { GradientDrawable , color = "#ffffff" , cornerRadius = 360 } end local nid = name..guid() local func = 开关3(name,func1,func2,nid) if not name then name = "未设置" end switches["1s"..nid] = luajava.loadlayout { FrameLayout, layout_width = '40dp', layout_height = '20dp', gravity = "center_vertical", padding = { "1dp","0dp","1dp","0dp" }, { LinearLayout, layout_gravity = "left|center_vertical", id = luajava.newId(nid.."k"), background = switchbg1, onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '17dp', layout_height = '17dp', }, } switches["2s"..nid] = luajava.loadlayout { FrameLayout, onClick = function() if type(ret)~="table" then log_init() return 0 end luajava.newThread(function() func() end):start() end, layout_width = '40dp', layout_height = '20dp', gravity = "center_vertical", padding = { "1dp","0dp","1dp","0dp" } , { LinearLayout, visibility = "gone", layout_gravity = "right|center_vertical", id = luajava.newId(nid.."g"), background = switchbg2, onClick = function() if type(ret)~="table" then log_init() return 0 end luajava.newThread(function() func() end):start() end, layout_width = '17dp', layout_height = '17dp', } } local rest = luajava.loadlayout({ LinearLayout, elevation = "5dp", layout_width = 'fill_parent', layout_height = "48dp", gravity = "center_vertical", { LinearLayout, layout_width = 'fill_parent', layout_height = "40dp", gravity = "center_vertical", background = luajava.loadlayout { GradientDrawable , color = 0xaa161616 , cornerRadius = 35 } ,padding = { "0dp","0dp","6dp","0dp" }, { TextView, gravity = "top", text = name, textColor = "#d7d7d7", textSize = "13sp", layout_weight = 1, layout_width = '80dp', layout_marginLeft = "10dp", layout_marginRight = "20dp", }, { TextView, gravity = "center", layout_height = "match_parent", text = miaoshu, textSize = "11sp", layout_width = "wrap_content", layout_marginLeft = "-50dp", layout_weight = 1, textColor = "#A5A5A5", }, { FrameLayout, id=luajava.newId(nid), background = checkbga, elevation = "1dp", onClick = function() if type(ret)~="table" then log_init() return 0 end luajava.newThread(function() func() end):start() end, layout_width = 'wrap_content', layout_height = 'wrap_content', gravity = "left", padding="1dp", switches["1s"..nid],switches["2s"..nid] }} }) return rest end switchs={} suofang = function(v, event) if isLocked then hanshu(v,event) return 0 end local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event:getRawX() RawY = event:getRawY() hx = mainLayoutParams.height hy = mainLayoutParams.width if hx == 0 or hx==-2 then hx = 810 hy = 1150 end elseif Action == MotionEvent.ACTION_MOVE then isMove = true mubx = tonumber(hx) + (event:getRawY() - RawY) if mubx >= 250 and mubx <= 11100 then mainLayoutParams.height = mubx end muby = tonumber(hy) + (event:getRawX() - RawX) if muby >= 250 and muby <= 24500 then mainLayoutParams.width = muby end if muby<=250 and mubx<=250 then muby=250 mubx=250 --隐藏() return 0 end window:updateViewLayout(floatWindow, mainLayoutParams) end end function 开关5(name,func1,func2,nid) local sname = nid local localname=name name = name..guid() _ENV[name] = "关" if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then vibra:vibrate(9) luajava.runUiThread(function() if type(ret)~="table" then log_init() return 0 end luajava.getIdValue(nid.."t"):setTextColor(控件颜色) luajava.getIdValue(nid.."p"):setColorFilter(控件颜色) colorvs[nid.."p"]={true,"img"} colorvs[nid.."t"]={true,"txt"} --寒心.controlWater(switchs[nid],300) end) _ENV[name] = "开" pcall(func1) uiadtext(localname.." 已开启.","#ffffff") else vibra:vibrate(9) luajava.runUiThread(function() if type(ret)~="table" then log_init() return 0 end luajava.getIdValue(nid.."t"):setTextColor(0xffd7d7d7) luajava.getIdValue(nid.."p"):setColorFilter(0xffd7d7d7) colorvs[nid.."p"]={false,"img"} colorvs[nid.."t"]={false,"txt"} --寒心.controlWater(switchs[nid],300) end) _ENV[name] = "关" pcall(func2) uiadtext(localname.." 已关闭.","#545454") end end end end ckbg=getVerticalBG({0xff3A3A3C,0xff3A3A3C},360) 寒心.controlRotation9 = function(control, time,t) luajava.runUiThread(function() import "android.view.animation.Animation" import "android.animation.ObjectAnimator" xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotation", { time,t }) xuanzhuandonghua:setRepeatCount(0) xuanzhuandonghua:setRepeatMode(Animation.RESTART) xuanzhuandonghua:setDuration(400) xuanzhuandonghua:start() end) end function visi (tid , ttid) vibra:vibrate(4) local tview = luajava.getIdValue (tid) local ttview = luajava.getIdValue (ttid) if not tview then return 0 end if tonumber (tostring (tview : getVisibility ())) == 8.0 then tview : setVisibility (View.VISIBLE) YoYoImpl:with("FadeIn"):duration(200):playOn(boxes[tid]) 寒心.controlRotation9(boxpic[tid],0,90) boxpic[tid]:setColorFilter(控件颜色) colorvs[tid]={true,"box"} else tview : setVisibility (View.GONE) 寒心.controlWater (_ENV [tid.."7"] , 200) 寒心.controlRotation9(boxpic[tid],90,0) boxpic[tid]:setColorFilter(nil) colorvs[tid]={false,"box"} end end boxes = {} boxpic = {} function 寒心.box (views) local tid = "box"..guid () boxpic[tid] = luajava.loadlayout { ImageView , src = getRes("hei_right"), layout_width = "24dp" , layout_height = "24dp" , } local ttid = tid.."7" local t1id = guid () firadio = { LinearLayout , layout_width = 'fill_parent' , layout_height = "wrap_content" , layout_marginTop = "2dp" , layout_marginBottom = "2dp" , orientation = "vertical" , } if type (views [1]) == "string" or type (views [1]) == "number" then firadio [# firadio + 1] = { LinearLayout , layout_width = 'fill_parent' , layout_height = "40dp" , gravity = "center_vertical" , layout_marginTop = "2dp" , layout_marginBottom = "4dp" , onClick = function () if type(ret)~="table" then log_init() return 0 end visi (tid , ttid) end , background = getButtonBG(), { TextView , text = views [1] , textSize = "13sp" , layout_marginLeft = "15dp" , layout_width = "match_parent" , layout_weight=1, textColor = "#ffffff" , gravity = "left" , },{ LinearLayout , padding={"0dp","0dp","10dp","0dp"}, layout_width = "30dp" , layout_height = "30dp" , gravity = "center", boxpic[tid], } } else gg.alert ("寒心.box的table内第一个元素必须是string") os.exit () end radios = { LinearLayout , layout_marginLeft = "0dp" , layout_marginRight = "0dp" , orientation = "vertical" , visibility = "gone" , id = luajava.newId (tid) , padding = "0dp" , layout_width = 'fill_parent' , } for i = 2 , # views do radios [# radios + 1] = views [i] end boxes[tid] = luajava.loadlayout(radios) firadio [# firadio + 1] = boxes[tid] _ENV [t1id] = luajava.loadlayout (firadio) return _ENV [t1id] end buts={} heir=getRes("heir") function 寒心.button(txt,func,txtc) if not txt then txt = "未设置" end if not txtc then txtc="#ffffff" end local tid="Cbutton"..guid() buts[tid]=luajava.loadlayout( { LinearLayout, layout_width = 'match_parent', layout_height = "wrap_content", { LinearLayout, layout_width = "fill_parent", gravity = "center_vertical", layout_marginTop = "5dp", layout_marginBottom = "5dp", background = getButtonBG(), padding="10dp", onClick = function() if type(ret)~="table" then log_init() return 0 end 寒心.controlWater(buts[tid],300) uiadtext('执行 '..txt,"#ffffff") vibra:vibrate(10) luajava.newThread(func):start() end, { TextView, --id = luajava.newId(tid), textColor = txtc, text = txt, textSize = "13sp", layout_height = "wrap_content", layout_width = "fill_parent", layout_weight=1, },{ImageView, src=heir, layout_height="14dp", layout_width="14dp", } }}) return buts[tid] end function getButtonBG() local selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, getVerticalBG({0x55000000,0x55000000},35)) selector:addState({ -android.R.attr.state_pressed }, getVerticalBG({0xaa161616,0xaa161616},35)) return selector end radiog={} function 寒心.radio (cklist) if not radoff then radon=getVerticalBG({0xffffffff,0xffffffff},360,20,控件颜色) radoff=getVerticalBG({0x00ffffff,0x00ffffff},360,8,0xffaaaaaa) end local rid=guid() radiog[rid]={} rest = { LinearLayout , layout_width = 'match_parent' , layout_height = "wrap_content" , layout_marginTop = "10dp" , gravity = "top" , orientation = "vertical" , } if type (cklist [1]) == "string" then rds=2 rest [# rest + 1] = { TextView , gravity = "left" , padding="5dp", text = cklist [1] , textSize = "13sp" , textColor = "#d7d7d7" , layout_width = 'fill_parent' , layout_height = 'wrap_content' , layout_marginLeft = "10dp" , layout_marginRight = "5dp" , layout_marginTop = "0dp" , layout_marginBottom = "0dp" , } else rds=1 end local restt={ LinearLayout , layout_width = 'match_parent' , layout_height = "wrap_content" , layout_marginTop = "10dp" , gravity = "top" , orientation = "vertical" , background=getVerticalBG({0xaa161616,0xaa161616},45), padding={"0dp","14dp","0dp","10dp"}, } for i = rds , # cklist do local name = cklist [i] [1] local func = cklist [i] [2] if not name then name = "未设置" end nid = name..guid () radiog[rid][nid]=false local func = radin(rid,nid,func) local tid = nid..guid () _ENV [tid] = luajava.loadlayout ( { LinearLayout , layout_width = '250dp' , layout_height = "30dp" , layout_marginTop = "5dp" , layout_marginBottom = "15dp" , layout_marginLeft = "4dp" , layout_marginRight = "10dp" , gravity = "center_vertical" , onClick = function () if type(ret)~="table" then log_init() return 0 end uiadtext('执行 '..name,"#ffffff") 寒心.controlWater (_ENV [tid] , 200) func() end , { ImageView , id = luajava.newId (nid) , layout_width = '20dp' , layout_height = "20dp" , layout_marginLeft = "5dp" , layout_marginRight = "0dp" , background =radoff , } , { TextView , gravity = "top" , text = name , textSize="13sp", textColor = "#d7d7d7" , layout_width = 'wrap_content' , layout_height = 'wrap_content' , layout_marginLeft = "10dp" , layout_marginRight = "5dp" , } }) restt [# restt + 1] = _ENV [tid] end rest [# rest + 1] = restt return luajava.loadlayout (rest) end function radin(rid,nid,func) return function() for k,v in pairs(radiog[rid]) do colorvs[k]={false,"rad"} luajava.getIdValue(k):setBackground(radoff) if k==nid and v~=true then luajava.getIdValue(k):setBackground(radon) colorvs[k]={true,"rad"} v=true luajava.newThread(func):start() end end end end 当前ui=1 function changeColor(co) 控件颜色=co luajava.runUiThread(function() if type(ret)~="table" then log_init() return 0 end --_ENV["jm"..当前ui.."t"]:setTextColor(控件颜色) luajava.getIdView("backv"):setColorFilter(控件颜色) luajava.getIdView("suov"):setColorFilter(控件颜色) tops:setBackground(getVerticalBG({控件颜色,控件颜色},30)) checkbg = getShape2(45,{控件颜色,控件颜色},4,控件颜色) radon=getVerticalBG({0xffffffff,0xffffffff},360,20,控件颜色) luajava.getIdView("tosearch"):setHintTextColor(控件颜色) --uiadtext('已刷新控件颜色',控件颜色) musici:setColorFilter(控件颜色) for k,v in pairs(colorvs) do if v[1]==true then if v[2]=="switch" then luajava.getIdValue(k):setBackground(checkbg) elseif v[2]=="box" then boxpic[k]:setColorFilter(控件颜色) elseif v[2]=="txt" then luajava.getIdValue(k):setTextColor(控件颜色) elseif v[2]=="img" then luajava.getIdValue(k):setColorFilter(控件颜色) elseif v[2]=="rad" then luajava.getIdValue(k):setBackground(radon) elseif v[2]=="seek" then luajava.getIdView(k):setProgressDrawable( getVerticalBG({控件颜色,控件颜色},45)) end end end end) end currentIndex = 1 -- 定义一个函数来打印当前遍历到的table项,并更新索引位置 function 预置颜色() -- 获取当前遍历到的项 local currentItem = 颜色表[currentIndex] -- 打印当前项 changeColor(currentItem) -- 更新索引位置 currentIndex = currentIndex + 1 -- 如果索引已经达到最大值,则重置为1,回到第一项 if currentIndex > #颜色表 then currentIndex = 1 end end function 寒心.image(img,height,width,pad,func) if not func then func=function() end end if not pad then pad="0dp" end if not height then height="80dp" end if not width then width="80dp" end return luajava.loadlayout({ LinearLayout, layout_height="wrap_content", layout_width="fill_parent", gravity="center", { ImageView, layout_height=height, layout_width=width, padding=pad, src=获取图片(img), onClick=function() if type(ret)~="table" then log_init() return 0 end luajava.newThread(func):start() end, }}) end function 寒心.edit (name , hint) _ENV [name] = name..guid () if not hint then hint = name end rest = luajava.loadlayout ( { LinearLayout , layout_width = 'fill_parent' , { LinearLayout , layout_width = 'fill_parent' , layout_height = "40dp" , layout_marginTop = "5dp" , layout_marginBottom = "5dp" , layout_marginLeft = "0dp" , layout_marginRight = "0dp" , gravity = "center_vertical" , { EditText , background = getButtonBG(), gravity = "center" , hint = hint , textColor=ffffff, textSize = "13sp", layout_height = "40dp" , layout_marginBottom = "-2dp", id=luajava.newId(_ENV [name]), layout_width = 'fill' , } } }) luajava.getIdValue(_ENV [name]):setHintTextColor(0xffd7d7d7) return rest end function 寒心.edit (name , hint) if not hint then local hint = "" end _ENV [name] = name..guid () if not name then name = "点击输入文字" end rest = luajava.loadlayout ( { LinearLayout , layout_width = 'fill_parent' , { LinearLayout , layout_width = 'fill_parent' , layout_height = "30dp" , layout_marginTop = "5dp" , layout_marginBottom = "5dp" , layout_marginLeft = "0dp" , layout_marginRight = "0dp" , gravity = "center_vertical" , background = luajava.loadlayout { GradientDrawable , color = "#ff191A1D" , cornerRadius = 12 } , { EditText , gravity = "top" , hint = hint , textSize = "15sp", layout_height = "45dp" , layout_marginBottom = "-2dp", id = luajava.newId (_ENV [name]) , layout_width = 'fill' , layout_marginLeft = "10dp" , layout_marginRight = "10dp" , } } }) return rest end function 寒心.getedit (name) edit = tostring (luajava.getIdValue (_ENV [name]) : getText ()) return edit end function 寒心.setedit (name , txt) txt = tostring (txt) luajava.runUiThread (function () luajava.getIdValue (_ENV [name]) : setText (txt) end ) end chazhi={} chajv={} function 寒心.seek(name,bian,smin,smax,nows) _ENV[bian] =nows local thum= getVerticalBG({0xffffffff,0xffffffff},4,10,switch颜色) thum:setSize(30, 40) smin=tonumber(smin) smax=tonumber(smax) chajv[bian]=smax-smin chazhi[bian]=1-smin if smin==nil then smin=1 smax=10 end truesmin=1 truesmax=truesmin+chajv[bian] if not nows then nows = smin tnows=(smin-nows) else tnows=(nows-smin)+1 end if _ENV[bian] == nil then _ENV[bian] = 1.0 end if not name then name = "未设置" end local names = name..guid() rest = luajava.loadlayout({ LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", { LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", layout_marginTop = "5dp", layout_marginBottom = "5dp", gravity = "center_vertical", background = getVerticalBG({0xaa161616,0xaa161616},45), { TextView, padding={"5dp","10dp","0dp","10dp",}, gravity = "top", textColor="#ffffff", text = name..":"..nows, id = luajava.newId(names), layout_width = '100dp', --layout_marginLeft = "5dp", textSize='13sp', layout_marginRight = "0dp", }, { SeekBar, layout_width = 'fill_parent', layout_weight=1, id=luajava.newId(name.."seekbar"), min = truesmin, max = truesmax, progress=tnows, --paddingStart="0dp", --paddingEnd="0dp", progressDrawable={ getVerticalBG({控件颜色,控件颜色},45)}, thumb=thum, progressHeight="10dp", onSeekBarChange = { onProgressChanged = function(SeekBar, var2, var3) if not var3 then return end local resultvar=tonumber(string.sub(var2,0,-3))-chazhi[bian] luajava.runUiThread(function() if type(ret)~="table" then log_init() return 0 end luajava.getIdValue(names):setText(name..":".. resultvar) end) _ENV[bian] = resultvar end }} }}) colorvs[name.."seekbar"]={true,"seek"} return rest end function 寒心.text(text,color,size,isjz) if not color then color="#ffffff" end if isjz then return luajava.loadlayout( { TextView, text=text, textColor=color, textSize=size, gravity="center", layout_height="wrap_content", layout_width="match_parent", autoSizeTextType="uniform", }) else return luajava.loadlayout({ TextView, text=text, textColor=color, textSize=size, layout_height="wrap_content", layout_width="match_parent", autoSizeTextType="uniform", }) end end wyyget="http://120.24.160.246:3000/" function huoqu(txt) return table.json(gg.makeRequest(wyyget.."song/url/v1?id="..txt.."&level=standard").content) end function souyy(txt) return table.json(gg.makeRequest("http://music.163.com/api/search/get?s="..txt.."&type=1&offset=0&total=true&limit=10").content) end function develo(tabb) gg.alert(tostring(tabb)) end function develo2(tabb) gg.copyText(tostring(tabb)) end function tablekIn(tbl, key) if tbl == nil then return false end for k, v in pairs(tbl) do if k == key then return true end end return false end function getbg() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(15) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({0x11000000,0x11000000}) jianbians:setStroke(4,"0x33000000")--边框宽度和颜色 selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, luajava.loadlayout { GradientDrawable, color = "#88000000", cornerRadius = 12 }) -- 点击时候的背景 selector:addState({ -android.R.attr.state_pressed }, getjb()) -- 没点击的背景 return selector end function searchmusic() if not lasttm then lasttm = os.time() else if os.time() - lasttm <= 5 then gg.alert("请在" .. (5 - (os.time() - lasttm)) .. "秒冷却后搜索") return 0 end end if not wryt then else runnable = luajava.getRunnable(function() luajava.getIdView("搜索列表"):removeView(wyr) end) handler = luajava.getHandler() handler:post(runnable) end 切换(5) luajava.runUiThread(function() mustxt = luajava.getIdView("tosearch"):getText() luajava.getIdView("tosearch"):setText('') --searchmenu() end) gg.sleep(100) if string.len(tostring(mustxt)) <= 2 or tostring(mustxt) == nil then gg.alert("至少输入2个字符") return 0 end mustxt = tostring(mustxt) lasttm = os.time() mustable = souyy(mustxt) mustable = mustable.result.songs -- print(mustable) musnames = {} musids = {} musarts = {} musictable = {} for k, v in pairs(mustable) do musictable[#musictable + 1] = v end -- gg.alert(tostring(mustable)) -- gg.alert(tostring(musictable)) -- gg.copyText(tostring(mustable)) -- gg.alert(#musictable) wrfun = {} wryt = { LinearLayout, id = luajava.newId("搜索结果"), layout_marginTop = "5dp", layout_marginBottom = "5dp", orientation = "vertical" } for i = 1, #musictable do musid = musictable[i].id -- print('musid',musid) -- musid = musictable[i].album.id -- print('musid',musid) musids[#musids + 1] = musid musname = musictable[i].name if tablekIn(musictable[i], "transNames") ~= false then musname = musname .. "\n(" .. musictable[i].transNames[0] .. ")" end musnames[#musnames + 1] = musname musart = musictable[i].artists[0].name musarts[#musarts + 1] = musart wryt[#wryt + 1] = { LinearLayout, orientation = "vertical", layout_marginTop = "2dp", layout_width = "match_parent", layout_marginBottom = "2dp", background = getbg(), id = luajava.newId("音" .. musid), onClick = function() thread = luajava.getThread(function() bofang(musname, musid) end) thread:start() end, { TextView, layout_marginTop = "5dp", textSize = "15sp", textColor = "#EF8A5C", layout_marginBottom = "0dp", text = musname, layout_hight = "10dp", layout_width = "match_parent", gravity = "center" }, { TextView, layout_marginTop = "0dp", textColor = "#535353", textSize = "12sp", layout_marginBottom = "5dp", text = musart, layout_hight = "10dp", layout_width = "match_parent", gravity = "center" } } -- gg.sleep(50) wryt[#wryt].onClick = function() -- (function() -- bofang(musnames[i] .. musarts[i], musids[i]) -- end):start() luajava.startThread(function() bofang(musnames[i] .. musarts[i], musids[i]) end) end end wyr = luajava.loadlayout(wryt) runnable = luajava.getRunnable(function() luajava.getIdView("搜索列表"):addView(wyr) end) handler = luajava.getHandler() handler:post(runnable) -- gg.alert(tostring(wrfun)) end function bofang(gqmz, gdmn) luajava.runUiThread(function() if type(ret)~="table" then log_init() return 0 end luajava.getIdView("搜索结果"):setVisibility(View.GONE) luajava.getIdView("加载"):setVisibility(View.VISIBLE) end) io.open(XEY1,"w"):write(XEY) gg.playMusic("http://music.163.com/song/media/outer/url?id="..gdmn..".mp3" or huoqu(gdmn).data[0].url) uiadtext("正在播放 "..gqmz,"#ffffff") luajava.runUiThread(function() luajava.getIdView("加载"):setVisibility(View.GONE) luajava.getIdView("搜索结果"):setVisibility(View.VISIBLE) end) end jiaz = { TextView, text = "正在加载歌曲资源", visibility = "gone", id = luajava.newId("加载"), textSize = "20sp", gravity = "center", textColor="#000000", } wyylog = luajava.loadlayout({ LinearLayout, orientation="vertical", layout_width = "match_parent", { ScrollView, layout_hight = "220dp", gravity="center_horizontal", layout_width = "match_parent", { LinearLayout, layout_width = "match_parent", {LinearLayout, padding="4dp", gravity="center", orientation="vertical", 寒心.text('请在上方搜索音乐关键词',0xff245AFF) }, id = luajava.newId("搜索列表"), layout_hight = "200dp", orientation = "vertical", layout_width = "match_parent", gravity="center_horizontal", jiaz } } }) if loadBox~=nil then loadBox['关闭']() end function getShape22(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({ tmp1,tmp2 }) jianbians:setStroke(3,tmp3)--边框宽度和颜色 return jianbians end function getShape00(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({ tmp1,tmp2 }) return jianbians end function launch(appstart) local loadBox = getLoadingBox('正在启动游戏\n'..appstart) loadBox['显示']() if appstart ~= nil then gg.setProcess(appstart) gg.sleep(500) if tostring(gg.getTargetPackage()) == appstart then gg.toast("正在启动游戏") gg.processKill() tuichu=true luajava.setFloatingWindowHide(false) os.exit() end gg.toast("正在启动游戏...") app.startActivity(appstart) jci=0 --gg.sleep(5000) while true do gg.setProcess(appstart) gg.sleep(400) if tostring(gg.getTargetPackage()) == appstart then loadBox['关闭']() uiadtext(name.." 启动成功.","#ffffff") gg.alert("启动成功") else jci=jci+1 if jci==14 then loadBox['关闭']() uiadtext(name.." 启动失败.","#ffffff") gg.alert("自动获取进程失败\n请手动选择游戏进程") gg.setProcessX() break end end gg.sleep(100) end end end function card(cdv) logo=cdv[1] name=cdv[2] tags=cdv[3] func=cdv[4] if not x then x = 2 end tag = { LinearLayout, } for i = 1,#tags do tag[#tag+1] = { TextView, background = getShape22(45,0x00FF9700,0x00FF9700,0xffFF9700), layout_height = "20dp", padding = "2dp", textColor = 0xffFF9700, layout_marginLeft = "10dp", gravity = "center_vertical", text = " "..tags[i].." ", textSize = "9sp", } end tags = tag tmp = luajava.loadlayout( { FrameLayout, layout_height = "wrap_content", layout_width = "fill_parent", { LinearLayout, orientation = "vertical", layout_height = "100dp", layout_marginLeft = "14dp", layout_marginRight = "14dp", layout_marginTop = "10dp", layout_marginBottom = "10dp", layout_width = "match_parent", background=getVerticalBG({0x22ffffff,0x22ffffff},8,5,0xff000000), { LinearLayout, layout_marginLeft = "10dp", layout_marginRight = "10dp", layout_marginTop = "10dp", layout_marginBottom = "10dp", layout_width = "match_parent", layout_height = "40dp", { ImageView, layout_width = "40dp", layout_height = "40dp", background = 获取图片(logo), }, { TextView, layout_height = "40dp", layout_marginLeft = "10dp", gravity = "center_vertical", text = name, textColor="#ffffff", textSize = "13sp", } }, tags }, { LinearLayout, onClick = function() luajava.newThread(function() if type(ret)~="table" then log_init() return 0 end uiadtext(name.." 正在启动.","#ffffff") func() end):start() end, background = getShape00(80,0xff28FEB9,0xff28FEB9,0xff28FEB9), layout_height = "25dp", layout_width = "55dp", layout_gravity = "right", layout_marginRight = "30dp", layout_marginTop = "70dp", gravity = "center", { ImageView, layout_height = "20dp", layout_width = "15dp", background = getRes("rw1"), }, { TextView, textColor = "#000000", text = "启动", textSize = "12sp", layout_height = "20dp", gravity = "center", layout_width = "30dp", } } }) return tmp end 寒心.controlFlip = function(control,time)---翻转 luajava.runUiThread(function() if type(ret)~="table" then log_init() return 0 end import "android.view.animation.Animation" import "android.animation.ObjectAnimator" xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotationY", { -360, 360 }) xuanzhuandonghua:setRepeatCount(0) xuanzhuandonghua:setRepeatMode(Animation.REVERSE) xuanzhuandonghua:setDuration(time) xuanzhuandonghua:start() end) end function shenglongyp() luajava.newThread(function() local t=math.random(1,4) end):start() YoYoImpl:with("FadeIn"):duration(600):playOn(floatWindow) 寒心.controlFlip(shenglong,1900) end shenglong=luajava.loadlayout({ ImageView, src = 获取图片("https://qingcheng.c-n.icu/wangpan/view.php/5d1f4be2d61a75901940ccbfe9e3c337.png"), padding="2dp", layout_width = "130dp", layout_height = "130dp", gravity = "center", }) function 寒心.setedit(name,txt) txt = tostring(txt) luajava.runUiThread(function() luajava.getIdValue(name):setText(txt) end) end function 寒心.getedit(name) --gg.alert(edit) edit = tostring(luajava.getIdValue(name):getText()) return edit end function log_init() if type(ret) ~= "table" then if vv ~= nil then return 0 end luajava.newThread(function() draw.remove() end):start() tmp = { LinearLayout,orientation = "vertical",gravity = "center_horizontal", } if panduan("/sdcard/寒心/配置文件/km.lua") ~= false then dofile("/sdcard/寒心/配置文件/km.lua") logkapian = luajava.loadlayout({ LinearLayout, orientation = "vertical", gravity = "center", layout_height = "50dp", layout_width = "160dp", background = getHorizontalBG({0xffffffff,0xffffffff},25,2,0xffDFACE0), elevation = "10dp", onClick = function() --寒心.controlFlip(logkapian,2000) luajava.newThread(function() logkap = true login(kam) end):start() end, { TextView, gravity = "center", textSize = "18sp", textColor = "#000000", text = "xxxxx"..string.sub(kam,-4,-1) },{ TextView, gravity = "center", textSize = "11sp", textColor = "#4E98FF", text = "快捷登录" } }) tmp[#tmp+1] = logkapian tmp[#tmp+1] = { LinearLayout, layout_height = "10dp", } end jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(30) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({ 0xffffffff,0xffffffFF,0xffffffFF,0xffffffff }) jianbians:setOrientation(GradientDrawable.Orientation.TL_BR) --jianbians:setStroke(0,0x55000000)--边框宽度和颜色 luajava.newThread(function() luajava.runUiThread(function() vv = luajava.loadlayout({ LinearLayout, orientation = "vertical", visibility = "gone", background = "/sdcard/寒心/图片/大背景", layout_width = "match_parent", layout_height = "match_parent", gravity = "center", onTouch=hanshu, onClick = function() if vv ~= nil then YoYoImpl:with("FadeOut"):duration(300):playOn(vv) luajava.newThread(function() gg.sleep(300) rmdadView(vv) vv = nil end):start() end end, tmp, { LinearLayout, orientation = "vertical", { LinearLayout, layout_height = "60dp", { EditText, id = luajava.newId("卡密"), textColor = "#000000", hint = "请输入卡密", elevation = "10dp", gravity = "center", background = getHorizontalBG({0xff8d4bbb,0xffffffff},25,2,0xff000000), layout_height = "50dp", layout_width = "160dp", layout_marginBottom = "20dp", }}, { TextView, background = getVerticalBG({0xff8d4bbb,0xff8d4bbb},15), text = "登录", textColor = "#ffffff", textSize = "16sp", gravity = "center", elevation = "10dp", layout_height = "30dp", layout_width = "160dp", onClick = function() luajava.newThread(function() login(寒心.getedit("卡密")) end):start() end, },{ TextView, background = luajava.loadlayout { GradientDrawable, color = "#37383D", cornerRadius = 20 }, text = "购卡", textColor = "#ffffff", textSize = "16sp", layout_marginTop="5dp", gravity = "center", elevation = "10dp", layout_height = "30dp", layout_width = "160dp", onClick = function() luajava.newThread(function() gg.intent(卡网) 隐藏() rmdadView(vv) vv=nil end):start() end, },{ TextView, background = luajava.loadlayout { GradientDrawable, color = "#37383D", cornerRadius = 20 }, text = "解绑", textColor = "#ffffff", textSize = "16sp", layout_marginTop="5dp", gravity = "center", elevation = "10dp", layout_height = "30dp", layout_width = "160dp", onClick = function() luajava.newThread(function() local t=寒心.getedit("卡密") if t~="" and t~=" " then rlyunyz.unbind(t) end end):start() end, },{ TextView, background = luajava.loadlayout { GradientDrawable, color = "#37383D", cornerRadius = 20 }, text = "退出", textColor = "#ffffff", textSize = "16sp", layout_marginTop="5dp", gravity = "center", elevation = "10dp", layout_height = "30dp", layout_width = "160dp", onClick = function() tuichu=1 end, }} }) addadView(vv) 切换(1) luajava.getIdValue("卡密"):setHintTextColor(0xffA2A2A2) vv:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(300):playOn(vv) end) huiz() end):start() else --luajava.newThread(function() xiugtx() end):start() end end function login(kam) local loadBox = getLoadingBox('正在校验卡密') if tostring(kam)=="" or tostring(kam)==" " then return 0 end local info = kamiinfo if vv ~= nil then luajava.runUiThread(function() YoYoImpl:with("FadeOut"):duration(400):playOn(vv) end) luajava.newThread(function() gg.sleep(400) rmdadView(vv) vv = nil end):start() end loadBox['显示']() ret = rlyunyz.login(kam) loadBox['关闭']() ini = rlyunyz.checkUpdate() if type(ret) ~= "table" then --gg.alert(tostring(ret)) else ktmp = "kam='"..ret.kami.."'" luajava.newThread(function() write("/sdcard/寒心/配置文件/km.lua",ktmp) end):start() 切换(1) end --if logkap then gg.sleep(100) end end function getTimeStamp(t) local str = os.date("%Y/%m/%d %H:%M:%S",t) return str end function addadView(tmp) local function invoke() parentv:addView(tmp) end luajava.post(invoke) end function rmdadView(tmp) local function invoke() parentv:removeView(tmp) end luajava.post(invoke) end launchui = luajava.loadlayout({ ScrollView, layout_height = "match_parent", fillViewport=true, layout_width = "fill_parent", padding={"0dp","0dp","0dp","10dp"}, { LinearLayout, layout_height = "wrap_content", layout_width = "fill_parent", gravity = "center_horizontal", orientation="vertical", card({"/sdcard/寒心/图片/地铁跑酷", "地铁跑酷", { "地铁跑酷", "启动" }, function() launch("com.kiloo.subwaysurf") end }) }}) yiyan=gg.makeRequest("https://v1.hitokoto.cn/").content content=yiyan:match("hitokoto\":\"(.-)\"") from=yiyan:match("from\":\"(.-)\"") info = { example_version = '1.0.3', name = '寒心', appid = '70371', appkey = 'v9x1SX43517I1L9o', rc4key = 'zjzNMmndxXd6k7Mn', version = '1.0', mi_type = '3' } rlyunyz = getrlyunyz(info) function huiz() --如果有绘制请写到这里面否则会消失 end huiz() muby=735 --初始宽度 竖屏建议850 横屏建议1310 mubx=1000 --初始高度 竖屏建议1310 横屏建议850 大标题='寒心内部' --初始颜色,填写十六进制RGB --可在功能按钮里调用changeColor()随时自定义切换 --例如:changeColor(0xffFF0023) --可以在开启某个功能的同时变色,比如开了防封变绿色,开了高危功能变红色 控件颜色=0xff8d4bbb 颜色表={--切换颜色的列表 0xffFF0023, 0xff8d4bbb, 0xff33AF61, 0xff008CFF, 0xffA6FF00, 0xffFF95F2, 0xff801dae, 0xfffff143, 0xff000000, 0xff545454, 0xfff7b977, 0xff70f3ff, } 卡网="https://www.aidoumi.net/links/B03B06ED" 悬浮窗图标="https://zsyp.pjaj.cn/view.php/f2af8defc85d189a808a637fa37041ed.gif" stab={ "主页", "防封", "刷号", '竞赛', "音乐", "设置", } ---创建小窗口备用,对照下边菜单里调用打开窗口,不需要的可以删掉 ---必须先创建窗口 才能 打开窗口 寒心.menu({ {--第一页 寒心.text("欢迎使用寒心内部","#ff63ed9f","15sp"), 寒心.text("此脚本由🦈寒心🦈","#ff63ed9f","15sp" ) , 寒心.text("选择400MB的进程在开防封","#ff63ed9f","15sp" ) , 寒心.text("过新手教程要切后台开","#ff63ed9f","15sp" ) , 寒心.text("全网启动次数:1314520","#ff63ed9f","15sp" ) , 寒心.text("🦈寒心🦈:3472977190","#ff63ed9f","15sp" ) , 寒心.text("脚本制作人:🦈寒心🦈","#ff63ed9f","15sp" ) , 寒心.text("适配爱尔兰版本","#ff63ed9f","15sp" ) , 寒心.text("总部:3472977190","#ff63ed9f","15sp"), 寒心.text(os.date"登录时间:%m月%d日%H时%M分%S秒", "#4A148C","15sp"), 寒心.text("支持:root/n32框架/n虚拟机","#17FFA7","13sp"), 寒心.button( "选择进程", function() gg.setProcessX() string.toMusic("请选择地铁跑酷进程") end), 寒心.switch("启动游戏", function() gg.jumpAPP("com.kiloo.subwaysurf") end ), 寒心.switch ("加入我们" , function () qq.joinGroup ("943453921") 隐藏 () end), 寒心.button("高检时间", function() string.toMusic("寒心·工作室整理高检时间: 早上8点~9点,中午12点~13点,下午4时~4点30分,午夜11时~凌晨1点,凌晨3:30~4:30") gg.alert("寒心·工作室整理高检时间: 早上8点~9点,中午12点~13点,下午4时~4点30分,午夜11时~凌晨1点,凌晨3:30~4:30") end), {---第二页 寒心.switch("过滤环境[登录界面必开]", function() io.open("/sdcard/.防环境","w+"):write([[ 13880 Var #B8CD84DC|b8cd84dc|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4dc Var #B8CD8574|b8cd8574|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|574 Var #B8CD881C|b8cd881c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|81c Var #B8CD883C|b8cd883c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|83c Var #B8CD884C|b8cd884c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|84c Var #B8CD885C|b8cd885c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|85c Var #B8CD8864|b8cd8864|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|864 Var #B8CD886C|b8cd886c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|86c Var #B8CD889C|b8cd889c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|89c Var #B8CD89D8|b8cd89d8|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d8 Var #B8CD8A0C|b8cd8a0c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a0c Var #B8CD8A6C|b8cd8a6c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a6c Var #B8CD9B54|b8cd9b54|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b54 Var #B8CD9B94|b8cd9b94|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b94 Var #B8CD9BA0|b8cd9ba0|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1ba0 Var #B8CD9BD0|b8cd9bd0|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1bd0 Var #B8CD9CE8|b8cd9ce8|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1ce8 Var #B8CD9CF4|b8cd9cf4|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1cf4 Var #B8CD9D00|b8cd9d00|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1d00]]) gg.loadList("/sdcard/.防环境", gg.LOAD_VALUES_FREEZE) os.remove("/sdcard/.防环境") string.toMusic('已过滤环境') end), 寒心.switch("吴迪杀检测[登录界面必开]", function() io.open("/sdcard/全防","w+"):write([[ 4686 Var #9196A4D0|9196a4d0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d0 Var #9196A4D4|9196a4d4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d4 Var #9196A4DC|9196a4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4dc Var #9196A510|9196a510|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|510 Var #9196A528|9196a528|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|528 Var #9196A574|9196a574|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|574 Var #9196A580|9196a580|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|580 Var #9196A584|9196a584|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|584 Var #9196A83C|9196a83c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|83c Var #9196A84C|9196a84c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|84c Var #9196A85C|9196a85c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|85c Var #9196A864|9196a864|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|864 Var #9196A86C|9196a86c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|86c Var #9196A89C|9196a89c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|89c Var #9196A8CC|9196a8cc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8cc Var #9196A924|9196a924|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|924 Var #9196A9D8|9196a9d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d8 Var #9196A9E4|9196a9e4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9e4 Var #9196AA4C|9196aa4c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a4c Var #9196AA6C|9196aa6c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a6c Var #9196AA78|9196aa78|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a78 Var #9196AA84|9196aa84|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a84 Var #9196AA88|9196aa88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a88 Var #9196AA8C|9196aa8c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a8c Var #9196AAC0|9196aac0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ac0 Var #9196AB30|9196ab30|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b30 Var #9196BB5C|9196bb5c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b5c Var #9196BB64|9196bb64|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b64 Var #9196BBE4|9196bbe4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1be4 Var #9196E294|9196e294|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4294 Var #9196E298|9196e298|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4298 Var #9196E354|9196e354|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4354 Var #9196E358|9196e358|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4358 Var #9196F4DC|9196f4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|54dc Var #9196F54C|9196f54c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|554c Var #9196F55C|9196f55c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|555c Var #9196F588|9196f588|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5588 Var #9196F58C|9196f58c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|558c Var #9196F594|9196f594|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5594 Var #9196F5A4|9196f5a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55a4 Var #9196F5B0|9196f5b0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55b0 Var #9196F614|9196f614|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5614 Var #9196F620|9196f620|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5620 Var #9196F690|9196f690|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5690 Var #9196F6A4|9196f6a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56a4 Var #9196F6B4|9196f6b4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56b4 Var #9196F6C0|9196f6c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56c0 Var #9196F6D8|9196f6d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56d8 Var #91972700|91972700|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8700 Var #91972708|91972708|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8708 Var #91972728|91972728|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8728 Var #91972730|91972730|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8730 Var #91972738|91972738|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8738 Var #91972ABC|91972abc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8abc Var #91972E34|91972e34|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8e34 Var #91972F0C|91972f0c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f0c Var #91972F88|91972f88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f88 Var #91972FC0|91972fc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fc0 Var #91972FE0|91972fe0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fe0 Var #91973048|91973048|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9048 Var #91973084|91973084|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9084 Var #919732A8|919732a8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|92a8 Var #91973AFC|91973afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9afc Var #91973BC8|91973bc8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bc8 Var #91973BEC|91973bec|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bec Var #91973CD4|91973cd4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9cd4 Var #91973D60|91973d60|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d60 Var #91973DB0|91973db0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9db0 Var #91973DCC|91973dcc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9dcc Var #91973FB0|91973fb0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9fb0 Var #9197400C|9197400c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a00c Var #919740E8|919740e8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a0e8 Var #91974208|91974208|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a208 Var #91974278|91974278|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a278 Var #919743F4|919743f4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a3f4 Var #91974454|91974454|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a454 Var #91975184|91975184|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b184 Var #91978C38|91978c38|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ec38 Var #919799AC|919799ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|f9ac Var #91979AAC|91979aac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|faac Var #91979AFC|91979afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fafc Var #91979E88|91979e88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fe88 Var #9197A674|9197a674|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10674 Var #9197A69C|9197a69c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1069c Var #9197AC14|9197ac14|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10c14 Var #9197AFC0|9197afc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10fc0 Var #9197C434|9197c434|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|12434 Var #9197C49C|9197c49c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1249c Var #9197C4AC|9197c4ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124ac Var #9197C4C0|9197c4c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c0 Var #9197C4C4|9197c4c4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c4 Var #9197D25C|9197d25c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1325c Var #9197DF68|9197df68|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13f68 Var #9197E004|9197e004|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14004 Var #9197E020|9197e020|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14020 Var #9197E028|9197e028|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14028]]) gg.loadList("/sdcard/全防", gg.LOAD_VALUES) os.remove("/sdcard/全防") gg.toast("开启成功") gg.alert("开启成功") end), 寒心.switch("防检测 [登录]", function() io.open("/sdcard/全防", "w+"):write([[ 4686 Var #9196A4D0|9196a4d0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d0 Var #9196A4D4|9196a4d4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d4 Var #9196A4DC|9196a4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4dc Var #9196A510|9196a510|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|510 Var #9196A528|9196a528|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|528 Var #9196A574|9196a574|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|574 Var #9196A580|9196a580|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|580 Var #9196A584|9196a584|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|584 Var #9196A83C|9196a83c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|83c Var #9196A84C|9196a84c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|84c Var #9196A85C|9196a85c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|85c Var #9196A864|9196a864|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|864 Var #9196A86C|9196a86c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|86c Var #9196A89C|9196a89c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|89c Var #9196A8CC|9196a8cc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8cc Var #9196A924|9196a924|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|924 Var #9196A9D8|9196a9d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d8 Var #9196A9E4|9196a9e4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9e4 Var #9196AA4C|9196aa4c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a4c Var #9196AA6C|9196aa6c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a6c Var #9196AA78|9196aa78|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a78 Var #9196AA84|9196aa84|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a84 Var #9196AA88|9196aa88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a88 Var #9196AA8C|9196aa8c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a8c Var #9196AAC0|9196aac0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ac0 Var #9196AB30|9196ab30|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b30 Var #9196BB5C|9196bb5c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b5c Var #9196BB64|9196bb64|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b64 Var #9196BBE4|9196bbe4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1be4 Var #9196E294|9196e294|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4294 Var #9196E298|9196e298|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4298 Var #9196E354|9196e354|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4354 Var #9196E358|9196e358|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4358 Var #9196F4DC|9196f4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|54dc Var #9196F54C|9196f54c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|554c Var #9196F55C|9196f55c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|555c Var #9196F588|9196f588|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5588 Var #9196F58C|9196f58c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|558c Var #9196F594|9196f594|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5594 Var #9196F5A4|9196f5a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55a4 Var #9196F5B0|9196f5b0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55b0 Var #9196F614|9196f614|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5614 Var #9196F620|9196f620|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5620 Var #9196F690|9196f690|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5690 Var #9196F6A4|9196f6a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56a4 Var #9196F6B4|9196f6b4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56b4 Var #9196F6C0|9196f6c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56c0 Var #9196F6D8|9196f6d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56d8 Var #91972700|91972700|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8700 Var #91972708|91972708|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8708 Var #91972728|91972728|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8728 Var #91972730|91972730|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8730 Var #91972738|91972738|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8738 Var #91972ABC|91972abc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8abc Var #91972E34|91972e34|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8e34 Var #91972F0C|91972f0c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f0c Var #91972F88|91972f88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f88 Var #91972FC0|91972fc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fc0 Var #91972FE0|91972fe0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fe0 Var #91973048|91973048|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9048 Var #91973084|91973084|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9084 Var #919732A8|919732a8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|92a8 Var #91973AFC|91973afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9afc Var #91973BC8|91973bc8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bc8 Var #91973BEC|91973bec|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bec Var #91973CD4|91973cd4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9cd4 Var #91973D60|91973d60|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d60 Var #91973DB0|91973db0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9db0 Var #91973DCC|91973dcc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9dcc Var #91973FB0|91973fb0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9fb0 Var #9197400C|9197400c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a00c Var #919740E8|919740e8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a0e8 Var #91974208|91974208|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a208 Var #91974278|91974278|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a278 Var #919743F4|919743f4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a3f4 Var #91974454|91974454|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a454 Var #91975184|91975184|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b184 Var #91978C38|91978c38|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ec38 Var #919799AC|919799ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|f9ac Var #91979AAC|91979aac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|faac Var #91979AFC|91979afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fafc Var #91979E88|91979e88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fe88 Var #9197A674|9197a674|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10674 Var #9197A69C|9197a69c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1069c Var #9197AC14|9197ac14|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10c14 Var #9197AFC0|9197afc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10fc0 Var #9197C434|9197c434|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|12434 Var #9197C49C|9197c49c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1249c Var #9197C4AC|9197c4ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124ac Var #9197C4C0|9197c4c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c0 Var #9197C4C4|9197c4c4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c4 Var #9197D25C|9197d25c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1325c Var #9197DF68|9197df68|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13f68 Var #9197E004|9197e004|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14004 Var #9197E020|9197e020|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14020 Var #9197E028|9197e028|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14028 18750 Var #B6E24008|b6e24008|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|8 Var #B6E2400C|b6e2400c|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|c Var #B6E24010|b6e24010|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|10 Var #B6E24014|b6e24014|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|14 Var #B6E2403C|b6e2403c|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3c Var #B6E24040|b6e24040|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|40 Var #B6E24058|b6e24058|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|58 Var #B6E24060|b6e24060|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|60 Var #B6E24074|b6e24074|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|74 Var #B6E24078|b6e24078|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|78 Var #B6E2407C|b6e2407c|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|7c Var #B6E24084|b6e24084|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|84 Var #B6E240A8|b6e240a8|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|a8 Var #B6E240AC|b6e240ac|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|ac Var #B6E240B0|b6e240b0|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|b0 Var #B6E240B4|b6e240b4|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|b4 Var #B6E240B8|b6e240b8|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|b8 Var #B6E24128|b6e24128|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|128 Var #B6E2412C|b6e2412c|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|12c Var #B6E24130|b6e24130|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|130 Var #B6E24134|b6e24134|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|134 Var #B6E24200|b6e24200|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|200 Var #B6E24204|b6e24204|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|204 Var #B6E24208|b6e24208|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|208 Var #B6E2CEE8|b6e2cee8|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|8ee8 Var #B6E2DA28|b6e2da28|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|9a28 Var #B6E53D20|b6e53d20|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|2fd20 4686 Var #9196A4D0|9196a4d0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d0 Var #9196A4D4|9196a4d4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d4 Var #9196A4DC|9196a4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4dc Var #9196A510|9196a510|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|510 Var #9196A528|9196a528|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|528 Var #9196A574|9196a574|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|574 Var #9196A580|9196a580|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|580 Var #9196A584|9196a584|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|584 Var #9196A83C|9196a83c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|83c Var #9196A84C|9196a84c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|84c Var #9196A85C|9196a85c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|85c Var #9196A864|9196a864|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|864 Var #9196A86C|9196a86c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|86c Var #9196A89C|9196a89c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|89c Var #9196A8CC|9196a8cc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8cc Var #9196A924|9196a924|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|924 Var #9196A9D8|9196a9d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d8 Var #9196A9E4|9196a9e4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9e4 Var #9196AA4C|9196aa4c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a4c Var #9196AA6C|9196aa6c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a6c Var #9196AA78|9196aa78|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a78 Var #9196AA84|9196aa84|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a84 Var #9196AA88|9196aa88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a88 Var #9196AA8C|9196aa8c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a8c Var #9196AAC0|9196aac0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ac0 Var #9196AB30|9196ab30|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b30 Var #9196BB5C|9196bb5c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b5c Var #9196BB64|9196bb64|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b64 Var #9196BBE4|9196bbe4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1be4 Var #9196E294|9196e294|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4294 Var #9196E298|9196e298|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4298 Var #9196E354|9196e354|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4354 Var #9196E358|9196e358|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4358 Var #9196F4DC|9196f4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|54dc Var #9196F54C|9196f54c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|554c Var #9196F55C|9196f55c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|555c Var #9196F588|9196f588|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5588 Var #9196F58C|9196f58c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|558c Var #9196F594|9196f594|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5594 Var #9196F5A4|9196f5a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55a4 Var #9196F5B0|9196f5b0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55b0 Var #9196F614|9196f614|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5614 Var #9196F620|9196f620|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5620 Var #9196F690|9196f690|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5690 Var #9196F6A4|9196f6a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56a4 Var #9196F6B4|9196f6b4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56b4 Var #9196F6C0|9196f6c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56c0 Var #9196F6D8|9196f6d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56d8 Var #91972700|91972700|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8700 Var #91972708|91972708|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8708 Var #91972728|91972728|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8728 Var #91972730|91972730|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8730 Var #91972738|91972738|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8738 Var #91972ABC|91972abc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8abc Var #91972E34|91972e34|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8e34 Var #91972F0C|91972f0c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f0c Var #91972F88|91972f88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f88 Var #91972FC0|91972fc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fc0 Var #91972FE0|91972fe0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fe0 Var #91973048|91973048|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9048 Var #91973084|91973084|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9084 Var #919732A8|919732a8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|92a8 Var #91973AFC|91973afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9afc Var #91973BC8|91973bc8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bc8 Var #91973BEC|91973bec|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bec Var #91973CD4|91973cd4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9cd4 Var #91973D60|91973d60|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d60 Var #91973DB0|91973db0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9db0 Var #91973DCC|91973dcc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9dcc Var #91973FB0|91973fb0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9fb0 Var #9197400C|9197400c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a00c Var #919740E8|919740e8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a0e8 Var #91974208|91974208|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a208 Var #91974278|91974278|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a278 Var #919743F4|919743f4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a3f4 Var #91974454|91974454|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a454 Var #91975184|91975184|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b184 Var #91978C38|91978c38|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ec38 Var #919799AC|919799ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|f9ac Var #91979AAC|91979aac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|faac Var #91979AFC|91979afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fafc Var #91979E88|91979e88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fe88 Var #9197A674|9197a674|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10674 Var #9197A69C|9197a69c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1069c Var #9197AC14|9197ac14|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10c14 Var #9197AFC0|9197afc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10fc0 Var #9197C434|9197c434|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|12434 Var #9197C49C|9197c49c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1249c Var #9197C4AC|9197c4ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124ac Var #9197C4C0|9197c4c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c0 Var #9197C4C4|9197c4c4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c4 Var #9197D25C|9197d25c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1325c Var #9197DF68|9197df68|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13f68 Var #9197E004|9197e004|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14004 Var #9197E020|9197e020|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14020 Var #9197E028|9197e028|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14028 ]]) gg.loadList("/sdcard/.xa", gg.LOAD_VALUES) os.remove("/sdcard/.xa") gg.alert("开启成功") string.toMusic("登录防检测") end ), 寒心.switch("独家全防[登录界面必开]", function() io.open("/sdcard/.稳定防","w+"):write([[ 4686 Var #9196A4D0|9196a4d0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d0 Var #9196A4D4|9196a4d4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d4 Var #9196A4DC|9196a4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4dc Var #9196A510|9196a510|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|510 Var #9196A528|9196a528|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|528 Var #9196A574|9196a574|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|574 Var #9196A580|9196a580|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|580 Var #9196A584|9196a584|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|584 Var #9196A83C|9196a83c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|83c Var #9196A84C|9196a84c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|84c Var #9196A85C|9196a85c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|85c Var #9196A864|9196a864|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|864 Var #9196A86C|9196a86c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|86c Var #9196A89C|9196a89c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|89c Var #9196A8CC|9196a8cc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8cc Var #9196A924|9196a924|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|924 Var #9196A9D8|9196a9d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d8 Var #9196A9E4|9196a9e4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9e4 Var #9196AA4C|9196aa4c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a4c Var #9196AA6C|9196aa6c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a6c Var #9196AA78|9196aa78|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a78 Var #9196AA84|9196aa84|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a84 Var #9196AA88|9196aa88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a88 Var #9196AA8C|9196aa8c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a8c Var #9196AAC0|9196aac0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ac0 Var #9196AB30|9196ab30|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b30 Var #9196BB5C|9196bb5c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b5c Var #9196BB64|9196bb64|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b64 Var #9196BBE4|9196bbe4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1be4 Var #9196E294|9196e294|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4294 Var #9196E298|9196e298|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4298 Var #9196E354|9196e354|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4354 Var #9196E358|9196e358|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4358 Var #9196F4DC|9196f4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|54dc Var #9196F54C|9196f54c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|554c Var #9196F55C|9196f55c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|555c Var #9196F588|9196f588|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5588 Var #9196F58C|9196f58c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|558c Var #9196F594|9196f594|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5594 Var #9196F5A4|9196f5a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55a4 Var #9196F5B0|9196f5b0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55b0 Var #9196F614|9196f614|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5614 Var #9196F620|9196f620|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5620 Var #9196F690|9196f690|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5690 Var #9196F6A4|9196f6a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56a4 Var #9196F6B4|9196f6b4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56b4 Var #9196F6C0|9196f6c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56c0 Var #9196F6D8|9196f6d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56d8 Var #91972700|91972700|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8700 Var #91972708|91972708|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8708 Var #91972728|91972728|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8728 Var #91972730|91972730|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8730 Var #91972738|91972738|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8738 Var #91972ABC|91972abc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8abc Var #91972E34|91972e34|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8e34 Var #91972F0C|91972f0c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f0c Var #91972F88|91972f88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f88 Var #91972FC0|91972fc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fc0 Var #91972FE0|91972fe0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fe0 Var #91973048|91973048|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9048 Var #91973084|91973084|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9084 Var #919732A8|919732a8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|92a8 Var #91973AFC|91973afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9afc Var #91973BC8|91973bc8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bc8 Var #91973BEC|91973bec|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bec Var #91973CD4|91973cd4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9cd4 Var #91973D60|91973d60|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d60 Var #91973DB0|91973db0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9db0 Var #91973DCC|91973dcc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9dcc Var #91973FB0|91973fb0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9fb0 Var #9197400C|9197400c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a00c Var #919740E8|919740e8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a0e8 Var #91974208|91974208|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a208 Var #91974278|91974278|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a278 Var #919743F4|919743f4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a3f4 Var #91974454|91974454|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a454 Var #91975184|91975184|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b184 Var #91978C38|91978c38|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ec38 Var #919799AC|919799ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|f9ac Var #91979AAC|91979aac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|faac Var #91979AFC|91979afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fafc Var #91979E88|91979e88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fe88 Var #9197A674|9197a674|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10674 Var #9197A69C|9197a69c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1069c Var #9197AC14|9197ac14|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10c14 Var #9197AFC0|9197afc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10fc0 Var #9197C434|9197c434|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|12434 Var #9197C49C|9197c49c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1249c Var #9197C4AC|9197c4ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124ac Var #9197C4C0|9197c4c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c0 Var #9197C4C4|9197c4c4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c4 Var #9197D25C|9197d25c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1325c Var #9197DF68|9197df68|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13f68 Var #9197E004|9197e004|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14004 Var #9197E020|9197e020|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14020 Var #9197E028|9197e028|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14028]]) gg.loadList("/sdcard/.稳定防", gg.LOAD_VALUES_FREEZE) os.remove("/sdcard/.稳定防") string.toMusic('独家全防开启成功') end), 寒心.switch("防封+防闪[登录界面必开]", function() io.open("/sdcard/全防","w+"):write([[ 1628 Var #C605B068|c605b068|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|68 Var #C605B070|c605b070|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|70 Var #C605B074|c605b074|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|74 Var #C605B07C|c605b07c|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|7c Var #C605B084|c605b084|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|84 Var #C605B0A8|c605b0a8|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|a8 Var #C605B0B0|c605b0b0|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|b0 Var #C605B128|c605b128|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|128 Var #C605B130|c605b130|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|130 Var #C605B134|c605b134|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|134 Var #C609E83C|c609e83c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|83c Var #C609E84C|c609e84c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|84c Var #C609E85C|c609e85c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|85c Var #C609E864|c609e864|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|864 Var #C609E86C|c609e86c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|86c Var #C609E89C|c609e89c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|89c]]) gg.loadList("/sdcard/全防", gg.LOAD_VALUES) os.remove("/sdcard/全防") gg.toast("开启成功") gg.alert("开启成功") end), 寒心.switch("杀检测 [登录]", function() io.open("/sdcard/.xa", "w+"):write([[ 11939 Var #91FE6510|91fe6510|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|510 Var #91FE6580|91fe6580|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|580 Var #91FE6584|91fe6584|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|584 Var #91FE65D0|91fe65d0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5d0 Var #91FE693C|91fe693c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|93c Var #91FEB5B0|91feb5b0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55b0 Var #91FEE708|91fee708|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8708 Var #91FEE824|91fee824|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8824 Var #91FEEF50|91feef50|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f50 Var #91FEFE38|91fefe38|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9e38 Var #91FF3B3C|91ff3b3c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|db3c Var #91FF5DF0|91ff5df0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fdf0 16215 Var #A83980A8|a83980a8|4|ffffffffffffffff|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so|a8 Var #A83DB83C|a83db83c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|83c Var #A83DB84C|a83db84c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|84c Var #A83DB85C|a83db85c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|85c Var #A83DB864|a83db864|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|864 Var #A83DB86C|a83db86c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|86c Var #A83DB89C|a83db89c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|89c Var #A83DB924|a83db924|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|924 Var #A83DB9AC|a83db9ac|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|9ac Var #A83DB9D8|a83db9d8|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|9d8 Var #A83DB9E4|a83db9e4|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|9e4 Var #A83DBA4C|a83dba4c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|a4c Var #A83DBA78|a83dba78|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|a78 Var #A83DBA84|a83dba84|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|a84 Var #A83DBA88|a83dba88|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|a88 Var #A83DBA8C|a83dba8c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|a8c Var #A83DBB30|a83dbb30|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|b30 Var #A83DCB54|a83dcb54|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|1b54 Var #A83DCB5C|a83dcb5c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|1b5c Var #A83DCB64|a83dcb64|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|1b64 Var #A83DCBD0|a83dcbd0|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|1bd0 Var #A83DF294|a83df294|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|4294 Var #A83DF298|a83df298|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|4298 Var #A83DF354|a83df354|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|4354 Var #A83DF358|a83df358|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|4358 Var #A83E04AC|a83e04ac|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|54ac Var #A83E04DC|a83e04dc|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|54dc Var #A83E055C|a83e055c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|555c Var #A83E0588|a83e0588|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|5588 Var #A83E058C|a83e058c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|558c Var #A83E05B0|a83e05b0|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|55b0 Var #A83E0614|a83e0614|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|5614 Var #A83E0620|a83e0620|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|5620 Var #A83E0690|a83e0690|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|5690 Var #A83E0694|a83e0694|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|5694 Var #A83E06A4|a83e06a4|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|56a4 Var #A83E06B4|a83e06b4|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|56b4 Var #A83E06C0|a83e06c0|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|56c0 Var #A83E06D8|a83e06d8|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|56d8 Var #A83E3700|a83e3700|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|8700 Var #A83E3708|a83e3708|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|8708 Var #A83E3728|a83e3728|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|8728 Var #A83E3730|a83e3730|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|8730 Var #A83EF004|a83ef004|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|14004 Var #A83EF020|a83ef020|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|14020 Var #A83EF028|a83ef028|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|14028 ]]) gg.loadList("/sdcard/.xa", gg.LOAD_VALUES) os.remove("/sdcard/.xa") string.toMusic("开启杀检测") end ), 寒心.switch("过滤行为 [大厅]", function() io.open("/sdcard/全防", "w+"):write([[ 31886 Var #8B2C86F0|8b2c86f0|4|0|0|0|0|0|||0 Var #8B2C86F4|8b2c86f4|4|0|0|0|0|0|||0 Var #8B2C8748|8b2c8748|4|0|0|0|0|0|||0 Var #8B2C874C|8b2c874c|4|0|0|0|0|0|||0 Var #8B2C879C|8b2c879c|4|0|0|0|0|0|||0 Var #8B2C87A0|8b2c87a0|4|0|0|0|0|0|||0 Var #8B2C87B8|8b2c87b8|4|0|0|0|0|0|||0 Var #8B2C87C8|8b2c87c8|4|0|0|0|0|0|||0 Var #8B2C87F4|8b2c87f4|4|0|0|0|0|0|||0 Var #8B2C87F8|8b2c87f8|4|0|0|0|0|0|||0 Var #8B2C8808|8b2c8808|4|0|0|0|0|0|||0 Var #8B2C880C|8b2c880c|4|0|0|0|0|0|||0 Var #8B2C8A98|8b2c8a98|4|0|0|0|0|0|||0 Var #8B2C9BB0|8b2c9bb0|4|0|0|0|0|0|||0 Var #8B2C9BC8|8b2c9bc8|4|0|0|0|0|0|||0 Var #8B2C9C10|8b2c9c10|4|0|0|0|0|0|||0 Var #8B2C9C24|8b2c9c24|4|0|0|0|0|0|||0 Var #8B2C9C38|8b2c9c38|4|0|0|0|0|0|||0 Var #8B2C9C3C|8b2c9c3c|4|0|0|0|0|0|||0 Var #8B2C9C48|8b2c9c48|4|0|0|0|0|0|||0 Var #8B2C9C4C|8b2c9c4c|4|0|0|0|0|0|||0 Var #8B2C9C7C|8b2c9c7c|4|0|0|0|0|0|||0 Var #8B2C9C90|8b2c9c90|4|0|0|0|0|0|||0 Var #8B2C9C94|8b2c9c94|4|0|0|0|0|0|||0 Var #8B2C9CA0|8b2c9ca0|4|0|0|0|0|0|||0 Var #8B2C9CA4|8b2c9ca4|4|0|0|0|0|0|||0 Var #8B2C9CD4|8b2c9cd4|4|0|0|0|0|0|||0 Var #8B2C9CE8|8b2c9ce8|4|0|0|0|0|0|||0 Var #8B2C9CEC|8b2c9cec|4|0|0|0|0|0|||0 Var #8B2C9CF8|8b2c9cf8|4|0|0|0|0|0|||0 Var #8B2C9CFC|8b2c9cfc|4|0|0|0|0|0|||0 Var #8B2C9D2C|8b2c9d2c|4|0|0|0|0|0|||0 Var #8B2C9D40|8b2c9d40|4|0|0|0|0|0|||0 Var #8B2C9D44|8b2c9d44|4|0|0|0|0|0|||0 Var #8B2C9D50|8b2c9d50|4|0|0|0|0|0|||0 Var #8B2C9D54|8b2c9d54|4|0|0|0|0|0|||0 Var #8B2C9D84|8b2c9d84|4|0|0|0|0|0|||0 Var #8B2C9D98|8b2c9d98|4|0|0|0|0|0|||0 Var #8B2C9D9C|8b2c9d9c|4|0|0|0|0|0|||0 Var #8B2C9DA8|8b2c9da8|4|0|0|0|0|0|||0 Var #8B2C9DAC|8b2c9dac|4|0|0|0|0|0|||0 Var #8B2C9DDC|8b2c9ddc|4|0|0|0|0|0|||0 Var #8B2C9E34|8b2c9e34|4|0|0|0|0|0|||0 Var #8B2C9EB0|8b2c9eb0|4|0|0|0|0|0|||0 Var #8B2C9EC8|8b2c9ec8|4|0|0|0|0|0|||0 Var #8B2C9F38|8b2c9f38|4|0|0|0|0|0|||0 Var #8B2C9F3C|8b2c9f3c|4|0|0|0|0|0|||0 Var #8B2C9F90|8b2c9f90|4|0|0|0|0|0|||0 Var #8B2C9F94|8b2c9f94|4|0|0|0|0|0|||0 Var #8B2C9FEC|8b2c9fec|4|0|0|0|0|0|||0]]) gg.loadList("/sdcard/全防", gg.LOAD_VALUES) os.remove("/sdcard/全防") string.toMusic("开启过滤行为") gg.alert("开启成功") end ), 寒心.switch("过滤环境 [大厅]", function() io.open("/sdcard/全防", "w+"):write([[ 13880 Var #B8CD84DC|b8cd84dc|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4dc Var #B8CD8574|b8cd8574|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|574 Var #B8CD881C|b8cd881c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|81c Var #B8CD883C|b8cd883c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|83c Var #B8CD884C|b8cd884c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|84c Var #B8CD885C|b8cd885c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|85c Var #B8CD8864|b8cd8864|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|864 Var #B8CD886C|b8cd886c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|86c Var #B8CD889C|b8cd889c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|89c Var #B8CD89D8|b8cd89d8|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d8 Var #B8CD8A0C|b8cd8a0c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a0c Var #B8CD8A6C|b8cd8a6c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a6c Var #B8CD9B54|b8cd9b54|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b54 Var #B8CD9B94|b8cd9b94|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b94 Var #B8CD9BA0|b8cd9ba0|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1ba0 Var #B8CD9BD0|b8cd9bd0|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1bd0 Var #B8CD9CE8|b8cd9ce8|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1ce8 Var #B8CD9CF4|b8cd9cf4|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1cf4 Var #B8CD9D00|b8cd9d00|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1d00 ]]) gg.loadList("/sdcard/全防", gg.LOAD_VALUES) os.remove("/sdcard/全防") string.toMusic("过滤环境") end ), 寒心.switch("内存防 [大厅]", function() io.open("/sdcard/全防", "w+"):write([[ 15716 Var #96EDF7B4|96edf7b4|4|0|0|0|0|0|||0 Var #96EDF7C4|96edf7c4|4|0|0|0|0|0|||0 Var #96EDF7DC|96edf7dc|4|0|0|0|0|0|||0 Var #96EDFD34|96edfd34|4|0|0|0|0|0|||0 Var #96EDFD8C|96edfd8c|4|0|0|0|0|0|||0 Var #96EDFDB4|96edfdb4|4|0|0|0|0|0|||0 Var #96EDFDCC|96edfdcc|4|0|0|0|0|0|||0 Var #96EDFDE8|96edfde8|4|0|0|0|0|0|||0 Var #96EDFE04|96edfe04|4|0|0|0|0|0|||0 Var #96EDFE28|96edfe28|4|0|0|0|0|0|||0 Var #96EDFE34|96edfe34|4|0|0|0|0|0|||0 Var #96EDFE44|96edfe44|4|0|0|0|0|0|||0 Var #96EDFE84|96edfe84|4|0|0|0|0|0|||0 Var #96EDFE94|96edfe94|4|0|0|0|0|0|||0 Var #96EDFE9C|96edfe9c|4|0|0|0|0|0|||0 Var #96EDFEC8|96edfec8|4|0|0|0|0|0|||0 Var #96EDFED4|96edfed4|4|0|0|0|0|0|||0 Var #96EDFEE8|96edfee8|4|0|0|0|0|0|||0 Var #96EDFEEC|96edfeec|4|0|0|0|0|0|||0 Var #96EDFF14|96edff14|4|0|0|0|0|0|||0 Var #96EDFF3C|96edff3c|4|0|0|0|0|0|||0 Var #96EDFF94|96edff94|4|0|0|0|0|0|||0 Var #96EDFFBC|96edffbc|4|0|0|0|0|0|||0 Var #BBEB2064|bbeb2064|4|0|0|0|0|0|rw-p|/data/data/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13064 Var #BBEB206C|bbeb206c|4|0|0|0|0|0|rw-p|/data/data/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1306c Var #BBEB2250|bbeb2250|4|0|0|0|0|0|rw-p|/data/data/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13250 Var #BBEB22E8|bbeb22e8|4|0|0|0|0|0|rw-p|/data/data/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|132e8 Var #BBEB2E78|bbeb2e78|4|0|0|0|0|0|rw-p|/data/data/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13e78 Var #BBEB2E84|bbeb2e84|4|0|0|0|0|0|rw-p|/data/data/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13e84 Var #BBEB2EC4|bbeb2ec4|4|0|0|0|0|0|rw-p|/data/data/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13ec4 Var #C0A5A010|c0a5a010|4|dc541300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a010 Var #C0A5A028|c0a5a028|4|ec5b1300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a028 Var #C0A5A030|c0a5a030|4|d05d1300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a030 Var #C0A5A064|c0a5a064|4|c06c1300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a064 Var #C0A5A068|c0a5a068|4|e46d1300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a068 Var #C0A5A074|c0a5a074|4|74711300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a074 Var #C0A5A07C|c0a5a07c|4|d0731300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a07c Var #C0A5A080|c0a5a080|4|c4751300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a080 Var #C0A5A084|c0a5a084|4|74771300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a084 Var #C0A5B2A4|c0a5b2a4|4|d8e31800|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b2a4 Var #C0A5B2A8|c0a5b2a8|4|74e51800|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b2a8 Var #C0A5B2B0|c0a5b2b0|4|d8e61800|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b2b0 Var #C0A5B2C0|c0a5b2c0|4|d8e91800|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b2c0 Var #C0A5B2CC|c0a5b2cc|4|d8eb1800|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b2cc Var #C0A5B320|c0a5b320|4|d0001900|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b320 Var #C0A5B32C|c0a5b32c|4|d0031900|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b32c Var #C0A5B330|c0a5b330|4|d8041900|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b330 ]]) gg.loadList("/sdcard/全防", gg.LOAD_VALUES) os.remove("/sdcard/全防") string.toMusic("开启内存防") end ), 寒心.switch("防追封[大厅界面必开]", function() io.open("/sdcard/.防追封","w+"):write([[ 23277 Var #ADFAC868|adfac868|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f868 Var #ADFAC888|adfac888|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f888 Var #ADFAC890|adfac890|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f890 Var #ADFAC8A0|adfac8a0|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f8a0 Var #ADFAC8AC|adfac8ac|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f8ac Var #ADFAC8B8|adfac8b8|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f8b8 Var #ADFAC8C4|adfac8c4|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f8c4 Var #ADFAC8D0|adfac8d0|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f8d0 Var #ADFAC90C|adfac90c|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f90c Var #ADFAC92C|adfac92c|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f92c Var #ADFAC978|adfac978|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f978 Var #ADFAC990|adfac990|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f990 Var #ADFAC9A4|adfac9a4|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f9a4 Var #ADFAC9B0|adfac9b0|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f9b0 Var #ADFAC9E0|adfac9e0|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f9e0 Var #ADFACA08|adfaca08|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7fa08 Var #ADFACA1C|adfaca1c|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7fa1c Var #ADFACA40|adfaca40|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7fa40 Var #B8AA00A8|b8aa00a8|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|a8 Var #B8AA00AC|b8aa00ac|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|ac Var #B8AA00B0|b8aa00b0|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|b0 Var #B8AA00B4|b8aa00b4|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|b4 Var #B8AA00B8|b8aa00b8|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|b8]]) gg.loadList("/sdcard/.防追封", gg.LOAD_VALUES_FREEZE) os.remove("/sdcard/.防追封") string.toMusic('大厅防追开启成功') end), 寒心.switch("线下防追", function() io.open("/sdcard/.线下防追","w+"):write([[ 20136 数据๑ C5A7A508|c5a7a508|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|334508 数据๑ C5A7A55C|c5a7a55c|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|33455c 数据๑ C5A7A568|c5a7a568|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|334568 数据๑ C5A7EC14|c5a7ec14|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|338c14 数据๑ C5A84FF0|c5a84ff0|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|33eff0 数据๑ C5A894E8|c5a894e8|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3434e8 数据๑ C5A8A064|c5a8a064|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|344064 数据๑ C5A8A068|c5a8a068|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|344068 数据๑ C5A8A09C|c5a8a09c|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|34409c 数据๑ C5B03F10|c5b03f10|4|ffffffff|0|0|0|0|rw-p|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|31f10 数据๑ C5B04578|c5b04578|4|ffffffff|0|0|0|0|rw-p|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|32578 数据๑ C5B047D0|c5b047d0|4|ffffffff|0|0|0|0|rw-p|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|327d0 数据๑ C5B047E8|c5b047e8|4|ffffffff|0|0|0|0|rw-p|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|327e8 数据๑ C5B06690|c5b06690|4|ffffffff|0|0|0|0|rw-p|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|34690 数据๑ C5B066E0|c5b066e0|4|ffffffff|0|0|0|0|rw-p|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|346e0 数据๑ C5B068B0|c5b068b0|4|ffffffff|0|0|0|0|rw-p|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|348b0]]) gg.loadList("/sdcard/.线下防追", gg.LOAD_VALUES_FREEZE) os.remove("/sdcard/.线下防追") gg.toast("可以退出游戏了") gg.alert("请老板退出游戏") end), },{---第三页 寒心.button("保存数据", function() BL(0x2ccefbc,4,"~A B +0x1918") BL(0xc04ad4,4,"~A B +0x1918") BL(0xba1708,4,"~A B +0x1918") gg.alert("保存数据开启成功") string.toMusic("保存数据开启成功") end), 寒心.box({"刷号拉满", 寒心.switch("人物全解", function() BL(0xbb30f0, 4, "~A MOVW R0, #1") gg.alert(os.date"修改成功\n%Y年️%m月%d日%H:%M:%S"..bn) gg.toast("人物全解成功") string.toMusic('人物全解成功') end), 寒心.switch("滑板全解", function() BL(0xbb40f4, 4, "~A MOVW R0, #1") gg.alert(os.date"修改成功\n%Y年️%m月%d日%H:%M:%S"..bn) gg.toast("滑板全解成功") string.toMusic('滑板秒解成功') end), 寒心.switch("背饰全解", function() BL(0xbde764, 4, "~A MOVW R0, #1") gg.alert(os.date"修改成功\n%Y年️%m月%d日%H:%M:%S"..bn) gg.toast("背饰全解成功") string.toMusic('背饰全解成功') end), 寒心.switch("皮肤秒解", function() BL(0xba52ac, 4, "~A MOVW R0, #1") gg.alert(os.date"修改成功\n%Y年️%m月%d日%H:%M:%S"..bn) gg.toast("皮肤秒解成功") string.toMusic('皮肤秒解成功') end), 寒心.switch("滑板技能秒解", function() BL(0xd261d0, 4, "~A MOVW R0, #1") gg.alert(os.date"修改成功\n%Y年️%m月%d日%H:%M:%S"..bn) gg.toast("滑板技能秒解成功") string.toMusic('滑板技能秒解成功') end), 寒心.switch("解锁头像框", function() BL(0x18fe544, 4, "~A MOV R0, #1") gg.alert(os.date"修改成功\n%Y年️%m月%d日%H:%M:%S"..bn) gg.toast("解锁头像框成功") string.toMusic('解锁头像框成功') end), }), 寒心.box({"基础配置", 寒心.switch("解锁十倍得分", function() co = gg.prompt({"获得十倍得分","调出十倍得分"}, {}, {'checkbox',"checkbox","checkbox","checkbox"}) if co == nil then Main() end if co[1] == true then BL(0x14f2b0c, 4, "~A MOVW R0, #1")--获得 gg.toast("获得十倍得分成功") string.toMusic('获得十倍得分成功') end if co[2] == true then BL(0x2cfaf40, 4, "~A MOVW R0, #1")--调出 gg.toast("调出十倍得分成功") string.toMusic('调出十倍得分成功') end end), 寒心.switch("金币人物", function() local LX1=gg.prompt({"请输入金币数量"},{""},{"text"}) local tb1 = {{99999, 0x0}, {-1, 0x14}, {1,0x34},} local tb2 = {{0,0x30},{0,0x5C},{2,0x44},{LX1[1],0x2C},{0,0x3C},} local dataType = 4--类型 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) string.toMusic("寒心成功为您修改人物货币") end), 寒心.switch("金币滑板", function() local LX2=gg.prompt({"请输入金币数量"},{""},{"text"}) local tb1 = {{99999, 0x0}, {-1, 0x18}, {1,0x34},{1,0x3C}} local tb2 = {{0,0x68},{2,0x54},{0,0x3C},{0,0x30},{LX2[1],0x2C},} local dataType = 4--类型 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) string.toMusic("寒心成功为您修改滑板货币") end), 寒心.switch("奖杯全满", function() 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 sm = gg.prompt({"输入你要的奖杯数量"},{"1500"},{"text"}) addr = readPointer("libil2cpp.so:bss",{ 0xA46A0 , 0x75C , 0x1D0 , 0x1230},1) gg.edits(addr, {{0,4,0x10,true},{0,4,0x4,true},{sm[1],4,0x0,true}},"奖杯") gg.toast("奖杯全满成功") string.toMusic('奖杯全满成功') end), 寒心.switch("奖杯一键领取", function() BL(0xc21518, 4, "~A MOVW R0, #1") gg.toast("一键领取奖杯成功") string.toMusic('一键领取奖杯成功') end), 寒心.switch("解锁内购", function() BL(27312084, 4, "~AB +0x10E8C") gg.toast("解锁内购成功") string.toMusic('解锁内购成功') end), 寒心.switch("解锁双倍金币", function() BL(0x1755b44, 4, "~A MOVW R0, #1") gg.toast("解锁双倍金币成功") string.toMusic('解锁双倍金币成功') end), 寒心.switch("解锁微博", function() BL(0xb87e9c, 4, "~A MOVW R0, #1") gg.toast("解锁微博成功") string.toMusic('解锁微博成功') end), }), 寒心.box({ "修改数据", 寒心.switch("自定义金币", function() BL(0xB9D484,4,"~A MOVW R0, #"..gg.prompt({"金币数量"},{"5999"},{"text"})[1])-- string.toMusic("自定义金币开启成功") end), 寒心.switch("自定义钥匙", function() BL(0xB9D830,4,"~A MOVW R0, #"..gg.prompt({"钥匙数量"},{"5999"},{"text"})[1])-- string.toMusic("自定义钥匙开启成功") end), 寒心.switch("自定义宝钥匙", function() BL(0xBE704C,4,"~A MOVW R0, #"..gg.prompt({"宝物数量"},{"5999"},{"text"})[1])-- string.toMusic("自定义宝钥匙开启成功") end), 寒心.switch("自定义等级", function() BL(0xBA133C,4,"~A MOVW R0, #"..gg.prompt({"等级数量"},{"5999"},{"text"})[1])--修改等级 string.toMusic("自定义等级开启成功") end), 寒心.switch("自定义替换奖励", function() BL(0x1118adc, 4, "~A MOVW R0, #1"..gg.prompt({"0金币--1钥匙--3倍增--4喷射--22宝钥--奖杯25--人物10--滑板12---背饰14---相框9--金色钥匙27---26跑币"},{"1"},{"text"})[1]) gg.toast("自定义修改货币滑板成功") string.toMusic('自定义修改货币滑板开启成功') end), }), } , { --------------以下是列表四 寒心.switch("断网模式", function() function BB(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 gg.alert("使用方法:道具赛开局开,到跳秒结束后关闭,一局一开") BB(0x2ae18cc ,4,"~A MOVW R0, #1")--某人 gg.alert("断网状态开启成功") end, function() function BB(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 BB(0x2ae18cc,4,"~A MOVW R0, #0")--某人 gg.alert("断网状态恢复成功") end), 寒心.switch("一分40秒检测", function() BL(0x2d03400, 4, "~A MOVW R0, #1") string.toMusic('一分40秒检测开启成功') end), 寒心.box({"道具赛", 寒心.switch("无视碰撞", function() BL(30910724, 4, "~A MOVW R0, #1") string.toMusic("无视碰撞开启成功") end , function() BL(30910724, 4, "~A MOVW R0, #0") string.toMusic("无视碰撞关闭成功") end ), 寒心.switch("防至道具", function() BL(31696784, 4, "~A MOVW R0, #1") string.toMusic("防至道具开启成功") end , function() BL(31696784, 4, "~A MOVW R0, #0") string.toMusic("防至道具关闭成功") end ), 寒心.switch("无宝聚能", function() BL(38480608, 4, "~A B -0x1C0") string.toMusic("无宝聚能开启成功") end , function() BL(38480608, 4, "~A MOVW R0, #0") string.toMusic("无宝聚能关闭成功") end ), 寒心.switch("重力聚能", function() BL(30305644, 4, "~A B +0x19EC") string.toMusic("重力聚能开启成功") end , function() BL(30305644, 4, "~A MOVW R0, #0") string.toMusic("重力聚能关闭成功") end ), 寒心.switch("聚能倍增", function() BL(15337176, 4, "~A B +0xE48080") string.toMusic("聚能倍增开启成功") end , function() BL(15337176, 4, "~A MOVW R0, #0") string.toMusic("聚能倍增关闭成功") end ), 寒心.switch("无视能量", function() BL(30292072, 4, "~A MOVW R0, #0") string.toMusic("无视能量开启成功") end , function() BL(30292072, 4, "~A MOVW R0, #1") string.toMusic("无视能量关闭成功") end ), 寒心.switch("时间聚能", function() co = gg.prompt({ "相机", "校服", "耳机", "扇子" }, {}, { "checkbox", "checkbox", "checkbox", "checkbox" }) if co == nil then Main() end if co[1] == true then Name = "相机时间聚能" ms.ss("3210", 4, 32) ms.py(1, 4, 4) ms.py(1, 4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(3, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 100, 4) ms.edit(4.3, 96, 16) ms.edit(1, 168, 16) ms.edit(0, 152, 4) ms.edit(4.3, 148, 16) end if co[2] == true then Name = "校服时间聚能" ms.ss("3110", 4, 32) ms.py(1, 4, 4) ms.py(1, 4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(3, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 100, 4) ms.edit(4.2, 96, 16) ms.edit(1, 168, 16) ms.edit(0, 152, 4) ms.edit(4.2, 148, 16) end if co[3] == true then gg.clearResults() Name = "耳机时间聚能" ms.ss("3310", 4, 32) ms.py(1, 4, 4) ms.py(1, 4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(3, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 100, 4) ms.edit(4.1, 96, 16) ms.edit(1, 168, 16) ms.edit(0, 152, 4) ms.edit(4.1, 148, 16) end if co[4] == true then gg.clearResults() Name = "折扇一秒聚能" ms.ss("2910", 4, 32) ms.py(1, 4, 4) ms.py(1, -4, 4) ms.edit(0, 100, 16) ms.edit(0, 168, 16) ms.edit(0, 152, 16) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(1, 116, 16) ms.edit(2, 148, 16) ms.edit(1.1, 96, 16) ms.edit(3, 76, 4) gg.alert("折扇一秒一能量开启成功") end end ), 寒心.switch("自动聚能", function() co = gg.prompt({ "相机", "校服", "扇子", "卫衣" }, {}, { "checkbox", "checkbox", "checkbox", "checkbox" }) if co == nil then Main() end if co[1] == true then Name = "相机自动聚能" ms.ss("3210", 4, 32) ms.py(1, 4, 4) ms.py(1, -4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(2, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 108, 4) gg.alert("相机聚能成功") end if co[2] == true then Name = "校服自动聚能" ms.ss("3110", 4, 32) ms.py(1, 4, 4) ms.py(1, -4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(2, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 108, 4) gg.alert("校服聚能成功") end if co[3] == true then gg.clearResults() Name = "扇子自动聚能" ms.ss("2910", 4, 32) ms.py(1, 4, 4) ms.py(1, -4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(2, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 108, 4) gg.alert("扇子聚能成功") end if co[4] == true then gg.clearResults() Name = "卫衣自动聚能" ms.ss("3310", 4, 32) ms.py(1, 4, 4) ms.py(1, -4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(2, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 108, 4) gg.alert("卫衣聚能成功") end end ) }), 寒心.box({ "分数赛", 寒心.switch("倍增得分", function() NM = gg.prompt({ "请输入需要修改的倍增分数\n推荐改300\n大厅界面开启否则卡退" }, { [1] = 300 }, { [1] = "number" })[1] if not NM then return end BL(12200688, 4, "~A MOVW\t R0, #" .. NM .. "") string.toMusic("超级倍增开启成功") end , function() local L0_97, L1_98 end ), 寒心.switch("速度起飞", function() gg.addListItems({ { address = S_Pointer({ "libunity.so:bss", "Cb" }, {33564, 236}), flags = 16, value = 30, freeze = true } }) string.toMusic("速度起飞开启成功") end , function() gg.addListItems({ { address = S_Pointer({ "libunity.so:bss", "Cb" }, {33564, 236}), flags = 16, value = 1, freeze = true } }) string.toMusic("速度起飞恢复成功") end ), 寒心.switch("跳跃起飞", function() BL(28404628, 4, "0100A0E3r") string.toMusic("跳跃起飞开启成功") end ) }), 寒心.box({ "无尽赛", 寒心.switch("滑板滑翔", function() BL(31293608, 4, "~A MOVW R0, #1") string.toMusic("滑板滑翔开起成功") end , function() BL(31293608, 4, "~A MOVW R0, #0") string.toMusic("滑板滑翔关闭成功") end ), 寒心.switch("滑板瞬移", function() BL(31293976, 4, "~A MOVW R0, #1") string.toMusic("滑板瞬移开起成功") end , function() BL(31293976, 4, "~A MOVW R0, #0") string.toMusic("滑板瞬移关闭成功") end ), 寒心.switch("滑板极速", function() BL(31293360, 4, "~A MOVW R0, #1") string.toMusic("滑板极速开起成功") end , function() BL(31293360, 4, "~A MOVW R0, #0") string.toMusic("滑板极速关闭成功") end ), 寒心.switch("正常双跳", function() BL(28379444, 4, "~A MOVW R0, #1") string.toMusic("正常双跳开起成功") end , function() BL(28379444, 4, "~A MOVW R0, #0") string.toMusic("正常双跳关闭成功") end ), 寒心.switch("滑板高跳", function() BL(31292616, 4, "~A MOVW R0, #1") string.toMusic("滑板高跳开起成功") end , function() BL(31292616, 4, "~A MOVW R0, #0") string.toMusic("滑板高跳关闭成功") end ), 寒心.switch("无限跳跃", function() BL(28022280, 4, "~A MOVW R0, #1") string.toMusic("无限跳跃开起成功") end , function() BL(28022280, 4, "~A MOVW R0, #0") string.toMusic("无限跳跃关闭成功") end ), 寒心.switch("无尽不死", function() BL(45434720, 4, "~A MOVW R0, #1") string.toMusic("无尽不死开起成功") end , function() BL(45434720, 4, "~A MOVW R0, #0") string.toMusic("无尽不死关闭成功") end ) }), 寒心.box({ "对抗赛", 寒心.switch("自动聚能", function() if gg.prompt({ "宝物等级[1;10]", "相机", "校服", "卫衣", "扇子" }, nil, { "number", "checkbox", "checkbox", "checkbox", "checkbox" }) == nil then do return end return end if gg.prompt({ "宝物等级[1;10]", "相机", "校服", "卫衣", "扇子" }, nil, { "number", "checkbox", "checkbox", "checkbox", "checkbox" })[2] == true then if gg.prompt({ "宝物等级[1;10]", "相机", "校服", "卫衣", "扇子" }, nil, { "number", "checkbox", "checkbox", "checkbox", "checkbox" })[1] == "10" then Name = "相机自动聚能" ms.ss("3210", 4, 32) ms.py(1, 4, 4) ms.py(1, -4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(2, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 108, 4) ms.edit(0, 168, 4) ms.edit(0, 152, 4) ms.edit(999, 148, 4) else Name = "相机自动聚能" ms.ss("320" .. gg.prompt({ "宝物等级[1;10]", "相机", "校服", "卫衣", "扇子" }, nil, { "number", "checkbox", "checkbox", "checkbox", "checkbox" })[1], 4, 32) ms.py(1, 4, 4) ms.py(1, -4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(2, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 108, 4) ms.edit(0, 168, 4) ms.edit(0, 152, 4) ms.edit(999, 148, 4) end elseif gg.prompt({ "宝物等级[1;10]", "相机", "校服", "卫衣", "扇子" }, nil, { "number", "checkbox", "checkbox", "checkbox", "checkbox" })[3] == true then if gg.prompt({ "宝物等级[1;10]", "相机", "校服", "卫衣", "扇子" }, nil, { "number", "checkbox", "checkbox", "checkbox", "checkbox" })[1] == "10" then Name = "校服自动聚能" ms.ss("3110", 4, 32) ms.py(1, 4, 4) ms.py(1, -4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(2, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 108, 4) ms.edit(0, 168, 4) ms.edit(0, 152, 4) ms.edit(999, 148, 4) else Name = "校服自动聚能" ms.ss("310" .. gg.prompt({ "宝物等级[1;10]", "相机", "校服", "卫衣", "扇子" }, nil, { "number", "checkbox", "checkbox", "checkbox", "checkbox" })[1], 4, 32) ms.py(1, 4, 4) ms.py(1, -4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(2, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 108, 4) ms.edit(0, 168, 4) ms.edit(0, 152, 4) ms.edit(999, 148, 4) end elseif gg.prompt({ "宝物等级[1;10]", "相机", "校服", "卫衣", "扇子" }, nil, { "number", "checkbox", "checkbox", "checkbox", "checkbox" })[4] == true then if gg.prompt({ "宝物等级[1;10]", "相机", "校服", "卫衣", "扇子" }, nil, { "number", "checkbox", "checkbox", "checkbox", "checkbox" })[1] == "10" then Name = "卫衣自动聚能" ms.ss("3010", 4, 32) ms.py(1, 4, 4) ms.py(1, -4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(2, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 108, 4) ms.edit(0, 168, 4) ms.edit(0, 152, 4) ms.edit(999, 148, 4) else Name = "卫衣自动聚能" ms.ss("300" .. gg.prompt({ "宝物等级[1;10]", "相机", "校服", "卫衣", "扇子" }, nil, { "number", "checkbox", "checkbox", "checkbox", "checkbox" })[1], 4, 32) ms.py(1, 4, 4) ms.py(1, -4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(2, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 108, 4) ms.edit(0, 168, 4) ms.edit(0, 152, 4) ms.edit(999, 148, 4) end elseif gg.prompt({ "宝物等级[1;10]", "相机", "校服", "卫衣", "扇子" }, nil, { "number", "checkbox", "checkbox", "checkbox", "checkbox" })[5] == true then if gg.prompt({ "宝物等级[1;10]", "相机", "校服", "卫衣", "扇子" }, nil, { "number", "checkbox", "checkbox", "checkbox", "checkbox" })[1] == "10" then Name = "扇子自动聚能" ms.ss("2910", 4, 32) ms.py(1, 4, 4) ms.py(1, -4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(2, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 108, 4) ms.edit(0, 168, 4) ms.edit(0, 152, 4) ms.edit(999, 148, 4) else Name = "扇子自动聚能" ms.ss("290" .. gg.prompt({ "宝物等级[1;10]", "相机", "校服", "卫衣", "扇子" }, nil, { "number", "checkbox", "checkbox", "checkbox", "checkbox" })[1], 4, 32) ms.py(1, 4, 4) ms.py(1, -4, 4) ms.edit(0, 92, 4) ms.edit(0, 80, 4) ms.edit(2, 76, 4) ms.edit(0, 116, 4) ms.edit(0, 108, 4) ms.edit(0, 168, 4) ms.edit(0, 152, 4) ms.edit(999, 148, 4) end end end ) }) }, { 寒心.button("停止播放", function() gg.toast("正在停止播放...") for i=1,100 do gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end gg.toast("播放已停止") gg.toast("无正在播放的音乐") end), 寒心.box({"排行榜", 寒心.switch( "热歌榜",--小功能名 function() A="https://api.uomg.com/api/rand.music?sort=热歌榜&format=json" Obtain=gg.makeRequest(A).content muchen=Obtain:match('url":"(.-)","picurl') name=Obtain:match('name":"(.-)","') gg.alert('开始播放['..name..']') gg.playMusic(muchen) end ), 寒心.switch( "新歌榜", function() A="https://api.uomg.com/api/rand.music?sort=新歌榜&format=json" Obtain=gg.makeRequest(A).content muchen=Obtain:match('url":"(.-)","picurl') name=Obtain:match('name":"(.-)","') gg.alert('开始播放['..name..']') gg.playMusic(muchen) end ), 寒心.switch( "飙升榜", function() A="https://api.uomg.com/api/rand.music?sort=飙升榜&format=json" Obtain=gg.makeRequest(A).content muchen=Obtain:match('url":"(.-)","picurl') name=Obtain:match('name":"(.-)","') gg.alert('开始播放['..name..']') gg.playMusic(muchen) end ), 寒心.switch( "抖音榜", function() A="https://api.uomg.com/api/rand.music?sort=抖音榜&format=json" Obtain=gg.makeRequest(A).content muchen=Obtain:match('url":"(.-)","picurl') name=Obtain:match('name":"(.-)","') gg.alert('开始播放['..name..']') gg.playMusic(muchen) end ), 寒心.switch( "电音榜", function() A="https://api.uomg.com/api/rand.music?sort=电音榜&format=json" Obtain=gg.makeRequest(A).content muchen=Obtain:match('url":"(.-)","picurl') name=Obtain:match('name":"(.-)","') gg.alert('开始播放['..name..']') gg.playMusic(muchen) end ), }), 寒心.box({"寒心推荐", 寒心.switch("救世主",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2006352556.mp3") end, function() end ), 寒心.switch("难熬想你的夜",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2012328830.mp3") end, function() end ), 寒心.switch("多远都要在一起",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1951474864.mp3") end, function() end ), 寒心.switch("哪里都是你",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1876249163.mp3") end, function() end ), 寒心.switch("歌词总诉离别",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2039157171.mp3") end, function() end ), 寒心.switch("风里都是自由",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1989006499.mp3") end, function() end ), 寒心.switch("无法停留的爱",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1979618737.mp3") end, function() end ), 寒心.switch("醒着醉",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1810382853.mp3") end, function() end ), 寒心.switch("你爱的那个Ta",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1917884690.mp3") end, function() end ), 寒心.switch("太空旋律",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1895871919.mp3") end, function() end ), 寒心.switch("旋律王专属",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1937506314.mp3") end, function() end ), 寒心.switch("当寂寞遇上孤独",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2007996299.mp3") end, function() end ), 寒心.switch("听完想跟阎王单挑的感觉",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2011458409.mp3") end, function() end ), 寒心.switch("加拿大的男人不回家",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1813607580.mp3") end, function() end ), 寒心.switch("心做x0.8",--功能名字 不可重复 function() string.toMusic('正在为您播放0.8倍的心做请稍等') gg.playMusic("http://wwww.1314love520.top/view.php/38cc4d69073c5210f09547a0b431240c.mp3") end, function() end ), 寒心.switch("听悲伤的情歌",--功能名字 不可重复 function() string.toMusic('正在为您播放听悲伤的情歌请稍等') gg.playMusic("https://cccimg.com/view.php/5329bbf19c45597aca8e119c41349b24.flac") end, function() end ), 寒心.switch("背上了行囊",--功能名字 不可重复 function() string.toMusic('正在为您播放挂哥专属音乐背上了行囊请稍等') gg.playMusic("https://cccimg.com/view.php/2f3aab5307713d69024fa685310c99a8.mp3") end, function() end ), 寒心.switch("科目三",--功能名字 不可重复 function() string.toMusic('正在为您播放科目三请稍等') gg.playMusic("https://cccimg.com/view.php/a140dfa77221f0a12a5c43a21097fbce.mp3") end, function() end ), 寒心.switch("时势造英雄",--功能名字 不可重复 function() string.toMusic('正在为您播放时势造英雄请稍等') gg.playMusic("https://p5.a.yximgs.com/ufile/atlas/NTIwMTA5NDcxMzU4NTYwNjUzOF8xNjczNjc3MDYYNzg2.m4a") end, function() end ), 寒心.switch("魔征了",--功能名字 不可重复 function() string.toMusic('正在为您播放魔怔了请稍等') gg.playMusic("https://alimov2.a.kwimgs.com/upic/2023/04/22/15/BMjAyMzA0MjIxNTI2MTBfMTg0ODQxOTUyMl8xMDEyMjY4ODI1MjdfMl8z_b_B69017e137e765caecc53108f4cebff84.mp4?clientCacheKey=3xn9xxswfensfqi_b.mp4&tt=b&di=df684894&bp=10000") end, function() end ), 寒心.switch("懒羊羊当大厨",--功能名字 不可重复 function() string.toMusic('正在为您播放懒羊羊当大厨请稍等') gg.playMusic("https://cccimg.com/view.php/eeacc08a64382d8f9f2c0cf5068283bb.mp3") end, function() end ), 寒心.switch("年轮dj",--功能名字 不可重复 function() string.toMusic('正在为您播放年轮dj版请稍等') gg.playMusic("https://alimov2.a.kwimgs.com/upic/2023/05/04/15/BMjAyMzA1MDQxNTUxMTRfOTEyNjc3NzU5XzEwMjI2OTQ0MjMzNl8yXzM=_b_Ba18b2cb10f68240a26b8b0739ca06b2a.mp4?clientCacheKey=3xbfvvicq63dhvw_b.mp4&tt=b&di=df684894&bp=10000") end, function() end ), 寒心.switch("My songs know what you did in the dark",--功能名字 不可重复 function() string.toMusic('正在为您播放My songs know what you did in the dark请稍等') gg.playMusic("https://cccimg.com/view.php/98f5ed7ca8f0f45aabc7b043752b30b0.mp3") end, function() end ), 寒心.switch("Black_Magic",--功能名字 不可重复 function() string.toMusic('正在为您播放Black_Magic请稍等') gg.playMusic("https://cccimg.com/view.php/1ff9b98080a3747c5c1eb6e562ba984d.flac") end, function() end ), 寒心.switch("老鼠MM",--功能名字 不可重复 function() string.toMusic('正在为您播放老鼠MM请稍等') gg.playMusic("https://cccimg.com/view.php/8848a8403ab2f82ed8c825ed87db6a40.flac") end, function() end ), 寒心.switch("版权战歌",--功能名字 不可重复 function() string.toMusic('正在为您播放版权战歌请稍等') gg.playMusic("https://cccimg.com/view.php/8aaec2dc42af33bf27744ebabb5ae3b0.flac") end, function() end ), 寒心.switch("一笑江湖dj",--功能名字 不可重复 function() string.toMusic('正在为您播放一笑江湖请稍等') gg.playMusic("https://cccimg.com/view.php/bca18d7e1ca9a6e4fca8df41cad16c46.mp3") end, function() end ), 寒心.switch("晚风",--功能名字 不可重复 function() string.toMusic('正在为您播放晚风请稍等') gg.playMusic("http://www.1314love520.top/view.php/480f7bf07d7e7897d35898c1c05421ad.mp3") end, function() end ), 寒心.switch("暗号-周杰伦",--功能名字 不可重复 function() string.toMusic('正在为您播放周杰伦的暗号请稍等') gg.playMusic("https://cccimg.com/view.php/8c6c32ea4d4d66e65186e396c966c6ae.flac") end, function() end ), 寒心.switch("我知道你不爱我dj",--功能名字 不可重复 function() string.toMusic('正在为您播放我知道你不爱我dj请稍等') gg.playMusic("https://cccimg.com/view.php/026ee426b53e1e5467fe3b96e5c267e9.flac") end, function() end ), 寒心.switch("886战歌",--功能名字 不可重复 function() gg.playMusic("http://vip.wskig.top/view.php/5b8fd749f02f0dba9bb9813294abda58.mp3") end, function() end ), 寒心.switch("懒羊羊当大厨",--功能名字 不可重复 function() string.toMusic('正在为您播放懒羊羊当大厨请稍等') gg.playMusic("https://cccimg.com/view.php/eeacc08a64382d8f9f2c0cf5068283bb.mp3") end, function() end ), 寒心.switch("Darling",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1369034061.mp3") end, function() end ), 寒心.switch("沉沦与遐想",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1363205817.mp3") end, function() end ), 寒心.switch("你走以后3.0",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1948478077.mp3") end, function() end ), 寒心.switch("异地恋 (我每天问一百次)",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1459232593.mp3") end, function() end ), 寒心.switch("But U",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=28892408.mp3") end, function() end ), 寒心.switch( "删了吧",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=28892408.mp3") end, function() end ), 寒心.switch( "我的天空",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=29004400.mp3") end, function() end ), 寒心.switch( "烟火里的尘埃",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1849998058.mp3") end, function() end ), 寒心.switch( "22秒",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=32835565.mp3") end, function() end ), 寒心.switch( "My Heart Will Go On",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=32835565.mp3") end, function() end ), 寒心.switch("国王与乞丐", --功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=32835565.mp3") end, function() end ), 寒心.switch( "可惜不是你",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1425587051.mp3") end, function() end ), 寒心.switch( "南山南",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1426888943.mp3") end, function() end ), 寒心.switch( "下雨天",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1431464716.mp3") end, function() end ), 寒心.switch("晴天",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1429271155.mp3") end, function() end ), 寒心.switch( "山海",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1431393883.mp3") end, function() end ), 寒心.switch( "爱如火emo版",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2023200425.mp3") end, function() end ), 寒心.switch("菲律宾没有雪", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1440570723.mp3") end ), 寒心.switch("最后的安排dj",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1905004937.mp3") end ), 寒心.switch("老男孩",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1844441724.mp3") end, function() end ), 寒心.switch("天若有情",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2057862033.mp3") end, function() end ), 寒心.switch( "空城",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1423712898.mp3") end, function() end ), 寒心.switch("做个狠人",--功能名字 不可重复 function() gg.playMusic("http://vip.wskig.top/view.php/8230cefdeaabdace4778dd44477acf3c.mp3") end, function() end ), 寒心.switch("兄弟们晚上好",--功能名字 不可重复 function() gg.playMusic("http://vip.wskig.top/view.php/5b8fd749f02f0dba9bb9813294abda58.mp3") end, function() end ), 寒心.switch("少羽战歌",--功能名字 不可重复 function() gg.playMusic("http://ayangwp.icu/view.php/60cff163bdbadd24308628d00804dd7a.mp3") end, function() end ), 寒心.switch("心做",--功能名字 不可重复 function() gg.playMusic("http://ayangwp.icu/view.php/941841d6be10e0450d71a8af19d21cd0.mp3") end, function() end ), 寒心.switch("旋律6.0",--功能名字 不可重复 function() gg.playMusic("http://vip.wskig.top/view.php/7b18c0cee95533da5da8096209fd6990.mp3") end, function() end ), 寒心.switch("江南",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1958405457.mp3") end, function() end ), 寒心.switch("篝火者",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=518725853.mp3") end, function() end ), 寒心.switch("爱如火原创",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1999552137.mp3") end, function() end ), 寒心.switch("把回忆拼好给你",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1403318151.mp3") end, function() end ), 寒心.switch("NUMB",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1388961672.mp3") end, function() end ), 寒心.switch("脚踩底层b",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1369034061.mp3") end, function() end ), 寒心.switch(" 放空",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1841002409.mp3") end, function() end ), 寒心.switch("BABYDOLL", function() gg.playMusic("http://ayangwp.icu/view.php/e223994abf0ba2e7f73730952b28727f.mp3") end, function() end ), 寒心.switch("我可以走我选择的路", function() gg.playMusic("http://vip.wskig.top/view.php/83f312142ab9d532b0a4a2ba3ad1605e.mp3") end, function() end ), 寒心.switch("绝对空虚", function() gg.playMusic("http://vip.wskig.top/view.php/8472f3249dd884ff32bc5f82bc3933e7.mp3") end, function() end ), 寒心.switch("背起了行囊", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1972918129.mp3") end, function() end ), 寒心.switch("岁月无声", function() gg.playMusic("http://vip.wskig.top/view.php/568b73906c212b7089940772b8051b64.mp3") end, function() end ), 寒心.switch("苏六旋律", function() gg.playMusic("http://vip.wskig.top/view.php/e1f18f2c9fc5b27dcd8fe71a6ce3f72d.mp3") end, function() end ), 寒心.switch("硬曲旋律", function() gg.playMusic("http://vip.wskig.top/view.php/7fa88fbdb53d97c3e405103dfbf2daa1.mp3") end, function() end ), 寒心.switch("旋律硬曲", function() gg.playMusic("http://vip.wskig.top/view.php/6a379584c7bb6f350b6fc6d727594fc6.mp3") end, function() end ), 寒心.switch("脚踩魔怔b", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2027640152") end, function() end ), 寒心.switch("我宝贝", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1859660047") end, function() end ), 寒心.switch("雾里",--功能名字 不可重复 function() gg.playMusic("http://ayangwp.icu/view.php/8433d67ab4c8654c2b2a477e8df23a6d.mp3") end, function() end ), 寒心.switch("哪里都是你",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=488249475.mp3") end, function() end ), 寒心.switch("户籍还是道歉", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2036791477") end, function() end ), 寒心.switch("很任性", function() gg.playMusic("http://ayangwp.icu/view.php/2af18c999aea543347c7726a5999a06d.mp3") end, function() end ), 寒心.switch("懒得回信息", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2025482493") end, function() end ), 寒心.switch("说好的幸福呢", function() gg.playMusic("https://t1.kugou.com/song.html?id=6iQKO83BcV3") end, function() end ), 寒心.switch("雪dj", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2034352565") end, function() end ), 寒心.switch("无限月读", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1947125887") end, function() end ), 寒心.switch("忏悔录",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1970396862.mp3") end, function() end ), }), },{ tiaose(), 寒心.button("加入官方", function () gg.QQgroup("3472977190") end), 寒心.switch( '音量键隐藏UI', function() 音量键=true end, function() 音量键=false end), 寒心.switch("退出", function() tuichu=1 print(os.date(content)) end), }, })