gg.alert('RLGG')function xyh1(Range,Type,Search,Write) gg.clearResults() gg.setRanges(Range) 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.sleep(400) gg.toast("🚬"..Name.."成功🛠共修改"..#t.."数据") else gg.toast("❤️"..Name.."成功❤️") return false end else gg.toast("❤️"..Name.."成功❤️") return false end end function xyh(Nc,Type,Search,Write) gg.clearResults() gg.setRanges(Nc) 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("\n found"..#data.."data\n Start offset") 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.sleep(400) gg.toast("\n"..Name.."success\n Altogether"..#t.."data") else gg.toast("\n"..Name.."failure") return false end else gg.toast("\n"..Name.."failure") return false end end function HaoGe(Nc,Type,Search,Write) gg.clearResults() gg.setRanges(Nc) 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("\n🍂搜索到"..#data.."数据\n🍂开始进行偏移") 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.sleep(400) gg.toast("\n🍂"..Name.."成功\n🍂共修改"..#t.."数据") else gg.toast("\n❌"..Name.."失败") return false end else gg.toast("\n❌"..Name.."失败") return false end end function js(address,flags,value) local jz={} jz[1]={} jz[1].address=address jz[1].flags=flags jz[1].value=value gg.setValues(jz) end function jz(py,xl,xgsz) flags=xl value=xgsz so=gg.getRangesList(''..name..'')[1].start js(so+py,xl,xgsz) 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 MIAONEI(Nc,Type,Search,Write) gg.clearResults() gg.setRanges(Nc) gg.setVisible(false) gg.searchNumber(Search[1][1],Type) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][2] if(count>0)then for i,v in ipairs(result)do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2]-base local num=Search[k][1] for i,v in ipairs(result)do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=v.flags end tmp=gg.getValues(tmp) for i,v in ipairs(tmp)do if(tostring(v.value)~=tostring(num))then result[i].isUseful=false end end end for i,v in ipairs(result)do if(v.isUseful)then data[#data+1]=v.address end end if(#data>0)then local t={} local base=Search[1][2] for i=1,#data do for k,w in ipairs(Write)do offset=w[2]-base t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=Type t[#t].value=w[1] if(w[3]==true)then local item={} item[#item+1]=t[#t] item[#item].freeze=true gg.addListItems(item) end end end gg.setValues(t) gg.sleep(400) gg.toast("\n"..Name.."\n修改"..#t.."数据") else gg.toast("\n"..Name.."\n") return false end else gg.toast("\n"..Name.."\n") return false end end function YULUO(Search, Write,Neicun,Mingcg,Shuzhiliang) gg.clearResults() gg.setRanges(Neicun) gg.setVisible(false) gg.searchNumber(Search[1][1], Search[1][3]) count = gg.getResultCount() result = gg.getResults(count) gg.clearResults() data = {} base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do tmp = {} offset = Search[k][2] - base 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] 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(Mingcg.."搜索到"..#data.."条数据") t = {} base = Search[1][2] if Shuzhiliang == "" and Shuzhiliang > 0 and Shuzhiliang < #data then Shuzhiliang=Shuzhiliang else Shuzhiliang=#data end for i=1, Shuzhiliang do for k, w in ipairs(Write) 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 item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Mingcg.."已修改"..#t.."条数据") gg.sleep(400) else gg.toast(Mingcg.."开启失败", false) return false end else gg.toast("搜索失败") return false end end function readWrite(Search,Get,Type,Range,Name) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) if Search[1][1]~=false then gg.searchAddress(Search[1][1],0xFFFFFFFF,Search[1][4] or Type,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) end gg.searchNumber(Search[1][2],Search[1][4] or Type,false,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][3] if (count > 0) then for i,v in ipairs(result) do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2] - base local num=Search[k][1] for i,v in ipairs(result) do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=Search[k][3] or Type end tmp=gg.getValues(tmp) for i,v in ipairs(tmp) do if v.flags==16 or v.flags==64 then values=tostring(v.value):sub(1,6) num=tostring(num):sub(1,6) else values=v.value end if tostring(values)~=tostring(num) then result[i].isUseful=false end end end for i,v in ipairs(result) do if (v.isUseful) then data[#data+1]=v.address end end if (#data > 0) then local t,t_={},{} local base=Search[1][3] for i=1,#data do for k,w in ipairs(Get) do offset=w[2] - base if w[1]==false then t_[#t_+1]={} t_[#t_].address=data[i]+offset t_[#t_].flags=Type th_=(th_) and th_+1 or 1 else t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=w[3] or Type t[#t].value=w[1] tg_=(tg_) and tg_+1 or 1 if (w[4]==true) then local item={} item[#item+1]=t[#t] item[#item].freeze=w[4] gg.addListItems(item) end end end end tg=(tg_) and "by楼主提示修改"..tg_.."数据" or "" th=(th_) and "" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast(""..Name..tg) tg_,th_=nil,nil else gg.toast("搜索不到",false) return false end else gg.toast("搜索不到") return false end end function XC(Search, Write,Neicun,Mingcg,Shuzhiliang) gg.clearResults() gg.setRanges(Neicun) gg.setVisible(false) gg.searchNumber(Search[1][1], Search[1][3]) count = gg.getResultCount() result = gg.getResults(count) gg.clearResults() data = {} base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do tmp = {} offset = Search[k][2] - base 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] 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(Mingcg.."搜索到"..#data.."条数据") t = {} base = Search[1][2] if Shuzhiliang == "" and Shuzhiliang > 0 and Shuzhiliang < #data then Shuzhiliang=Shuzhiliang else Shuzhiliang=#data end for i=1, Shuzhiliang do for k, w in ipairs(Write) 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 item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Mingcg.."已修改"..#t.."条数据") gg.sleep(400) else gg.toast(Mingcg.."开启失败", false) return false end else gg.toast("搜索失败") return false 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 mnnb(Search, Write,Neicun,Mingcg,Shuzhiliang) gg.clearResults() gg.setRanges(Neicun) gg.setVisible(false) gg.searchNumber(Search[1][1], Search[1][3]) count = gg.getResultCount() result = gg.getResults(count) gg.clearResults() data = {} base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do tmp = {} offset = Search[k][2] - base 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] 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(Mingcg.."搜索到"..#data.."条数据") t = {} base = Search[1][2] if Shuzhiliang == "" and Shuzhiliang > 0 and Shuzhiliang < #data then Shuzhiliang=Shuzhiliang else Shuzhiliang=#data end for i=1, Shuzhiliang do for k, w in ipairs(Write) 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 item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Mingcg.."已修改"..#t.."条数据") gg.sleep(400) else gg.toast(Mingcg.."开启成功", false) return false end else gg.toast("搜索成功") return false end end function SearchWrite(search,Write,Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(search[1][1],Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = search[1][2] if(count>0)then for i,v in ipairs(result)do v.isUseful=true end for k=2,#search do local tmp={} local offset=search[k][2]-base local num=search[k][1] for i,v in ipairs(result)do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=v.flags end tmp=gg.getValues(tmp) for i,v in ipairs(tmp)do if(tostring(v.value)~=tostring(num))then result[i].isUseful=false end end end for i,v in ipairs(result)do if(v.isUseful)then data[#data+1]=v.address end end if(#data>0)then gg.toast(Name.."共搜索到"..#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.sleep(500) gg.toast(Name.."开启成功") else return false end else 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 xqwh(qwh) gg.clearResults() gg.setRanges(qwh[1]["memory"]) gg.searchNumber(qwh[3]["value"], qwh[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qwh[2]["name"] .. "开启成功✘") else gg.refineNumber(qwh[3]["value"], qwh[3]["type"]) gg.refineNumber(qwh[3]["value"], qwh[3]["type"]) gg.refineNumber(qwh[3]["value"], qwh[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qwh[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, #(qwh) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qwh[v]["offset"] pysz[1].flags = qwh[v]["type"] szpy = gg.getValues(pysz) pdpd = qwh[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(qwh[2]["name"] .. "开启成功") else gg.toast(qwh[2]["name"] .. "开启成功✘") end end end 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("开启成功✘", false) return false end else gg.toast("开启成功✘") 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 xqwh(qwh) gg.clearResults() gg.setRanges(qwh[1]["memory"]) gg.searchNumber(qwh[3]["value"], qwh[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qwh[2]["name"] .. "开启成功✘") else gg.refineNumber(qwh[3]["value"], qwh[3]["type"]) gg.refineNumber(qwh[3]["value"], qwh[3]["type"]) gg.refineNumber(qwh[3]["value"], qwh[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qwh[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, #(qwh) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qwh[v]["offset"] pysz[1].flags = qwh[v]["type"] szpy = gg.getValues(pysz) pdpd = qwh[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(qwh[2]["name"] .. "开启成功") else gg.toast(qwh[2]["name"] .. "开启成功✘") end 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 local t = {} local base = search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else return false end else return false end end local app = {} function Assert(data) if data == nil or data == "" or data == "nil" then return false else return true end end function mearrass(memory, array) if Assert(memory) and Assert(array) then return true else return false end end function typetab(array, type) local datatype = {} for i = 1, #array do if Assert(array[i].type) then table.insert(datatype, i, array[i].type) else if Assert(type) then table.insert(datatype, i, type) else return false end end end return true, datatype end function app.memorysearch(memory, array, type) gg.setVisible(false) local rx = mearrass(memory, array) if rx then local rx, datatype = typetab(array, type) if rx then if Assert(array[1].hv) then gg.clearResults() gg.setRanges(memory) gg.searchNumber(array[1].lv .. "~" .. array[1].hv, datatype[1]) elsegg.clearResults() gg.setRanges(memory) gg.searchNumber(array[1].lv, datatype[1]) end if gg.getResultCount() == 0 then return false else local tab = {} local data = gg.getResults(gg.getResultCount()) gg.clearResults() for i = 1, #data do data[i].rx = true end for i = 2, #array do local t = {} local offset = array[i].offset for x = 1, #data do t[#t + 1] = {} t[#t].address = data[x].address + offset t[#t].flags = datatype[i] end local t = gg.getValues(t) for z = 1, #t do if Assert(array[i].hv) then if tonumber(t[z].value) < tonumber(array[i].lv) or tonumber(t[z].value) > tonumber(array[i].hv) then data[z].rx = false end else if tostring(t[z].value) ~= tostring(array[i].lv) then data[z].rx = false end end end end for i = 1, #data do if data[i].rx then tab[#tab + 1] = data[i].address end end if #tab > 0 then return true, tab else return false end end else print("type参数错误") gg.toast("type参数错误") os.exit() end else print("memory or array参数错误") gg.toast("memory or array参数错误") os.exit() end end function app.memoryread(addr, type) local t = {} t[1] = {} t[1].address = addr t[1].flags = type if #t > 0 then return true, gg.getValues(t)[1].value else return false end end function app.memorywrite(addr, type, value, freeze) local t = {} t[1] = {} t[1].address = addr t[1].flags = type t[1].value = value if #t > 0 then if Assert(freeze) then t[1].freeze = freeze return gg.addListItems(t) else return gg.setValues(t) end else return false 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 WH(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 " 提示修改"..tg_.."数据" or "" th=(th_) and "" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast(""..Name..tg) tg_,th_=nil,nil else gg.toast("搜索不到",false) return false end else gg.toast("搜索不到") return false end end function YuQin(Search, Write,Neicun,Mingcg,Shuzhiliang) gg.clearResults() gg.setRanges(Neicun) gg.setVisible(false) gg.searchNumber(Search[1][1], Search[1][3]) count = gg.getResultCount() result = gg.getResults(count) gg.clearResults() data = {} base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do tmp = {} offset = Search[k][2] - base 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] 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(Mingcg.."搜索到"..#data.."条数据") t = {} base = Search[1][2] if Shuzhiliang == "" and Shuzhiliang > 0 and Shuzhiliang < #data then Shuzhiliang=Shuzhiliang else Shuzhiliang=#data end for i=1, Shuzhiliang do for k, w in ipairs(Write) 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 item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Mingcg.."已修改"..#t.."条数据") gg.sleep(400) else gg.toast(Mingcg.."开启成功", false) return false end else gg.toast("搜索成功") return false 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 WH(Nc,Type,Search,Write) gg.clearResults() gg.setRanges(Nc) 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("\n🔍搜索到"..#data.."数据\n🔰开始进行偏移") 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.sleep(400) gg.toast("\n🚬"..Name.."成功\n🛠共修改"..#t.."数据") else gg.toast("\n❌"..Name.."成功") return false end else gg.toast("\n❌"..Name.."成功") return false end end --指针配置(豪哥优化) local time=os.clock() 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(Name.." 修改"..#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(Name.." 开启成功", false) return false end else gg.toast(Name.." 开启成功") 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"] gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) xgsl = xgsl + 1 end end function xqwh(qwh) gg.clearResults() gg.setRanges(qwh[1]["memory"]) gg.searchNumber(qwh[3]["value"], qwh[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qwh[2]["name"] .. "开启成功") else gg.refineNumber(qwh[3]["value"], qwh[3]["type"]) gg.refineNumber(qwh[3]["value"], qwh[3]["type"]) gg.refineNumber(qwh[3]["value"], qwh[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qwh[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, #(qwh) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qwh[v]["offset"] pysz[1].flags = qwh[v]["type"] szpy = gg.getValues(pysz) pdpd = qwh[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(qwh[2]["name"] .. "开启成功,共修改" .. xgsl .. "条ΔΘ") else gg.toast(qwh[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 DWORD=gg.TYPE_DWORD DOUBLE=gg.TYPE_DOUBLE FLOAT=gg.TYPE_FLOAT WORD=gg.TYPE_WORD BYTE=gg.TYPE_BYTE XOR=gg.TYPE_XOR QWORD=gg.TYPE_QWORD -- 【【 核心代码,不懂勿动 】】 -- JF Script编辑器 function wh(Search, Write,Neicun,Mingcg,Shuzhiliang) gg.clearResults() gg.setRanges(Neicun) gg.setVisible(false) gg.searchNumber(Search[1][1], Search[1][3]) 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 = Search[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(Mingcg.."搜索到"..#data.."条数据") local t = {} local base = Search[1][2] if Shuzhiliang == "" and Shuzhiliang > 0 and Shuzhiliang < #data then Shuzhiliang=Shuzhiliang else Shuzhiliang=#data end for i=1, Shuzhiliang do for k, w in ipairs(Write) 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(Mingcg.."已修改"..#t.."条数据") gg.addListItems(t) else gg.toast(Mingcg.."开启成功", false) return false end else gg.toast("搜索成功") return false end end function WH1(Range,Type,Search,Write) gg.clearResults() gg.setRanges(Range) 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.sleep(400) gg.toast("🚬"..Name.."成功🛠共修改"..#t.."数据") else gg.toast("❌"..Name.."成功") return false end else gg.toast("❌"..Name.."成功") return false end end function WH(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 " 提示修改"..tg_.."数据" or "" th=(th_) and "" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast(""..Name..tg) tg_,th_=nil,nil else gg.toast("搜索不到",false) return false end else gg.toast("搜索不到") return false 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 YF(Search, Write,Neicun,Mingcg,Shuzhiliang) gg.clearResults() gg.setRanges(Neicun) gg.setVisible(false) gg.searchNumber(Search[1][1], Search[1][3]) count = gg.getResultCount() result = gg.getResults(count) gg.clearResults() data = {} base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do tmp = {} offset = Search[k][2] - base 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] 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(Mingcg.."搜索到"..#data.."条数据") t = {} base = Search[1][2] if Shuzhiliang == "" and Shuzhiliang > 0 and Shuzhiliang < #data then Shuzhiliang=Shuzhiliang else Shuzhiliang=#data end for i=1, Shuzhiliang do for k, w in ipairs(Write) 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 item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Mingcg.."已修改"..#t.."条数据") gg.sleep(400) else gg.toast(Mingcg.."开启失败", false) return false end else gg.toast("搜索失败") return false end end function Flower(Search, Write,Neicun,Mingcg,Shuzhiliang) gg.clearResults() gg.setRanges(Neicun) gg.setVisible(false) gg.searchNumber(Search[1][1], Search[1][3]) count = gg.getResultCount() result = gg.getResults(count) gg.clearResults() data = {} base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do tmp = {} offset = Search[k][2] - base 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] 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(Mingcg.."搜索到"..#data.."条数据") t = {} base = Search[1][2] if Shuzhiliang == "" and Shuzhiliang > 0 and Shuzhiliang < #data then Shuzhiliang=Shuzhiliang else Shuzhiliang=#data end for i=1, Shuzhiliang do for k, w in ipairs(Write) 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 item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Mingcg.."已修改"..#t.."条数据") gg.sleep(400) else gg.toast(Mingcg.."开启失败", false) return false end else gg.toast("搜索失败") return false end end function HuaZhiYu(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 "By空城落杀神奇提示修改"..tg_.."数据" or "" th=(th_) and "" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast(""..Name..tg) tg_,th_=nil,nil else gg.toast("搜索不到",false) return false end else gg.toast("搜索不到") return false end end function YLNB(Nc,Type,Search,Write) gg.clearResults() gg.setRanges(Nc) 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("\n found"..#data.."data\n Start offset") 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.sleep(400) gg.toast("\n"..Name.."success\n Altogether"..#t.."data") else gg.toast("\n"..Name.."failure") return false end else gg.toast("\n"..Name.."failure") return false end end function YL(Nc,Type,Search,Write) gg.clearResults() gg.setRanges(Nc) gg.setVisible(false) gg.searchNumber(Search[1][1],Type) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][2] if(count>0)then for i,v in ipairs(result)do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2]-base local num=Search[k][1] for i,v in ipairs(result)do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=v.flags end tmp=gg.getValues(tmp) for i,v in ipairs(tmp)do if(tostring(v.value)~=tostring(num))then result[i].isUseful=false end end end for i,v in ipairs(result)do if(v.isUseful)then data[#data+1]=v.address end end if(#data>0)then local t={} local base=Search[1][2] for i=1,#data do for k,w in ipairs(Write)do offset=w[2]-base t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=Type t[#t].value=w[1] if(w[3]==true)then local item={} item[#item+1]=t[#t] item[#item].freeze=true gg.addListItems(item) end end end gg.setValues(t) gg.sleep(400) gg.toast("\n✔"..Name.."\n✔修改"..#t.."数据") else gg.toast("\n✘"..Name.."\n✘搜索不到") return false end else gg.toast("\n✘"..Name.."\n✘搜索不到") return false end end--YL function BaseAddress(Address,AFV) local address=0 for index,offset in ipairs(Address)do if index==1 then address=offset else address=gg.getValues({{address=address+offset,flags=4}})[1].value end end local Value,Freeze={},{} for index,value in ipairs(AFV)do local VALUE={address=address+value[3],flags=value[2],value=value[1],freeze=true} if value[4]then Freeze[#Freeze+1]=VALUE else Value[#Value+1]=VALUE end end gg.setValues(Value) gg.addListItems(Freeze) end -- local PACKAGE=(gg.getTargetInfo(gg.getTargetPackage()).packageName);--包名获取 -- local PID=gg.getTargetInfo().activities[1].label--名称获取 -- if PACKAGE == "com.tencent.iglitece" then -- so=gg.getRangesList("libUE4.so")[1].start -- else -- gg.alert("❌当前进程错误!") -- end -- --基址 function fxs(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 "修改"..tg_.."数据" or "" th=(th_) and "" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast(""..Name..tg) tg_,th_=nil,nil else gg.toast("搜索不到",false) return false end else gg.toast("搜索不到") return false end end function YF(Search, Write,Neicun,Mingcg,Shuzhiliang) gg.clearResults() gg.setRanges(Neicun) gg.setVisible(false) gg.searchNumber(Search[1][1], Search[1][3]) count = gg.getResultCount() result = gg.getResults(count) gg.clearResults() data = {} base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do tmp = {} offset = Search[k][2] - base 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] 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(Mingcg.."搜索到"..#data.."条数据") t = {} base = Search[1][2] if Shuzhiliang == "" and Shuzhiliang > 0 and Shuzhiliang < #data then Shuzhiliang=Shuzhiliang else Shuzhiliang=#data end for i=1, Shuzhiliang do for k, w in ipairs(Write) 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 item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Mingcg.."已修改"..#t.."条数据") gg.sleep(400) else gg.toast(Mingcg.."开启失败", false) return false end else gg.toast("搜索失败") 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"] 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 xqwh(qwh) gg.clearResults() gg.setRanges(qwh[1]["memory"]) gg.searchNumber(qwh[3]["value"], qwh[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qwh[2]["name"] .. "开启成功✘") else gg.refineNumber(qwh[3]["value"], qwh[3]["type"]) gg.refineNumber(qwh[3]["value"], qwh[3]["type"]) gg.refineNumber(qwh[3]["value"], qwh[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qwh[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, #(qwh) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qwh[v]["offset"] pysz[1].flags = qwh[v]["type"] szpy = gg.getValues(pysz) pdpd = qwh[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(qwh[2]["name"] .. "开启成功") else gg.toast(qwh[2]["name"] .. "开启成功✘") end 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 local t = {} local base = search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else return false end else return false end end local app = {} function Assert(data) if data == nil or data == "" or data == "nil" then return false else return true end end function mearrass(memory, array) if Assert(memory) and Assert(array) then return true else return false end end function typetab(array, type) local datatype = {} for i = 1, #array do if Assert(array[i].type) then table.insert(datatype, i, array[i].type) else if Assert(type) then table.insert(datatype, i, type) else return false end end end return true, datatype end function app.memorysearch(memory, array, type) gg.setVisible(false) local rx = mearrass(memory, array) if rx then local rx, datatype = typetab(array, type) if rx then if Assert(array[1].hv) then gg.clearResults() gg.setRanges(memory) gg.searchNumber(array[1].lv .. "~" .. array[1].hv, datatype[1]) elsegg.clearResults() gg.setRanges(memory) gg.searchNumber(array[1].lv, datatype[1]) end if gg.getResultCount() == 0 then return false else local tab = {} local data = gg.getResults(gg.getResultCount()) gg.clearResults() for i = 1, #data do data[i].rx = true end for i = 2, #array do local t = {} local offset = array[i].offset for x = 1, #data do t[#t + 1] = {} t[#t].address = data[x].address + offset t[#t].flags = datatype[i] end local t = gg.getValues(t) for z = 1, #t do if Assert(array[i].hv) then if tonumber(t[z].value) < tonumber(array[i].lv) or tonumber(t[z].value) > tonumber(array[i].hv) then data[z].rx = false end else if tostring(t[z].value) ~= tostring(array[i].lv) then data[z].rx = false end end end end for i = 1, #data do if data[i].rx then tab[#tab + 1] = data[i].address end end if #tab > 0 then return true, tab else return false end end else print("type参数错误") gg.toast("type参数错误") os.exit() end else print("memory or array参数错误") gg.toast("memory or array参数错误") os.exit() end end function app.memoryread(addr, type) local t = {} t[1] = {} t[1].address = addr t[1].flags = type if #t > 0 then return true, gg.getValues(t)[1].value else return false end end function app.memorywrite(addr, type, value, freeze) local t = {} t[1] = {} t[1].address = addr t[1].flags = type t[1].value = value if #t > 0 then if Assert(freeze) then t[1].freeze = freeze return gg.addListItems(t) else return gg.setValues(t) end else return false 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 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 cj1() gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('-1,297,025,624,956,731,056;-1,245,234,022,980,777,456::',gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0,-1) gg.searchNumber('-1,245,234,022,980,777,456',gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0,-1) gg.getResults(99) gg.editAll('-1,245,234,026,973,757,440',gg.TYPE_QWORD) gg.toast("海岛沙漠") end function cj12() so=gg.getRangesList('libUE4.so')[1].start py=0X1952EA0 setvalue(so+py,16,9999) so=gg.getRangesList('libUE4.so')[1].start py=0X1953064 setvalue(so+py,16,9999) end function cj2() gg.setRanges(16384) local dataType = 4--持枪自瞄 local tb1 = {{-352321640,0},{-309327309,4},{-476053504,8},} local tb2 = {{-476053503,8}}SearchWrite(tb1, tb2, dataType) gg.setRanges(16384) local dataType = 4--开火自瞄 local tb1 = {{-285787648,0},{-286131696,8},{-290108736,12},} local tb2 = {{0,8}} SearchWrite(tb1, tb2, dataType) gg.setRanges(16384) local dataType = 4--开镜自瞄 local tb1 = {{-301258224,0},{167772309,-8},} local tb2 = {{0,0}}SearchWrite(tb1, tb2, dataType) gg.setRanges(16384) local dataType = 16--磁性自瞄 local tb1 = {{64.50088500977,0},} local tb2 = {{0,0}}SearchWrite(tb1, tb2, dataType) gg.setRanges(16384) local dataType = 4--自瞄范围 local tb1 = {{-309478912,0},{-289924415,-4},} local tb2 = {{0,0},{0,-4},}SearchWrite(tb1, tb2, dataType) gg.setRanges(16384) local dataType = 4--锁头自瞄 local tb1 = {{1324382787,0},{-305325242,-4},} local tb2 = {{0,0}}SearchWrite(tb1, tb2, dataType) gg.setRanges(16384) local dataType = 4--加载频率 local tb1 = {{-308925904,0},{-308471291,4},{2046820354,44},} local tb2 = {{2046820353,44}}SearchWrite(tb1, tb2, dataType) gg.setRanges(16384) local dataType = 16--超强圈圈 local tb1 = {{5.533321713993693E-21,0},{2.6253290925755273E-27,52},} local tb2 = {{0,52}}SearchWrite(tb1, tb2, dataType) gg.setRanges(16384) local dataType = 16--自瞄加强 local tb1 = {{2015175168.0,0},} local tb2 = {{0,0},}SearchWrite(tb1, tb2, dataType) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("2015175168", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.getResults(10) gg.editAll("0",gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("0.0001;1478828288::", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("0.0001", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(50) gg.editAll("180", gg.TYPE_FLOAT) gg.toast("圈圈") qmnb = { {["memory"] = NaiCi_11}, {["name"] = "内存自瞄"}, {["value"] = 3.5, ["type"] = NaiCi_24}, {["lv"] = 2.20000004768, ["offset"] = -44, ["type"] = NaiCi_24}, {["lv"] = 0.5, ["offset"] = 20, ["type"] = NaiCi_24}, {["lv"] = 0.10000000149, ["offset"] = 24, ["type"] = NaiCi_24}, {["lv"] = 0.5, ["offset"] = 28, ["type"] = NaiCi_24}, {["lv"] = 0.80000001192, ["offset"] = 32, ["type"] = NaiCi_24}, {["lv"] = 0.80000001192, ["offset"] = 36, ["type"] = NaiCi_24}, {["lv"] = 200, ["offset"] = 52, ["type"] = NaiCi_24}, {["lv"] = 20, ["offset"] = 56, ["type"] = NaiCi_24}, {["lv"] = 100, ["offset"] = 60, ["type"] = NaiCi_24}, } qmxg = { {["value"] = 99999, ["offset"] = 4, ["type"] = NaiCi_24}, {["value"] = 99999, ["offset"] = 8, ["type"] = NaiCi_24}, {["value"] = 99999, ["offset"] = 12, ["type"] = NaiCi_24}, {["value"] = 99999, ["offset"] = 16, ["type"] = NaiCi_24}, } local tb1 = {{ ("360"), ("-12")}, { ("0.0001"), ("0")}, { ("1478828288"), ("84")}, } local tb2 = {{ ("99999"), ("0")}, } local dataType = 16 SearchWrite(tb1,tb2, dataType) local dataType = 16 local tb1 = {{3.5, 3296},{1, 3300},{1, 3304},{1, 3308},{1, 3312},{0.5, 3316},{0.5, 3324},{200, 3348},{20, 3352},{20, 3364}} local tb2 = {{999999999, 3296},{999999999, 3300},{999999999, 3304},{999999999, 3308},{999999999, 3312},{999999999, 3316},{999999999, 3324},{999999999, 3348},{999999999, 3352},{999999999, 3364}} SearchWrite(tb1, tb2, dataType) local dataType = 16 local tb1 = {{-5.4561862e27, 0}, {-3.6893502e20, -8}, {-5.9075698e21, -4}, } local tb2 = {{0, 0}, } SearchWrite(tb1, tb2, dataType) local tb1 = {{ ("360"), ("-12")}, { ("0.0001"), ("0")}, { ("14788282:88"), ("84")}, } local tb2 = {{ ("99999"), ("0")}, } local dataType = 16 SearchWrite(tb1,tb2, dataType) local dataType = 16 local tb1 = {{3.5, 3296},{1, 3300},{1, 3304},{1, 3308},{1, 3312},{0.5, 3316},{0.5, 3324},{200, 3348},{20, 3352},{20, 3364}} local tb2 = {{999999999, 3296},{999999999, 3300},{999999999, 3304},{999999999, 3308},{999999999, 3312},{999999999, 3316},{999999999, 3324},{999999999, 3348},{999999999, 3352},{999999999, 3364}} SearchWrite(tb1, tb2, dataType) Name="距离" local dataType = 32 local tb1 = {{-2044634016379303408, 0}, } local tb2 = {{-1292522027172757503, -12}, } SearchWrite(tb1, tb2, dataType) Name="趴锁" local dataType = 32 local tb1 = {{-1905867063313810928, 0}, } local tb2 = {{-1324327739884306431, -12}, } SearchWrite(tb1, tb2, dataType) qmnb = { {["memory"] = NaiCi_11}, {["name"] = "全屏自瞄"}, {["value"] = 3.5, ["type"] = NaiCi_24}, {["lv"] = 2.20000004768, ["offset"] = -44, ["type"] = NaiCi_24}, {["lv"] = 0.5, ["offset"] = 20, ["type"] = NaiCi_24}, {["lv"] = 0.10000000149, ["offset"] = 24, ["type"] = NaiCi_24}, {["lv"] = 0.5, ["offset"] = 28, ["type"] = NaiCi_24}, {["lv"] = 0.80000001192, ["offset"] = 32, ["type"] = NaiCi_24}, {["lv"] = 0.80000001192, ["offset"] = 36, ["type"] = NaiCi_24}, {["lv"] = 200, ["offset"] = 52, ["type"] = NaiCi_24}, {["lv"] = 20, ["offset"] = 56, ["type"] = NaiCi_24}, {["lv"] = 100, ["offset"] = 60, ["type"] = NaiCi_24}, } qmxg = { {["value"] = 99999, ["offset"] = 4, ["type"] = NaiCi_24}, {["value"] = 99999, ["offset"] = 8, ["type"] = NaiCi_24}, {["value"] = 99999, ["offset"] = 12, ["type"] = NaiCi_24}, {["value"] = 99999, ["offset"] = 16, ["type"] = NaiCi_24}, } gg.alert("开启成功") end function cj3() Name = "无后" local Nc = 16392 local Lx = 16 local Sz1 = {{-1.1368873507541788E-13, 0},{-2.78698202667584E28, -8}} local Sz2 = {{0, -8}} YL(Nc, Lx, Sz1, Sz2) Name = "防抖" local Nc = 16392 local Lx = 4 local Sz1 = {{-308340221, 0},{514853441, 8},{-300938736, 12}} local Sz2 = {{0, 12}} YL(Nc, Lx, Sz1, Sz2) Name = "聚点" local Nc = 16392 local Lx = 4 local Sz1 = {{-308311547, 0},{-300938736, 16}} local Sz2 = {{1120403456, 16}} YL(Nc, Lx, Sz1, Sz2) end function cj4() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("1106509824;1103626240", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("1106509824", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(100) gg.editAll("157", gg.TYPE_DWORD) gg["toast"]("伤害无衰减") end function cj11() so=gg.getRangesList('libUE4.so')[1].start py=0xE59A5C setvalue(so+py,16,-2.7859696e28) so=gg.getRangesList('libUE4.so')[1].start py=0xE59A5C setvalue(so+py,16,-2.7859696e28) end function cj5() MIAONEI=gg.prompt({'请输入广角大小'},{[1]='230'},{[1]='number'}) if MIAONEI == nil or MIAONEI[1] == '' or MIAONEI[1] == '0' then gg.toast("取消") else mnnb({{-5.10803094e27,0,16},{360.0,24,16},},{{MIAONEI[1],24,16},},16384,"超广角",true) end end function cj8() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("28992425112437505", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("28992425112437505", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("0", gg.TYPE_QWORD) gg.toast("天空黑色") end function F1() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("4138667321167981973", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("4138667321167981973", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("4138667321167981973", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) sfsss1 = gg.getResults(1401) gg.editAll("4848124999984742400", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("-4767057191653227520", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("-4767057191653227520", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("-4767057191653227520", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) sfsss2 = gg.getResults(1401) gg.editAll("-4767057191527907328", gg.TYPE_QWORD) gg.clearResults() gg.toast("\n🕹️站立路飞🕹️\n📥修改"..gg.getResultCount().."数据📥") end function F2() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("0.37999999523F;1.0F:6", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("0.37999999523", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(55) gg.editAll("-9", gg.TYPE_FLOAT) gg.toast("秒开倍镜已开启") end function F3() gg.clearResults() gg.setRanges(16384) gg.searchNumber('0.2~0.3;53;30;1::',16) gg.refineNumber('0.2~0.3;1',16) gg.getResults(1000) gg.editAll('10',16) gg.toast('开启成功') gg.clearResults() end function F4() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("12,884,902,402", gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(5) gg.editAll("-1", gg.TYPE_QWORD) gg.toast("16连射") end function F5() gg.clearResults() gg.setRanges(32) gg.searchNumber("-980", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(99999) gg.editAll("-800", gg.TYPE_FLOAT) qmnb = { {["memory"] = 8 | 16384}, {["name"] = "跳跃"}, {["value"] = -1327371999739700736, ["type"] = 32}, {["lv"] = -301987312, ["offset"] = -4, ["type"] = 4}, {["lv"] = -309052878, ["offset"] = 4, ["type"] = 4}, {["lv"] = -293533184, ["offset"] = 8, ["type"] = 4}, } qmxg = { {["value"] = -289990143, ["offset"] = 0, ["type"] = 4}, } xqmnb(qmnb) end function F6() so=gg.getRangesList('libUE4.so')[1].start py=0x29FDD2C setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0x2A068FC setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0x2A068FC setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0x29FDD28 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x29FDD38 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x29FDD24 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x29FDDC8 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x29FDD08 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x29FDD10 setvalue(so+py,16,0) end function fly1() local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x134} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = -0.003}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x13C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0}}) end function fly7() local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x134} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.01}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x13C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0}}) end function fly2() local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x134} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x13C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0}}) end function B1() gg.alert("三头一人") gg.setRanges(gg.REGION_C_ALLOC) gg.setVisible(false) gg.searchNumber("70368744177664;288233678981562368", gg.TYPE_QWORD) gg.refineNumber("70368744177664", gg.TYPE_QWORD) gg.getResults(50000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.setVisible(false) gg.searchNumber("578351706144768;564058054983680", gg.TYPE_QWORD) gg.refineNumber("578351706144768", gg.TYPE_QWORD) gg.getResults(50000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.setVisible(false) gg.searchNumber("582749752655872;620137442967552", gg.TYPE_QWORD) gg.refineNumber("582749752655872", gg.TYPE_QWORD) gg.getResults(50000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.setVisible(false) gg.searchNumber("620137442967552;579451217772544", gg.TYPE_QWORD) gg.refineNumber("620137442967552", gg.TYPE_QWORD) gg.getResults(50000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.setVisible(false) gg.searchNumber("566257078239232;573957954600960", gg.TYPE_QWORD) gg.refineNumber("566257078239232", gg.TYPE_QWORD) gg.getResults(50000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setVisible(false) gg.searchNumber("573953659633664;582749752655872", gg.TYPE_QWORD) gg.refineNumber("573953659633664", gg.TYPE_QWORD) gg.getResults(50000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setVisible(false) gg.searchNumber("572854148005888;620137442967552", gg.TYPE_QWORD) gg.refineNumber("572854148005888;", gg.TYPE_QWORD) gg.getResults(50000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setVisible(false) gg.searchNumber("565157566611456;566257078239232", gg.TYPE_QWORD) gg.refineNumber("565157566611456", gg.TYPE_QWORD) gg.getResults(50000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setVisible(false) gg.searchNumber("562954248388607;578351706144768", gg.TYPE_QWORD) gg.refineNumber("562954248388607", gg.TYPE_QWORD) gg.getResults(50000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.setVisible(false) gg.searchNumber("4398046511104;544434349408256", gg.TYPE_QWORD) gg.refineNumber("4398046511104", gg.TYPE_QWORD) gg.getResults(50000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setVisible(false) gg.searchNumber("577252194516992;288233678981562368", gg.TYPE_QWORD) gg.refineNumber("577252194516992", gg.TYPE_QWORD) gg.getResults(50000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("2.24207754e-44;2.66246708e-44", gg.TYPE_FLOAT) gg.refineNumber("2.24207754e-44", gg.TYPE_FLOAT) gg.getResults(99999) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("134658;131330;67109633;67109377", gg.TYPE_DWORD) gg.refineNumber("134658", gg.TYPE_DWORD) gg.getResults(100000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.clearResults() gg.searchNumber("133635;131330;67109633;67109377", gg.TYPE_DWORD) gg.refineNumber("133635", gg.TYPE_DWORD) gg.getResults(100000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.clearResults() gg.searchNumber("135682;131330;67109633;67109377", gg.TYPE_DWORD) gg.refineNumber("135682", gg.TYPE_DWORD) gg.getResults(100000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.clearResults() gg.searchNumber("131842;131330;67109633;67109377", gg.TYPE_DWORD) gg.refineNumber("131842", gg.TYPE_DWORD) gg.getResults(100000) gg.editAll("67109633", gg.TYPE_DWORD) gg.clearResults() gg.getRangesList("libtersafe.so") gg.setValues({ [1] = { address = 172931491840, flags = 4, value = 131842 } }) gg.getRangesList("libtersafe.so") gg.setValues({ [1] = { address = 25465687971904, flags = 4, value = 131842 } }) gg.getRangesList("libtersafe.so") gg.setValues({ [1] = { address = 2843676720, flags = 4, value = 131842 } }) gg.getRangesList("libtersafe.so") gg.setValues({ [1] = { address = 172929541920, flags = 4, value = 131842 } }) gg.getRangesList("libtersafe.so") gg.setValues({ [1] = { address = 2843676956, flags = 4, value = 131842 } }) gg.clearList() gg.alert("Cc.") end function B2() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-3.77830899e28;-3.74440972e28;-3.71834013e28;-1.7334334e28", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-3.77830899e28", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(999999, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_FLOAT) gg.clearResults() gg.toast("真伤") gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("90775703430176;0;8;15;16;18;28", gg.TYPE_FLOAT) gg.searchNumber("28", gg.TYPE_FLOAT) gg.getResults(10) gg.editAll("100000",gg.TYPE_FLOAT) gg.editAll("100000",gg.TYPE_FLOAT) gg.toast("增伤") gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("90000", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("90000", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("880000", gg.TYPE_FLOAT) gg.clearResults() gg.toast("M16伤害") end function B3() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("9.201618;30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("265", gg.TYPE_FLOAT) end function B4() gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-1,883,348,481,058,764,210", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("-1,883,348,481,058,764,210", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("-1,883,348,485,055,444,540", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_C_DATA | gg.REGION_CODE_APP) gg.searchNumber("-298284466;-1.304566e23F", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("-298284466", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(99) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.toast("自用射速") end function B5() gg.clearResults() gg.setRanges(32)--头部范围 local dataType = 16 local search = {{-88.73961639404,0},{18,4},{90.48510742188,4},} local modify = {{180.0,4},} SearchWrite(search,modify,dataType) end function B6() gg.clearResults() gg.setRanges(32)--头部伤害 local dataType = 16 local search = {{9.20161819458,0},{25.0,28},{30.5,32},} local modify = {{180.0,24},{180.0,28},{180.0,32},} SearchWrite(search,modify,dataType) end function B7() gg.clearResults() gg.setRanges(32)--范围加伤 local dataType = 16 local search = {{0.00009203507,0},{30.5,24},} local modify = {{240.0,20},{240.0,24},} SearchWrite(search,modify,dataType) end function C1() readWrite({{false,-1359975840,0,4,nil,nil}},{{-1228926273201366,-12,32,false}},4,16384,"修复移动减伤") gg.clearResults() lwhjz( {gg.getRangesList('libUE4.so')[3].start}, { {997.216097,16,0x2607AD8}, }) WH({{false,268464131,0,4,nil,nil},{290914307,4,4}},{{0,24,16,false}},4,16384,"加速") WH({{false,-637534134,0,4,nil,nil},{-309061114,-12,4}},{{0,-16,16,false}},4,16384,"加速") WH({{false,150994944,0,4,nil,nil},{58,-4,4},{58,-8,4},{89,40,4},{1084227584,68,4}},{{90.0,16,16,false},{90.0,20,16,false}},4,32,"人物") WH({{false,-998965248,0,4,nil,nil},{1101004800,232,4}},{{0.055,236,16,false}},4,32,"加速") WH({{false,-309327247,0,4,nil,nil},{-308340220,4,4}},{{0.285,-4,16,false}},4,16384,"加速") WH({{false,1198153728,0,4,nil,nil},{1,20,4},{1,24,4}},{{1.01,100,16,false}},4,32,"加速") WH({{false,-1088801054,0,4,nil,nil}},{{9,-8,16,false}},4,16384,"全局") WH({{false,-1359975840,0,4,nil,nil}},{{-1228926273201366,-12,32,false}},4,16384,"加速") WH({{false,1139785728,0,4,nil,nil},{1065353216,-12,4},{1065353216,-8,4},{1065353216,-4,4}},{{1100.0,-12,16,false},{1100.0,-8,16,false},{1100.0,-4,16,false}},4,32,"翻倍") YuQin({{1198153728,0,4},{1,20,4},{2,140,4},},{{0.8,100,16},},32,"下坡",true) end function C2() gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("0.0001;0::16", 16,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("0", 16,false,gg.SIGN_EQUAL,0, -1) gg.getResults(200) gg.editAll("5.6",16) gg.clearResults() gg.toast("减速") Name = "开启" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744149883614555, 0}} local Sz2 = {{-1296744153870237696, 0}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "开启" local Nc = 32 local Lx = 32 local Sz1 = {{4525216907414147695, 0}} local Sz2 = {{4525216907475015434, 0}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "开启" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408728725571, 0}} local Sz2 = {{-1328550408576460390, 0}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "开启" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744149883614555, 0}} local Sz2 = {{-1296744153870237696, 0}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "开启" local Nc = 16392 local Lx = 32 local Sz1 = {{-1505254313802431360, 0}} local Sz2 = {{-1505254313804169216, 0}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "开启" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408728725571, 0}} local Sz2 = {{-1328550408581493555, 0}} HaoGe(Nc, Lx, Sz1, Sz2) end function fs1() gg.clearResults() gg.setRanges(8) gg.searchNumber("842084353", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", 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 = 99999999}}) end gg.toast("😖😖😖😖😖😱😱😱😡😡") gg.clearResults() end function C3() function AnmolDk(Nc,Type,Search,Write) gg.clearResults() gg.setRanges(Nc) 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("\n found"..#data.."data\n Start offset") 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.sleep(400) gg.toast("\n"..Name.."KILLERDK\n KILLERDK"..#t.."data") else gg.toast("\n"..Name.."KILLERDK") return false end else gg.toast("\n"..Name.."KILLERDK") return false end end Name = "Cc.x3" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744149883614555, 0}} local Sz2 = {{-1296744153870237696, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "Cc.x3" local Nc = 16392 local Lx = 32 local Sz1 = {{-1505254313802431360, 0}} local Sz2 = {{-1505254313804169216, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "Cc.x3" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408728725571, 0}} local Sz2 = {{-1328550408581493555, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "Cc x3" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744149883614555, 0}} local Sz2 = {{-1296744153870237696, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "Cc.x3" local Nc = 16392 local Lx = 32 local Sz1 = {{-1505254313802431360, 0}} local Sz2 = {{-1505254313804431360, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "Cc.x3" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408728725571, 0}} local Sz2 = {{-1328550408577467023, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "Cc.x3" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744149883614555, 0}} local Sz2 = {{-1296744153870237696, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "Cc.x3" local Nc = 32 local Lx = 32 local Sz1 = {{4525216907414147695, 0}} local Sz2 = {{4525216907475015434, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "Cc.x3" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408728725571, 0}} local Sz2 = {{-1328550408576460390, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) gg.toast("x3 ") gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("0.0001;0::16", 16,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("0", 16,false,gg.SIGN_EQUAL,0, -1) gg.getResults(200) gg.editAll("5.6",16) gg.clearResults() gg.toast("slowmostion ") gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("4,895,342,427,272,904,704", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("4,895,342,427,383,806,976", gg.TYPE_QWORD) gg.clearResults() Name = "特效❤️" local Nc = 32 local Lx = 16 local Sz1 = {{10.0, 0},{46.0, 4}} local Sz2 = {{99999, 0}} HaoGe(Nc, Lx, Sz1, Sz2) gg.toast("Cc.yybs") end function C4() readWrite({{false,-1359975840,0,4,nil,nil}},{{-1228926273201366,-12,32,false}},4,16384,"修复移动减伤") gg.clearResults() lwhjz( {gg.getRangesList('libUE4.so')[3].start}, { {997.216097,16,0x2607AD8}, }) local t = {"libUE4.so", "Cd"} local tt = {0x5C2A20, 0x78, 0x68, 0x3C8} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.75}}) so=gg.getRangesList('libUE4.so')[1].start Name = "开启" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744149883614555, 0}} local Sz2 = {{-1296744153870237696, 0}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "开启" local Nc = 32 local Lx = 32 local Sz1 = {{4525216907414147695, 0}} local Sz2 = {{4525216907475015434, 0}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "开启" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408728725571, 0}} local Sz2 = {{-1328550408576460390, 0}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "开启" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744149883614555, 0}} local Sz2 = {{-1296744153870237696, 0}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "开启" local Nc = 16392 local Lx = 32 local Sz1 = {{-1505254313802431360, 0}} local Sz2 = {{-1505254313804169216, 0}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "开启" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408728725571, 0}} local Sz2 = {{-1328550408581493555, 0}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "开启" local Nc = 32 local Lx = 16 local Sz1 = {{10.0, 0},{46.0, 4}} local Sz2 = {{99999, 0}} HaoGe(Nc, Lx, Sz1, Sz2) py1=0X26FCA44--加速 py2=0X270878C--加速 py3=0X2C33524--加速 py4=0XCB8B40 py6=0X27086D4 py7=0X2708784 py8=0X2739E34 py9=0X2739E58 py10=0X29FDCA8 py11=0X29FDCD8 py12=0X29FDCE4 py13=0X29FDD14 py14=0X29FDD70 py15=0X29FDDC8 py16=0X2D082A0 py17=0X2D082A0 py18=0X2D082A4 py19=0X2D082AC py20=0X2D082B0 py21=0X2D082B4 py22=0X2D082BC py23=0X2D082C0 py24=0X2D082C4 py25=0X2D082CC py26=0X2D082D0 py27=0X2D082D4 py28=0X2D082DC py29=0X2D082EC py30=0X2D082F4 py31=0X2D082FC py32=0X2D08304 py33=0X2D08308 py34=0X2D0830C py35=0X2D08310 py36=0X2D08314 py37=0X2D08364 py38=0X2708324 py39=0X2708328 py40=0X270832C py41=0X2D08278 py42=0X2D08284 py43=0X2D08288 py44=0X2D0828C py45=0X2D08290 py46=0X2D08294 py47=0X2D08298 py48=0X2D0829C py49=0XCB8AFC local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2D8, 0x1558} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 70}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x138} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 75}}) so=gg.getRangesList('libUE4.so')[1].start py=0X267C928 setvalue(so+py,16,100) local t = {"libUE4.so:bss", "Cb"} local tt = {0x2494A0, 0xB4, 0xD90, 0x19F4} local ttt = S_Pointer(t, tt) end function C5() local t = {"libUE4.so", "Cd"} local tt = {0x5C2A20, 0x78, 0x68, 0x3C8} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.39}}) so=gg.getRangesList('libUE4.so')[1].start py1=0X26FCA44--加速 py2=0X270878C--加速 py3=0X2C33524--加速 py4=0XCB8B40 py6=0X27086D4 py7=0X2708784 py8=0X2739E34 py9=0X2739E58 py10=0X29FDCA8 py11=0X29FDCD8 py12=0X29FDCE4 py13=0X29FDD14 py14=0X29FDD70 py15=0X29FDDC8 py16=0X2D082A0 py17=0X2D082A0 py18=0X2D082A4 py19=0X2D082AC py20=0X2D082B0 py21=0X2D082B4 py22=0X2D082BC py23=0X2D082C0 py24=0X2D082C4 py25=0X2D082CC py26=0X2D082D0 py27=0X2D082D4 py28=0X2D082DC py29=0X2D082EC py30=0X2D082F4 py31=0X2D082FC py32=0X2D08304 py33=0X2D08308 py34=0X2D0830C py35=0X2D08310 py36=0X2D08314 py37=0X2D08364 py38=0X2708324 py39=0X2708328 py40=0X270832C py41=0X2D08278 py42=0X2D08284 py43=0X2D08288 py44=0X2D0828C py45=0X2D08290 py46=0X2D08294 py47=0X2D08298 py48=0X2D0829C py49=0XCB8AFC setvalue(so+py1,16,0.218) setvalue(so+py2,16,0) setvalue(so+py4,16,-3.8369228e21) setvalue(so+py6,16,0) setvalue(so+py7,16,0) setvalue(so+py8,16,0) setvalue(so+py9,16,0) setvalue(so+py10,16,0) setvalue(so+py11,16,0) setvalue(so+py12,16,0) setvalue(so+py13,16,0) setvalue(so+py14,16,0) setvalue(so+py15,16,0) setvalue(so+py16,16,0) setvalue(so+py17,16,0) setvalue(so+py18,16,0) setvalue(so+py19,16,0) setvalue(so+py20,16,0) setvalue(so+py21,16,0) setvalue(so+py22,16,0) setvalue(so+py23,16,0) setvalue(so+py24,16,0) setvalue(so+py25,16,0) setvalue(so+py26,16,0) setvalue(so+py27,16,0) setvalue(so+py28,16,0) setvalue(so+py29,16,0) setvalue(so+py30,16,0) setvalue(so+py31,16,0) setvalue(so+py32,16,0) setvalue(so+py33,16,0) setvalue(so+py34,16,0) setvalue(so+py35,16,0) setvalue(so+py36,16,0) setvalue(so+py37,16,0) setvalue(so+py38,16,0) setvalue(so+py39,16,0) setvalue(so+py40,16,0) setvalue(so+py41,16,0) setvalue(so+py42,16,0) setvalue(so+py43,16,0) setvalue(so+py44,16,0) setvalue(so+py45,16,0) setvalue(so+py46,16,0) setvalue(so+py47,16,0) setvalue(so+py48,16,0) setvalue(so+py49,16,-3.836923e21) py=0X2C33524 setvalue(so+py,16,9.5) end function C6() local t = {"libUE4.so", "Cd"} local tt = {0x5C2A20, 0x78, 0x68, 0x3C8} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.39}}) so=gg.getRangesList('libUE4.so')[1].start py1=0X26FCA44--加速 py2=0X270878C--加速 py3=0X2C33524--加速 py4=0XCB8B40 py6=0X27086D4 py7=0X2708784 py8=0X2739E34 py9=0X2739E58 py10=0X29FDCA8 py11=0X29FDCD8 py12=0X29FDCE4 py13=0X29FDD14 py14=0X29FDD70 py15=0X29FDDC8 py16=0X2D082A0 py17=0X2D082A0 py18=0X2D082A4 py19=0X2D082AC py20=0X2D082B0 py21=0X2D082B4 py22=0X2D082BC py23=0X2D082C0 py24=0X2D082C4 py25=0X2D082CC py26=0X2D082D0 py27=0X2D082D4 py28=0X2D082DC py29=0X2D082EC py30=0X2D082F4 py31=0X2D082FC py32=0X2D08304 py33=0X2D08308 py34=0X2D0830C py35=0X2D08310 py36=0X2D08314 py37=0X2D08364 py38=0X2708324 py39=0X2708328 py40=0X270832C py41=0X2D08278 py42=0X2D08284 py43=0X2D08288 py44=0X2D0828C py45=0X2D08290 py46=0X2D08294 py47=0X2D08298 py48=0X2D0829C py49=0XCB8AFC setvalue(so+py1,16,0.2941) setvalue(so+py2,16,0) setvalue(so+py3,16,8.9) setvalue(so+py4,16,-3.8369228e21) setvalue(so+py6,16,0) setvalue(so+py7,16,0) setvalue(so+py8,16,0) setvalue(so+py9,16,0) setvalue(so+py10,16,0) setvalue(so+py11,16,0) setvalue(so+py12,16,0) setvalue(so+py13,16,0) setvalue(so+py14,16,0) setvalue(so+py15,16,0) setvalue(so+py16,16,0) setvalue(so+py17,16,0) setvalue(so+py18,16,0) setvalue(so+py19,16,0) setvalue(so+py20,16,0) setvalue(so+py21,16,0) setvalue(so+py22,16,0) setvalue(so+py23,16,0) setvalue(so+py24,16,0) setvalue(so+py25,16,0) setvalue(so+py26,16,0) setvalue(so+py27,16,0) setvalue(so+py28,16,0) setvalue(so+py29,16,0) setvalue(so+py30,16,0) setvalue(so+py31,16,0) setvalue(so+py32,16,0) setvalue(so+py33,16,0) setvalue(so+py34,16,0) setvalue(so+py35,16,0) setvalue(so+py36,16,0) setvalue(so+py37,16,0) setvalue(so+py38,16,0) setvalue(so+py39,16,0) setvalue(so+py40,16,0) setvalue(so+py41,16,0) setvalue(so+py42,16,0) setvalue(so+py43,16,0) setvalue(so+py44,16,0) setvalue(so+py46,16,0) setvalue(so+py47,16,0) setvalue(so+py48,16,0) setvalue(so+py49,16,-3.836923e21) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2D8, 0x1558} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 70}}) end function C7() HuaZhiYu({{false,268464131,0,4,nil,nil},{290914307,4,4}},{{-6.15262313e27,24,16,false}},4,16384,"关闭") HuaZhiYu({{false,-637534134,0,4,nil,nil},{-309061114,-12,4}},{{-5.10801854e27,-16,16,false}},4,16384,"关闭") HuaZhiYu({{false,-998965248,0,4,nil,nil},{1101004800,232,4}},{{0.0005,236,16,false}},4,32,"关闭") HuaZhiYu({{false,-309327247,0,4,nil,nil},{-308340220,4,4}},{{9.99999997e-7,-4,16,false}},4,16384,"关闭") HuaZhiYu({{false,1198153728,0,4,nil,nil},{1,20,4},{1,24,4}},{{1.0,100,16,false}},4,32,"关闭") HuaZhiYu({{false,-1088801054,0,4,nil,nil}},{{10.90734863281,-8,16,false}},4,16384,"关闭") HuaZhiYu({{false,-1359975840,0,4,nil,nil}},{{-1228926276669014016,-12,32,false}},4,16384,"关闭") mnnb({{-1296744149264269342,0,32}},{{-1296744149883614555,0,32}},16384,"关闭",true) mnnb({{4525216907473673257,0,32}},{{4525216907414147695,0,32}},32,"关闭",true) mnnb({{-1328550408576460390,0,32}},{{-1328550408728725571,0,32}},16384,"关闭",true) mnnb({{-1228926273126264269,0,32}},{{-1228926273201366461,0,32}},16384,"关闭",true) local t = {"libUE4.so", "Cd"} local tt = {0x5C2A20, 0x78, 0x68, 0x3C8} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1}}) so=gg.getRangesList('libUE4.so')[1].start py1=0X26FCA44--加速 py2=0X270878C--加速 py3=0X2C33524--加速 py30=0XCB8A54--加速 setvalue(so+py1,16,9.99999997e-7) setvalue(so+py2,16,-1.86389771e-20) setvalue(so+py3,16,10.90734863281) setvalue(so+py30,16,-9.9065615e27) local tt = {0x5C2A20, 0x78, 0x68, 0x3C8} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1}}) so=gg.getRangesList('libUE4.so')[1].start py1=0X26FCA44--加速 py2=0X270878C--加速 py3=0X2C33524--加速 setvalue(so+py1,16,9.99999997e-7) setvalue(so+py2,16,-1.86389771e-20) setvalue(so+py3,16,10.90734863281) end function C8() function XiYan(Search, Write,Neicun,Mingcg,Shuzhiliang) gg.clearResults() gg.setRanges(Neicun) gg.setVisible(false) gg.searchNumber(Search[1][1], Search[1][3]) 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 = Search[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(Mingcg.."搜索到"..#data.."条数据") local t = {} local base = Search[1][2] if Shuzhiliang == "" and Shuzhiliang > 0 and Shuzhiliang < #data then Shuzhiliang=Shuzhiliang else Shuzhiliang=#data end for i=1, Shuzhiliang do for k, w in ipairs(Write) 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(Mingcg.."已修改"..#t.."条数据") gg.addListItems(t) else gg.toast(Mingcg.."开启失败", false) return false end else gg.toast("搜索失败") return false end end XiYan({{2500000000.0,0,16},{88.0,28,16},{60.0,32,16},},{{70,28,16},},32,"防拉",true) gg.toast("站立浮空开启成功") end function C15() cs = "无敌" YF({{10.90734863281,0,16}}, {{9.5,0,16}},16384,'开枪防拉',true) end function C9() gg.clearResults() gg.setRanges(32) gg.searchNumber("1024",16) resultCounts=gg.getResultsCount() results=gg.getResults(resultCounts) for i=1,resultCounts do values={} values[1]={} values[1].address=results[i].address-4 values[1].flags=16 values=gg.getValues(values) if values[1].value==5000.0 then values={} values[1]={} values[1].address=results[i].address-8 values[1].flags=16 values=gg.getValues(values) if values[1].value==3000.0 then values={} values[1]={} values[1].address=results[i].address-12 values[1].flags=16 values=gg.getValues(values) if values[1].value==0.5 then setvalues={} setvalues[1]={} setvalues[1].address=results[i].address setvalues[1].flags=16 setvalues[1].value=-200000 setvalues[2]={} setvalues[2].address=results[i].address-4 setvalues[2].flags=16 setvalues[2].value=-200000 setvalues[3]={} setvalues[3].address=results[i].address-8 setvalues[3].flags=16 setvalues[3].value=-200000 setvalues[4]={} setvalues[4].address=results[i].address-12 setvalues[4].flags=16 setvalues[4].value=-200000 gg.setValues(setvalues) gg.toast("秒落地") end end end end end function C10() fxs({{false,5,0,16,nil,nil},{8.1275311e-44,-76,16},{8.1275311e-44,-72,16},{1.2471556e-43,-28,16},{1.2471556e-43,-24,16}},{{130,-52,16,false},{130,-48,16,false}},16,32,"爆频",true) fxs({{false,-5.7342929e27,0,16,nil,nil},{-9.9065615e27,60,16,}},{{-9.9065426e27,60,16,false}},16,16384,"翻倍",true) qmnb = { {["memory"] = 32}, {["name"] = "核心提速"}, {["value"] = 100800, ["type"] = 4}, {["lv"] = 4, ["offset"] = -12, ["type"] = 4}, {["lv"] = 4, ["offset"] = -16, ["type"] = 4}, {["lv"] = 1053609165, ["offset"] = -56, ["type"] = 4}, {["lv"] = 1101004800, ["offset"] = -64, ["type"] = 4}, } end function C11() local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA2A8, 0x20, 0x2CC, 0x14F0} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 999}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EFDEC, 0x82C, 0x6E0} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 500, freeze = true}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EFDEC, 0x82C, 0x6E4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 500, freeze = true}}) end function C15() so=gg.getRangesList('libUE4.so')[1].start py30=0XCB8A54 setvalue(so+py30,16,-9.9065426e27) end function C12() local t = {"libUE4.so:bss", "Cb"} local tt = {0x2494A0, 0xB4, 0xD90, 0x19F4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.8}}) end function C13() local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x138} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 75}}) end function C14() local t = {"libUE4.so", "Cd"} local tt = {0x1EA3A8, 0x20, 0x320, 0x19F4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.13}}) end --音乐布局 local function newyyLayout(name, id) if not isString(name) then return end local layout = { CheckBox, layout_width = 'match_parent', text = name, onClick = function() gg.toast('开始播放['..name..']') gg.playMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3") end } return layout end string.toMusic('欢迎使用小伟内置防闪在大厅功能') local floatingWindowManager = require('floatingWindowManager') floatingWindowManager:init() local function getASyncThreadCallbak(func) -- 异步线程回调 return function() luajava.startThread(function() return pcall(func) end) end end -- 应用在101行 local task local function getSyncThreadCallbak(func) -- 同步线程回调, 涉及gg类库的回调只能使用这种,否则可能不稳定 return function() if task then gg.toast('正在运行其它任务,再稍后!') return end luajava.startThread(function() task=true pcall(func) task=nil end) end end local floatingWindowManager = require('floatingWindowManager') floatingWindowManager:init() floatingWindowManager:newWindow(('0.24内置'):format(floatingWindowManager.version), { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_margin = '4dp', layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background = ".jpg", layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '0dp', { Button, text = '选择进程', onClick = function() gg.setProcessX() end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '2dp', text = '大厅', textSize = '16sp', onClick = function(View) floatingWindowManager:start('大厅') -- 打开 按钮功能 的窗口, 前提是 newWindow 创建好了的 end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '2dp', text = '局内功能', textSize = '16sp', onClick = function(View) floatingWindowManager:start('局内') end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '2dp', text = '定点', textSize = '16sp', onClick = function(View) floatingWindowManager:start('飞') end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '2dp', text = '伤害', textSize = '16sp', onClick = function(View) floatingWindowManager:start('伤害') end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '2dp', text = '音乐', textSize = '16sp', onClick = function(View) floatingWindowManager:start('音乐') end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '2dp', text = '加速', textSize = '16sp', onClick = function(View) floatingWindowManager:start('加速功能') end }, } }) end, onDestroy = function() -- gg.alert('欢迎下次使用!') end }) floatingWindowManager:newWindow('大厅', { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background="", layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '0dp', { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '防闪', textSize = '16sp', onClick = fs1 }, { Switch, layout_width = 'match_parent', text = '内存一套', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程3' if state then gg.alert('内存一套') local thread1 = luajava.startThread(cj3) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '伤害增加', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程4' if state then gg.alert('伤害增加') local thread1 = luajava.startThread(cj4) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '杀猪子弹', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程11' if state then gg.alert('杀猪子弹') local thread1 = luajava.startThread(cj11) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '沙漠地图', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程1' if state then gg.alert('沙漠地图') local thread1 = luajava.startThread(cj1) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '黑色天空', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程8' if state then gg.alert('黑色天空') local thread1 = luajava.startThread(cj8) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '改延迟', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程7' if state then gg.alert('改延迟') local thread1 = luajava.startThread(cj7) floatingWindow:setCache(cacheName, thread1) end end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '自改广角', textSize = '16sp', onClick = cj5 }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '开火自瞄', textSize = '16sp', onClick = cj12 }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '圈圈自瞄', textSize = '16sp', onClick = cj2 } } }) end }) floatingWindowManager:newWindow('局内', { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background="", layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '4dp', { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '4dp', text = '战力路飞', textSize = '16sp', onClick = F1 }, { Switch, layout_width = 'match_parent', text = '秒开镜', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程2' if state then gg.alert('秒开镜') local thread1 = luajava.startThread(F2) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '地震抖屏', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程3' if state then gg.alert('地震抖屏') local thread1 = luajava.startThread(F3) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '16自动', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程4' if state then gg.alert('16自动') local thread1 = luajava.startThread(F4) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '跳远', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程5' if state then gg.alert('跳远') local thread1 = luajava.startThread(F5) floatingWindow:setCache(cacheName, thread1) end end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '0dp', text = '五颜六色血雾', textSize = '16sp', onClick = F6 } } }) end }) floatingWindowManager:newWindow('飞', { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_height = 'match_parent', layout_gravity="center"; orientation = 'horizontal', padding = '0dp', { Button, layout_margin = '0dp', text = '上升', onClick = fly1 }, { Button, layout_margin = '0dp', text = '下降', onClick = fly7 }, { Button, layout_margin = '0dp', text = '定住', onClick = fly2 } } }) end }) floatingWindowManager:newWindow('伤害', { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background="", layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '10dp', { Switch, layout_width = 'match_parent', text = '自用伤害', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程1' if state then gg.alert('伤害') local thread1 = luajava.startThread(B1) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '16加强', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程2' if state then gg.alert('开启') local thread1 = luajava.startThread(B2) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '16爆伤', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程3' if state then gg.alert('开启') local thread1 = luajava.startThread(B3) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '射速', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程4' if state then gg.alert('开启') local thread1 = luajava.startThread(B4) floatingWindow:setCache(cacheName, thread1) end end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '头部范围', textSize = '16sp', onClick = B5 }, { Switch, layout_width = 'match_parent', text = '头部伤害', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程6' if state then gg.alert('开启') local thread1 = luajava.startThread(B6) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '范围加伤', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程7' if state then gg.alert('开启') local thread1 = luajava.startThread(B7) floatingWindow:setCache(cacheName, thread1) end end }, } }) end }) floatingWindowManager:newWindow('音乐', { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background=".jpg", layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '0dp', newyyLayout('苦咖啡', '2025588153'), newyyLayout('若把你', '2008921547'), newyyLayout('我知道', '1876498532'), newyyLayout('布布布', '2017844374'), newyyLayout('爱人错过', '1368754688'), newyyLayout('一代天骄', '2000798461'), newyyLayout('他说别哭', '1963660383'), newyyLayout('分手了', '2017958997'), newyyLayout('我知道你', '1999580732'), newyyLayout('做不到承诺别说', '2018853500'), newyyLayout('大雨还在下', '1886218396'), newyyLayout('还是分开', '465921195'), newyyLayout('心做', '2005190306'), newyyLayout('优美旋律', '2026503187'), newyyLayout('豆花之阳', '2013745631'), newyyLayout('勇气大爆发', '2035206679'), } }) end }) floatingWindowManager:newWindow('加速功能', { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background="", layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '10dp', { Switch, layout_width = 'match_parent', text = '丝滑加速v1', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程1' if state then gg.alert('加速开启') local thread1 = luajava.startThread(C1) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '丝滑加速v2', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程2' if state then gg.alert('加速开启') local thread1 = luajava.startThread(C2) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '丝滑加速v3', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程3' if state then gg.alert('加速开启') local thread1 = luajava.startThread(C3) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '丝滑加速v4', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程4' if state then gg.alert('加速开启') local thread1 = luajava.startThread(C4) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '原射速人物加速', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程5' if state then gg.alert('加速开启') local thread1 = luajava.startThread(C5) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '有射速人物加速', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程6' if state then gg.alert('加速开启') local thread1 = luajava.startThread(C6) floatingWindow:setCache(cacheName, thread1) end end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '关闭移速', textSize = '16sp', onClick = C7 }, { Switch, layout_width = 'match_parent', text = '站立浮空', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程8' if state then gg.alert('站立浮空') local thread1 = luajava.startThread(C8) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '开枪防拉', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程15' if state then gg.alert('开枪防拉') local thread1 = luajava.startThread(C15) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '快速落地', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程9' if state then gg.alert('秒落地开') local thread1 = luajava.startThread(C9) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '翻倍v1', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程10' if state then gg.alert('翻倍') local thread1 = luajava.startThread(C10) floatingWindow:setCache(cacheName, thread1) end end },{ Switch, layout_width = 'match_parent', text = '翻倍v2', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程11' if state then gg.alert('翻倍') local thread1 = luajava.startThread(C11) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '翻倍v3', onCheckedChange = function(CompoundButton, state) if state then C15() else so=gg.getRangesList('libUE4.so')[1].start py=0XCB8A54 setvalue(so+py,16,-9.9065615e27) end end }, { Switch, layout_width = 'match_parent', text = '上下坡防拉v1', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程12' if state then gg.alert('上下坡防拉') local thread1 = luajava.startThread(C12) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '上下坡防拉v2', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程13' if state then gg.alert('上下坡防拉') local thread1 = luajava.startThread(C13) floatingWindow:setCache(cacheName, thread1) end end }, { Switch, layout_width = 'match_parent', text = '上下坡防拉v3', onCheckedChange = function(CompoundButton, state) local cacheName = '多线程14' if state then gg.alert('上下坡防拉') local thread1 = luajava.startThread(C14) floatingWindow:setCache(cacheName, thread1) end end }, } }) end }) gg.alert('0.24内置') draw.text('', 0,410) local function interruptThread(thread) if thread then pcall(function() thread:interrupt() end) end end draw.text(' 代理:北坤 ', 150,150)draw.setColor('#FF69B4') draw.setColor('#FF69B4') draw.text(' 0.24内置 ', 200,200)draw.setColor('#FF69B4') draw.setColor('#FF69B4') -- 运行悬浮窗 floatingWindowManager:run()