state={} state.a="[开启]" state.b="[开启]" state.c="[开启]" state.d="[开启]" function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("搜索到"..#data.."条数据") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else gg.toast("not found", false) return false end else gg.toast("Not Found") return false end end function Fxs(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 local L0_0 L0_0 = 0 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.."开启成功,共修改"..#t.."条数据") else gg.toast(Name.."副特征码错误or脸丑\n或者是已经开启过了") return false end else gg.toast(Name.."主特征码错误or脸丑\n或者是已经开启过了") return false end end function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find (szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len (szFullString)) break end nSplitArray[nSplitIndex] = string.sub (szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len (szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end end end function edit(orig,ret)_om=orig[1].memory or orig[1][1]_ov=orig[3].value or orig[3][1]_on=orig[2].name or orig[2][1]gg.clearResults()gg.setRanges(_om)gg.searchNumber(_ov,orig[3].type or orig[3][2])sz=gg.getResultCount()if sz<1 then gg.toast(_on.."开启失败")else sl=gg.getResults(720)for i=1,sz do ist=true for v=4,#orig do if ist==true and sl[i].value==_ov then cd={{}}cd[1].address=sl[i].address+(orig[v].offset or orig[v][2])cd[1].flags=orig[v].type or orig[v][3]szpy=gg.getValues(cd)cdlv=orig[v].lv or orig[v][1]cdv=szpy[1].value if cdlv==cdv then pdjg=true ist=true else pdjg=false ist=false end end end if pdjg==true then szpy=sl[i].address for x=1,#(ret)do xgpy=szpy+(ret[x].offset or ret[x][2])xglx=ret[x].type or ret[x][3]xgsz=ret[x].value or ret[x][1]xgdj=ret[x].freeze or ret[x][4]xgsj={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xgsj[1].freeze=xgdj gg.addListItems(xgsj)else gg.setValues(xgsj)end end xgjg=true end end if xgjg==true then gg.toast(_on.."开启成功")else gg.toast(_on.."开启失败")end end end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("搜索到"..#data.."条数据") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast("已修改"..#t.."条数据") gg.addListItems(t) else gg.toast("not found", false) return false end else gg.toast("Not Found") return false end end function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end end end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("✨开启成功✨"..#data.."") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else gg.toast("", false) return false end else gg.toast("") 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 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 Fxs(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 sj = (os.date("%Y年%m月%d日%H时%M分%S秒")) if gg.getTargetPackage()=="com.tencent.iglite" and "com.tencent.iglitece" and "com.tencent.tmgp.pubgmhd" then QW="8" else QW="16384" end function kd(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 "\nKD GAMER"..tg_.."KD GAMER" or "" th=(th_) and "" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast("\n"..Name..tg) tg_,th_=nil,nil else gg.toast("KD GAMER",false) return false end else gg.toast("KD GAMER") 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 kd(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 KD GAMER"..#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.."KD GAMER\n KD GAMER"..#t.."data") else gg.toast("\n"..Name.."KD GAMER") return false end else gg.toast("\n"..Name.."KD GAMER") 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 _G["gg"]["searchAddress"](Search[1][1],0xFFFFFFFF,Search[1][4] or Type,_G["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,_G["gg"]["SIGN_EQUAL"],Search[1][5] or 1,Search[1][6] or -1) local count=gg["getResultCount"]() local result=gg["getResults"](count) gg["clearResults"]() local data={} local base=Search[1][3] if (count > 0) then for i,v in ipairs(result) do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2] - base local num=Search[k][1] for i,v in ipairs(result) do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=Search[k][3] or Type end tmp=gg["getValues"](tmp) for i,v in ipairs(tmp) do if v.flags==16 or v.flags==64 then values=tostring(v.value):sub(1,6) num=tostring(num):sub(1,6) else values=v.value end if tostring(values)~=tostring(num) then result[i].isUseful=false end end end for i,v in ipairs(result) do if (v.isUseful) then data[#data+1]=v.address end end if (#data > 0) then local t,t_={},{} local base=Search[1][3] for i=1,#data do for k,w in ipairs(Get) do offset=w[2] - base if w[1]==false then t_[#t_+1]={} t_[#t_].address=data[i]+offset t_[#t_].flags=Type th_=(th_) and th_+1 or 1 else t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=w[3] or Type t[#t].value=w[1] tg_=(tg_) and tg_+1 or 1 if (w[4]==true) then local item={} item[#item+1]=t[#t] item[#item].freeze=w[4] gg["addListItems"](item) end end end end tg=(tg_) and "\n modify"..tg_.."data" or "" th=(th_) and "" or "" gg["setValues"](t) t_=gg["getValues"](t_) gg["loadResults"](t_) gg["toast"]("\n"..Name..tg) tg_,th_=nil,nil else gg["toast"]("KD GAMER",false) return false end else gg["toast"]("KD GAMER") return false end end function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find (szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len (szFullString)) break end nSplitArray[nSplitIndex] = string.sub (szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len (szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "KD GAMER") 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"] .. "KD GAMER") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "Successfully opened,Altogether modify" .. xgsl .. "Article data") else gg.toast(qmnb[2]["name"] .. "KD GAMER,KD GAMER") 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) gg.toast("KD GAMER,KD GAMER"..#t.."Article data") gg.addListItems(t) else gg.toast("KD GAMER,KD GAMER", false) return false end else gg.toast("KD GAMER") return false end end gg.setVisible(true) gg.setVisible(true) HOME = 1 function HOME() MN = gg.multiChoice({ "开", "关", " 开 ", "开", "开 ", "慢作", "开 ", "退", },nil," ╔════════════════════════════════╗\n 😈DAD 𝐎𝐅𝐅𝐈𝐂𝐈𝐀𝐋 𝐒𝐂𝐑𝐈𝐏𝐓😈\n╚════════════════════════════════╝") if MN == nil then else if MN[1] == true then A()end if MN[2] == true then B()end if MN[3] == true then C()end if MN[4] == true then D()end if MN[5] == true then E()end if MN[6] == true then F()end if MN[7] == true then G()end if MN[8] == true then EXIT()end end PUBGMH = -1 end function A() Name = "T H Ξ乛DΛD✓" gg.setRanges(QW) SearchWrite({ {2.4651629985720053E-32, 0}, {9.999999747378752E-5, -52}, {9.999999747378752E-5, -48}, {9.999999747378752E-5, -44}, {9.999999747378752E-5, -40} }, { {-100, -52}, {-100, -48}, {-100, -44}, {-100, -40} }, 16, Name) Name = "1" gg.setRanges(32) SearchWrite({ {6.1630904E-33, -4}, {-9.9839328E27, 4}, {-1.0070975E28, 16} }, { {0, 0} }, 16, Name) Name = "2" gg.setRanges(32) SearchWrite({ {-2.7860151E28, 0}, {-1.0530367E28, -12}, {-5.8454586E27, -8}, {-3.7444097E28, 4}, {-2.793752E28, 296} }, { {0, 0}, {0, 4}, {0, 296} }, 16, Name) Name = "3" gg.setRanges(32) SearchWrite({ {-980, -364}, {800000, -308}, {1.4125089E-40, 80} }, { {1.6, 0}, {1.6, 4}, {1.6, 8} }, 16, Name) Name = "T H Ξ乛DΛD✓" gg.setRanges(QW) local dataType = 16 local search = { {-1.839564474795097E26, 0}, {-3.7444097189855772E28, 328}, {-3.7181718523570815E19, 332}, {-5.90526394659627E21, 336}, {-2.7869827350308126E28, 340}, {-550024314880.0, 344}, {-3.7444097189855772E28, 348}, {-3.6893492545465614E19, 352}, } local modify = {{-3.6893488E19, 352},} SearchWrite(search,modify,dataType,Name) Name = "T H Ξ乛DΛD" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744149883614555, 0}} local Sz2 = {{-1296744153870237696, 0}} kd(Nc, Lx, Sz1, Sz2) Name = "T H Ξ乛DΛD" local Nc = 32 local Lx = 32 local Sz1 = {{4525216907414147695, 0}} local Sz2 = {{4525216907475015434, 0}} kd(Nc, Lx, Sz1, Sz2) Name = "T H Ξ乛DΛD" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408728725571, 0}} local Sz2 = {{-1328550408576460390, 0}} kd(Nc, Lx, Sz1, Sz2) Name = "T H Ξ乛DΛD" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744149883614555, 0}} local Sz2 = {{-1296744153870237696, 0}} kd(Nc, Lx, Sz1, Sz2) Name = "T H Ξ乛DΛD" local Nc = 16392 local Lx = 32 local Sz1 = {{-1505254313802431360, 0}} local Sz2 = {{-1505254313804169216, 0}} kd(Nc, Lx, Sz1, Sz2) Name = "T H Ξ乛DΛD" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408728725571, 0}} local Sz2 = {{-1328550408581493555, 0}} kd(Nc, Lx, Sz1, Sz2) gg.toast("😎FLASH ON😎") end function B() Name = "T H Ξ乛DΛD" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744153870237696, 0}} local Sz2 = {{-1296744149883614555, 0}} kd(Nc, Lx, Sz1, Sz2) Name = "T H Ξ乛DΛD" local Nc = 32 local Lx = 32 local Sz1 = {{4525216907475015434, 0}} local Sz2 = {{4525216907414147695, 0}} kd(Nc, Lx, Sz1, Sz2) Name = "T H Ξ乛DΛD" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408576460390, 0}} local Sz2 = {{-1328550408728725571, 0}} kd(Nc, Lx, Sz1, Sz2) Name = "T H Ξ乛DΛD" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744153870237696, 0}} local Sz2 = {{-1296744149883614555, 0}} kd(Nc, Lx, Sz1, Sz2) Name = "T H Ξ乛DΛD " local Nc = 16392 local Lx = 32 local Sz1 = {{-1505254313804169216, 0}} local Sz2 = {{-1505254313802431360, 0}} kd(Nc, Lx, Sz1, Sz2) Name = "T H Ξ乛DΛD" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408581493555, 0}} local Sz2 = {{-1328550408728725571, 0}} kd(Nc, Lx, Sz1, Sz2) gg.toast("😌Flash OFF😌") end function C() Name = "T H Ξ乛DΛD" 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.toast("𝐊𝐍𝐎𝐖 𝐒𝐏𝐄𝐄𝐃💓100%•••") end function d() Name = "T H Ξ乛DΛD" gg.clearResults() gg.setRanges("16384") gg.clearResults() gg.setVisible(false) gg.searchNumber(2.465163E-32, 16) gg.getResultsCount() gg.getResults(0) gg.clearResults() gg.toast("") gg.setRanges(32) gg.clearResults() gg.setVisible(false) gg.searchNumber(6.1630904E-33, 16) gg.getResultsCount() gg.getResults(0) gg.clearResults() gg.toast("") gg.setRanges(32) gg.clearResults() gg.setVisible(false) gg.searchNumber(-2.7860151E28, 16) gg.getResultsCount() gg.getResults(0) gg.clearResults() gg.toast("") gg.setRanges(32) gg.clearResults() gg.setVisible(false) gg.searchNumber(-980, 16) gg.getResultsCount() gg.getResults(0) gg.clearResults() gg.toast("") gg.setRanges("16384") gg.clearResults() gg.setVisible(false) gg.searchNumber(-1.8395645E26, 16) gg.getResultsCount() gg.getResults(0) gg.clearResults() gg.toast("") gg.clearResults() gg.setRanges("16384") gg.searchNumber("1.0587304e-22;1.0e-6:161", 16, false, 536870912, 0, -1) gg.getResults(10) gg.editAll("0;0.24", 16) gg.clearResults() gg.clearResults() gg.setRanges("16384") gg.searchNumber("-6.1526231e27;-1.0070975e28;::", 16, false, 536870912, 0, -1) gg.searchNumber("-6.15", 16, false, 536870912, 0, -1) gg.getResults(100) gg.editAll("0", 16) gg.clearResults() gg.setRanges("16384") gg.searchNumber("-6.1526231e27;-1.0070975e28;::", 16, false, 536870912, 0, -1) gg.searchNumber("-6.1526231e27", 16, false, 536870912, 0, -1) gg.getResults(10) gg.editAll("0", 16) gg.clearResults() gg.setRanges("16384") gg.searchNumber("-6.15264497e27", 16, false, 536870912, 0, -1) gg.getResults(50) gg.editAll("0", 16) gg.clearResults() gg.setRanges("16384") gg.searchNumber("-6.1526231e27", 16, false, 536870912, 0, -1) gg.getResults(50) gg.editAll("0", 16) gg.clearResults() gg.setRanges(8) gg.searchNumber("-1,287,719,427,143,988,736", 32, false, 536870912, 0, -1) gg.getResultsCount() gg.getResults(0) gg.getResultsCount() gg.clearResults() gg.setRanges(32) gg.searchNumber("20000;750;0.0001;0.0005 ", 16, false, 536870912, 0, -1) gg.searchNumber("0.0005", 16, false, 536870912, 0, -1) gg.getResults(100) gg.editAll("0.05", 16) gg.clearResults() gg.setRanges(8) gg.clearResults() end function E() 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("𝐒𝐋𝐎𝐖 𝐌𝐎𝐓𝐈𝐎𝐍") end function F() Name = "T H Ξ乛DΛD" qmnb = { {["memory"] = 16384}, {["name"] = "Slow-motion"}, {["value"] = -1585267064848315880, ["type"] = 32}, {["lv"] = -1245515772902506496, ["offset"] = 4, ["type"] = 32}, {["lv"] = -2269812005025087472, ["offset"] = -132, ["type"] = 32}, } qmxg = { {["value"] = 42, ["offset"] = 0, ["type"] = 4}, } xqmnb(qmnb) qmnb = { {["memory"] = 16384}, {["name"] = "Player Speed"}, {["value"] = -1328550408728725571, ["type"] = 32}, {["lv"] = -1324311156955805071, ["offset"] = 4, ["type"] = 32}, } qmxg = { {["value"] = 0.3, ["offset"] = 0, ["type"] = 16}, } xqmnb(qmnb) qmnb = { {["memory"] = 32}, {["name"] = "Moment_Speed "}, {["value"] = 1144750080, ["type"] = 32}, {["lv"] = 4728779609692288791, ["offset"] = 56, ["type"] = 32}, {["lv"] = 4525216907414147695, ["offset"] = 64, ["type"] = 32}, {["lv"] = 1053609165, ["offset"] = 68, ["type"] = 32}, } qmxg = { {["value"] = 0.1, ["offset"] = 64, ["type"] = 16}, } xqmnb(qmnb) end function G() Name = "T H Ξ乛DΛD" qmnb = { {["memory"] = 16384}, {["name"] = "𝐅𝐈𝐗 𝐒𝐓𝐔𝐂𝐊"}, {["value"] = -1296744149883614555, ["type"] = 32}, {["lv"] = -1245656510323684848, ["offset"] = 4, ["type"] = 32}, } qmxg = { {["value"] = 0, ["offset"] = 0, ["type"] = 16}, {["value"] = 0, ["offset"] = 4, ["type"] = 16}, {["value"] = 0, ["offset"] = 12, ["type"] = 16}, {["value"] = 0, ["offset"] = 20, ["type"] = 16}, {["value"] = 0, ["offset"] = 24, ["type"] = 16}, {["value"] = 0, ["offset"] = 28, ["type"] = 16}, {["value"] = 0, ["offset"] = 32, ["type"] = 16}, {["value"] = 0, ["offset"] = 44, ["type"] = 16}, {["value"] = 0, ["offset"] = 48, ["type"] = 16}, {["value"] = 0, ["offset"] = 52, ["type"] = 16}, {["value"] = 0, ["offset"] = 468, ["type"] = 16}, {["value"] = 0, ["offset"] = 496, ["type"] = 16}, {["value"] = 0, ["offset"] = 524, ["type"] = 16}, } xqmnb(qmnb) end function EXIT() print("╔════════════════════════════════╗\n DAD 𝐎𝐅𝐅𝐈𝐂𝐈𝐀𝐋 𝐒𝐂𝐑𝐈𝐏𝐓\n╚════════════════════════════════╝") gg.skipRestoreState() gg.setVisible(true) os.exit() end while true do if gg.isVisible(true) then PUBGMH = 1 gg.setVisible(false) end if PUBGMH == 1 then HOME() end end