if FX2 == nil then mm = gg.prompt({[1]="思念心绪如潮"}, {[1]="0"}, {[1]="txet"}) if mm[1] == "123456" then gg.toast("密码正确") else print(mm[1],"密码错误") os.exit() end 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 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 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 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 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 j={} xgz={} ZY='Main' gg.toast('欢迎使用神·king☪︎地铁跑酷脚本') 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 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 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 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 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 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 Main() SN = gg.multiChoice({ "优化防闪", "防封检测", "一建拉满", "解好友赛", "解锁十倍", "自动聚能", "开发模式", "替换保安", "音乐功能", "退出脚本" }, nil,os.date("地铁跑酷一体化脚本")) if SN == nil then else if SN[1] == true then a1() end if SN[2] == true then b() end if SN[3] == true then c() end if SN[4] == true then e() end if SN[5] == true then f() end if SN[6] == true then j() end if SN[7] == true then k() end if SN[8] == true then l() end if SN[9] == true then z() end if SN[10] == true then Exit() end end XGCK = -1 end function a1() gg.clearResults() gg.setRanges(8) gg.searchNumber("778923875", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("778923875", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("99,99,", gg.TYPE_DWORD) gg.alert(os.date'️防闪成功') end function b() qf=gg.prompt({"登陆过检","局内过检","内存过检","CA~过检","强防检测","强过检测","去除检测","全防检测","削弱检测","屏蔽检测","杀死检测"},nil,{"checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox"}) if qf~= nil then if qf[1] == true then Name = "过检测" ms.ss (2343,4,32) ms.py (1,0xA8,4) ms.py (0,0x74,4) ms.py (0,0x30,4) ms.py (0,0x62,4) ms.py (0,0x79,4) ms.edit (0,0x1BC,4,true) ms.edit (0,0x18,4,true) ms.edit (0,0xB3,4,true) ms.edit (0,0xC8,4,true) ms.edit (0,0x1C,4,true) ms.edit (0,0x18,4,true) ms.edit (1000,0x1B8,4,true) gg.toast("开启成功") end if qf[2] == true then search(2049253121,4,16) py1(2049256824,4,4) xg1(-1,4,396,true) gg.toast("开启成功") end if qf[3] == true then gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("16384", FLOAT, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() == 0 then else gg.searchNumber("16384",FLOAT , false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100)--设置冻结前100个代码 sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = DWORD,freeze = true,value = "0"}}) end gg.toast("开启成功") gg.clearResults() end end if qf[4] == true then function zdbn() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("21634", FLOAT, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() == 0 then gg.toast("cd过检成功") else gg.searchNumber("21634",FLOAT , false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100)--设置冻结前100个代码 sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = DWORD,freeze = true,value = "-9999"}}) end gg.toast("正在屏蔽服务器") gg.clearResults() end end if qf[5] == true then Name = "防检测" ms.ss(2049253121,4,16) ms.py(2049256824,4,4) ms.edit(2049253121,396,4) ms.edit(-1,396,4,true) gg.toast("开启成功") end if qf[6] == true then search(200, 16, 32) py1(25, 16, -4) py1(40, 16, 4) py1(20, 16, -8) py1(0.5, 16, -20) py1(1.5, 16, -28) py1(10, 16, -72) py1(15, 16, 352) xg1(854254, 4, 20, true) xg1(1143703790, 4, 24, true) xg1(1, 4, 32, true) xg1(666, 16, 36, true) xg1(1, 4, 40, true) gg.alert("强过检测已开启") end function jf() search(215, 4, 32) py1(1506, 4, 36) py1(110000002, 4, 44) xg1(98, 4, 4) xg1(98, 4, 8) gg.alert("开启成功") end if qf[7] == true then gg.clearResults() gg.setRanges(8) gg.searchNumber("842,084,352;909,456,435;1094268983", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -0) gg.getResults(3) gg.editAll("-0,",gg.TYPE_DWORD) gg.clearResults() gg.toast("开启成功") end if qf[8] == true then gg.searchNumber("1000000~8888888", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.processResume() gg.refineNumber("1376256", gg.TYPE_DWORD, true, gg.SIGN_EQUAL, 0, -1, 0) gg.processResume() gg.clearResults() gg.searchNumber("1376256", gg.TYPE_DWORD, true, gg.SIGN_EQUAL, 0, -1, 0) gg.processResume() gg.refineNumber("-1", gg.TYPE_DWORD, true, gg.SIGN_EQUAL, 0, -1, 0) local t = gg.getResults(99999, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil revert = gg.getListItems() local t = gg.getListItems() for i, v in ipairs(t) do if v.flags == gg.TYPE_DWORD then v.value = "999999" v.freeze = true v.freezeType = gg.FREEZE_NORMAL end end gg.addListItems(t) t = nil gg.alert("开启成功") end if qf[8] == true then gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("1572864;6291456", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("1572864;6291456", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("-9999", gg.TYPE_DWORD) gg.toast("开启成功") end if qf[9] == true then gg.clearResults() gg.setRanges(gg.REGION_VIDEO) gg.searchNumber("16442", FLOAT, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() == 0 then else gg.searchNumber("9",FLOAT , false, gg.SIGN_EQUAL, 0, -1) gg.getResults(200)--设置修改前200个代码 gg.editAll("-1", 16) gg.toast("开启成功") gg.clearResults() end end if qf[10] == true then gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("16384", FLOAT, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() == 0 then else gg.searchNumber("16384",FLOAT , false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100)--设置冻结前100个代码 sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = DWORD,freeze = true,value = "-9999"}}) end gg.toast("开启成功") gg.clearResults() end end if qf[11] == true then gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("21634", FLOAT, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() == 0 then else gg.searchNumber("21634",FLOAT , false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100)--设置冻结前100个代码 sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = DWORD,freeze = true,value = "-9999"}}) end gg.toast("开启成功") gg.clearResults() end end end end end function c() qf=gg.prompt({"头像拉满","背饰拉满","人物拉满","滑板拉满","宝物拉满","跳过支付"},nil,{"checkbox","checkbox","checkbox","checkbox","checkbox","checkbox"}) if qf~= nil then if qf[1] == true then --头像 gg.processResume() gg.processPause() local il2cppmod=gg.getRangesList('il2cpp.so') gg.setValues({{address=il2cppmod[1].start+0x11a2604,flags=4,value='~A MOV R0, #1'}}) gg.setValues({{address=il2cppmod[1].start+0x11a2604+4,flags=4,value='~A bx lr'}}) gg.processResume ( ) gg.toast('开启成功') end if qf[2] == true then --背饰 gg.processResume() gg.processPause() local il2cppmod=gg.getRangesList('il2cpp.so') gg.setValues({{address=il2cppmod[1].start+0xa8d1a8,flags=4,value='~A MOV R0, #1'}}) gg.setValues({{address=il2cppmod[1].start+0xa8d1a8+4,flags=4,value='~A bx lr'}}) gg.processResume ( ) gg.toast('开启成功') end if qf[3] == true then --人物 gg.processResume() gg.processPause() local il2cppmod=gg.getRangesList('il2cpp.so') gg.setValues({{address=il2cppmod[1].start+0xa62de4,flags=4,value='~A MOV R0, #1'}}) gg.setValues({{address=il2cppmod[1].start+0xa62de4+4,flags=4,value='~A bx lr'}}) gg.processResume ( ) gg.toast('开启成功') end if qf[4] == true then --滑板 gg.processResume() gg.processPause() local il2cppmod=gg.getRangesList('il2cpp.so') gg.setValues({{address=il2cppmod[1].start+0xa63dd0,flags=4,value='~A MOV R0, #1'}}) gg.setValues({{address=il2cppmod[1].start+0xa63dd0+4,flags=4,value='~A bx lr'}}) gg.processResume ( ) gg.toast('开启成功') end if qf[5] == true then --宝物 gg.processResume() gg.processPause() local il2cppmod=gg.getRangesList('il2cpp.so') gg.setValues({{address=il2cppmod[1].start+0x14bd114,flags=4,value='BD0800EAr'}}) gg.setValues({{address=il2cppmod[1].start+0x14bd114+4,flags=4,value='~A bx lr'}}) gg.processResume ( ) gg.toast('开启成功') end if qf[6] == true then --内购 gg.processResume() gg.processPause() local il2cppmod=gg.getRangesList('il2cpp.so') gg.setValues({{address=il2cppmod[1].start+0x10252c4,flags=4,value='~A B +0x00010274'}}) gg.setValues({{address=il2cppmod[1].start+0x10252c4+4,flags=4,value='~A bx lr'}}) gg.processResume ( ) gg.toast('开启成功') end end end function e() gg.processResume() gg.processPause() local il2cppmod=gg.getRangesList('il2cpp.so') gg.setValues({{address=il2cppmod[1].start+0x15cb850,flags=4,value='~A MOV R0, #0'}}) gg.setValues({{address=il2cppmod[1].start+0x15cb850+4,flags=4,value='~A bx lr'}}) gg.processResume ( ) gg.toast('开启成功') end function f() gg.processResume() gg.processPause() local il2cppmod=gg.getRangesList('il2cpp.so') gg.setValues({{address=il2cppmod[1].start+0x167c110,flags=4,value='~A MOV R0, #1'}}) gg.setValues({{address=il2cppmod[1].start+0x167c110+4,flags=4,value='~A bx lr'}}) gg.setValues({{address=il2cppmod[1].start+0xd7bff0,flags=4,value='~A MOV R0, #1'}}) gg.setValues({{address=il2cppmod[1].start+0xd7bff0+4,flags=4,value='~A bx lr'}}) gg.processResume ( ) gg.toast('开启成功') end function j() bf = gg.prompt({"选择等级{相机校服F类型}[1;10]","下滑聚能","原地聚能","撞墙聚能"}, {}, {"number","checkbox","checkbox","checkbox",}) if bf == nil then Main() end if bf[2] == true then if bf[1] == "10" then search(3210,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(0,16,0x94) search(3110,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(0,16,0x94) gg.toast("Done✔️") gg.clearResults() gg.clearList() else search("320"..bf[1],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(0,16,0x94) search("310"..bf[1],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(0,16,0x94) gg.toast("Done✔️") gg.clearResults() gg.clearList() end end if bf[3] == true then if bf[1] == "10" then search(3210,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(0,16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(2,4,0x4C) search(3110,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(0,16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(2,4,0x4C) gg.toast("Done✔️") gg.clearResults() gg.clearList() else search("320"..bf[1],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(0,16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(2,4,0x4C) search("310"..bf[1],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(0,16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(2,4,0x4C) gg.toast("Done✔️") gg.clearResults() gg.clearList() end end if bf[4] == true then if bf[1] == "10" then search(3210,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(0,16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(6,4,0x4C) search(3110,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(0,16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(6,4,0x4C) gg.toast("Done✔️") gg.clearResults() gg.clearList() else search("320"..bf[1],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(0,16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(6,4,0x4C) search("310"..bf[1],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(0,16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(6,4,0x4C) gg.toast("Done✔️") gg.clearResults() gg.clearList() end end end function k() local il2cpp_so=gg.getRangesList("il2cpp.so") gg.setValues({{address=il2cpp_so[1].start+0x16781F4,flags=4,value="0100A0E3r"}}) gg.setValues({{address=il2cpp_so[1].start+0x16781F4+4,flags=4,value="1EFF2FE1r"}}) print("") gg.alert("开发者模式调出成功") end function l() qf=gg.prompt({"修改初始","修改保安"},nil,{"checkbox","checkbox"}) if qf~= nil then if qf[1] == true then gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber('190;-1;190;95000;2::',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('2',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) gg.editAll('0',gg.TYPE_DWORD) gg.toast("修改保安初始化") end if qf[2] == true then 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 local t = {"libil2cpp.so:bss", "Cb"} local tt = {0x9423C, 0x2FC, 0xF0, 0x9C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 190}}) local t = {"libil2cpp.so:bss", "Cb"} local tt = {0x94568, 0x13C, 0xF0, 0x9C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 190}}) local t = {"libil2cpp.so:bss", "Cb"} local tt = {0xAB690, 0x5C, 0xF0, 0x9C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 190}}) local t = {"libil2cpp.so:bss", "Cb"} local tt = {0xACC10, 0x5C, 0x1E0, 0x9C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 190}}) local t = {"libil2cpp.so:bss", "Cb"} local tt = {0xAEB88, 0x2FC, 0x0, 0x9C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 190}}) local t = {"libil2cpp.so:bss", "Cb"} local tt = {0xB4040, 0x13C, 0x0, 0x9C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 190}}) local t = {"libil2cpp.so:bss", "Cb"} local tt = {0xB4048, 0x5C, 0x0, 0x9C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 190}}) gg.toast("修改保安成功") end end end function z() qf=gg.prompt({"口水旋律","停止音乐"},nil,{"checkbox","checkbox"}) if qf~= nil then if qf[1] == true then gg.toast("正在播放:口水旋律") gg.playMusic("https://cccimg.com/view.php/e7537ea1515a59193a19569d866d8ceb.flac") end if qf[2] == true then gg.toast("正在停止音乐") for i=1,100 do gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end end end end function Exit() print("") os.exit() end cs = "" while true do if gg.isVisible(true) then XGCK = 1 gg.setVisible(false) end gg.clearResults() if XGCK == 1 then Main() end end Main() --这个是函数入口 while(true) do if gg.isVisible(true) then gg.setVisible(false) Main() end end