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('欢迎使用晚风科技') 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 search(2049253121,4,16) py1(2049256824,4,4) xg1(-1,4,396,true) 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 local app = {} function Assert(data) --判断 if data == nil or data == "" or data == "nil" then return false else return true end end function mearrass(memory, array) --判断 if Assert(memory) and Assert(array) then return true else return false end end function typetab(array, type) --把所有类型组成一个数组防不写类型 local datatype = {} for i = 1, #array do if Assert(array[i].type) then table.insert(datatype, i, array[i].type) else if Assert(type) then table.insert(datatype, i, type) else return false end end end return true, datatype end function app.memorysearch(memory, array, type) --内存搜索,参数为(内存, 特征码数组, 类型(类型可空)) gg.setVisible(false) local isok = mearrass(memory, array) if isok then local isok, datatype = typetab(array, type) if isok then if Assert(array[1].hv) then --判断主特征码是否有hv,有即范围搜索 gg.clearResults() gg.setRanges(memory) gg.searchNumber(array[1].lv .. "~" .. array[1].hv, datatype[1]) --有hv进行范围搜索 else gg.clearResults() gg.setRanges(memory) gg.searchNumber(array[1].lv, datatype[1]) --普通搜索 end if gg.getResultCount() == 0 then --判断搜索到值没 return false --没搜到值返回false else local tab = {} local data = gg.getResults(gg.getResultCount()) --保存搜索到的数据到data gg.clearResults() for i = 1, #data do data[i].isok = true --把搜索到的值,全部设置为true end for i = 2, #array do local t = {} local offset = array[i].offset for x = 1, #data do --遍历内存 t[#t + 1] = {} t[#t].address = data[x].address + offset t[#t].flags = datatype[i] end local t = gg.getValues(t) for z = 1, #t do if Assert(array[i].hv) then --判断副特征码是否有hv参数 if tonumber(t[z].value) < tonumber(array[i].lv) or tonumber(t[z].value) > tonumber(array[i].hv) then --↑↑↑进行范围判断 data[z].isok = false --不符合条件的设置为false end else if tostring(t[z].value) ~= tostring(array[i].lv) then --普通判断(没有hv参数) data[z].isok = false --不符合设置为false end end end end for i = 1, #data do --重新遍历数组 if data[i].isok then --判断是否为true(符合条件的) tab[#tab + 1] = data[i].address --把符合条件的地址写入数组 end end if #tab > 0 then --判断地址数组是否大于0,大于0就是搜到了符合条件的值,反之没搜到 return true, tab --搜到返回true和地址数组 else return false --没搜到返回false end end else print("type参数错误") --类型错误 gg.toast("type参数错误") os.exit() end else print("memory or array参数错误") --内存或类型错误 gg.toast("memory or array参数错误") os.exit() end end function app.memoryread(addr, type) --读内存,参数为(地址,类型) local t = {} t[1] = {} t[1].address = addr t[1].flags = type if #t > 0 then return true, gg.getValues(t)[1].value --读到返回true和读到得值 else return false --反之返回false end end function app.memorywrite(addr, type, value, freeze) --写内存,参数为(地址,类型,写入得值,是否冻结(可空)) local t = {} t[1] = {} t[1].address = addr t[1].flags = type t[1].value = value if #t > 0 then if Assert(freeze) then --判断是否有冻结参数 t[1].freeze = freeze --gg.setValues(t) --这行自行选择,如果有这行,false会修改并保存到列表,如果没这行,false只会保存到列表而不会修改 return gg.addListItems(t) --成功返回true else return gg.setValues(t) --成功返回true end else return false --失败 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("千然偏移v1.2") 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 -------------不懂勿动------------ -------道具赛配置---------- 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[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 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 So_X32 = 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 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 = "1EFF2FE1r" } } ) gg.processResume ( ) end 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 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 -- 【【 核心代码,不懂勿动 】】 -- JF Script编辑器 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.toast("共修改了"..#data.."条值") tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end -------私人配置-------- --启动次数http://wss.wigyyds.com/api/numberOf/9156315204788326 --应用公告http://wss.wigyyds.com/api/announcement/9156315204788326 --北京时间http://wss.wigyyds.com/api/getTime/9156315204788326 --获取IP信息http://wss.wigyyds.com/api/getIpInfo/9156315204788326 --获取天气情况http://wss.wigyyds.com/api/getWeather/9156315204788326 --获取手机型号http://wss.wigyyds.com/api/getMobile/9156315204788326 --接口文档http://wss.wigyyds.com/help/api.html function Main() SN =gg.multiChoice({ "[1√]最新防闪", "[2√]全新过检", "[3√]Exit" }, nil, "鸡盖最新防闪和防检测最新呼和浩特版本4.03.1") if SN == nil then else if SN[1] == true then apz() end if SN[2] == true then bpz() end if SN[3] == true then cpz() end if SN[4] == true then dpz() end if SN[5] == true then epz() end if SN[6] == true then fpz() end if SN[7] == true then gpz() end if SN[8] == true then sfzi() end if SN[9] == true then ipz() end if SN[10] == true then jpz() end if SN[11] == true then kpz() end if SN[12] == true then yyy() end if SN[13] == true then zzz() end if SN[14] == true then Exit() end end XGCK = -1 end function zzz() SN =gg.choice({ "❤️美女视频1❤️", "❤美女视频2❤️", "❤美女视频3❤️", "❤️美女视频4❤️", "❤️美女视频5❤️", "❤️美女视频6❤️", "❤️美女视频7❤️", "💙蓝色妖姬💙", "💜老鼠mm💜", "🖤励志视频1🖤", "🖤励志视频2🖤", "十八岁禁止观看", "☃️动漫燃剪☃️", "😍火影燃剪1😍", "🐹火影燃剪2🐹", "👉退出音界👈" }, nil,os.date "") if SN == 1 then aysg() end if SN == 2 then bokm() end if SN == 3 then cuhb() end if SN == 4 then dsdf() end if SN == 5 then eert() end if SN == 6 then ftyu() end if SN == 7 then ftyu375() end if SN == 8 then ftyu249() end if SN == 9 then ftyu564() end if SN == 10 then ftyuqwe() end if SN == 11 then ftyuyui() end if SN == 12 then ftyugvh() end if SN == 13 then ftyueiw() end if SN == 14 then ftyutsf() end if SN == 15 then ftyuiwf() end if SN==16 then Exit() end XGCK = -1 end function aysg() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://www.yyj.asia/api/v3/file/get/2034/petal_20221228_111632_324x576.mp4?sign=rZIfJ6SnAVFqNV-I0W8LsSDSq4yyO2Rjr0kUalGodls%3D%3A0") end function bokm() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://jiami.guimei.work/a/1672297999.mp4") end function cuhb() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://jiami.guimei.work/a/1672226891.mp4") end function dsdf() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://jiami.guimei.work/a/1672227801.mp4") end function eert() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://jiami.guimei.work/a/1672225598.mp4") end function ftyu() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://jiami.guimei.work/a/1672234814.mp4") end function ftyu375() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://jiami.guimei.work/a/1672286915.mp4") end function ftyu249() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://jiami.guimei.work/a/1672276065.mp4") end function ftyu564() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://jiami.guimei.work/a/1672314918.mp4") end function ftyuqwe() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://jiami.guimei.work/a/1672224024.mp4") end function ftyuyui() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://jiami.guimei.work/a/1672224414.mp4") end function ftyueiw() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://www.yyj.asia/api/v3/file/get/2064/petal_20230102_092603_448x252.mp4?sign=PtqCcPlbJtYZOaVGJIsNHrwdppc0HGOwSmE5Cquv2xQ%3D%3A0") end function ftyutsf() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://www.yyj.asia/api/v3/file/get/2066/1efd85e31cc075d8ba60f0abaf7b3e9f_960x540.mp4?sign=GTlmNiGMvkqnxJ1oQj39vdhyWfdA0AejlkKtbjhiSww%3D%3A0") end function ftyuiwf() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://www.yyj.asia/api/v3/file/get/2067/a700cea672a05e2d48c0c09c32f563da_704x396.mp4?sign=HgIRgZxU95qCI9l3ZHkzqonZBm_bT1j1VVyufgkTeyM%3D%3A0") end function ftyugvh() gg.alert(os.date'❤️请耐心等待❤️') gg.playVideo("http://81.71.70.249:5212/api/v3/file/get/1512/86f6922cfa16dd10095e73cdf7d5add8.mp4?sign=SHmPCJlcnfjw8_9u-hJN86CkaR6jVPibemkuhKznV58%3D%3A0") end function yyy() SN = gg.choice({ "江南", "篝火旁", "心做", "爱如火原创", "把回忆拼好给你", "NUMB", "Darling", "放空", "忏悔录", "沉沦与遐想", "你走以后1.0", "异地恋 (我每天问一百次)", "But U", "删了吧", "我的天空", "烟火里的尘埃", "22秒", "My Heart Will Go On", "国王与乞丐", "可惜不是你", "南山南", "下雨天", "蓝", "我不听了[关闭音乐]", "退出", }, nil, "这些歌作者都觉得非常好听😎") if SN==1 then SSN1() end if SN==2 then SSN2() end if SN==3 then SSN3() end if SN==4 then SSN4() end if SN==5 then SSN5() end if SN==6 then SSN6() end if SN==7 then SSN7() end if SN==8 then SSN8() end if SN==9 then SSN9() end if SN==10 then SSN10() end if SN==11 then SSN11() end if SN==12 then SSN12() end if SN==13 then SSN13() end if SN==14 then SSN14() end if SN==15 then SSN15() end if SN==16 then SSN16() end if SN==17 then SSN17() end if SN==18 then SSN18() end if SN==19 then SSN19() end if SN==20 then SSN20() end if SN==21 then SSN21() end if SN==22 then SSN22() end if SN==23 then SSN23() end if SN==24 then SSN24() end if SN==25 then SSN25() end XGCK = -1 end function SSN1() gg.playMusic("http://music.163.com/song/media/outer/url?id=1958405457.mp3") end function SSN2() gg.playMusic("http://music.163.com/song/media/outer/url?id=518725853.mp3") end function SSN3() gg.playMusic("http://music.163.com/song/media/outer/url?id=2008921547.mp3") end function SSN4() gg.playMusic("http://music.163.com/song/media/outer/url?id=1999552137.mp3") end function SSN5() gg.playMusic("http://music.163.com/song/media/outer/url?id=1403318151.mp3") end function SSN6() gg.playMusic("http://music.163.com/song/media/outer/url?id=1388961672.mp3") end function SSN7() gg.playMusic("http://music.163.com/song/media/outer/url?id=1369034061.mp3") end function SSN8() gg.playMusic("http://music.163.com/song/media/outer/url?id=1841002409.mp3") end function SSN9() gg.playMusic("http://music.163.com/song/media/outer/url?id=1970396862.mp3") end function SSN9() gg.playMusic("http://music.163.com/song/media/outer/url?id=1492584510.mp3") end function SSN10() gg.playMusic("http://music.163.com/song/media/outer/url?id=1363205817.mp3") end function SSN11() gg.playMusic("http://music.163.com/song/media/outer/url?id=1948478077.mp3") end function SSN12() gg.playMusic("http://music.163.com/song/media/outer/url?id=1459232593.mp3") end function SSN13() gg.playMusic("http://music.163.com/song/media/outer/url?id=1891469546.mp3") end function SSN14() gg.playMusic("http://music.163.com/song/media/outer/url?id=28892408.mp3") end function SSN15() gg.playMusic("http://music.163.com/song/media/outer/url?id=29004400.mp3") end function SSN16() gg.playMusic("http://music.163.com/song/media/outer/url?id=1849998058.mp3") end function SSN17() gg.playMusic("http://music.163.com/song/media/outer/url?id=26524701.mp3") end function SSN18() gg.playMusic("http://music.163.com/song/media/outer/url?id=32835565.mp3") end function SSN19() gg.playMusic("http://music.163.com/song/media/outer/url?id=1435158305.mp3") end function SSN20() gg.playMusic("http://music.163.com/song/media/outer/url?id=1425587051.mp3") end function SSN21() gg.playMusic("http://music.163.com/song/media/outer/url?id=1426888943.mp3") end function SSN22() gg.playMusic("http://music.163.com/song/media/outer/url?id=1431464716.mp3") end function SSN23() gg.playMusic("http://music.163.com/song/media/outer/url?id=1429271155.mp3") end function SSN24() end function SSN25() os.exit() end function kpz() pcall(load(gg.makeRequest("http://vip.wskig.top/down.php/e134ff32441dc6dc6c7727dbdc4c9614.lua&fghjbvf").content)) end function apz() 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 -----------防闪↑---------- function bpz() Name = "防检测" ms.ss (2367,4,16) ms.py (4369807,4,4) ms.py (96376,4,4) ms.py (334625,4,4) ms.edit (749,396,4) ms.edit (83489,36,4) ms.edit (5,398,4) ms.edit (79,342,4) ms.edit (-1,391,4,true) gg.alert("防检测开启成功") end function cpz() So_X32 ( 0xe640f4 , "~A MOV R0, #1" ) gg.toast("开启成功") end function dpz() local T_1 = { "宝物等级[1;10]" , "相机" , "校服" } local T_2 = nil local T_3 = { "number" , "checkbox" , "checkbox" } local Pr = gg.prompt ( T_1 , T_2 , T_3 ) if Pr == nil then return elseif Pr [ 2 ] == true then if Pr [ 1 ] == "10" then Name = "相机自动聚能" ms.ss ( "3210" , 4 , 32 ) ms.py ( 1 , 4 , 4 ) ms.py ( 1 , -4 , 4 ) ms.edit ( 0 , 0x5c , 4 ) ms.edit ( 0 , 0x50 , 4 ) ms.edit ( 2 , 0x4c , 4 ) ms.edit ( 0 , 0x74 , 4 ) ms.edit ( 0 , 0x6c , 4 ) ms.edit ( 0 , 0xa8 , 4 ) ms.edit ( 0 , 0x98 , 4 ) ms.edit ( 999 , 0x94 , 4 ) else Name = "相机自动聚能" ms.ss ( "320"..Pr [ 1 ] , 4 , 32 ) ms.py ( 1 , 4 , 4 ) ms.py ( 1 , -4 , 4 ) ms.edit ( 0 , 0x5c , 4 ) ms.edit ( 0 , 0x50 , 4 ) ms.edit ( 2 , 0x4c , 4 ) ms.edit ( 0 , 0x74 , 4 ) ms.edit ( 0 , 0x6c , 4 ) ms.edit ( 0 , 0xa8 , 4 ) ms.edit ( 0 , 0x98 , 4 ) ms.edit ( 999 , 0x94 , 4 ) end elseif Pr [ 3 ] == true then if Pr [ 1 ] == "10" then Name = "校服自动聚能" ms.ss ( "3110" , 4 , 32 ) ms.py ( 1 , 4 , 4 ) ms.py ( 1 , -4 , 4 ) ms.edit ( 0 , 0x5c , 4 ) ms.edit ( 0 , 0x50 , 4 ) ms.edit ( 2 , 0x4c , 4 ) ms.edit ( 0 , 0x74 , 4 ) ms.edit ( 0 , 0x6c , 4 ) ms.edit ( 0 , 0xa8 , 4 ) ms.edit ( 0 , 0x98 , 4 ) ms.edit ( 999 , 0x94 , 4 ) else Name = "校服自动聚能" ms.ss ( "310"..Pr [ 1 ] , 4 , 32 ) ms.py ( 1 , 4 , 4 ) ms.py ( 1 , -4 , 4 ) ms.edit ( 0 , 0x5c , 4 ) ms.edit ( 0 , 0x50 , 4 ) ms.edit ( 2 , 0x4c , 4 ) ms.edit ( 0 , 0x74 , 4 ) ms.edit ( 0 , 0x6c , 4 ) ms.edit ( 0 , 0xa8 , 4 ) ms.edit ( 0 , 0x98 , 4 ) ms.edit ( 999 , 0x94 , 4 ) end end end ---------自动聚能 function epz() search(300,16,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x34) xg1(0,4,0x24) xg1(0,16,0x20) gg.toast("开启成功") end --------滑板零速 function fpz() search(300,16,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x34) xg1(0,4,0x24) xg1(2000,16,0x20) gg.toast("开启成功") end -------- function gpz() local t_1 = { "道具类型"..[[ 无 = 0 导弹 = 1 蓝泡 = 2 护盾 = 4 香蕉 = 8 章鱼 = 16 眩晕 = 32 绿泡 = 64 狗子 = 128 能量 = 256 乌龟 = 272 云雾 = 288 净化 = 320 磁铁 = 384 ]] } local t_2 local t_3 = { "text" } local Prompt = gg.prompt ( t_1 , t_2 , t_3 ) if Prompt == nil then return else So_X32 ( 0xf1ff18 , "~A MOV R0, #" ..Prompt [ 1 ] ) print ( "锁定道具为"..Prompt [ 1 ] ) 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 sfzi() xm = gg.prompt({"购买价格","物品指针: \n1.人物10\n2.宝物21\n3.滑板12\n4.头像框9","数量","物品代码: \n是这样子抽的\n输入0那么替换的就是1~9\n演示:想要19~38输入19即可\n就是0的倍数"}, {"-1","10","1000","177"}, {"number","number","number","number"}) gg.setRanges(32) gg.clearResults() gg.clearList() gg.setVisible(false) gg.searchNumber('1200',4) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) end py1(1,4,-0x4) py1(1,4,0x24) qx={} xg={} sf={} for i = 1 , 9 do qx[#qx+1]={} xg[#xg+1]={} sf[#sf+1]={} qx[#qx].value=0 xg[#xg].value=0 sf[#sf].value=xm[1] qx[#qx].flags=4 xg[#xg].flags=4 sf[#sf].flags=4 qx[#qx].freeze=true xg[#xg].freeze=true sf[#sf].freeze=true qx[#qx].address=sj[1].address+0x4+i*0x28 xg[#xg].address=sj[1].address-0x8+i*0x28 sf[#sf].address=sj[1].address-0xC+i*0x28 end gg.addListItems({{address=sj[1].address+0x4,flags=4,value=0,freeze=true}}) gg.addListItems({{address=sj[1].address-0x8,flags=4,value=0,freeze=true}}) gg.addListItems({{address=sj[1].address-0xC,flags=4,value=xm[1],freeze=true}}) gg.addListItems(qx) gg.addListItems(xg) gg.addListItems(sf) --↑修改价格部分 gg.clearResults() gg.clearList() gg.searchNumber('3000',4) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) end py1(1,4,-0x4) py1(1,4,0x10) py1(1,4,0x28) py1(7,4,0x8C) qx={} xg={} sf={} hs={} ns={} la={} ks={} kn={} kl={} ds={} dn={} dl={} ys={} yn={} yl={} ts={} tn={} tl={} for i = 0 , 9 do qx[#qx+1]={} xg[#xg+1]={} sf[#sf+1]={} hs[#hs+1]={} ns[#ns+1]={} la[#la+1]={} ks[#ks+1]={} kn[#kn+1]={} kl[#kl+1]={} ds[#ds+1]={} dn[#dn+1]={} dl[#dl+1]={} ys[#ys+1]={} yn[#yn+1]={} yl[#yl+1]={} ts[#ts+1]={} tn[#tn+1]={} tl[#tl+1]={} qx[#qx].value=0 xg[#xg].value=0 sf[#sf].value=xm[2] hs[#hs].value=0 ns[#ns].value=0 la[#la].value=xm[2] ks[#ks].value=0 kn[#kn].value=0 kl[#kl].value=xm[3] ds[#ds].value=0 dn[#dn].value=0 dl[#dl].value=xm[3] ys[#ys].value=0 yn[#yn].value=0 yl[#yl].value=xm[4]+i ts[#ts].value=0 tn[#tn].value=0 tl[#tl].value=xm[4]+i+4 qx[#qx].flags=4 xg[#xg].flags=4 sf[#sf].flags=4 hs[#hs].flags=4 ns[#ns].flags=4 la[#la].flags=4 ks[#ks].flags=4 kn[#kn].flags=4 kl[#kl].flags=4 ds[#ds].flags=4 dn[#dn].flags=4 dl[#dl].flags=4 ys[#ys].flags=4 yn[#yn].flags=4 yl[#yl].flags=4 ts[#ts].flags=4 tn[#tn].flags=4 tl[#tl].flags=4 qx[#qx].freeze=true xg[#xg].freeze=true sf[#sf].freeze=true hs[#hs].freeze=true ns[#ns].freeze=true la[#la].freeze=true ks[#ks].freeze=true kn[#kn].freeze=true kl[#kl].freeze=true ds[#ds].freeze=true dn[#dn].freeze=true dl[#dl].freeze=true ys[#ys].freeze=true yn[#yn].freeze=true yl[#yl].freeze=true ts[#ts].freeze=true tn[#tn].freeze=true tl[#tl].freeze=true qx[#qx].address=sj[1].address-0x10+i*0xA0 xg[#xg].address=sj[1].address-0x1C+i*0xA0 sf[#sf].address=sj[1].address-0x20+i*0xA0 hs[#hs].address=sj[1].address-0x10+i*-0xA0 ns[#ns].address=sj[1].address-0x1C+i*-0xA0 la[#la].address=sj[1].address-0x20+i*-0xA0 ks[#ks].address=sj[1].address+0x4+i*0xA0 kn[#kn].address=sj[1].address-0x8+i*0xA0 kl[#kl].address=sj[1].address-0xC+i*0xA0 ds[#ds].address=sj[1].address+0x4+i*-0xA0 dn[#dn].address=sj[1].address-0x8+i*-0xA0 dl[#dl].address=sj[1].address-0xC+i*-0xA0 ys[#ys].address=sj[1].address+0x18+i*0xA0 yn[#yn].address=sj[1].address+0xC+i*0xA0 yl[#yl].address=sj[1].address+0x8+i*0xA0 ts[#ts].address=sj[1].address+0x18+i*-0xA0 tn[#tn].address=sj[1].address+0xC+i*-0xA0 tl[#tl].address=sj[1].address+0x8+i*-0xA0 end gg.addListItems(qx) gg.addListItems(xg) gg.addListItems(sf) gg.addListItems(hs) gg.addListItems(ns) gg.addListItems(la) gg.addListItems(ks) gg.addListItems(kn) gg.addListItems(kl) gg.addListItems(ds) gg.addListItems(dn) gg.addListItems(dl) gg.addListItems(ys) gg.addListItems(yn) gg.addListItems(yl) gg.addListItems(ts) gg.addListItems(tn) gg.addListItems(tl) gg.clearResults() gg.clearList() gg.setVisible(false) qx={} xg={} sf={} sg={} hg={} se={} for i = 0 , 9 do qx[#qx+1]={} xg[#xg+1]={} sf[#sf+1]={} sg[#sg+1]={} hg[#hg+1]={} se[#se+1]={} qx[#qx].value=0 xg[#xg].value=0 sf[#sf].value=xm[4]+i sg[#sg].value=0 hg[#hg].value=0 se[#se].value=xm[4]+i+4 qx[#qx].flags=4 xg[#xg].flags=4 sf[#sf].flags=4 sg[#sg].flags=4 hg[#hg].flags=4 se[#se].flags=4 qx[#qx].freeze=true xg[#xg].freeze=true sf[#sf].freeze=true sg[#sg].freeze=true hg[#hg].freeze=true se[#se].freeze=true qx[#qx].address=sj[1].address+0x30+i*0xA0 xg[#xg].address=sj[1].address+0x24+i*0xA0 sf[#sf].address=sj[1].address+0x20+i*0xA0 sg[#sg].address=sj[1].address+0x30+i*-0xA0 hg[#hg].address=sj[1].address+0x24+i*-0xA0 se[#se].address=sj[1].address+0x20+i*-0xA0 end gg.addListItems(qx) gg.addListItems(xg) gg.addListItems(sf) gg.addListItems(sg) gg.addListItems(hg) gg.addListItems(se) gg.clearResults() gg.clearList() gg.setVisible(false) qx={} xg={} sf={} sg={} hg={} se={} for i = 0 , 9 do qx[#qx+1]={} xg[#xg+1]={} sf[#sf+1]={} sg[#sg+1]={} hg[#hg+1]={} se[#se+1]={} qx[#qx].value=0 xg[#xg].value=0 sf[#sf].value=xm[4]+i sg[#sg].value=0 hg[#hg].value=0 se[#se].value=xm[4]+i+4 qx[#qx].flags=4 xg[#xg].flags=4 sf[#sf].flags=4 sg[#sg].flags=4 hg[#hg].flags=4 se[#se].flags=4 qx[#qx].freeze=true xg[#xg].freeze=true sf[#sf].freeze=true sg[#sg].freeze=true hg[#hg].freeze=true se[#se].freeze=true qx[#qx].address=sj[1].address+0x48+i*0xA0 xg[#xg].address=sj[1].address+0x3C+i*0xA0 sf[#sf].address=sj[1].address+0x38+i*0xA0 sg[#sg].address=sj[1].address+0x48+i*-0xA0 hg[#hg].address=sj[1].address+0x3C+i*-0xA0 se[#se].address=sj[1].address+0x38+i*-0xA0 end gg.addListItems(qx) gg.addListItems(xg) gg.addListItems(sf) gg.addListItems(sg) gg.addListItems(hg) gg.addListItems(se) gg.clearResults() gg.clearList() --↑修改剩下的部分部分 qx={} xg={} sf={} sg={} hg={} se={} for i = 0 , 9 do qx[#qx+1]={} xg[#xg+1]={} sf[#sf+1]={} sg[#sg+1]={} hg[#hg+1]={} se[#se+1]={} qx[#qx].value=0 xg[#xg].value=0 sf[#sf].value=xm[4]+i sg[#sg].value=0 hg[#hg].value=0 se[#se].value=xm[4]+i+4 qx[#qx].flags=4 xg[#xg].flags=4 sf[#sf].flags=4 sg[#sg].flags=4 hg[#hg].flags=4 se[#se].flags=4 qx[#qx].freeze=true xg[#xg].freeze=true sf[#sf].freeze=true sg[#sg].freeze=true hg[#hg].freeze=true se[#se].freeze=true qx[#qx].address=sj[1].address+0x5C+i*0xA0 xg[#xg].address=sj[1].address+0x50+i*0xA0 sf[#sf].address=sj[1].address+0x4C+i*0xA0 sg[#sg].address=sj[1].address+0x5C+i*-0xA0 hg[#hg].address=sj[1].address+0x50+i*-0xA0 se[#se].address=sj[1].address+0x4C+i*-0xA0 end gg.addListItems(qx) gg.addListItems(xg) gg.addListItems(sf) gg.addListItems(sg) gg.addListItems(hg) gg.addListItems(se) gg.clearResults() gg.clearList() gg.setVisible(true) print("晚风提示修改成功,可备份") end function ipz() SJ = gg.multiChoice({ "无敌金刚不败", "无敌穿透", "恢复", "技能无限时长", "滑板无限时长", "高跳", "恢复", "飞天", "恢复", "锁定高度", "恢复", "爱的魔力转圈圈", "恢复", "二段跳", "多段跳 需要有节奏的跳", "下滑瞬移", "恢复", "秒变道", "恢复", "游戏变速", "返回", },nil,os.date("✨北京时间:%Y年️%m月%d日%H:%M:%S✨\n✨永爱晚风✨")) if SJ == nil then else if SJ[1] == true then a() end if SJ[2] == true then b() end if SJ[3] == true then c() end if SJ[4] == true then d() end if SJ[5] == true then e() end if SJ[6] == true then f() end if SJ[7] == true then g() end if SJ[8] == true then h() end if SJ[9] == true then i() end if SJ[10] == true then n() end if SJ[11] == true then o() end if SJ[12] == true then p() end if SJ[13] == true then q() end if SJ[14] == true then r() end if SJ[15] == true then s() end if SJ[16] == true then u() end if SJ[17] == true then v() end if SJ[18] == true then w() end if SJ[19] == true then x() end if SJ[20] == true then su() end if SJ[21] == true then Main() end end end function a() qmnb = { {["memory"] = 32}, {["name"] = "无敌"}, {["value"] = 4.5, ["type"] = 16}, {["lv"] = 5.5, ["offset"] = 16, ["type"] = 16}, } qmxg = { {["value"] = 999, ["offset"] = 28, ["type"] = 16,["freeze"] = true}, } xqmnb(qmnb) end function b() qmnb = { {["memory"] = 32}, {["name"] = "穿透"}, {["value"] = 4.5, ["type"] = 16}, {["lv"] = 5.5, ["offset"] = 16, ["type"] = 16}, } qmxg = { {["value"] = 9191, ["offset"] = 0, ["type"] = 16}, {["value"] = 9192, ["offset"] = 16, ["type"] = 16}, } xqmnb(qmnb) end function c() qmnb = { {["memory"] = 32}, {["name"] = "恢复穿透"}, {["value"] = 9191.0, ["type"] = 16}, {["lv"] = 9192.0, ["offset"] = 16, ["type"] = 16}, } qmxg = { {["value"] = 4.5, ["offset"] = 0, ["type"] = 16}, {["value"] = 5.5, ["offset"] = 16, ["type"] = 16}, } xqmnb(qmnb) end function d()--道具 gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("30;30;30;25::", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("30", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("999999999", gg.TYPE_FLOAT) gg.toast("成功") end function e()--滑板 gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("1000;250;30", FLOAT, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() == 0 then gg.toast("开启失败") else gg.searchNumber("30",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 = FLOAT,freeze = true,value = "999999999"}}) end gg.toast("成功") gg.clearResults() end end function f() search(4.5,16,32) py1(15.0,16,-88) py1(9.0,16,8) xg1(400,16,-332,true) gg.toast('超级跳跃已开启!') end function g() search(4.5,16,32) py1(15.0,16,-88) py1(9.0,16,8) xg1(20,16,-332,false) xg1(20,16,-332) gg.toast('超级跳跃已恢复!') end function h() qmnb = { {["memory"] = 4}, {["name"] = "飞天"}, {["value"] = 1060439284, ["type"] = 4}, {["lv"] = 1077936128, ["offset"] = 24, ["type"] = 4}, } qmxg = { {["value"] = 1120403456, ["offset"] = 20, ["type"] = 4}, } xqmnb(qmnb) end function i() qmnb = { {["memory"] = 4}, {["name"] = "飞天恢复"}, {["value"] = 1060439284, ["type"] = 4}, {["lv"] = 1077936128, ["offset"] = 24, ["type"] = 4}, } qmxg = { {["value"] = 1045220557, ["offset"] = 20, ["type"] = 4}, } xqmnb(qmnb) end function n() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("20;25;200;40::", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("200", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0,-1) gg.getResults(50) gg.editAll("0",gg.TYPE_FLOAT) gg.toast("成功") end function o() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("20;25;0;40::", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("0", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0,-1) gg.getResults(50) gg.editAll("200",gg.TYPE_FLOAT) gg.toast("成功") end function p() qmnb = { {["memory"] = 32}, {["name"] = "转圈圈"}, {["value"] = 20.0, ["type"] = 16}, {["lv"] = 20.0, ["offset"] = 4, ["type"] = 16}, {["lv"] = 1.0, ["offset"] = 20, ["type"] = 16}, {["lv"] = 45.0, ["offset"] = 24, ["type"] = 16}, } qmxg = { {["value"] = 166, ["offset"] = 20, ["type"] = 16,["freeze"] = true}, {["value"] = 99999, ["offset"] = 24, ["type"] = 16,["freeze"] = true}, } xqmnb(qmnb) end function q() qmnb = { {["memory"] = 32}, {["name"] = "恢复转圈圈"}, {["value"] = 20.0, ["type"] = 16}, {["lv"] = 20.0, ["offset"] = 4, ["type"] = 16}, {["lv"] = 166.0, ["offset"] = 20, ["type"] = 16}, {["lv"] = 99999.0, ["offset"] = 24, ["type"] = 16}, } qmxg = { {["value"] = 1, ["offset"] = 20, ["type"] = 16,["freeze"] = true}, {["value"] = 45, ["offset"] = 24, ["type"] = 16,["freeze"] = true}, } xqmnb(qmnb) end function r() qmnb = { {["memory"] = 32}, {["name"] = "二段跳"}, {["value"] = 5.5, ["type"] = 16}, {["lv"] = 4.5, ["offset"] = -16, ["type"] = 16}, } qmxg = { {["value"] = 1, ["offset"] = -276, ["type"] = 16,}, } xqmnb(qmnb) end function s() qmnb = { {["memory"] = 32}, {["name"] = "多段跳"}, {["value"] = 5.5, ["type"] = 16}, {["lv"] = 4.5, ["offset"] = -16, ["type"] = 16}, } qmxg = { {["value"] = 0, ["offset"] = -276, ["type"] = 16,["freeze"] = true}, } xqmnb(qmnb) end function u() qmnb = { {["memory"] = 32}, {["name"] = "下滑瞬移"}, {["value"] = -8388608, ["type"] = 4}, {["lv"] = -1082130432, ["offset"] = -16, ["type"] = 4}, {["lv"] = 2139095040, ["offset"] = -8, ["type"] = 4}, } qmxg = { {["value"] = 99999, ["offset"] = -64, ["type"] = 16}, } xqmnb(qmnb) end function v() qmnb = { {["memory"] = 32}, {["name"] = "恢复瞬移"}, {["value"] = -8388608, ["type"] = 4}, {["lv"] = -1082130432, ["offset"] = -16, ["type"] = 4}, {["lv"] = 2139095040, ["offset"] = -8, ["type"] = 4}, } qmxg = { {["value"] = 0, ["offset"] = -64, ["type"] = 16}, } xqmnb(qmnb) end function w() gg.clearResults() gg.setRanges(gg.REGION_C_DATA) gg.searchNumber("9.04809338e-38;1::", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("1", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0,-1) gg.getResults(100) gg.editAll("999",gg.TYPE_FLOAT) gg.toast("成功") end function x() gg.clearResults() gg.setRanges(gg.REGION_C_DATA) gg.searchNumber("9.04809338e-38;999::", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("999", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0,-1) gg.getResults(100) gg.editAll("1",gg.TYPE_FLOAT) gg.toast("成功") end function su() local g=gg.prompt ({'速度倍数'},{[1]="0.5"},{[1]='number'}) if g == nil then return end local addr = readPointer("libunity.so:bss", {248400, 228, 48, 236}, 1) gg.edits(addr, {{g[1], 16, 0, false}}) end function jpz() time=os.clock() gg.setRanges(32) gg.clearResults() gg.clearList() gg.searchNumber('50000',4) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) end py1(80,4,0x40) py1(120,4,0x80) py1(120,4,0xc0) py1(60,4,0x100) xg={} jbjg={} jb1={} for i=0,30 do xg[#xg+1]={} jbjg[#jbjg+1]={} jb1[#jb1+1]={} xg[#xg].value=0 jbjg[#jbjg].value=1 jb1[#jb1].value=1 xg[#xg].flags=4 jbjg[#jbjg].flags=4 jb1[#jb1].flags=4 xg[#xg].freeze=true jbjg[#jbjg].freeze=true jb1[#jb1].freeze=true xg[#xg].address=sj[1].address+0xC+i*0x40 jbjg[#jbjg].address=sj[1].address+0+i*0x40 jb1[#jb1].address=sj[1].address+0x4+i*0x40 end gg.addListItems(xg) gg.addListItems(jbjg) gg.addListItems(jb1) gg.alert("背饰1金币开启成功本次耗时"..time.."秒") 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