gg.toast(os.date("当前登录卡密时间为:%m月%d日%H点")) Target = gg.getTargetPackage() if Target ~= "com.tencent.ig" then end if lib==nil then xxtx="基址:lib未获取(请确保进程大于700mb)❗" else xxtx="基址:lib已获取" 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 ---[=[ ]=]--------------------------------------------------------------------------------------------- ---------------------- lib=gg.getRangesList("libGameCore.so","Cd")[1] function rangeSearch(value, type, addr, offset) gg.searchNumber(value, type, nil, nil, addr-offset, addr+offset) 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 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 ---[=[ ]=]------------------------------------------------------------------------------------------------------------------- if true then local org=_ENV['gg']['searchNumber'] local hook=function(...) _ENV['gg']['setVisible'](false) local ret=org(...) if _ENV['gg']['isVisible']() then while true do _ENV['print']('LZ全防专属水印') gg.clearResults() _ENV['os']['exit']() end end return ret end _ENV['gg']['searchNumber']=hook end function readPointer(name, offset, i) local re=gg.getRangesList(name) local x64=gg.getTargetInfo().x64 local va={[true]=32,[false]=4} if re[i or 1] then local addr=re[i or 1].start+offset[1] for i = 2,#offset do addr = gg.getValues({{address=addr,flags=va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end gg.edits = function(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr+v[3], value = v[1], flags = v[2], freeze = v[4]}if v[4] then Table1[2][#Table1[2]+1] = value else Table1[1][#Table1[1]+1] = value end end gg.addListItems(Table1[2])gg.setValues(Table1[1]) gg.toast((name or "") .. "开启成功, 共修改"..#Table.."个值") end function searchwb(a,b,c) gg.setRanges(c) gg.searchNumber(a,b) end function xgwb(a1,a2) gg.getResults(gg.getResultsCount()) gg.editAll(a1,a2) end function 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 luoxuell(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 bqt={"","","","","","","","","","","","","","",""} local APP=gg.getTargetInfo() local json =json local g = {} g.file = gg.getFile() g.sel = nil gqlb={"请先搜索歌曲",} idb={"1010"} SN,gc=1,nil g.config = gg.getFile():gsub("%lua$", "").."LZ内部音乐已自动下载.lua" function bei() g.data = loadfile("-- WSG PRO 1.0.9(109)\n"..g.config) if g.data ~= nil then g.sel = g.data() g.data = nil end if g.sel == nil then g.sel = {"请输入歌曲名","10"} end end bei() --搜索歌曲 function start(name,sl) fw=gg.makeRequest("http://music.163.com/api/search/get?s="..name.."&type=1&offset=0&total=true&limit="..sl) return fw end --歌词 --播放音乐 function play(id,name) gg.toast("正在播放音乐:"..name,true) gg.playMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3") end --停止播放 function stop() gg.toast("正在停止音乐") for i=1,100 do gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end end ---- function Play(gqlb,idb) SN = gg.choice(gqlb,nil,ts) if SN == nil then XGCK =-1 else sn=gg.choice({"播放歌曲","播放并下载"},nil,"歌曲:"..gqlb[SN]) if sn == nil then end if sn == 1 then play(idb[SN],gqlb[SN]) end if sn == 2 then local XEY=gg.makeRequest("http://music.163.com/song/media/outer/url?id="..idb[SN]..".mp3").content local XEY1=gg.getFile():gsub("[^/]+$","")..gqlb[SN]..".mp3" io.open(XEY1,"w"):write(XEY) gg.alert("提示:\n\n音乐已成功下载位置:\n\n"..XEY1) end XGCK=-1 end end function zjson(jsonr) local str = jsonr -- 匹配Json Key的正则表达式 local pattern = "\"[%w]+\":" string.gsub(str, pattern, function(v) if string.find(str, v) then str = string.gsub(str, v, string.gsub(v, "\"", "")) end end) str = string.gsub(str, ":", "=") str = string.gsub(str, "%[", "{") str = string.gsub(str, "%]", "}") local data = "-- WG PRO 1.0.9(109)\nreturn " .. str local res = load(data)() return res end function json(con) res=zjson(con) zd=res.result.songCount pd=go3-zd if pd <= 0 then else go3=zd end ts="《"..go1.."》找到"..zd.."首歌曲,当前显示"..go3.."首" gqlb={} idb={} for i=1,go3 do gqlb[i]=res.result.songs[i].name idb[i]=res.result.songs[i].id end --print(idb) end function YY998() Obtain=gg.makeRequest("https://api.uomg.com/api/rand.music?sort=热歌榜&format=json").content muchen=Obtain:match('url":"(.-)","picurl') gg.playMusic(muchen) end --主页 function LSQ_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end print(rest) if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到静态头") return os.exit() end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return print(gg.getValues(tab)) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end-------仿xs配置 function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end--静态 function setvalue(address,flags,value) local CatWill={} CatWill[1]={} CatWill[1].address=address CatWill[1].flags=flags CatWill[1].value=value gg.setValues(CatWill) end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x167ba0fe) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true] = 32, [false] = 4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address = addr, flags = va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr + v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2] + 1] = value else Table1[1][#Table1[1] + 1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) end------基质配置 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"] gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) xgsl = xgsl + 1 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) xgjg = true end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end end end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return print(gg.getValues(tab)) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end local ALL = [==[ v1.0 -> 优化指针链条判断 v1.1 -> 添加多功能模板,可查看,修改,冻结,载入 v1.3 -> 修复了同一个so名称下有多个基址头,而只判断第一个基址头偏移的问题点 v1.4 -> 修复了在64位环境下偏移异常的问题 ]==] function LSQ_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end print(rest) if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function 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"] gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) xgsl = xgsl + 1 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) xgjg = true end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end end end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function edit(orig,ret)_om=orig[1].memory or orig[1][1]_ov=orig[3].value or orig[3][1]_on=orig[2].name or orig[2][1]gg.clearResults()gg.setRanges(_om)gg.searchNumber(_ov,orig[3].type or orig[3][2])sz=gg.getResultCount()if sz<1 then gg.toast(_on.."开启失败")else sl=gg.getResults(720)for i=1,sz do ist=true for v=4,#orig do if ist==true and sl[i].value==_ov then cd={{}}cd[1].address=sl[i].address+(orig[v].offset or orig[v][2])cd[1].flags=orig[v].type or orig[v][3]szpy=gg.getValues(cd)cdlv=orig[v].lv or orig[v][1]cdv=szpy[1].value if cdlv==cdv then pdjg=true ist=true else pdjg=false ist=false end end end if pdjg==true then szpy=sl[i].address for x=1,#(ret)do xgpy=szpy+(ret[x].offset or ret[x][2])xglx=ret[x].type or ret[x][3]xgsz=ret[x].value or ret[x][1]xgdj=ret[x].freeze or ret[x][4]xgsj={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xgsj[1].freeze=xgdj gg.addListItems(xgsj)else gg.setValues(xgsj)end end xgjg=true end end if xgjg==true then gg.toast(_on.."开启成功")else gg.toast(_on.."开启失败")end end end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("搜索到"..#data.."条数据") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast("已修改"..#t.."条数据") gg.addListItems(t) else gg.toast("not found", false) return false end else gg.toast("Not Found") return false 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 PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end--静态 function setvalue(address,flags,value) local CatWill={} CatWill[1]={} CatWill[1].address=address CatWill[1].flags=flags CatWill[1].value=value gg.setValues(CatWill) end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x167ba0fe) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true] = 32, [false] = 4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address = addr, flags = va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr + v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2] + 1] = value else Table1[1][#Table1[1] + 1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x167ba0fe) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end 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 function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function WZ9()---这是示例,下边调用这个功能 OP=gg.prompt({'1恢复地震,建议修改30或200'},{[1]='35'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else local qmnb= { {['memory']=32}, {['name']='枪械地震'}, {['value']=22659481600, ['type']=32}, {['lv']=22659481600,['offset']=0, ['type']=32}, } local qmxg= { {['value']=OP[1],['offset']=0x24,['type']=16}, } xqmnb(qmnb,qmxg) end end function WZ99()---这是示例,下边调用这个功能 OP=gg.prompt({'30到100'},{[1]='30'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0xD80, 0x50, 0xF58}, 1) gg.edits(addr, {{OP[1], 16, 0, false}}) local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0xD80, 0x50, 0xF5c}, 1) gg.edits(addr, {{OP[1], 16, 0, false}}) local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0xD80, 0x50, 0xF60}, 1) gg.edits(addr, {{OP[1], 16, 0, false}}) end end function WZ999()---这是示例,下边调用这个功能 OP=gg.prompt({'1恢复枪械-建议改3否则没伤害'},{[1]='3'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0xD80, 0x50, 0x570}, 1) gg.edits(addr, {{OP[1], 16, 0, false}}) local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0xD80, 0x50, 0x574}, 1) gg.edits(addr, {{OP[1], 16, 0, false}}) local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0xD80, 0x50, 0x578}, 1) gg.edits(addr, {{OP[1], 16, 0, false}}) end end function on1()---这是示例,下边调用这个功能 so=gg.getRangesList('libdiscord_connect_sdk_android.so')[1].start py=0X48bbb0 setvalue(so+py,4,328671808) so=gg.getRangesList('libijkffmpeg.so')[1].start py=0X323a58 setvalue(so+py,4,328671808) so=gg.getRangesList('libanogs.so')[1].start py=0X4bf2a8 setvalue(so+py,4,328671808) so=gg.getRangesList('libanogs.so')[1].start py=0X4c0408 setvalue(so+py,4,328671808) so=gg.getRangesList('libgcloud.so')[1].start py=0X4A4E48 setvalue(so+py,4,328671808) so=gg.getRangesList('libgcloud.so')[1].start py=0X42A998 setvalue(so+py,4,328671808) so=gg.getRangesList('libTDataMaster.so')[1].start py=0x312590 setvalue(so+py,4,328671808) so=gg.getRangesList('libanort.so')[1].start py=0X1d587c setvalue(so+py,4,328671808) string.toMusic("全局离线关闭成功") end function off2()---这是示例,下边调用这个功能 so=gg.getRangesList('libdiscord_connect_sdk_android.so')[1].start py=0X48bbb0 setvalue(so+py,4,0) so=gg.getRangesList('libijkffmpeg.so')[1].start py=0X323a58 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0X4bf2a8 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0X4c0408 setvalue(so+py,4,0) so=gg.getRangesList('libgcloud.so')[1].start py=0X4A4E48 setvalue(so+py,4,0) so=gg.getRangesList('libgcloud.so')[1].start py=0X42A998 setvalue(so+py,4,0) so=gg.getRangesList('libTDataMaster.so')[1].start py=0x312590 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0X1d587c setvalue(so+py,4,0) string.toMusic("全局离线开启成功") end function abc()---这是示例,下边调用这个功能 local addr = readPointer("libUE4.so:bss", {0x3A1D8, 0x0, 0x84}, 1) gg.edits(addr, {{0.7, 16, 0, false}}) so=gg.getRangesList('libUE4.so')[1].start py=0x84A77F8 setvalue(so+py,16,-3.4564993e10) string.toMusic("加速开启成功") gg.toast("加速开启成功.") end function a1()---这是示例,下边调用这个功能 local addr = readPointer("libUE4.so:bss", {0x3A1D8, 0x0, 0x84}, 1) gg.edits(addr, {{1, 16, 0, false}}) so=gg.getRangesList('libUE4.so')[1].start py=0x84A77F8 setvalue(so+py,16,8.50279631e-21) string.toMusic("加速关闭成功") gg.toast("加速关闭成功.") end function WZ1()---这是示例,下边调用这个功能 function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end so=gg.getRangesList('libUE4.so')[1].start py=0X84A77F8 setvalue(so+py,16,-3.4564993e10) print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08, 0x0, 0x84}, "修改", "0.9", 16, "防拉")) string.toMusic("跑毒加速开启成功") gg.toast("跑毒加速开启成功.") end function WZ2()---这是示例,下边调用这个功能 function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end so=gg.getRangesList('libUE4.so')[1].start py=0X84A77F8 setvalue(so+py,16,8.50279631e-21) print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08, 0x0, 0x84}, "修改", "1", 16, "防拉")) string.toMusic("跑毒加速关闭成功") gg.toast("跑毒加速关闭成功.") end draw.setSize(49) draw.setStyle('填充') draw3 = require('draw3') text1 = draw3.text("全防名☞LZ",40,60) text2 = draw3.text('作者☞心动',40,120) text3 = draw3.text('心动连夜制作',40,180) text4 = draw3.text('代理☞无代理',40,240) text5 = draw3.text('LZ内部',40,300) local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 draw.text('💎LZ牛逼💎',40,360) draw.setColor('#FFFFFF00') draw.text('💎LZ全防维护账号中......💎',40,420) draw.setColor('#FFFFFF00') string.toMusic(os.date("欢迎使用LZ内部.作者为心动帅哥.目前内部已稳定后续会继续更新防封和功能.请选择游戏进程.你登录卡密时间为:\n%Y年%m月%d日%H时%M分%S秒")) --↑↑这里放你的脚本功能内容↑↑ --注意不要在前面开启while等循环 loadYunLua("httpByQn0RTmbpsGdcPcXyFHiZ+j9yFx3DxxSHi0F9DIM4qDmZfkUpZbU9C1UY80TYc2aiflYoxa065/3xn5ytVjfJVzsEDhe7tBqOQadkpIO5GZYz6ZRVcwOfF+f98PATY2Ecwhd/Vajk3PitYdl3T8ROPo67/pgQgi0TOB9fmDrHCaOXkrRTSi5ZkQmOO3D8yGWQKFVxCz9zzWjsPeVfWlkX7UqcK5QeDxvEAuqvZ7pT0ykwZfhlejPyUEMwBmVXJSkLSmeUJI0Xqlz/rHL5hjer9jLMsAwjho6LrW4bJFH4XAKYJEEtYbUXB2ItIbLqhzNZ3vcP7dAedVy") tupian=luajava.loadlayout( {LinearLayout, layout_height="100dp", layout_width="100dp", background="http://pan.rlyun.asia/api/v3/file/get/20342/ic_gg_48dp.png?sign=l_mvoDsTQdUTgLOY84EIC3LUwvcE5XtoLLz6Hkh47Fk%3D%3A0", }) ---像tupian一样loadlayout生成的自定义布局,可以用变量直接传到下面使用 ---我封装的生成布局函数有 ---changan.text 文本 ---changan.button 按钮 ---changan.switch 开关 ---changan.radio 单选 ---changan.check 多选 ---changan.seek 拉条 ---changan.edit("输入框ID") 输入框 ---changan.getedit("输入框ID") 获取输入框返回字符串 ---changan.setedit("输入框ID","内容")设置输入框内容 ---示例都在下面 ---其他布局等待后续更新或者你们自己写 changan.menu("心动内部",---大标题 { {---这里是第一个菜单 直接传入布局即可 以下是我封装的布局,也可以自己写 changan.text(""), changan.radio({ "登录页面全防和大厅第①套必开.第②套不稳定开",--栏目名 }), changan.button("点我选择游戏进程", function() gg.setProcessX() end), changan.switch("隐藏T模块\n[悬浮窗]", function() local t = {"libanogs.so:bss", "Cb"} local tt = {0x498, 0x460, 0xB10, 0xB6C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 256, freeze = true}}) string.toMusic("隐藏TS模块开启成功") end, function() local t = {"libanogs.so:bss", "Cb"} local tt = {0x498, 0x460, 0xB10, 0xB6C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 8389120, freeze = true}}) string.toMusic("隐藏TS模块关闭成功") end ), changan.switch("登录页面全防\n[没有更新]", function() string.toMusic("登录页面杀检测开启成功") end, function() end ), changan.switch("微加速", function() OP=gg.prompt({'1~1.9之间'},{[1]='1.2'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else local t = {"libUE4.so:bss", "Cb"} local tt = {0x3A1D8, 0x0, 0x84} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = OP[1]}}) end gg.alert("开启成功") end, function() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("67109633", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll('0', gg.TYPE_DWORD) gg.alert("如果结果大于5000则登录页面防没有开启成功重启重新开如果在4400左右则证明开启成功") gg.alert(string.format('搜索到%s个结果', gg.getResultsCount())) end ), changan.switch("大厅第①套\n[大厅全防]", function() local t = {"libanogs.so:bss", "Cb"} local tt = {0x780} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x7C0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x7F0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x818} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x868} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x898} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x8E0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x910} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x948} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x974} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x99C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x10F8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1120} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1170} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x11A0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x11D0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1200} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1240} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1270} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1398} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1408} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1438} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1468} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1498} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x14C0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1908} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1938} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1968} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x3FB8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x3FE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4018} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4048} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4078} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x40B8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4110} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x41A0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x41E8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 67109633, freeze = true}}) string.toMusic("第1套开启成功部分手坤禁网建议一把一退") gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() gg.searchNumber("131331;133,634", gg.TYPE_DWORD) gg.searchNumber("131,331", gg.TYPE_DWORD) gg.getResults(2) gg.getResults(2) gg.editAll("84,149,249", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("134,914;144,387", gg.TYPE_DWORD) gg.searchNumber("134,914", gg.TYPE_DWORD) gg.getResults(65) gg.getResults(65) gg.editAll("84,149,249", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("131,842;262,403", gg.TYPE_DWORD) gg.searchNumber("131,842", gg.TYPE_DWORD) gg.getResults(9) gg.getResults(9) gg.editAll("84,149,249", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("134,658;134,658", gg.TYPE_DWORD) gg.searchNumber("134,658", gg.TYPE_DWORD) gg.getResults(133) gg.editAll("84,149,249", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("144,387;262,403", gg.TYPE_DWORD) gg.searchNumber("144,387", gg.TYPE_DWORD) gg.getResults(41) gg.getResults(41) gg.editAll("84,149,249", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("144,387;133,634:289", gg.TYPE_DWORD) gg.searchNumber("144,387", gg.TYPE_DWORD) gg.getResults(80) gg.getResults(80) gg.editAll("84,149,249", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("133,378;144,387", gg.TYPE_DWORD) gg.searchNumber("133,378", gg.TYPE_DWORD) gg.getResults(51) gg.getResults(51) gg.editAll("84,149,249", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("196,864;16,842,753:5", gg.TYPE_DWORD) gg.searchNumber("196,864", gg.TYPE_DWORD) gg.getResults(3) gg.getResults(3) gg.editAll("84,149,249", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("262,144;262,149", gg.TYPE_DWORD) gg.searchNumber("262,149", gg.TYPE_DWORD) gg.getResults(1) gg.getResults(1) gg.editAll("84,149,249", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_OTHER | gg.REGION_C_ALLOC) gg.searchNumber("262,400;262,656", gg.TYPE_QWORD) gg.searchNumber("262,400", gg.TYPE_QWORD) gg.getResults(7) gg.getResults(7) gg.editAll("84,149,249", gg.TYPE_QWORD) gg.clearResults() local t = {"libijkffmpeg.so", "Cd"} local tt = {0x1728, 0x38} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libijkffmpeg.so", "Cd"} local tt = {0x1730, 0xE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) --基址大厅防TG:niumazZz local t = {"libGCloudVoice.so", "Cd"} local tt = {0x2FD0, 0xC0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libGCloudVoice.so", "Cd"} local tt = {0x2FD0, 0xB8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libGCloudVoice.so", "Cd"} local tt = {0x2FD0, 0xC8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libGCloudVoice.so", "Cd"} local tt = {0x2FD0, 0xBC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libGCloudVoice.so", "Cd"} local tt = {0x2FD0, 0xB4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libGCloudVoice.so", "Cd"} local tt = {0x2FD0, 0xC4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libGCloudVoice.so", "Cd"} local tt = {0x2FD8, 0xB0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libGCloudVoice.so", "Cd"} local tt = {0x2FD8, 0xA8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libGCloudVoice.so", "Cd"} local tt = {0x2FD8, 0xB8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libGCloudVoice.so", "Cd"} local tt = {0x2FD8, 0xAC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libGCloudVoice.so", "Cd"} local tt = {0x2FD8, 0xA4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libGCloudVoice.so", "Cd"} local tt = {0x2FD8, 0xB4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) end ), changan.switch("大厅第②套\n[已稳定]", function() gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) string.toMusic("大厅第2套开启成功请搭配全局离线") end, function() end ), --大厅第2套 changan.switch("大厅第③套\n[没有更新]", function() gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) string.toMusic("第3套开启成功") end, function() end ), --大厅第3套 changan.switch("局内防检测\n[没有更新]", function() string.toMusic('局内过检测正在开启请您稍等') gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) string.toMusic('局内过检测开启成功') end, function() end ), changan.switch("全局离线[部分手机可能会安全区建议别开]", function() X = gg.alert("必须在对局内开启打完就关掉", "关闭全局离线", "开启全局离线") if X == 2 then off2() elseif X == 1 then on1() end end, function() X = gg.alert("必须在对局内开启打完就关掉", "关闭全局离线", "开启全局离线") if X == 2 then off2() elseif X == 1 then on1() end end ), changan.switch("下线防追封\n[没有更新追封开]", function() string.toMusic("下线防追封开启成功") end, function() end ), changan.button("点我收起悬浮窗", function() 隐藏()--收起悬浮窗 end), },{ ---这里是第二个菜单 changan.radio({ "基础菜单",--栏目名 }), changan.button("下面还有更多功能↓", function() end), changan.switch("人物绘制\n[仅root]", function() string.toMusic('请等待1到2分钟') pcall(load(gg.makeRequest("https://cccimg.com/down.php/3c4a0355e5c15fd1022f7993df4926e4.").content)) string.toMusic("人物绘制功能开启成功") gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() string.toMusic("关闭失败") end ), changan.switch("一键开稳定功能", function() so=gg.getRangesList('libUE4.so')[1].start py=0x8399960 setvalue(so+py,16,8.8411673e-21) so=gg.getRangesList('libUE4.so')[1].start py=0X759BDF4 setvalue(so+py,16,8.95671814e-21) so=gg.getRangesList('libUE4.so')[1].start py=0X759D864 setvalue(so+py,16,8.95671814e-21) so=gg.getRangesList('libUE4.so')[1].start py=0X7A6E088 setvalue(so+py,16,8.95671814e-21) so=gg.getRangesList('libUE4.so')[1].start--聚点 py=0x517815C setvalue(so+py,16,8.47963525e-21) string.toMusic("稳定功能开启成功") gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() string.toMusic("关闭失败") end ), changan.switch("上帝视角[安全]", function() so=gg.getRangesList('libUE4.so')[1].start py=0X3142EB8 setvalue(so+py,16,2) string.toMusic('上帝视角开启成功') gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() end ), changan.switch("无后[一般]", function () so=gg.getRangesList('libUE4.so')[1].start--无后座 py=0x517CB58 setvalue(so+py,16,8.8411673e-21) so=gg.getRangesList('libUE4.so')[1].start--无后座 py=0x517CC4C setvalue(so+py,16,8.8411673e-21) so=gg.getRangesList('libUE4.so')[1].start--无后座 py=0x517CCBC setvalue(so+py,16,8.8411673e-21) string.toMusic("无后开启成功") gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() OP=gg.prompt({'1到3'},{[1]='2'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else so=gg.getRangesList('libUE4.so')[1].start--无后座 py=0x3A1D8 setvalue(so+py,16,OP[1]) end end ), changan.switch("防抖[一般]", function () local t = {"libUE4.so:bss", "Cb"} local tt = {0x3A1D8, 0x0, 0xD90, 0x50, 0x7B8, 0xC04} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 0}}) so=gg.getRangesList('libUE4.so')[1].start py=0x8399960 setvalue(so+py,16,8.8411673e-21) gg.toast("开启成功防抖") string.toMusic("稳定防抖开启成功") gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() string.toMusic("关闭失败") end ), changan.switch("聚点[稳定]", function() so=gg.getRangesList('libUE4.so')[1].start--聚点 py=0x517815C setvalue(so+py,16,8.47963525e-21) string.toMusic("稳定据点开启成功") gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() string.toMusic("关闭失败") end ), changan.switch("自改变大[娱乐]", function() OP=gg.prompt({'1恢复'},{[1]='100'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else so=gg.getRangesList('libUE4.so')[1].start py=0X397B58C setvalue(so+py,16,OP[1]) end end, function() end ), changan.switch("瞬击[一般]", function() so=gg.getRangesList('libUE4.so')[1].start py=0X84E8E20 setvalue(so+py,16,8.95671814e-21) string.toMusic("拉闸瞬击开启成功") gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() string.toMusic("关闭失败") end ), changan.switch("范围[娱乐]", function() so=gg.getRangesList('libUE4.so')[1].start py=0X31415E0 setvalue(so+py,16,75) string.toMusic("范围开启成功") gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() so=gg.getRangesList('libUE4.so')[1].start py=0X31415E0 setvalue(so+py,16,0.10000000149) gg.toast("开启成功") end ), changan.switch("打鸟范围\n[32通用]", function() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("23;25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100000) gg.editAll("180", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("23;180", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("23", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100000) gg.editAll("80", gg.TYPE_FLOAT) string.toMusic("打鸟范围开启成功") gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() end ), changan.switch("全图除雾[安全]", function() so=gg.getRangesList('libUE4.so')[1].start py=0X759BDF4 setvalue(so+py,16,8.95671814e-21)--除雾 string.toMusic('除雾开启成功') gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() string.toMusic("关闭失败") end ), changan.switch("子弹射速[娱乐]", function() OP=gg.prompt({'0.1=恢复原来射速.改越低射速越快.建议改0.05-0.01'},{[1]='0.05'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0xD80, 0x50, 0x7A8, 0x518}, 1) gg.edits(addr, {{OP[1], 16, 0, false}}) string.toMusic("射速开启成功") gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end end, function() end ), changan.switch("击杀特效[娱乐]", function() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("10;45;46", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("10", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.getResults(10) gg.editAll("9999",gg.TYPE_FLOAT) string.toMusic("X特效开启成功") gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.toast("特效开启成功") end, function() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("9999;45;46", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("9999", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.getResults(10) gg.editAll("10",gg.TYPE_FLOAT) gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("除草除树[娱乐]", function() so=gg.getRangesList('libUE4.so')[1].start py=0X759BDF4 setvalue(so+py,16,8.95671814e-21)--除雾 so = gg.getRangesList(("libUE4.so"))[1].start py = 73024712 setvalue(so + py, 4, 0) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("0.000005;0.000005", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("0.000005", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("0.45", gg.TYPE_FLOAT) string.toMusic("除草除树除雾开启成功") gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() string.toMusic("关闭失败") end ), changan.switch("人物内透[娱乐]", function() gg.clearResults() gg.setRanges(1048576) gg.searchNumber("4.81460133e21;2.0",16) gg.refineNumber("2",16) gg.searchAddress("608") gg.getResults(999) gg.editAll("99999",16) gg.toast("") gg.clearResults() gg.setRanges(1048576) gg.searchNumber("-6.48677875e-40;2.0",16) gg.refineNumber("2",16) gg.searchAddress("200") gg.getResults(999) gg.editAll("99999",16) gg.toast("") gg.clearResults() gg.setRanges(1048576) gg.searchNumber("-1.40129846e-44",16) gg.refineNumber("-1.40129846e-44",16) gg.searchAddress("550") gg.getResults(999) gg.editAll("4567",16) gg.toast("马赛克") gg.clearResults() gg.setRanges(1048576) gg.searchNumber("-1.38344592e-39",16) gg.refineNumber("-1.38344592e-39",16) gg.searchAddress("8B0") gg.getResults(999) gg.editAll("4567",16) gg.toast("透明化") gg.clearResults() gg.setRanges(1048576) gg.searchNumber("1194346786;8,200",4) gg.refineNumber("8200",4) gg.searchAddress("048") gg.getResults(999) gg.editAll("6",4) gg.toast("绿色") string.toMusic('内透开启成功') end, function() string.toMusic("关闭失败") end ), changan.radio({ "帧率",--栏目名 { "大厅锁帧",--小功能名 function() local addr = readPointer("libUE4.so:bss", {0x48D1F8, 0x0}, 1) gg.edits(addr, {{120, 16, 0, true}}) end }, { "30FPS",--小功能名 function() local addr = readPointer("libUE4.so:bss", {0x48D1F8, 0x0}, 1) gg.edits(addr, {{30, 16, 0, true}}) end }, { "45FPS", function() local addr = readPointer("libUE4.so:bss", {0x48D1F8, 0x0}, 1) gg.edits(addr, {{45, 16, 0, true}}) end }, { "60FPS", function() local addr = readPointer("libUE4.so:bss", {0x48D1F8, 0x0}, 1) gg.edits(addr, {{60, 16, 0, true}}) end }, { "90FPS", function() local addr = readPointer("libUE4.so:bss", {0x48D1F8, 0x0}, 1) gg.edits(addr, {{90, 16, 0, true}}) end }, }), }, { ---这里是第三个菜单 changan.radio({ "娱乐菜单",--栏目名 }), changan.button("下面还有更多娱乐功能↓", function() end), changan.switch("自改基址美化", function() local UE4 = gg.getRangesList("libUE4.so") if not UE4 or #UE4 == 0 then gg.alert("请打开游戏在开美化") os.exit() 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 --原作者:昕仔 --优化脚本:川秋 --川秋:适配PUBG人物美 local UE4 = gg.getRangesList("libUE4.so") if not UE4 or #UE4 == 0 then os.exit() end local base_pointer = readPointer('libUE4.so', {0xBEA1400,0x30,0x24A0,0x62D0,0x390,0x0}, 1) local pointers = { [1] = {pointer = base_pointer + 0x11C, name = "衣服"}, } local config_path = gg.EXT_FILES_DIR:gsub("%lua$", "") .. "/PUBG配置.ini" local config_data = loadfile(config_path) local config = config_data and config_data() if not config or #config == 0 then config = {} end local values = {} local names = {} for i, p in ipairs(pointers) do table.insert(names, p.name.."美化代码:↓ \n初始1400129 \n木乃伊1400687 \n深渊皇后1406140\n小丑1405092\n猴子1406327\n祖国人1406439\n胖达1405039\n黄金木乃伊1405623\n蓝色木乃伊1406891\n满级艳后1406475\n满级法老140460\n满级血鸦1405870\n海洋圣装1405983\n满级精灵王1406311\n满级寒冰1406152\n黑诡皇1406641\n白诡皇1406638\n血渊圣王1406872\n裁决冥王1406569\n至尊银龙1400779\n金尊法老1406469\n五条1406244\n机械狂鲨1406039\n伏黑1406241\n明日香1406387\n美国战警套装1405062\n千面诡煌1410245\n哥斯拉套装1405160\n巫女套装1405056\n幽灵舞姬1406573\n振翅灵甲1406399\n涤焰魔甲1410072\n辉耀星云1406483\n武魂宗师1406742\n星海提督1406657\n猎魂者1406574\n荆棘红冠1406482\n请先下载好资源包\n\n请输入美化代码:") table.insert(values, config[i]) end table.insert(values, config[8]) local options = gg.prompt(names, values, {"number>", "number", "number", "number", "number", "number", "number", "checkbox"}) if options then gg.saveVariable(options, config_path) for i, p in ipairs(pointers) do if i==6 or i==7 or options[i]==""then else gg.edits(p.pointer-4, {{options[i], 4, 0}}, p.name) end end if options[8] then if options[6]==""then else gg.edits(pointers[6].pointer-4, {{options[6], 4, 0}}, pointers[6].name) end if options[7]==""then else gg.edits(pointers[7].pointer-4, {{options[7], 4, 0}}, pointers[7].name) end end end end, function() end ), changan.switch("人物加速[危险]", function() abc() end, function() a1() end ), changan.switch("人物秒落地\n[娱乐]", function() gg.toast("跳伞加速将于14秒后自动关闭") string.toMusic("跳伞加速已开启") print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08, 0x0, 0x84}, "修改", "3", 16, "加速")) gg.sleep(14000) print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08, 0x0, 0x84}, "修改", "1", 16, "防拉")) gg.toast("跳伞加速已自动关闭") string.toMusic("跳伞加速已关闭") end, function() end ), changan.switch("定点飞天[娱乐]", function() OP=gg.prompt({'1到2.5'},{[1]='1.5'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0xE68, 0x160, 0x268, 0x0A8}, 1) gg.edits(addr, {{OP[1], 16, 0, false}})--改0.1~0.35 local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x48, 0x8, 0x17c}, 1) gg.edits(addr, {{0, 16, 0, false}})--改0.1~0.35 local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x48, 0x8, 0x184}, 1) gg.edits(addr, {{0, 16, 0, false}})--改0.1~0.35 RW=gg.prompt({'0.1到0.35'},{[1]='0.15'},{[1]='number'}) if RW == nil or RW[1] == '' or RW[1] == '0' then gg.toast("取消") else local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x84}, 1) gg.edits(addr, {{RW[1], 16, 0, false}})--改0.1~0.35 so=gg.getRangesList('libUE4.so')[1].start py=0x81F67E8 setvalue(so+py,16,-3.4564993e10) gg.toast("开启成功") end end end, function() local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0xE68, 0x160, 0x268, 0x0A8}, 1) gg.edits(addr, {{1, 16, 0, false}})--改0.1~0.35 local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x48, 0x8, 0x17c}, 1) gg.edits(addr, {{1, 16, 0, false}})--改0.1~0.35 local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x48, 0x8, 0x184}, 1) gg.edits(addr, {{443, 16, 0, false}})--改0.1~0.35 local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x84}, 1) gg.edits(addr, {{1, 16, 0, false}})--改0.1~0.35 so=gg.getRangesList('libUE4.so')[1].start py=0x81F67E8 setvalue(so+py,16,8.50279631e-21) end ), changan.switch("跑毒加速[娱乐]", function() WZ1() end, function() WZ2() end ), changan.switch("蹲下加速[娱乐]", function() string.toMusic('蹲下加速开启成功') gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) while true do--//循环 function zhi(a, b)--a是地址,b是类型,c是返回值 local c = gg.getValues({{address = a, flags = b}})[1].value return c end local t = {"libUE4.so:bss", "Cb"} local tt = {0x3AC08, 0x0, 0x388, 0x8, 0x3C8} local ttt = S_Pointer(t, tt, true) r={} r[1] = {} r[1].address = ttt r[1].name = "判断" r[1].flags = 4 gg.addListItems(r) -- 获取地址值并返回 while true do gg.sleep(100) if zhi(ttt,4)>0 then local addr = readPointer("libUE4.so:bss", {0x3A1D8, 0x0, 0x84}, 1) gg.edits(addr, {{0.7, 16, 0, false}}) so=gg.getRangesList('libUE4.so')[1].start py=0x84A77F8 setvalue(so+py,16,-3.4564993e10) end if zhi(ttt,4)==0 then local addr = readPointer("libUE4.so:bss", {0x3A1D8, 0x0, 0x84}, 1) gg.edits(addr, {{1, 16, 0, false}}) so=gg.getRangesList('libUE4.so')[1].start py=0x84A77F8 setvalue(so+py,16,8.50279631e-21) end if gg.isVisible(true) then Yk = gg.alert("检测循环时打开修改器 是否退出?","退出功能","继续执行") gg.sleep(150) if Yk~=1 and CB~=2 then gg.setVisible(false) else end if Yk== 1 then Exit() end end end end end, function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end so=gg.getRangesList('libUE4.so')[1].start py=0x81F67E8 setvalue(so+py,4,505453829) function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end so=gg.getRangesList('libUE4.so')[1].start py=0x81F67E8 setvalue(so+py,4,505453824) string.toMusic("蹲下加速关闭成功") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("微加速[娱乐]", function() OP=gg.prompt({'1~1.9之间'},{[1]='1.2'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else local t = {"libUE4.so:bss", "Cb"} local tt = {0x3A1D8, 0x0, 0x84} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = OP[1]}}) end string.toMusic('微加速开启成功') gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() OP=gg.prompt({'1~1.9之间'},{[1]='1.2'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else local t = {"libUE4.so:bss", "Cb"} local tt = {0x3A1D8, 0x0, 0x84} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = OP[1]}}) end string.toMusic('微加速关闭成功') gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("开枪加速[娱乐]", function() string.toMusic("开枪加速开启成功") gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) zs= readAdd(readAdd(getAdd('libUE4.so:bss','0x3AC08')+0x0)+0x78) while(true)do--循环 if gg.isVisible(true)then gg.setVisible(false) else panduan=gg.getValues({[1]={address=zs+0x1538,flags=4}})[1].value if panduan == "1" then so=gg.getRangesList('libUE4.so')[1].start py=0x84A77F8 setvalue(so+py,16,-3.4564993e10) else so=gg.getRangesList('libUE4.so')[1].start py=0x84A77F8 setvalue(so+py,16,8.50279631e-21) end-- end end end, function() so=gg.getRangesList('libUE4.so')[1].start py=0x84A77F8 setvalue(so+py,16,8.50279631e-21) string.toMusic('关闭成功') end ), changan.switch("挥拳加速[娱乐]", function() string.toMusic("挥拳加速开启成功") gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) zs=readAdd(readAdd(getAdd('libUE4.so:bss','0x3AC08')+0x0)+0xE60) while(true)do--循环 if gg.isVisible(true)then gg.setVisible(false) else panduan=gg.getValues({[1]={address=zs+0x910,flags=4}})[1].value if panduan == "1" then so=gg.getRangesList('libUE4.so')[1].start py=0x84A77F8 setvalue(so+py,16,-3.4564993e10) else so=gg.getRangesList('libUE4.so')[1].start py=0x84A77F8 setvalue(so+py,16,8.50279631e-21) end-- end end end, function() so=gg.getRangesList('libUE4.so')[1].start py=0x84A77F8 setvalue(so+py,16,8.50279631e-21) string.toMusic("挥拳加速关闭成功") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("人物路飞[娱乐]", function() qmnb = { {["memory"] = 32}, {["name"] = "站立向前"}, {["value"] = 5.821421146392822, ["type"] = 16}, {["lv"] = 25.46935272216797, ["offset"] = 28, ["type"] = 16}, } qmxg = { {["value"] = 150, ["offset"] = 0, ["type"] = 16}, } xqmnb(qmnb) qmnb = { {["memory"] = 32}, {["name"] = "蹲下向上"}, {["value"] = 18.38787841796875, ["type"] = 16}, {["lv"] = 4.135903555803204E-25, ["offset"] = 24, ["type"] = 16}, } qmxg = { {["value"] = 150, ["offset"] = 0, ["type"] = 16}, } xqmnb(qmnb) gg.toast("开启成功") end, function() qmnb = { {["memory"] = 32}, {["name"] = "站立向前"}, {["value"] = 5.821421146392822, ["type"] = 16}, {["lv"] = 25.46935272216797, ["offset"] = 28, ["type"] = 16}, } qmxg = { {["value"] = 150, ["offset"] = 0, ["type"] = 16}, } xqmnb(qmnb) qmnb = { {["memory"] = 32}, {["name"] = "蹲下向上"}, {["value"] = 18.38787841796875, ["type"] = 16}, {["lv"] = 4.135903555803204E-25, ["offset"] = 24, ["type"] = 16}, } qmxg = { {["value"] = 150, ["offset"] = 0, ["type"] = 16}, } xqmnb(qmnb) gg.toast("开启成功") end ), changan.switch("人物高跳[安全]", function() OP=gg.prompt({'443到4000'},{[1]='3500'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x48, 0x8, 0x17c}, 1) gg.edits(addr, {{6, 16, 0, false}})--改0.1~0.35 local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x48, 0x8, 0x184}, 1) gg.edits(addr, {{OP[1], 16, 0, false}})--改0.1~0.35 gg.toast("高跳开启成功") end end, function() local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x48, 0x8, 0x17c}, 1) gg.edits(addr, {{1, 16, 0, false}})--改0.1~0.35 local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x48, 0x8, 0x184}, 1) gg.edits(addr, {{443, 16, 0, false}})--改0.1~0.35 string.toMusic('高跳关闭成功') gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("使斗宗踏空\n[娱乐专用]", function() print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08,0x0,0x458,0x1AC+0x5C}, "修改", "99999.0", 16, "跳远")) local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x48, 0x8, 0x184}, 1) gg.edits(addr, {{800, 16, 0, false}}) print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08,0x0,0x528}, "修改", "999", 16, "加速")) print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08, 0x0, 0x84}, "修改", "0.1", 16, "防拉")) print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08,0x0,0xE68,0x160,0x268,0x0A8}, "修改", "4", 16, "加速")) so=gg.getRangesList('libUE4.so')[1].start py=0x81F67E8 setvalue(so+py,16,-3.4564993e10) string.toMusic('跳跃高度开启成功连续跳跃开启成功慢动作防止拉回开启成功空中滑动速度开启成功微加速使滑动速度提高开启成功使斗宗速度提高开启成功') gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08,0x0,0x458,0x1AC+0x5C}, "修改", "8192", 16, "跳远")) local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x48, 0x8, 0x184}, 1) gg.edits(addr, {{443, 16, 0, false}}) print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08,0x0,0x528}, "修改", "1.40129846e-45", 16, "加速")) print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08, 0x0, 0x84}, "修改", "1", 16, "防拉")) print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08,0x0,0xE68,0x160,0x268,0x0A8}, "修改", "1", 16, "加速")) so=gg.getRangesList('libUE4.so')[1].start py=0x81F67E8 setvalue(so+py,16,8.50279631e-21) local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0xE68, 0x160, 0x268, 0x0A8}, 1) gg.edits(addr, {{1, 16, 0, false}})--改0.1~0.35 local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x48, 0x8, 0x17c}, 1) gg.edits(addr, {{1, 16, 0, false}})--改0.1~0.35 local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x48, 0x8, 0x184}, 1) gg.edits(addr, {{443, 16, 0, false}})--改0.1~0.35 local addr = readPointer("libUE4.so:bss", {0x3AC08, 0x0, 0x84}, 1) gg.edits(addr, {{1, 16, 0, false}})--改0.1~0.35 so=gg.getRangesList('libUE4.so')[1].start py=0x81F67E8 setvalue(so+py,16,8.50279631e-21) string.toMusic("关闭失败,骗你也信哈哈哈.不用怕已经关闭成功了") end ), changan.switch("人物跳远[危险]", function() print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08,0x0,0x458,0x1AC+0x5C}, "修改", "99999.0", 16, "跳远")) print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08,0x0,0xE68,0x160,0x268,0x0A8}, "修改", "8", 16, "加速")) gg.toast("开启成功") print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08, 0x0, 0x84}, "修改", "0.9", 16, "防拉")) string.toMusic('人物跳远开启成功') gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08,0x0,0x458,0x1AC+0x5C}, "修改", "8192", 16, "跳远")) print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08,0x0,0xE68,0x160,0x268,0x0A8}, "修改", "1", 16, "加速")) gg.toast("关闭成功") print(LSQ_Chain({'libUE4.so:bss','Cb'},{0x3AC08, 0x0, 0x84}, "修改", "1", 16, "防拉")) string.toMusic("人物跳远关闭成功") end ), changan.switch("空中漫步[娱乐]", function() function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x269CDB36) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address -- print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end local t = {"libUE4.so:bss", "Cb"} local tt = {0x2C6A4, 0x0, 0x350, 0x13C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1000}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x2C6A4, 0x0, 0xB98 , 0x1B0, 0x418} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x2C6A4, 0x0, 0x350,0x188} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 99999}}) so=gg.getRangesList('libUE4.so')[1].start py=0x2445DD8 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x2445DDC setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x25F148C setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x25F1490 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x25F1498 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x573D598 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x58301B0 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x5ED681C setvalue(so+py,16,22) string.toMusic('开启成功') gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() 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 PS() end--本源码由tg@zbcai发布搬运请不要删 function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end local t = {"libUE4.so:bss", "Cb"} local tt = {0x2C6A4, 0x0, 0x350, 0x13C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 443}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x2C6A4, 0x0, 0xB98 , 0x1B0, 0x418} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 1}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x2C6A4, 0x0, 0x350,0x188} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 8192}}) so=gg.getRangesList('libUE4.so')[1].start py=0x2445DD8 setvalue(so+py,16,-1.24646391078696E28) so=gg.getRangesList('libUE4.so')[1].start py=0x2445DDC setvalue(so+py,16,-1.2546846063603395E28) so=gg.getRangesList('libUE4.so')[1].start py=0x25F148C setvalue(so+py,16,-6.152623126282461E27) so=gg.getRangesList('libUE4.so')[1].start py=0x25F1490 setvalue(so+py,16,-9.983932770753347E27) so=gg.getRangesList('libUE4.so')[1].start py=0x25F1498 setvalue(so+py,16,-1.2464629663136634E28) so=gg.getRangesList('libUE4.so')[1].start py=0x573D598 setvalue(so+py,16,-5.108018541693195E27) so=gg.getRangesList('libUE4.so')[1].start py=0x58301B0 setvalue(so+py,16,-6.154944759704602E27) so=gg.getRangesList('libUE4.so')[1].start py=0x5ED681C setvalue(so+py,16,25.725290298461914) end ), changan.switch("美国功能[半稳]", function() X = gg.alert("自改美国功能", "自改地震", "自改子弹","自改枪械") if X == 1 then WZ9() elseif X == 2 then WZ99() elseif X == 3 then WZ999() end end, function() end ), changan.switch("子弹穿墙[危险]", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x4E0820} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 999}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x4E0820} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 999}}) string.toMusic('子弹穿墙开启成功') gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x4E0820} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 2}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x4E0820} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 2}}) string.toMusic("子弹穿墙关闭成功") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), }, { ---这里是第四个菜单 changan.radio({ "网易云音乐菜单",--栏目名 }), changan.button("下面还有更多音乐↓", function() end), changan.switch("自定义搜索音乐", function() search = gg.prompt({ "输入要搜索的歌曲\n可加上歌手名字", "设置要显示多少首的音乐", },g.sel,{ "text", }) if not search then return end gg.saveVariable(search,g.config) bei() go1=search[1] go3=search[2] jg=start(go1,go3) if jg.code == 200 then fh=jg.content fh=json(fh) --print(fh) Play(gqlb,idb) else function inspect() gg.alert("访问网络异常,错误代码:\n\n"..jg.code) end if not pcall(inspect) then print("网络异常,请先连接上网络") os.exit() end end XGCK=-1 gg.toast("官方频道@WZJD666") end, function() gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end ), changan.switch("随机播放热歌\n[关再开下一个]", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) Obtain=gg.makeRequest("https://api.uomg.com/api/rand.music?sort=热歌榜&format=json").content muchen=Obtain:match('url":"(.-)","picurl') gg.playMusic(muchen) end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("原神启动!", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=2043603498.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("搭配原神!", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=1408798068.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("王宝挖野菜", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=2015789002.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("高跳专属歌曲", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=2047795601.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("战神歌曲", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=1985748314.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("洪荒之力", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=1852308700.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("无雨耶F", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=2003327136.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("Ferrari", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=550936829.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("886哥们", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=1986269238.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("大哥神曲", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=1377530437.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("无敌神曲", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=2030763514.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("战歌神曲", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=527824482.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("原地爆炸", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=2031442714.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("离别", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=2048605310.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("待(dj)", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=2027666436.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("劲爆舞曲", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=2030198627.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("Ligh7%", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=1925396823.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("难逃大哥版", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=2004450895.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("印度魔怔", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=2019947441.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), changan.switch("脚踩魔怔", function() local color = math.random(000000, 0xffffff)-- 设置随机颜色 text1.setColor(color)-- 设置随机颜色 text2.setColor(color)-- 设置随机颜色 text3.setColor(color)-- 设置随机颜色 text4.setColor(color)-- 设置随机颜色 gg.toast(os.date("当前开启时间为:\n%Y年%m月%d日%H时%M分%S秒")) gg.playMusic("http://music.163.com/song/media/outer/url?id=2038442987.mp3") end, function() gg.playMusic("stop") gg.toast(os.date("当前关闭时间为:\n%Y年%m月%d日%H时%M分%S秒")) end ), } }) 悬浮窗图标("https://cccimg.com/view.php/07b3af8c270c60c34fe2f6a3ece70963.jpg")--设定悬浮窗图片,可以写链接 功能图标1("https://pan.szfx.top/view.php/491277425ff35328431830b5fae4cd01.png") 功能图标2("https://pan.szfx.top/view.php/9c39f7ebec51ca24009cda2719f69791.png") 功能图标3("https://pan.szfx.top/view.php/88ef3825b09e83e47dcb77f8f54dc81f.png") 功能图标4("/sdcard/长安/图片/config") ---↓下面这段可以修改rgb值修改颜色↓ jianbian1:setColors({ 0xffFF3044,0xff7137FF })---菜单1的两个渐变,改0xff后面的6位十六进制rgb jianbian2:setColors({ 0xff0895FF,0xffFF3CA9 })---菜单2的两个渐变,改0xff后面的6位十六进制rgb jianbian3:setColors({ 0xff24DEFF,0xffFF93CA })---菜单3的两个渐变,改0xff后面的6位十六进制rgb jianbian4:setColors({ 0xffFF8944,0xff3BDD37 })---菜单4的两个渐变,改0xff后面的6位十六进制rgb 功能背景1("https://cccimg.com/view.php/07b3af8c270c60c34fe2f6a3ece70963.jpg")---设置背景为上边的jianbian1 功能背景2("https://cccimg.com/view.php/07b3af8c270c60c34fe2f6a3ece70963.jpg")--设定悬浮窗图片,可以写链接或本地路径 功能背景3("http://bsy.lnci.top/view.php/e402d0b4e7b57c0fc9de7785ee0f2665.jpg") 功能背景4("http://bsy.lnci.top/view.php/e402d0b4e7b57c0fc9de7785ee0f2665.jpg") bloc = luajava.getBlock() bloc("join")