--夜白开源 gg.alert("夜白牛逼", "") XGCK = 5 if menu1 == nil then mm = gg.prompt({[1]="请输入密码,夜白开源"}, {[1]="夜白牛逼"}) if XGCK == "5" then gg.toast("密码正确") else print(mm[1],"密码错误") print(sj) os.exit() end end gg.alert("欢迎你进入夜白脚本") gg.alert("本人收徒") gg.alert("3251951377QQ(〜 ̄▽ ̄)〜") gg.alert("欢迎你进入") gg.clearResults() 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 readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true] = 32, [false] = 4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address = addr, flags = va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr + v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2] + 1] = value else Table1[1][#Table1[1] + 1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) gg.toast((name or "") .. "开启成功, 共修改" .. #Table .. "个值") end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _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 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("\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 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 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 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 readValue(address, flags) return gg.getValues({{address = address, flags = flags}})[1]["value"]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 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("共修改 "..#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 split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find (szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len (szFullString)) break end nSplitArray[nSplitIndex] = string.sub (szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len (szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end 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 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 gg.clearResults() j={} xgz={} ZY='Main' gg.toast('') gg.clearResults() sj={} xgz={} gg.toast("") 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 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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("💖无数据💖") 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 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("\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 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 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) 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 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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("💖无数据💖") 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 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("\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 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 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 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 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) 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 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 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 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 function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find (szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len (szFullString)) break end nSplitArray[nSplitIndex] = string.sub (szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len (szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end 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_QWORDRD 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 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 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("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local tt = {} local t = gg.getRangesList('^/data/*.so*$') for i in pairs(t) do if t[i].type:sub(2, 2) == 'w' then if not tt[t[i].internalName] then tt[t[i].internalName] = {} end if not tt[t[i].internalName][t[i].state] then tt[t[i].internalName][t[i].state] = 0 end tt[t[i].internalName][t[i].state] = tt[t[i].internalName][t[i].state] + 1 t[i].So_Count = tt[t[i].internalName][t[i].state] table.insert(ranges, t[i]) 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 and N_So[3] == S_list[i].So_Count 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 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 split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end end end function search(ss,lx,nc,dz1,dz2) if ss~=nil then if lx~=nil then if nc==nil then nc=32 end gg.setRanges(nc) if dz1==nil then dz1="-1" end if dz2==nil then dz1="0" end gg.searchNumber(ss,lx,false,536870912,dz1,dz2) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) gg.toast("搜索到 "..sl.." 个结果") gg.clearResults() else gg.toast("未搜索到结果") end else gg.toast("无搜索值类型") end else gg.toast("无需搜索值") end end function py1(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value==value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function xg1(value,lx,py,dj) if #sj~=nil then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end gg.toast("共修改 "..#z.." 个数据") else gg.toast("没有搜索数据") end end function search(ss,lx,nc,dz1,dz2) if ss~=nil then if lx~=nil then if nc==nil then nc=32 end gg.setRanges(nc) if dz1==nil then dz1="-1" end if dz2==nil then dz1="0" end gg.searchNumber(ss,lx,false,536870912,dz1,dz2) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) gg.toast("搜索到 "..sl.." 个结果") gg.clearResults() else gg.toast("未搜索到结果") end else gg.toast("无搜索值类型") end else gg.toast("无需搜索值") end end function py1(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value==value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function xg1(value,lx,py,dj) if #sj~=nil then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end gg.toast("共修改 "..#z.." 个数据") else gg.toast("没有搜索数据") end end 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 -- 【【 核心代码,不懂勿动 】】 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 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 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("\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 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 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 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 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 Main() ZY='Main' WS = gg.choice({ "独家️防闪️", "菜单刷号1️", "防挤号", "开挂必听", "皮肤获取", "道具赛功能", "️菜单刷号2", "️宝石替换商城️", "️自定义抽宝物", "菜单刷号3", "读小说功能", "读取数据", "退出脚本", },nil,"") if WS==nil then else end if WS==1 then WS666() end if WS==2 then hqdk() end if WS==3 then byjbhs() end if WS==4 then bbmn() end if WS==5 then yinyve() end if WS==6 then waigua() end if WS==7 then WSNB() end if WS==8 then ks() end if WS==9 then bn() end if WS==10 then sh() end if WS==11 then bk() end if WS==12 then tc() end if WS==13 then bbc() end end function tc() gg.alert("确定开启读取数据吗?") gg.clearResults() gg.setRanges(32) gg.searchNumber("h010000003809000001000000",32) gg.searchNumber("56",1) gg.getResults(1) al_nb=gg.getSelectedResults() for i=1,#al_nb do jb=gg.getValues({{address = al_nb[i].address-0x7E8, flags =4}})[1].value --金币 ys=gg.getValues({{address = al_nb[i].address-0x7D4, flags =4}})[1].value --钥匙 bwys=gg.getValues({{address = al_nb[i].address+0xC0, flags =4}})[1].value --宝物钥匙 pf=gg.getValues({{address = al_nb[i].address-0x7AC, flags =4}})[1].value --跑分 dj=gg.getValues({{address = al_nb[i].address-0x6FC, flags =4}})[1].value --等级 sbjb=gg.getValues({{address = al_nb[i].address-0x518, flags =4}})[1].value --双倍金币 xpk=gg.getValues({{address = al_nb[i].address-0xAC, flags =4}})[1].value --炫跑卡 end if sbjb~="65536" then sbjb="已拥有" else sbjb="未拥有" end if xpk=="1"then xpk="青铜会员" elseif xpk=="2"then xpk="白银会员" elseif xpk=="3"then xpk="黄金会员" elseif xpk=="4"then xpk="铂金会员" elseif xpk=="5"then xpk="砖石会员" elseif xpk=="6"then xpk="炫跑王" else xpk="未拥有" end UI1="金币数量:"..jb.."个" UI2="钥匙数量:"..ys.."个" UI3="宝物钥匙数量:"..bwys.."个" UI4="目前跑分:"..pf.."分" UI5="目前等级:"..dj.."级" UI6="双倍金币:"..sbjb UI7="炫跑卡:"..xpk gg.clearResults() gg.alert(os.date"当前账号信息:\n\n"..UI1.."\n\n"..UI2.."\n\n"..UI3.."\n\n"..UI4.."\n\n"..UI5.."\n\n"..UI6.."\n\n"..UI7.."\n\n\n") end function WS666() gg.clearResults() gg.setRanges(16) gg.searchNumber("842084353", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("842084353", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = -1}}) end gg.alert("马上开启成功") gg.toast("防闪开启成功!") gg.clearResults() end function byjbhs() gg.alert("点确定即可开启防挤号") search(274,4,4) py1(0,4,0x10) py1(-1,4,0x14) py1(0,4,0x18) py1(0,4,0x1C) xg1(-1,16,0xF0,true) xg1(1,16,0xF0,true) xg1(-1,16,0xF0,true) xg1(1,16,0xF0,true) xg1(1,16,0xF0,false) gg.toast('开启完成') end function yinyve() gg.alert("欢迎你进入") ZY='pf' PF = gg.choice({ "一键181人物(可以保存)", "一键172滑板(可以保存)", "一键18背饰(自定义金币购买)", "一键付费皮肤(可以保存)", "返回上页", }, nil,os.date "") if PF == 1 then rw() end if PF == 2 then hua() end if PF == 3 then bs() end if PF == 4 then fp() end if PF == 5 then pf1() end end function rw() gg.setRanges(32) local Name="人物" local dataType = 4 local tb1 = {{-1, 0x0}, {-1, -0xA0},{1, 0x20}, {1, -0x80}} local tb2 = {{2, 0x48}, {2, 0x30}, {0, 0x28}, {0, 0x1C}, {666, 0x18}} SearchWrite(tb1, tb2, dataType) gg.alert("人物显示金币开启成功本次耗时"..time.."秒") end function hua() gg.setRanges(32) local Name="滑板" local dataType = 4 local tb1 = {{-1, 0x0}, {-1, -0x88},{1, -0x6C}, {1, 0x1C}} local tb2 = {{2, 0x50}, {2, 0x3C}, {0, 0x18}, {0, 0x24}, {666, 0x14}} SearchWrite(tb1, tb2, dataType) end function bs() local xm = gg.prompt({'输入购买背饰的金币'}, {''}, {'text'}) local t = {"libil2cpp.so:bss", "Cb"} local tt = {0x3D88, 0x5C, 0x1E0, 0xC, 0x6C} local ttt = S_Pointer(t, tt) for i = 1 , 20 do gg.setValues({{address = ttt+0+i*0x40, flags = 4, value = 1}}) gg.setValues({{address = ttt-0x4+i*0x40, flags = 4, value = xm[1]}}) gg.setValues({{address = ttt+0x8+i*0x40, flags = 4, value = 0}}) end gg.setValues({{address = ttt+0, flags = 4, value = 1}}) gg.setValues({{address = ttt-0x4, flags = 4, value = xm[1]}}) gg.setValues({{address = ttt+0x8, flags = 4, value = 0}}) gg.setValues({{address = ttt-0x40, flags = 4, value = 1}}) gg.setValues({{address = ttt-0x44, flags = 4, value = xm[1]}}) gg.alert("修改成功") end function fp() time=os.clock() local tb1 = {{2852,0}, {1,-0x38},{1,-0x30},}--貂蝉 local tb2 = {{2,-0x18},} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) local tb1 = {{3198,0}, {1,-0x30},{1,-0x38},}--糖心 local tb2 = {{2,-0x18},} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) local tb1 = {{3252,0}, {1,-0x30},{1,-0x38},}--鼠小意 local tb2 = {{2,-0x18},} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) local tb1 = {{2542,0}, {1,-0x2C},{1,-0x34},}--吕布 local tb2 = {{2,-0x14},} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) local time=string.sub(os.clock()-time,0,5) gg.alert("付费皮肤显示金币开启成功本次耗时"..time.."秒") end function pf1() Main() end function zy() end function waigua() gg.alert("欢迎你进入") WGD = gg.choice({ "身法哥娱乐区", "道具赛三宝物", "无尽倍数翻倍️", "尽倍数恢复", "无尽0钥匙复活", "无尽0钥匙复活恢复️", "道具赛外挂"; "新版本分数倍增"; "返回主页"; },nil,"下滑聚能要配上校服和相机") if WGD==1 then yew() end if WGD==2 then qwesdyg() end if WGD==3 then feng1() end if WGD==4 then feng2() end if WGD==5 then ling1() end if WGD==6 then ling2() end if WGD==7 then djs() end if WGD==8 then xdnb() end if WGD==9 then fhzy() end end function qwesdyg() search(28,4,32) py1(29,4,0x14) py1(30,4,0x28) xg1(0,4,0x4) xg1(0,4,-0x8) xg1(gg.prompt({'☃️需要装备1灯笼2扇子3卫衣才有效果☃️\n☃️输入你要改的宝物代码☃️'}, {[1] = '29'}, {[1] = 'number'})[1],4,-0xC) xg1(0,4,0x18) xg1(0,4,0xC) xg1(gg.prompt({'DMH'}, {[1] = '32'}, {[1] = 'number'})[1],4,0x8) xg1(0,4,0x2C) xg1(0,4,0x20) xg1(gg.prompt({'有缘之人可以逆转时空回到过去'}, {[1] = '29'}, {[1] = 'number'})[1],4,0x1C) gg.alert('修改成功') end function ling1() search(18888,4,32) py1(8,4,-4) py1(3,4,16) xg1(9999,4,12,true) gg.toast('0钥匙复活已开启') end function ling2() search(18888,4,32) py1(8,4,-4) py1(3,4,16) xg1(0,4,12,false) xg1(0,4,12) gg.toast('0钥匙复活已恢复') end function feng1() search(2283,4,32) py1(1,4,0x68) py1(1,4,0x70) xg1(800,4,0x3D0) end function feng2() local t = {"libil2cpp.so:bss", "Cb"} local tt = {0x33E94,0xAB8} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt+0x3D0, flags = 4, value = 1,freeze = true}}) end function yew() b=gg.multiChoice({ "背景音乐", "背饰特效", "身法练习区", "返回"}) if b ==nil then return end if b[1] == true then bsyl() end if b[2] == true then wy() end if b[3] == true then sflxq() end end function sflxq() aaaa=gg.prompt({ "0.2倍速", "0.4倍速", "0.6倍速", "自定义倍速", "🕷返回主页🕷"},{nil,nil,nil,nil,}, { "checkbox", "checkbox", "checkbox", "text", "checkbox"}) if aaaa ==nil then return end if aaaa[1] == true then aaaa1() end if aaaa[2] == true then aaaa2() end if aaaa[3] == true then aaaa3() end if aaaa[4] ~= "" then aaaa4() end if aaaa[6] == true then abcc() end end function abcc() ylyxhh() end function aaaa1() local t = {"libunity.so:bss", "Cb"} local tt = {0x3CA8C,0xEC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.2}}) gg.alert(os.date'修改时间\n%Y年%m月%d日%H时%M分\n修改成功,快去装逼吧') end function aaaa2() local t = {"libunity.so:bss", "Cb"} local tt = {0x3CA8C,0xEC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.4}}) gg.alert(os.date'修改时间\n%Y年%m月%d日%H时%M分\n修改成功,快去装逼吧') end function aaaa3() local t = {"libunity.so:bss", "Cb"} local tt = {0x3CA8C,0xEC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.6}}) gg.alert(os.date'修改时间\n%Y年%m月%d日%H时%M分\n修改成功,快去装逼吧') end function aaaa4() local t = {"libunity.so:bss", "Cb"} local tt = {0x3CA8C,0xEC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = aaaa[4]}}) gg.alert(os.date'修改时间\n%Y年%m月%d日%H时%M分\n修改成功,快去装逼吧') end function bsyl() bbb=gg.choice({ "音量", "倍速", "返回上页",},2018,os.date "音乐节拍") if bbb == 1 then yl() end if bbb == 2 then bs() end if bbb == 3 then abc() end end function bs() search(500,16,4) py1(1,16,0xa0) py1(1,16,0x94) py1(1,16,0x90) py1(48000,16,0xa8) xg1(gg.prompt( {[1] = '自定义倍速'}, {[1] = ''})[1],16,0xa0) gg.alert(os.date'修改时间\n%Y年%m月%d日%H时%M分\n修改成功') end function yl() search(500,16,4) py1(1,16,0xa0) py1(1,16,0x94) py1(1,16,0x90) py1(48000,16,0xa8) xg1(gg.prompt( {[1] = '自定义音量'}, {[1] = ''})[1],16,0x94) gg.alert(os.date'修改时间\n%Y年%m月%d日%H时%M分\n修改成功') end function abc() ylyxhh() end function wy() bb=gg.choice({ "特效大小", "特效亮度", "返回上页"},2018,os.date "背饰特效") if bb == 1 then bswy() end if bb == 2 then fswy() end if bb == 3 then abc() end end function bswy() search(25,16,4) py1(5,16,0x4) py1(360,16,0x1c) py1(5,16,-0x1ac) xg1(gg.prompt( {[1] = '自定义特效大小'}, {[1] = ''})[1],16,-0x70) gg.alert(os.date'修改时间\n%Y年%m月%d日%H时%M分\n修改成功') end function fswy() search(25,16,4) py1(5,16,0x4) py1(360,16,0x1c) py1(5,16,-0x1ac) xg1(gg.prompt( {[1] = '自定义亮度\n哪些背饰有哪些特效自己试'}, {[1] = ''})[1],16,-0x4c) gg.alert(os.date'修改时间\n%Y年%m月%d日%H时%M分\n修改成功') end function djs() gg.alert("欢迎你进入") SD = gg.choice({ "下滑聚能(配校服和相机)", "导弹锁定(开局半分钟再开)", "乌龟锁定(开局半分钟再开)", "速度锁定", "导弹定人(配上眼镜10级)", "乌龟缠人(配上眼镜10级)", "人物动态加速", "走路聚能", '滑板时间微加', '滑板速度微加', '加速带速度微加', '速度上限微加', '基础速度微加', '减速恢复微加', '非常推荐点这里', "返回上页", },nil,"下滑聚能要配上校服和相机\n导弹定人和乌龟缠绕要宝物眼镜且要升到10级才有效果\n注意!要捡到对应的乌龟或导弹在开相应的定人功能,不然没效果!\n注意!!开锁定道具冻结间隔要改999不然没效果,锁定导弹和乌龟两个只能开一个呦") if SD==1 then xhjnl() end if SD==2 then zqjs() end if SD==3 then cjjs() end if SD==4 then sd() end if SD==5 then dnr() end if SD==6 then wgce() end if SD==7 then rwdtjs() end if SD==8 then hbjs() end if SD==9 then a1472() end if SD==10 then q2583() end if SD==11 then z3694() end if SD==12 then w1235() end if SD==13 then s4566() end if SD==14 then x7897() end if SD==15 then bbnml() end if SD==16 then xoe() end end function bbnml() djs=gg.prompt( { "下滑聚能" ,"原地聚能" ,"撞墙聚能" ,"时间聚能" },{},{ [1]="checkbox", [2]="checkbox", [3]="checkbox", [4]="checkbox", [5]="number", }) if djs==nil then Main() end if djs[1]==true then xh() else end if djs[2]==true then yd() else end if djs[3]==true then zq() else end if djs[4]~="" then sj() else end end function xh() qmnb{ ["功能名称"] = "下滑聚能", ["搜索内存"] = 32, ["搜索类型"] = 4, ["搜索数组"] = {{3210, 0}, {18, 0x14},{50000, 0x28}}, ["修改数组"] = {{0, 0x6C},{0,0x74},{0,0xA0},{0,0x6C}}} qmnb{ ["功能名称"] = "下滑聚能", ["搜索内存"] = 32, ["搜索类型"] = 4, ["搜索数组"] = {{3110, 0}, {18, 0x14},{50000, 0x28}}, ["修改数组"] = {{0, 0x6C},{0,0x74},{0,0xA0},{0,0x6C}}} gg.alert("修改成功😘请佩戴相机和校服😘") end function yd() qmnb{ ["功能名称"] = "原地聚能", ["搜索内存"] = 32, ["搜索类型"] = 4, ["搜索数组"] = {{3210, 0}, {18, 0x14},{50000, 0x28}}, ["修改数组"] = {{0, 0x6C},{0,0x74},{0,0xA0},{0,0x6C},{2,0x76},{0,0x80},{0,0x92},{0,0xA8}}} qmnb{ ["功能名称"] = "原地聚能", ["搜索内存"] = 32, ["搜索类型"] = 4, ["搜索数组"] = {{3110, 0}, {18, 0x14},{50000, 0x28}}, ["修改数组"] = {{0, 0x6C},{0,0x74},{0,0xA0},{0,0x6C},{2,0x76},{0,0x80},{0,0x92},{0,0xA8}}} gg.alert("修改成功😘请佩戴相机和校服😘") end function zq() qmnb{ ["功能名称"] = "撞墙聚能", ["搜索内存"] = 32, ["搜索类型"] = 4, ["搜索数组"] = {{3210, 0}, {18, 0x14},{50000, 0x28}}, ["修改数组"] = {{0, 0x6C},{0,0x74},{0,0xA0},{0,0x6C},{6,0x76},{0,0x80},{0,0x92},{0,0xA8}}} qmnb{ ["功能名称"] = "撞墙聚能", ["搜索内存"] = 32, ["搜索类型"] = 4, ["搜索数组"] = {{3110, 0}, {18, 0x14},{50000, 0x28}}, ["修改数组"] = {{0, 0x6C},{0,0x74},{0,0xA0},{0,0x6C},{6,0x76},{0,0x80},{0,0x92},{0,0xA8}}} gg.alert("修改成功😘请佩戴相机和校服😘") end function sj() qmnb{ ["功能名称"] = "时间聚能", ["搜索内存"] = 32, ["搜索类型"] = 4, ["搜索数组"] = {{3210, 0}, {18, 0x14},{50000, 0x28}}, ["修改数组"] = {{0, 0x6C},{0,0x74},{0,0xA0},{0,0x6C},{3,0x76},{0,0x80},{0,0x92},{0,0xA8}}} qmnb{ ["功能名称"] = "时间聚能", ["搜索内存"] = 32, ["搜索类型"] = 4, ["搜索数组"] = {{3110, 0}, {18, 0x14},{50000, 0x28}}, ["修改数组"] = {{0, 0x6C},{0,0x74},{0,0xA0},{0,0x6C},{3,0x76},{0,0x80},{0,0x92},{0,0xA8}}} gg.alert("修改成功😘请佩戴相机和校服😘") end function xhjnl() search(16384,4,16384) py1(16464,4,-0x14) py1(15360,4,0x3C) xg1(-1,4,0x3378,true) xg1(-1,4,-0xCC,true) xg1(-1,4,-0x14C,true) xg1(-1,4,-0x1CC,true) gg.alert(os.date'☃️防封开启成功,共修改了3条数据☃️') local tb1 = {{3110,0}, {18,0x14},{50000,0x28},} local tb2 = {{1,0x6c},{1,0x74},{1,0xa0},{1,0xa8,t },} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) local tb1 = {{3210,0}, {18,0x14},{50000,0x28},} local tb2 = {{1,0x6c},{1,0x74},{1,0xa0},{1,0xa8,t },} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) local tb1 = {{3110,0}, {18,0x14},{50000,0x28},} local tb2 = {{0,0x6c},{0,0x74},{0,0xa0},{0,0xa8,t },} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) local tb1 = {{3210,0}, {18,0x14},{50000,0x28},} local tb2 = {{0,0x6c},{0,0x74},{0,0xa0},{0,0xa8,t },} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) local tb1 = {{3110,0}, {18,0x14},{50000,0x28},} local tb2 = {{0,0x6c},{0,0x74},{0,0xa0},{0,0xa8,t },} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) local tb1 = {{3210,0}, {18,0x14},{50000,0x28},} local tb2 = {{0,0x6c},{0,0x74},{0,0xa0},{0,0xa8,t },} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) gg.alert(os.date'☃️相机开启成功.修改了4条数据☃️') Rain="下滑聚能开启成功,祝您开挂愉快" gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..Rain.."&spd=5&source=wise") gg.alert(os.date'☃️校服开启成功.修改了4条数据☃️') end function zqjs() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("4;8;16;32;128;272;288;320;384", DWORD, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() == 0 then gg.toast("开启失败") else gg.searchNumber("4;8;16;32;128;288;320;384",DWORD , false, gg.SIGN_EQUAL, 0, -1) gg.getResults(200)--设置修改前200个代码 gg.editAll("1", DWORD) gg.toast("开启成功") gg.clearResults() end end function cjjs() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("4;8;16;32;128;272;288;320;384", DWORD, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() == 0 then gg.toast("开启失败") else gg.searchNumber("4;8;16;32;128;288;320;384",DWORD , false, gg.SIGN_EQUAL, 0, -1) gg.getResults(200)--设置修改前200个代码 gg.editAll("272", DWORD) gg.toast("开启成功") gg.clearResults() end end function sd() local t = {"libil2cpp.so:bss", "Cb"} local tt = {0x430E8, 0x10C, 0x10, 0x34} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt-0x4, flags = 4, value = 2, freeze = true}}) gg.toast("速度锁定开启成功!") end function dnr() search(272,4,32) py1(3,16,0x48) xg1(1,4,0) xg1(0,16,0x4c) xg1(0,16,0x3c) xg1(65536,16,0x38) gg.toast('ok') end function wgce() search(1077936128,4,32) py1(1,4,-4) py1(1,4,-44) xg1(0,4,-12) xg1(0,4,4) xg1(9999,16,-16) xg1(272,4,-72) end function rwdtjs() search(1300,16,32) py1(1000,16,0x18) py1(6000,16,0x60) xg1(0,16,0x4) xg1(0,16,-0xc) xg1(1500,16,-0x10) gg.toast('人物动态加速开启成功!') end function hbjs() local tb1 = {{3110,0}, {18,0x14},{50000,0x28},} local tb2 = {{0,0x6c},{0,0x74},{0,0xa0},{0,0x6c},{2,76},{0,80},{0,92},{0,0xa8,t },} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) local tb1 = {{3210,0}, {18,0x14},{50000,0x28},} local tb2 = {{0,0x6c},{0,0x74},{0,0xa0},{0,0x6c},{2,76},{0,80},{0,92},{0,0xa8,t },} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) gg.toast("开启成功") end function a1472() gg.setRanges(32) local Name="滑板时间微加" local dataType = 16 local tb1 = {{6000.0, 0x0}} local tb2 = {{0,0x4},{0,-0xC},{8500,-0x10}} SearchWrite(tb1, tb2, dataType) end function q2583() gg.setRanges(32) local Name="滑板速度微加" local dataType = 16 local tb1 = {{6000.0, 0x0}} local tb2 = {{0,0xC},{0,0x1C},{1999.5,0x8}} SearchWrite(tb1, tb2, dataType) end function z3694() gg.setRanges(32) local Name="加速带速度微加" local dataType = 16 local tb1 = {{6000.0, 0x0}} local tb2 = {{0,-0x44},{0,-0x54},{2500,-0x58}} SearchWrite(tb1, tb2, dataType) end function w1235() gg.setRanges(32) local Name="速度上限微加" local dataType = 16 local tb1 = {{6000.0, 0x0}} local tb2 = {{0,-0x5C},{0,-0x6C},{1340,-0x70}} SearchWrite(tb1, tb2, dataType) end function s4566() gg.setRanges(32) local Name="基础速度微加" local dataType = 16 local tb1 = {{6000.0, 0x0}} local tb2 = {{0,0x34},{0,0x24},{1400,0x20}} SearchWrite(tb1, tb2, dataType) end function x7897() gg.setRanges(32) local Name="减速恢复微加" local dataType = 16 local tb1 = {{6000.0, 0x0}} local tb2 = {{0,0x3C},{0,0x4C},{10000,0x38}} SearchWrite(tb1, tb2, dataType) end function xoe() Main() end function fhzy() Main() end function WSNB() gg.alert("欢迎进入") Nb = gg.choice({ "炫跑卡", "自定义等级", "隐藏炫跑卡", "双倍金币", "返回上页" }, nil,os.date "") if Nb == 1 then cmtd1() end if Nb == 2 then cmtd2() end if Nb == 3 then cmtd3() end if Nb == 4 then cmtd4() end if Nb == 5 then Main() end end function cmtd1()--炫跑卡 search(2283,4,32) py1(1,4,0x68) py1(1,4,0x70) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(gg.prompt({'⚡等级1~6⚡'}, {[1] = '6'}, {[1] = 'number'})[1],4,0x4C) gg.alert(os.date'⚡修改时间⚡\n⚡%Y年%m月%d日%H时%M分⚡\n⚡修改成功⚡') end function cmtd2()--等级 search(65536,4,32) py1(1,4,32) py1(1,4,52) py1(1,4,60) xg1(gg.prompt({'by x6 ❤️'}, {[1] = '别改太多哦'}, {[1] = 'number'})[1],4,0xFC) end function cmtd3() search(2283,4,32) py1(1,4,0x68) py1(1,4,0x70) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(999,4,0x4C) gg.alert(os.date'修改时间🇦🇷️\n🇦🇷️%Y年%m月%d日%H时%M分🇦🇷️\n🇦🇷️修改成功') end function cmtd4() search(2283,4,32) py1(1,4,0x68) py1(1,4,0x70) xg1(65537,4,-0x414) gg.alert(os.date'⚡修改时间⚡\n⚡%Y年%m月%d日%H时%M分⚡\n⚡修改成功⚡') end function bn() ZY = 'bn' lq=gg.choice({ '自定义宝物抽取️', "宝物抽取次数", "宝物代码表️", '返回主页️'},nil,'') if lq==nil then else end if lq==1 then ch0() end if lq==2 then ch666() end if lq==3 then uhhh() end if lq==4 then Main() end end function uhhh() NB=gg.choice({ "1小丑面具", "2骷髅耳环", "3紫色花球", "4金属发条", "5火焰纹章", "6星星项链", "7机械手表", "8金色耳环", "9黄金皇冠", "10摩托头盔", "11狼牙项链", "12纯金手表", "13金箍", "14乾坤圈", "15水手锚", "16积木", "17灵符", "18黄金盔甲", "19令牌", "20龙蛋", "21南瓜", "22月兔", "23舞狮头", "24甜心手链", "25圣诞帽", "26夹克", "27红色战衣", "28火红灯笼", "29美人折扇", "30卫衣", "31校服", "32相机", "33耳机", "34眼镜", "👉返回主页👈", }, nil, "") end function ch666() search(2344,4,32) py1(1,4,0x160) py1(1,4,0x158) xg1(0,4,0x148) xg1(0,4,0x13C) xg1(gg.prompt({'👉一定要改成负数👈'}, {[1] = '-1'}, {[1] = 'number'})[1],4,0x138) gg.alert('👉修改成功👈️') end function ch0() ZY='ch0' ch=gg.prompt({ '1小丑面具\n2露西耳环\n3紫色花球\n4金属发条\n5火焰纹章\n6星星项链\n7机械手表\n8金色耳环\n9黄金皇冠\n10摩托头盔\n11狼牙项链\n12纯金手表\n13金箍\n14乾坤圈\n15水手猫\n16积木\n17灵符\n18黄金盔甲\n19令牌\n20龙蛋\n21南瓜\n22月兔\n23舞狮头\n24甜心项链\n25圣诞帽\n26夹克\n27红色战衣\n28火红灯笼\n29美人折扇\n30卫衣\n31校服\n32相机\n33耳机\n34眼镜\n️以下功能不要一键开启 只需开启一个↓️', '数量[1314]️', '️数量[6666]️', '数量[8888]️', '️数量[520]️', '数量[5201314]️', '数量[1314520]️', '返回主页', }, {34}, { 'text', 'checkbox', 'checkbox', 'checkbox', 'checkbox', 'checkbox', 'checkbox', 'checkbox', 'checkbox', }) if ch==nil then else if ch[2]==true then ch1() end if ch[3]==true then ch2() end if ch[4]==true then ch3() end if ch[5]==true then ch4() end if ch[6]==true then ch5() end if ch[7]==true then ch6() end if ch[8]==true then Main() end end search(21,4,32) py1(1,4,0x3C) py1(1,4,0x44) xg1(0,4,0x70) xg1(0,4,0x64) xg1(ch[1],4,0x60) gg.toast('️修改中️') end function ch1() search(21,4,32) py1(1,4,0x3C) py1(1,4,0x44) xg1(0,4,0x18) xg1(0,4,0xC) xg1(1314,4,0x8) gg.toast('中奖数量修改完成') end function ch2() search(21,4,32) py1(1,4,0x3C) py1(1,4,0x44) xg1(0,4,0x18) xg1(0,4,0xC) xg1(6666,4,0x8) gg.toast('中奖数量修改完毕') end function ch3() search(21,4,32) py1(1,4,0x3C) py1(1,4,0x44) xg1(0,4,0x18) xg1(0,4,0xC) xg1(8888,4,0x8) gg.toast('中奖数量修改完毕') end function ch4() search(21,4,32) py1(1,4,0x3C) py1(1,4,0x44) xg1(0,4,0x18) xg1(0,4,0xC) xg1(520,4,0x8) gg.toast('中奖数量修改完毕') end function ch5() search(21,4,32) py1(1,4,0x3C) py1(1,4,0x44) xg1(0,4,0x18) xg1(0,4,0xC) xg1(5201314,4,0x8) gg.toast('中奖数量修改完毕') end function ch6() search(21,4,32) py1(1,4,0x3C) py1(1,4,0x44) xg1(0,4,0x18) xg1(0,4,0xC) xg1(1314520,4,0x8) gg.toast('中奖数量修改完毕') end function ks() ZY='ks' SB = gg.choice({ "️防封(必须开不开死m)", "自定义宝物", "自定义人物️", "️自定义滑板️", "自定义头像框", "返回上页", },nil,os.date "自定义输入完之后,去分数赛宝石商城看看️\n️北京时间\n️%Y年%m月%d日%H时%M分") if SB == 1 then bw1() end if SB == 2 then bw2() end if SB == 3 then bw3() end if SB == 4 then bw4() end if SB == 5 then bw8() end if SB == 6 then hjl() end end function bw8() search(3000,4,32) py1(1,4,0x1C8) py1(1,4,0x1D0) py1(7,4,0x8C) xg1(9,4,-0x20) xg1(0,4,0x4) xg1(0,4,-0x8) xg1(gg.prompt({'头像框代码1-61️'}, {[1] = ''}, {[1] = 'number'})[1],4,-0xc,true) end function bw1() search(120,4,32) py1(1,4,0x24) py1(1,4,0x2C) xg1(0,4,0x2C,true) xg1(0,4,0x20,true) xg1(-99999999999,4,0x1C,true) search(3000,4,32) py1(1,4,0x1C8) py1(1,4,0x1D0) xg1(0,4,-0x10,true) xg1(0,4,-0x1C,true) xg1(0,4,0xC,true) xg1(0,4,0x18,true) xg1(0,4,0x24,true) xg1(0,4,0x30,true) xg1(0,4,0x3C,true) xg1(0,4,0x48,true) xg1(0,4,0x50,true) xg1(0,4,0x5C,true) gg.alert("防封开启成功️\n不要多次使用容易检测") end function bw2() search(3000,4,32) py1(1,4,0x90) py1(1,4,0x88) py1(7,4,0x8C) xg1(21,4,-0x20) xg1(gg.prompt({'宝物代码是1~34️'}, {[1] = ''}, {[1] = 'number'})[1],4,0x4C,true) end function bw3() search(3000,4,32) py1(1,4,0x1C8) py1(1,4,0x1D0) py1(7,4,0x8C) xg1(10,4,-0x20) xg1(gg.prompt({'人物代码\n️1~170\n精灵杰克171\n小黑172\n173\n174\n175️️'}, {[1] = ''}, {[1] = 'number'})[1],4,0x8) end function bw4() search(3000,4,32) py1(1,4,0x1C8) py1(1,4,0x1D0) py1(7,4,0x8C) xg1(12,4,-0x20) xg1(gg.prompt({'️隐藏4个滑板代码️\n45️\n️60️\n️62\n️94\n️新滑板代码\n164~167️'}, {[1] = '164'}, {[1] = 'number'})[1],4,0x20,true) end function hjl() Main() end function bbc() print(os.date"你已退出") os.exit() end function hqdk() gg.alert("欢迎进入") ZY='hqdk' PE = gg.choice({ "人物一键(不能保存)", "滑板一键(不能保存)", "背饰显示1金币(能保存)", "人物95000金币(能保存)", "滑板50000金币(能保存)", "付费皮肤", "金币宝箱"; "金币修改", "钥匙修改", "宝物钥匙修改", "返回主页", },nil,"不要一下刷完容易封号\n背饰已修复\n付费皮肤修复\n人物滑板一键修复") if PE==nil then else end if PE==1 then rw2() end if PE==2 then rw3() end if PE==3 then rw4() end if PE==4 then rw5() end if PE==5 then rw6() end if PE==6 then rw7() end if PE==7 then kxz() end if PE==8 then jb() end if PE==9 then yc() end if PE==10 then fc() end if PE==11 then Main() end end function rw6() search(2852,4,32) py1(1,4,-0x38) py1(1,4,-0x30) xg1(2,4,-0x18) search(3188,4,32) py1(1,4,-0x30) py1(1,4,-0x38) xg1(2,4,-0x18) search(3242,4,32) py1(1,4,-0x30) py1(1,4,-0x38) xg1(2,4,-0x18) search(2542,4,32) py1(1,4,-0x2C) py1(1,4,-0x34) xg1(2,4,-0x14) end function kxz() SN = gg.choice({ "💰改开宝箱金币18亿💰", "💰恢复18亿金币(这两个不能一起改)💰", "💰改开宝箱金币6666万第一步💰", "💰改开宝箱金币6666万第二步💰", "💰恢复宝箱6666万💰", "🏃开宝箱8888钥匙第一步🏃", "🚶开宝箱8888钥匙第二步🚶", "180w金币第一步😡", "180w金币第二步😡", "180w金币第三步😡", "😍开宝箱18亿滑板😍", "😢开宝箱18亿滑板恢复😢", "返回主页", }, nil, "改完了必须恢复改完了必须要恢复谨记谨记谨记!!!!!!!!!!!!") if SN==1 then HS50() end if SN==2 then HS51() end if SN==3 then HS52() end if SN==4 then HS53() end if SN==5 then HS54() end if SN==6 then HS55() end if SN==7 then HS56() end if SN==8 then HS57() end if SN==9 then HS58() end if SN==10 then HS59() end if SN==11 then HS60() end if SN==12 then HS61() end if SN==13 then HS62() end FX1=0 FX2=0 end function HS50() gg.clearResults() gg.setRanges(32) gg.searchNumber("1,008,981,770;100,000;100,000:9", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("1888888888", gg.TYPE_DWORD) gg.toast("金币箱子:修改完成: 共修改三条数值") gg.clearResults() end function HS51() gg.clearResults() gg.setRanges(32) gg.searchNumber("1888888888;1888888888;1888888888:9", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("1888888888", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("1,008,981,770", gg.TYPE_DWORD) gg.toast("恢复完成") gg.clearResults() end function HS52() gg.clearResults() gg.setRanges(32) gg.searchNumber("1,008,981,770;100,000;100,000:9", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("1008981770", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("1,988,888,888", gg.TYPE_DWORD) gg.toast("修改好了点第二步") gg.clearResults() end function HS53() gg.clearResults() gg.setRanges(32) gg.searchNumber("1,988,888,888;100,000;100,000:9", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("100000", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("66666666", gg.TYPE_DWORD) gg.toast("修改好了共修改2条数据") gg.clearResults() end function HS54() gg.clearResults() gg.setRanges(32) gg.searchNumber("1,988,888,888;66,666,666;66,666,666:9", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("1008981770", gg.TYPE_DWORD) gg.toast("修改完成共修改三条数据") gg.clearResults() end function HS55() gg.clearResults() gg.setRanges(32) gg.searchNumber("1,036,831,949;1;1:9", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("1036831949", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("1,888,888,888", gg.TYPE_DWORD) gg.toast("修改钥匙8888第一步") gg.clearResults() end function HS56() gg.clearResults() gg.setRanges(32) gg.searchNumber("1,888,888,888;1;1:9", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("1", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("8888", gg.TYPE_DWORD) gg.toast("嘿嘿去开宝箱吧") gg.clearResults() end function HS57() gg.clearResults() gg.setRanges(32) gg.searchNumber("-1,007,767,790;-1,007,214,698;1,683,588:13", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("-1007767790", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("590498", gg.TYPE_DWORD) gg.toast("第一步完成第二步快去") gg.clearResults() end function HS58() gg.clearResults() gg.setRanges(32) gg.searchNumber("590498;-1,007,214,698;1,683,588:13", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("-1007214698", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("1429722", gg.TYPE_DWORD) gg.toast("第二步完成快去第三步") gg.clearResults() end function HS59() gg.clearResults() gg.setRanges(32) gg.searchNumber("590498;1429722;1,683,588:13", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("1683588", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("1888888", gg.TYPE_DWORD) gg.toast("嘿嘿刷新一下开一把游戏") gg.clearResults() end function HS60() gg.clearResults() gg.setRanges(32) gg.searchNumber("1,056,964,608;10;10:9", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("1888888888", gg.TYPE_DWORD) gg.toast("开宝箱去吧") gg.clearResults() end function HS61() gg.clearResults() gg.setRanges(32) gg.searchNumber("1888888888;1888888888;1888888888:9", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("1056964608", gg.TYPE_DWORD) gg.toast("嘿嘿刷新一下开一把游戏") gg.clearResults() end function HS62() Main() gg.toast("返回成功") end function rw7() gg.setRanges(32) local Name="付费" local dataType = 4 local tb1 = {{2852, 0x0}, {1, -0x38}, {1, -0x30}} local tb2 = {{2, -0x18}} SearchWrite(tb1, tb2, dataType) gg.setRanges(32) local Name="付费" local dataType = 4 local tb1 = {{3198, 0x0}, {1, -0x38}, {1, -0x30}} local tb2 = {{2, -0x18}} SearchWrite(tb1, tb2, dataType) gg.setRanges(32) local Name="付费" local dataType = 4 local tb1 = {{3252, 0x0}, {1, -0x38}, {1, -0x30}} local tb2 = {{2, -0x18}} SearchWrite(tb1, tb2, dataType) gg.setRanges(32) local Name="付费" local dataType = 4 local tb1 = {{2542, 0x0}, {1, -0x2C}, {1, -0x34}} local tb2 = {{2, -0x14}} SearchWrite(tb1, tb2, dataType) end function rw5() search(256,4,32) py1(1,4,-0x28) py1(-1,4,-0x48) xg1(2,4,-0x18) xg1(0,4,0) search(257,4,32) py1(1,4,-0x28) py1(-1,4,-0x48) xg1(2,4,-0x18) xg1(0,4,0) search(160000,4,32)--小牙仔 py1(1,4,-0x4) py1(-1,4,-0x24) xg1(2,4,0xC) search(95000,4,32)--未来杰克 py1(1,4,-0x4) py1(-1,4,-0x24) xg1(2,4,0xC) search(12000,4,32)--机器人 py1(1,4,-0x4) py1(-1,4,-0x24) xg1(2,4,0xC) search(500,4,32)--青青 py1(1,4,-0x4) py1(-1,4,-0x24) xg1(2,4,0xC) xg1(2,4,-0x94)--刺头 xg1(2,4,-0x134)--小黑 xg1(2,4,-0x1D4)--琪琪 end function rw6() gg.setRanges(32) local Name="滑板520金币" local dataType = 4 local tb1 = {{-1, 0x0}, {-1, -0x88},{1, -0x6C}, {1, 0x1C}} local tb2 = {{2, 0x50}, {2, 0x3C}, {0, 0x18}, {0, 0x24}, {50000, 0x14}} SearchWrite(tb1, tb2, dataType) end function rw4() search(3237,4,32) py1(50000,4,0x8) py1(3,4,0xc) py1(2,4,0x30) xg1(0,4,0x114) xg1(0,4,0x154) xg1(0,4,0x1D4) xg1(0,4,0x254) xg1(0,4,0x294) xg1(0,4,0x2D4) xg1(0,4,0x314) xg1(0,4,0x354) xg1(0,4,0x394) xg1(0,4,0x3D4) xg1(1,4,0xC) xg1(1,4,0x8) xg1(1,4,0x4c) xg1(1,4,0x48) xg1(1,4,0x8C) xg1(1,4,0x88) xg1(1,4,0xCC) xg1(1,4,0xC8) xg1(1,4,0x10C) xg1(1,4,0x108) xg1(1,4,0x14C) xg1(1,4,0x148) xg1(1,4,0x18C) xg1(1,4,0x188) xg1(1,4,0x1CC) xg1(1,4,0x1C8) xg1(1,4,0x20C) xg1(1,4,0x208) xg1(1,4,0x24C) xg1(1,4,0x248) xg1(1,4,0x28C) xg1(1,4,0x288) xg1(1,4,0x2CC) xg1(1,4,0x2C8) xg1(1,4,0x30C) xg1(1,4,0x308) xg1(1,4,0x34C) xg1(1,4,0x348) xg1(1,4,0x38C) xg1(1,4,0x388) xg1(1,4,0x3CC) xg1(1,4,0x3C8) end function rw2() readWrite({{false,364,0,4,nil,nil},{366,160,4},{367,320,4}},{{0,36,4,false},{0,196,4,false},{0,356,4,false},{0,516,4,false},{0,676,4,false},{0,836,4,false},{0,996,4,false},{0,1156,4,false},{0,1316,4,false},{0,1476,4,false},{0,1636,4,false},{0,1796,4,false},{0,1956,4,false},{0,2116,4,false},{0,2276,4,false},{0,2436,4,false},{0,2596,4,false},{0,2756,4,false},{0,2916,4,false},{0,3076,4,false},{0,3236,4,false},{0,3396,4,false},{0,3556,4,false},{0,3716,4,false},{0,3876,4,false},{0,4036,4,false},{0,4196,4,false},{0,4356,4,false},{0,4516,4,false},{0,4676,4,false},{0,4836,4,false},{0,4996,4,false},{0,5156,4,false},{0,5316,4,false},{0,5476,4,false},{0,5636,4,false},{0,5796,4,false},{0,5956,4,false},{0,6116,4,false},{0,6276,4,false},{0,6436,4,false},{0,6596,4,false},{0,6756,4,false},{0,6916,4,false},{0,7076,4,false},{0,7236,4,false},{0,7396,4,false},{0,7556,4,false},{0,7716,4,false},{0,7876,4,false},{0,8196,4,false},{0,8356,4,false},{0,8516,4,false},{0,8676,4,false},{0,8836,4,false},{0,8996,4,false},{0,9156,4,false},{0,9316,4,false},{0,9476,4,false},{0,9636,4,false},{0,9796,4,false},{0,9956,4,false},{0,10116,4,false},{0,10276,4,false},{0,10436,4,false},{0,10596,4,false},{0,10756,4,false},{0,10916,4,false},{0,11076,4,false},{0,11236,4,false},{0,11396,4,false},{0,11556,4,false},{0,11716,4,false},{0,11876,4,false},{0,12036,4,false},{0,12196,4,false},{0,12356,4,false},{0,12516,4,false},{0,12676,4,false},{0,12836,4,false},{0,12996,4,false},{0,13156,4,false},{0,13316,4,false},{0,13476,4,false},{0,13636,4,false},{0,13796,4,false},{0,13956,4,false},{0,14116,4,false},{0,14276,4,false},{0,14436,4,false},{0,14596,4,false},{0,14756,4,false},{0,14916,4,false},{0,15076,4,false},{0,15236,4,false},{0,15396,4,false},{0,15556,4,false},{0,15716,4,false},{0,15876,4,false},{0,16036,4,false},{0,16196,4,false},{0,16356,4,false},{0,16516,4,false},{0,16676,4,false},{0,16836,4,false},{0,16996,4,false},{0,17156,4,false},{0,17316,4,false},{0,17476,4,false},{0,17636,4,false},{0,17796,4,false},{0,17956,4,false},{0,18116,4,false},{0,18276,4,false},{0,18436,4,false},{0,18596,4,false},{0,18756,4,false},{0,18916,4,false},{0,19076,4,false},{0,19236,4,false},{0,19396,4,false},{0,19556,4,false},{0,19716,4,false},{0,19876,4,false},{0,20036,4,false},{0,20196,4,false},{0,20356,4,false},{0,20516,4,false},{0,20676,4,false},{0,20836,4,false},{0,20996,4,false},{0,21156,4,false},{0,21316,4,false},{0,21476,4,false},{0,21636,4,false},{0,21796,4,false},{0,21956,4,false},{0,22116,4,false},{0,22276,4,false},{0,22436,4,false},{0,22596,4,false},{0,22756,4,false},{0,22916,4,false},{0,23076,4,false},{0,23236,4,false},{0,23396,4,false},{0,23556,4,false},{0,23716,4,false},{0,23876,4,false},{0,24036,4,false},{0,24196,4,false},{0,24356,4,false},{0,24516,4,false},{0,24676,4,false},{0,24836,4,false},{0,24996,4,false},{0,25156,4,false},{0,25316,4,false},{0,25476,4,false},{0,25636,4,false},{0,25796,4,false},{0,25956,4,false},{0,26116,4,false},{0,26276,4,false},{0,26436,4,false},{0,26596,4,false},{0,26756,4,false},{0,26916,4,false},{0,27076,4,false},{0,8036,4,false},{0,27236,4,false},{0,27396,4,false},{0,27556,4,false},{0,27716,4,false},{0,27876,4,false}},4,32,"人物全满") end function rw3() readWrite({{false,309,0,4,nil,nil},{311,136,4},{313,272,4}},{{0,48,4,false},{0,184,4,false},{0,320,4,false},{0,456,4,false},{0,592,4,false},{0,728,4,false},{0,864,4,false},{0,1000,4,false},{0,1136,4,false},{0,1272,4,false},{0,1408,4,false},{0,1544,4,false},{0,1680,4,false},{0,1816,4,false},{0,1952,4,false},{0,2088,4,false},{0,2224,4,false},{0,2360,4,false},{0,2496,4,false},{0,2632,4,false},{0,2768,4,false},{0,2904,4,false},{0,3040,4,false},{0,3176,4,false},{0,3312,4,false},{0,3448,4,false},{0,3584,4,false},{0,3720,4,false},{0,3856,4,false},{0,3992,4,false},{0,4128,4,false},{0,4264,4,false},{0,4400,4,false},{0,4536,4,false},{0,4672,4,false},{0,4808,4,false},{0,4944,4,false},{0,5080,4,false},{0,5216,4,false},{0,5352,4,false},{0,5488,4,false},{0,5624,4,false},{0,5760,4,false},{0,5896,4,false},{0,6032,4,false},{0,6168,4,false},{0,6304,4,false},{0,6440,4,false},{0,6576,4,false},{0,6712,4,false},{0,6848,4,false},{0,6984,4,false},{0,7120,4,false},{0,7256,4,false},{0,7392,4,false},{0,7528,4,false},{0,7664,4,false},{0,7800,4,false},{0,7936,4,false},{0,8072,4,false},{0,8208,4,false},{0,8344,4,false},{0,8480,4,false},{0,8616,4,false},{0,8752,4,false},{0,8888,4,false},{0,9024,4,false},{0,9160,4,false},{0,9296,4,false},{0,9432,4,false},{0,9568,4,false},{0,9704,4,false},{0,9840,4,false},{0,9976,4,false},{0,10112,4,false},{0,10248,4,false},{0,10384,4,false},{0,10520,4,false},{0,10656,4,false},{0,10792,4,false},{0,10928,4,false},{0,11064,4,false},{0,11200,4,false},{0,11336,4,false},{0,11472,4,false},{0,11608,4,false},{0,11744,4,false},{0,11880,4,false},{0,12016,4,false},{0,12152,4,false},{0,12288,4,false},{0,12424,4,false},{0,12560,4,false},{0,12696,4,false},{0,12832,4,false},{0,12968,4,false},{0,13104,4,false},{0,13240,4,false},{0,13376,4,false},{0,13512,4,false},{0,13648,4,false},{0,13784,4,false},{0,13920,4,false},{0,14056,4,false},{0,14192,4,false},{0,14328,4,false},{0,14464,4,false},{0,14600,4,false},{0,14736,4,false},{0,14872,4,false},{0,15008,4,false},{0,15144,4,false},{0,15280,4,false},{0,15416,4,false},{0,15552,4,false},{0,15688,4,false},{0,15824,4,false},{0,15960,4,false},{0,16096,4,false},{0,16232,4,false},{0,16368,4,false},{0,16504,4,false},{0,16640,4,false},{0,16776,4,false},{0,16912,4,false},{0,17048,4,false},{0,17184,4,false},{0,17320,4,false},{0,17456,4,false},{0,17592,4,false},{0,17728,4,false},{0,17864,4,false},{0,18000,4,false},{0,18136,4,false},{0,18272,4,false},{0,18408,4,false},{0,18544,4,false},{0,18680,4,false},{0,18816,4,false},{0,18952,4,false},{0,19088,4,false},{0,19224,4,false},{0,19360,4,false},{0,19496,4,false},{0,19632,4,false},{0,19768,4,false},{0,19904,4,false},{0,20040,4,false},{0,20176,4,false},{0,20312,4,false},{0,20448,4,false},{0,20584,4,false},{0,20720,4,false},{0,20856,4,false},{0,20992,4,false},{0,21128,4,false},{0,21264,4,false},{0,21400,4,false},{0,21536,4,false},{0,21672,4,false},{0,21808,4,false},{0,21944,4,false},{0,22080,4,false},{0,22216,4,false},{2,22488,4,false},{2,22624,4,false}},4,32,"滑板全满") end function bk() gg.alert("没有小说") gg.alert("我都说了没有小说😡") gg.alert("我他妈都说了没有小说😡😡") gg.alert("傻逼吧,咋还继续点") gg.alert("你能不能回家种地啊?😡") gg.alert("脑子有问题吧,一直点确定") gg.alert("没想到你还在点") gg.alert("你个大傻逼") gg.alert("居然都点到这了👀") gg.alert("下一个就是小说") gg.alert("哈哈,傻逼骗你的") gg.alert("你这种人就是个fvv,懂没懂?") gg.alert("恭喜你") gg.alert("没有小说") gg.alert("傻逼,不跟你闹了") gg.alert("赶紧回家种牛去吧") gg.alert("有病吧,还点") gg.alert("没有十年脑血栓,做不到这种境界") gg.alert("你什么意思呀") gg.alert("知道不你的行为很像小学生") gg.alert("我看你这个傻逼样点到这了,我都笑了") gg.alert("作业写完了没有啊?小学生") gg.alert("你能不能给我去写作业啊,废物") gg.alert("小学生就不配玩手机,懂没懂") gg.alert("回家种地去吧") gg.alert("如果你家有条件回家种牛去吧!😡") gg.alert("算了") gg.alert("既然你都看到这了") gg.alert("那我只能说你是一个小学生") gg.alert("没有小说") gg.alert("拜拜F W ") gg.alert("傻波小学生") gg.alert("操你m的,给我滚") end function sh() sk=gg.prompt( { "金币" ,"钥匙" ,"等级" ,"付费皮肤" ,"人物显示金币" ,"背饰显示金币" ,"滑板显示金币" ,"炫跑卡等级" ,"头像框" ,"双倍金币" ,"旧头像框一键解锁(失效)" ,"滑板一键全拥有(请勿与显示金币一起使用)" ,"人物一键全拥有(请勿与显示金币一起使用)" ,"宝物钥匙一万" ,"抽宝物替换\n宝物代码:\n1.面具\n2.骷髅耳环\n3.花球\n4.发条\n5.纹章\n6.星星项链\n7.机器手表\n8.金色耳环\n9.黄冠\n10.头盔\n11.狼牙项链\n12.纯金手表\n13.金箍\n14.乾坤圈\n15.水手瞄\n16.积木\n17.灵符\n18.铠甲\n19.令牌\n20.龙蛋\n21.南瓜\n22.月兔\n23.武狮头\n24.手链\n25.圣诞帽\n26.夹克\n27.红色战衣\n28.灯笼\n29.折扇\n30.卫衣\n31.校服\n32.相机\n33.耳机\n34.眼镜" ,"宝物商城替换物品序号\n1钥匙 2滑板消耗 3-4得分喷射\n9头像框 10人物 12滑板 22宝物钥匙" ,"宝物商城替换物品代码[45 60 62 94隐藏滑板]" ,"购买方式改负数" ,"历史段位改王者(失效)" ,"自定义道具赛携带道具需装上三个宝物" ,"自定义分数赛携带道具需装上三个宝物" ,"Exit" }, {}, { [1]="number", [2]="number", [3]="number", [4]="checkbox", [5]="checkbox", [6]="checkbox", [7]="checkbox", [8]="number", [9]="number", [10]="checkbox", [11]="checkbox", [12]="checkbox", [13]="checkbox", [14]="checkbox", [15]="number", [16]="number", [17]="number", [18]="checkbox", [19]="checkbox", [20]="number", [21]="number", [22]="checkbox", } ) if sk==nil then Main() end if sk[1]~="" then a1() else end if sk[2]~="" then a2() else end if sk[3]~="" then a3() else end if sk[4]==true then a4() else end if sk[5]==true then a5() else end if sk[6]==true then a6() else end if sk[7]==true then a7() else end if sk[8]~="" then a8() else end if sk[9]~="" then a9() else end if sk[10]==true then a10() else end if sk[11]==true then a11() else end if sk[12]==true then a12() else end if sk[13]==true then a13() else end if sk[14]==true then a14() else end if sk[15]~="" then a15() else end if sk[16]~="" then a16() else end if sk[17]~="" then a17() else end if sk[18]==true then a18() else end if sk[19]==true then a19() else end if sk[20]~="" then a21() else end if sk[21]~="" then a22() else end if sk[22]==true then Main() else end end function a1() gg.setRanges(32) local Name="金币" local dataType = 4 local tb1 = {{65536, 0x0}, {1, 0xC}, {1, 0x20}, {1, 0x34}} local tb2 = {{0, 0x8},{0, 0x14},{sk[1], 0x4}} SearchWrite(tb1, tb2, dataType) end function a2() search(65536,4,32) py1(1,4,0x20) py1(1,4,0x34) xg1(0,4,0x28,true) xg1(0,4,0x1C,true) xg1(sk[2],4,0x18,true) gg.alert(os.date'修改时间\n%Y年%m月%d日%H时%M分\n修改成功请把游戏后台划掉') end function a3() gg.setRanges(32) local Name="等级" local dataType = 4 local tb1 = {{65536, 0x0}, {1, 0xC}, {1, 0x20}, {1, 0x34}} local tb2 = {{sk[3], 0xFC}} SearchWrite(tb1, tb2, dataType) end function a4() time=os.clock() local tb1 = {{2852,0}, {1,-0x38},{1,-0x30},}--貂蝉 local tb2 = {{2,-0x18},} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) local tb1 = {{3198,0}, {1,-0x30},{1,-0x38},}--糖心 local tb2 = {{2,-0x18},} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) local tb1 = {{3252,0}, {1,-0x30},{1,-0x38},}--鼠小意 local tb2 = {{2,-0x18},} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) local tb1 = {{2542,0}, {1,-0x2C},{1,-0x34},}--吕布 local tb2 = {{2,-0x14},} local dataType = 4 gg.setRanges(32) SearchWrite(tb1,tb2, dataType) local time=string.sub(os.clock()-time,0,5) gg.alert("付费皮肤显示金币开启成功本次耗时"..time.."秒") end function a5() gg.setRanges(32) local Name="人物" local dataType = 4 local tb1 = {{-1, 0x0}, {-1, -0xA0},{1, 0x20}, {1, -0x80}} local tb2 = {{2, 0x48}, {2, 0x30}, {0, 0x28}, {0, 0x1C}, {666, 0x18}} SearchWrite(tb1, tb2, dataType) gg.alert("人物显示金币开启成功本次耗时"..time.."秒") end function a6() local xm = gg.prompt({'输入购买背饰的金币'}, {''}, {'text'}) local t = {"libil2cpp.so:bss", "Cb"} local tt = {0x3D88, 0x5C, 0x1E0, 0xC, 0x6C} local ttt = S_Pointer(t, tt) for i = 1 , 20 do gg.setValues({{address = ttt+0+i*0x40, flags = 4, value = 1}}) gg.setValues({{address = ttt-0x4+i*0x40, flags = 4, value = xm[1]}}) gg.setValues({{address = ttt+0x8+i*0x40, flags = 4, value = 0}}) end gg.setValues({{address = ttt+0, flags = 4, value = 1}}) gg.setValues({{address = ttt-0x4, flags = 4, value = xm[1]}}) gg.setValues({{address = ttt+0x8, flags = 4, value = 0}}) gg.setValues({{address = ttt-0x40, flags = 4, value = 1}}) gg.setValues({{address = ttt-0x44, flags = 4, value = xm[1]}}) gg.alert("修改成功") end function a7() gg.setRanges(32) local Name="滑板" local dataType = 4 local tb1 = {{-1, 0x0}, {-1, -0x88},{1, -0x6C}, {1, 0x1C}} local tb2 = {{2, 0x50}, {2, 0x3C}, {0, 0x18}, {0, 0x24}, {666, 0x14}} SearchWrite(tb1, tb2, dataType) end function a8() search(2283,4,32) py1(1,4,0x68) py1(1,4,0x70) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(sk[8],4,0x4C) end function a9() search(2344,4,32) py1(1,4,-0x4) py1(1,4,0x4) xg1(sk[9],4,-0x190) end function a10() search(2283,4,32) py1(1,4,0x68) py1(1,4,0x70) xg1(65537,4,-0x414) end function a11() search(2344,4,32) py1(1,4,-0x4) py1(1,4,0x4) xg1(-1,4,-0x198) xg1(-1,4,-0x19C) xg1(-1,4,-0x1A0) xg1(-1,4,-0x1A4) end function a12() gg.setRanges(32) local Name="滑板" local dataType = 4 local tb1 = {{-1, 0x0}, {-1, -0x88},{1, -0x6C}, {1, 0x1C}} local tb2 = {{0, 0x50}, {0, 0x3C}, {0, 0x18}, {0, 0x24}, {666, 0x14}} SearchWrite(tb1, tb2, dataType) end function a13() gg.setRanges(32) local Name="人物" local dataType = 4 local tb1 = {{-1, 0x0}, {-1, -0xA0},{1, 0x20}, {1, -0x80}} local tb2 = {{0, 0x48}, {0, 0x30}, {0, 0x28}, {0, 0x1C}, {666, 0x18}} SearchWrite(tb1, tb2, dataType) gg.alert("人物显示金币开启成功本次耗时"..time.."秒") end function a14() search(2344,4,32) py1(1,4,-0x4) py1(1,4,0x4) xg1(0,4,0xc4) xg1(0,4,0xb8) xg1(10000,4,0xb4) end function a15() search(21,4,32) py1(1,4,0x4) py1(1,4,-0x4) py1(1,4,0x24) py1(1,4,0x2C) py1(1,4,0x44) py1(1,4,0x3C) py1(1,4,0x54) py1(1,4,0x5C) xg1(0,4,0x18) xg1(0,4,0xC) xg1(0,4,0x70) xg1(0,4,0x64) xg1(1000,4,0x8) xg1(sk[15],4,0x60) end function a16() search(3000,4,32) py1(1,4,0x1C8) py1(1,4,0x1D0) py1(7,4,0x8C) xg1(0,4,-0x10) xg1(0,4,-0x1c) xg1(sk[16],4,-0x20) end function a17() search(3000,4,32) py1(1,4,0x1C8) py1(1,4,0x1D0) py1(7,4,0x8C) xg1(0,4,0x5c) xg1(0,4,0x50) xg1(sk[17],4,0x4c) xg1(0,4,0x4) xg1(0,4,-0x8) xg1(sk[17],4,-0xc) xg1(0,4,0x30) xg1(0,4,0x24) xg1(sk[17],4,0x20) xg1(0,4,0x18) xg1(0,4,0xc) xg1(sk[17],4,0x8) end function a18() search(120,4,32) py1(1,4,0x24) py1(1,4,0x2C) xg1(0,4,0x2C) xg1(0,4,0x20) xg1(-1,4,0x1C) end function a19() search(65537,4,32) py1(1,4,0x4) py1(1,4,0x28) py1(1,4,0x4c) xg1(6,4,0x8,true) end function a21() local t = {"libil2cpp.so:bss", "Cb"} local tt = {0x39A1C, 0x74} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt+0x14, flags = 4, value = 0}}) gg.setValues({{address = ttt+0x8, flags = 4, value = 0}}) gg.setValues({{address = ttt+0x4, flags = 4, value = sk[21]}}) gg.setValues({{address = ttt+0x1c, flags = 4, value = 0}}) gg.setValues({{address = ttt+0x28, flags = 4, value = 0}}) gg.setValues({{address = ttt+0x18, flags = 4, value = sk[21]}}) gg.setValues({{address = ttt+0x3c, flags = 4, value = 0}}) gg.setValues({{address = ttt+0x30, flags = 4, value = 0}}) gg.setValues({{address = ttt+0x2c, flags = 4, value = sk[21]}}) gg.toast("修改成功本次用时0.001秒") end function a22() local t = {"libil2cpp.so:bss", "Cb"} local tt = {0x39A1C, 0x74} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt+0xa4, flags = 4, value = 0}}) gg.setValues({{address = ttt+0x98, flags = 4, value = 0}}) gg.setValues({{address = ttt+0x94, flags = 4, value = sk[22]}}) gg.setValues({{address = ttt+0x90, flags = 4, value = 0}}) gg.setValues({{address = ttt+0x84, flags = 4, value = 0}}) gg.setValues({{address = ttt+0x80, flags = 4, value = sk[22]}}) gg.setValues({{address = ttt+0x7c, flags = 4, value = 0}}) gg.setValues({{address = ttt+0x70, flags = 4, value = 0}}) gg.setValues({{address = ttt+0x6c, flags = 4, value = sk[22]}}) gg.toast("修改成功本次用时0.001秒") end function a25() gg.copyText("") print(os.date"️") os.exit() end function jb() search(65536,4,32) py1(1,4,0xC) py1(1,4,0x20) xg1(0,4,0x14,true) xg1(0,4,0x8,true) xg1(gg.prompt({'推荐3千万金币,改完之后买点东西或者重进💫'}, {[1] = '30000000'}, {[1] = 'number'})[1],4,0x4,true) gg.toast("💫修改成功💫") end function yc() search(65536,4,32) py1(1,4,0x20) py1(1,4,0x34) xg1(0,4,0x28,true) xg1(0,4,0x1C,true) xg1(gg.prompt({'推荐9999钥匙,改完之后买点东西或者重进💫'}, {[1] = '9999'}, {[1] = 'number'})[1],4,0x18,true) gg.toast("💫修改成功💫") end function fc() search(2283,4,32) py1(1,4,0x68) py1(1,4,0x70) xg1(0,4,0x1BC,true) xg1(0,4,0x1C8,true) xg1(gg.prompt({'推荐100宝物钥匙'}, {[1] = '100'}, {[1] = 'number'})[1],4,0x1B8,true) gg.toast("💫修改成功💫") end function bbmn() Rain="emoo歌曲" gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..Rain.."&spd=5&source=wise") SN = gg.choice({ "忘不了的是你", "山海", "心做", "爱如火原创", "爱如火伤感版", "NUMB", "断线", "会不会", "醒着醉", "好想爱这个世界啊", "烟火里的尘埃", "爱存在", "信仰", "空城", "喰种主题曲", "左肩", "离歌", "收敛", "尘埃", "可惜不是你", "南山南", "下雨天", "蓝", "我不听了[关闭音乐]", "退出", }, 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=1453972194.mp3") end function SSN2() gg.playMusic("http://music.163.com/song/media/outer/url?id=1431393883.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=2023200425.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=496370620.mp3") end function SSN8() gg.playMusic("http://music.163.com/song/media/outer/url?id=1481164987.mp3") end function SSN9() gg.playMusic("http://music.163.com/song/media/outer/url?id=1428605028.mp3") end function SSN9() gg.playMusic("http://music.163.com/song/media/outer/url?id=1428605028.mp3") end function SSN10() gg.playMusic("http://music.163.com/song/media/outer/url?id=1436910205.mp3") end function SSN11() gg.playMusic("http://music.163.com/song/media/outer/url?id=29004400.mp3") end function SSN12() gg.playMusic("http://music.163.com/song/media/outer/url?id=1459023076.mp3") end function SSN13() gg.playMusic("http://music.163.com/song/media/outer/url?id=1459023707.mp3") end function SSN14() gg.playMusic("http://music.163.com/song/media/outer/url?id=1423712898.mp3") end function SSN15() gg.playMusic("http://music.163.com/song/media/outer/url?id=537012213.mp3") end function SSN16() gg.playMusic("http://music.163.com/song/media/outer/url?id=1408738715.mp3") end function SSN17() gg.playMusic("http://music.163.com/song/media/outer/url?id=1429975302.mp3") end function SSN18() gg.playMusic("http://music.163.com/song/media/outer/url?id=1450630238.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() Rain="生而为人,我很抱歉" gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..Rain.."&spd=5&source=wise") end function SSN25() os.exit() end while(true) do if gg.isVisible(true) then gg.setVisible(false) _ENV[ZY]() end end