do if type(getrlyunyz) ~= 'function' then gg.alert('请使用RLGG执行') os.exit() return end local info = { example_version = '1.0.3', name = '玉帝内部', appid = '13475', appkey = 'JkYhLRhpT4m955C4', rc4key = 'gD65MiD6g3iKKgsI', version = '1.0', mi_type = '3' } local rlyunyz = getrlyunyz(info) local ret = rlyunyz.start() if not ret or not isTable(ret) or ret.sign ~= '0bf3fc0b5361825b25dc45f2f9428e71' then os.exit() return end end gg.prevent(3) gg.ptrace(1)----旁路 toMusic('玉帝为您保驾护航')---语音 draw.text("玉帝多功能容器直装 Q群726802408",150,150) draw.text("玉帝正在为您保驾护航",20,210) function readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true]=32, [false]=4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address=addr, flags=va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end -- 修改内存地址的函数 function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr+v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2]+1] = value else Table1[1][#Table1[1]+1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) end function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] 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 yeqiu(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.."开启成功") return false end else gg.toast("\n"..Name.."开启成功") return false end end --xs写法配置 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(""..yeqiu.."修改成功,共修改"..#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(""..yeqiu.."搜索0条数据,修改失败", false) return false end else gg.toast(""..yeqiu.."搜索0条数据,修改失败") 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 readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true] = 32, [false] = 4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address = addr, flags = va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr + v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2] + 1] = value else Table1[1][#Table1[1] + 1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x167ba0fe) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function PS() end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] 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 readPointer = function(name, offset, i) local re=gg.getRangesList(name) local x64=gg.getTargetInfo().x64 local va={[true]=32,[false]=4} if re[i or 1] then local addr=re[i or 1].start+offset[1] for i = 2,#offset do addr = gg.getValues({{address=addr,flags=va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end gg.edits = function(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr+v[3], value = v[1], flags = v[2], freeze = v[4]}if v[4] then Table1[2][#Table1[2]+1] = value else Table1[1][#Table1[1]+1] = value end end gg.addListItems(Table1[2])gg.setValues(Table1[1]) gg.toast((name or "") .. "开启成功, 共修改"..#Table.."个值") end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("Not Found") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("获取成功" .. (#tb[1] + #tb[2]) .. "条结果") else gg.toast("Not Found") end end end function PS() 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 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 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 end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("Not Found") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("获取成功" .. (#tb[1] + #tb[2]) .. "条结果") else gg.toast("Not Found") end end end function PS() 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 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 WriteSignatures(original,TSS_SDK) gg.setRanges(70144) gg.searchNumber("h"..original) gg.getResults(9999) gg.editAll("h"..TSS_SDK,1) gg.clearResults() 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 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 readPointer = function(name, offset, i) local re=gg.getRangesList(name) local x64=gg.getTargetInfo().x64 local va={[true]=32,[false]=4} if re[i or 1] then local addr=re[i or 1].start+offset[1] for i = 2,#offset do addr = gg.getValues({{address=addr,flags=va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end gg.edits = function(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr+v[3], value = v[1], flags = v[2], freeze = v[4]}if v[4] then Table1[2][#Table1[2]+1] = value else Table1[1][#Table1[1]+1] = value end end gg.addListItems(Table1[2])gg.setValues(Table1[1]) gg.toast((name or "") .. "开启成功, 共修改"..#Table.."个值") end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("Not Found") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("获取成功" .. (#tb[1] + #tb[2]) .. "条结果") else gg.toast("Not Found") end end end function PS() 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 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 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 end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("Not Found") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("获取成功" .. (#tb[1] + #tb[2]) .. "条结果") else gg.toast("Not Found") end end end function PS() 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 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 WriteSignatures(original,TSS_SDK) gg.setRanges(70144) gg.searchNumber("h"..original) gg.getResults(9999) gg.editAll("h"..TSS_SDK,1) gg.clearResults() 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 setvalue(A0_146, A1_147, A2_148) PS("修改地址数值(地址,数值类型,要修改的值)") local tmp = {} tmp.address = A0_146 tmp.flags = A1_147 tmp.value = A2_148 gg.setValues({ [1] = tmp }) end local floatingWindowManager = require('floatingWindowManager') floatingWindowManager:init() -- 中断线程 local function interruptThread(thread) if thread then pcall(function() thread:interrupt() end) end end -- 获取异步线程回调 local function getASyncThreadCallbak(func) return function() luajava.startThread(function() return pcall(func) end) end end -- 获取同步线程回调, 涉及gg类库的回调只能使用这种,否则可能不稳定 local task local function getSyncThreadCallbak(func) return function() if task then gg.toast('正在运行其它任务,再稍后!') return end luajava.startThread(function() task = true pcall(func) task = nil end) end end -- 获取同步线程回调并执行 local function callSyncThreadCallbak(func) return getSyncThreadCallbak(func)() end -- 通过功能名称找 function 并获取同步线程回调 local function findFunctionByName(name) local func = _ENV[name] if not isFunction(func) then gg.alert(string.format('不存在 %q 功能', name)) return nil end return getSyncThreadCallbak(func) end -- 按钮工厂-生产“按钮布局” local function newSwitchLayout(name) if not isString(name) then return end local layout = { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = name, textSize = '16sp', onClick = findFunctionByName(name) } return layout end -- 开关工厂-生产“开关布局” local function newSwitchLayout(openName, closeName) if not isString(openName) then return end local layout = { Switch, layout_width = 'match_parent', text = openName, onCheckedChange = function(CompoundButton, state) local func if state then -- 设置开关文本为“关闭”的文本 if isString(closeName) then CompoundButton:setText(closeName) end -- 找“打开”的功能函数 func = findFunctionByName(openName) else -- 设置开关文本为“打开”的文本 CompoundButton:setText(openName) if isString(closeName) then -- 找“关闭”的功能函数 func = findFunctionByName(closeName) end end if isFunction(func) then -- 通过 findFunctionByName 获取的函数已经是被多线程包裹的,所以直接执行就可以了 func() end end } return layout end -- 定义功能函数 ---------和平防封区 _ENV['腾讯切屏(第一步)'] = function() toMusic("腾讯切屏开启成功") end _ENV['飞机上开(第二步)'] = function() toMusic("第二步开启成功") end _ENV['落地开(第三步)'] = function() toMusic("第三步开启成功") end _ENV['和平开防教程(不看必拉闸)'] = function() gg.alert[[ ]]--公告 toMusic("上面是第一套 下面是第二套") end _ENV['出生岛开(第二套防)'] = function() toMusic("第二套开启成功") end ----和平功能区 _ENV['基址美化'] = function() end _ENV['开启飞天'] = function() toMusic("飞天开启成功") end _ENV['关闭飞天'] = function() toMusic("关闭成功") end _ENV['特效增大'] = function() end _ENV['枪械变大'] = function() toMusic("枪械变大开启成功") end _ENV['后坐力变大'] = function() toMusic("后坐力变大开启成功") 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 readAdd(add) t=gg.getValues({[1]={address=add,flags=4}}) add=string.format("%X",t[1].value) if (#add)==16 then add=add:sub(9,16) end if (#add)==1 then add=add.."0000000" else add=string.format("%d","0x"..add) end return add end function getAdd(so,offset,off1) add=gg.getRangesList(so)[1].start add=readAdd(add+offset) return add end function addListltems(address,flags,value,freeze,toast) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) 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 WriteSignatures(original,TSS_SDK) gg.setRanges(16384) gg.searchNumber("h"..original) gg.getResults(9999) gg.editAll("h"..TSS_SDK,1) gg.clearResults() 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 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 end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end _ENV['LCD过检测'] = function() local t = {"libanogs.so:bss", "Cb"} local tt = {0x3B8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x780} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x7C0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x7F0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x818} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x868} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x898} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x8E0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x910} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x948} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x974} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x99C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x39AC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x3A78} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x3FB8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x3FE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4018} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4048} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4078} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x40B8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4110} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x41A0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x41E8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4588} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x10F8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1120} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1170} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x11A0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x11D0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1200} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1240} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1270} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1398} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1408} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1438} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1468} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1498} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x14C0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1908} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1938} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1968} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 70144, freeze = true}}) toMusic("腾讯界面第一步开启成功") end _ENV['大厅第二步(防禁网 开完之后等待一分钟 在开过搜检)'] = function() local t = {"libanogs.so:bss", "Cb"} local tt = {0x3B8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x780} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x7C0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x7F0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x818} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x868} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x898} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x8E0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x910} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x948} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x974} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x99C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x39AC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x3A78} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x3FB8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x3FE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4018} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4048} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4078} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x40B8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4110} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x41A0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x41E8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x4588} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x10F8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1120} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1170} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x11A0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x11D0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1200} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1240} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1270} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1398} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1408} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1438} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1468} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1498} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x14C0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1908} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1938} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1968} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1120}--屏蔽检测 local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 8.96831017e-44, freeze = true}}) toMusic("大厅第二步开启成功 开完之后等待一分钟 在开过搜检)") end _ENV['大厅第三步(过搜检)'] = function() local t = {"libanogs.so:bss", "Cb"} local tt = {0x940, 0x8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 256, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x940, 0xC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 259, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x940, 0x10} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = -16777216, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x940, 0x5D4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x940, 0x624} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x940, 0x5FC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) toMusic("开启成功 进入出生岛开启全局离线") end _ENV['上面三步是第一套------------------------下面是第二套'] = function() end _ENV['大厅一键开启(第二套 不要和第一套一起开)'] = function() local t = {"libanogs.so:bss", "Cb"} local tt = {0x940, 0x8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 256, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x940, 0xC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 259, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x940, 0x10} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = -16777216, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x940, 0x5D4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x940, 0x624} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x940, 0x5FC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) gg.clearResults() gg.setRanges(4) gg.setRanges(gg.POINTER_NO) gg.searchNumber("196,864;16,842,753::5",gg.POINTER_NO,false,gg.SIGN_FUZZY_EQUAL,0,-1) gg.searchNumber("196,864",gg.POINTER_NO) gg.getResults(50000) gg.editAll("83,9123,713",gg.POINTER_NO) function addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end mk=gg.getRangesList('libanogs.so')[1].start add=mk+0x5b182c addListltems(add,16,1.43492963e-41,true) add=mk+0x5b31ac addListltems(add,16,1.43492963e-41,true) add=mk+0x5afe18 addListltems(add,16,1.43492963e-41,true) add=mk+0x5af7d8 addListltems(add,16,1.43492963e-41,true) add=mk+0x5aeb38 addListltems(add,16,1.43492963e-41,true) add=mk+0x5ae47c addListltems(add,16,1.43492963e-41,true) add=mk+0x5ae48c addListltems(add,16,1.43492963e-41,true) add=mk+0x5a8e14 addListltems(add,16,1.43492963e-41,true) add=mk+0x5a8c40 addListltems(add,16,1.43492963e-41,true) add=mk+0x5a5bf4 addListltems(add,16,1.43492963e-41,true) add=mk+0x5a4ae0 addListltems(add,16,1.43492963e-41,true) add=mk+0x5a3fa8 addListltems(add,16,1.43492963e-41,true) add=mk+0x5a3f28 addListltems(add,16,1.43492963e-41,true) add=mk+0x5a3f00 addListltems(add,16,1.43492963e-41,true) add=mk+0x5a3b4c addListltems(add,16,1.43492963e-41,true) add=mk+0x5a3b1c addListltems(add,16,1.43492963e-41,true) add=mk+0x5a3b04 addListltems(add,16,1.43492963e-41,true) add=mk+0x5a3aec addListltems(add,16,1.43492963e-41,true) add=mk+0x5a1cdc addListltems(add,16,1.43492963e-41,true) add=mk+0x5a2ed0 addListltems(add,16,1.43492963e-41,true) add=mk+0x5a0c30 addListltems(add,16,1.43492963e-41,true) add=mk+0x5a0f7c addListltems(add,16,1.43492963e-41,true) add=mk+0x5a097c addListltems(add,16,1.43492963e-41,true) add=mk+0x4c14a4 addListltems(add,16,1.43492963e-41,true) add=mk+0x4c1478 addListltems(add,16,1.43492963e-41,true) so=gg.getRangesList('libINTLFoundation.so')[1].start py=0x224110 setvalue(so+py,4,10240) so=gg.getRangesList('libGCloudVoice.so')[1].start py=0x40F508 setvalue(so+py,4,10240) so=gg.getRangesList('libgcloud.so')[1].start py=0x5A1C2C setvalue(so+py,4,10240) py=0x5A2D00 setvalue(so+py,4,10240) py=0x5A5370 setvalue(so+py,4,10240) py=0x5A3E18 setvalue(so+py,4,10240) py=0x5A3E64 setvalue(so+py,4,10240) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1120}--屏蔽检测 local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 8.96831017e-44, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1200} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1270} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) toMusic("第二套正在开启中 请等待") gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('2,628,099;64',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('2,628,099',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) 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 = 0,}}) end gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('371,712;64',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('371,712',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) 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 = 0,}}) end gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('75,776;10240',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('75,776;10240',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(1080) jg=gg.getResults(1000) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 10241,}}) end gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('67,108,908',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) 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 = 0,}}) end gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('196,608;16384',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('196,608',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) 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 = 0,}}) end gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('196,611;16384',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('196,611',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) 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 = 0,}}) end gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('327,684;64',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('327,684',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) 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 = 0,}}) end gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('327,683;16384',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('327,683',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) 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 = 0,}}) end gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber('131,344',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(1000) jg=gg.getResults(1000) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 1,}}) end gg.clearResults() gg.setRanges(4) gg.searchNumber("263,506", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) local t = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for i, v in ipairs(t) do if v.flags == gg.TYPE_DWORD then v.value = "0" v.freeze = true end end gg.addListItems(t) t = nil gg.clearResults() gg.setRanges(4) gg.searchNumber("630,204,544", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) local t = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for i, v in ipairs(t) do if v.flags == gg.TYPE_DWORD then v.value = "0" v.freeze = true end end gg.addListItems(t) t = nil gg.clearResults() gg.setRanges(4) gg.searchNumber("630,204,448", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) local t = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for i, v in ipairs(t) do if v.flags == gg.TYPE_DWORD then v.value = "0" v.freeze = true end end gg.addListItems(t) t = nil gg.clearResults() gg.setRanges(4) gg.searchNumber("630,277,440", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) local t = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for i, v in ipairs(t) do if v.flags == gg.TYPE_DWORD then v.value = "0" v.freeze = true end end gg.addListItems(t) t = nil gg.clearResults() gg.setRanges(4) gg.searchNumber("630,335,584", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) local t = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for i, v in ipairs(t) do if v.flags == gg.TYPE_DWORD then v.value = "0" v.freeze = true end end gg.addListItems(t) t = nil gg.clearResults() gg.setRanges(4) gg.searchNumber("630,335,776", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) local t = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for i, v in ipairs(t) do if v.flags == gg.TYPE_DWORD then v.value = "0" v.freeze = true end end gg.addListItems(t) t = nil gg.clearResults() gg.setRanges(4) gg.searchNumber("7,012,459", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) local t = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for i, v in ipairs(t) do if v.flags == gg.TYPE_DWORD then v.value = "0" v.freeze = true end end gg.addListItems(t) t = nil gg.clearResults() gg.setRanges(4) gg.searchNumber("1,694,498,927", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) local t = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for i, v in ipairs(t) do if v.flags == gg.TYPE_DWORD then v.value = "0" v.freeze = true end end gg.addListItems(t) t = nil toMusic("第二套开启成功") end _ENV['开启全局离线'] = function() gg["setRanges"](gg.REGION_C_ALLOC | gg.REGION_OTHER) gg["searchNumber"](":lobby.igamecj.com") gg["getResults"](99700) gg["editAll"](":XXXXX.XXXXXXX.XXX", 1) gg["clearResults"]() so = gg["getRangesList"]("libgcloud.so")[1].start py = 253420 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start py = 253160 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start py = 253168 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start py = 253244 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start py = 253252 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start py = 254144 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start py = 254152 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start py = 254564 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start py = 254572 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start py = 253532 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start py = 253540 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start py = 254336 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start py = 254344 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start py = 256928 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start py = 256936 setvalue(so + py, 4, -516948194) so = gg["getRangesList"]("libgcloud.so")[1].start setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 31909, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 2902253, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 2946476, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 2946596, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 2973823, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 2982433, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 2991903, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 3002518, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 3007455, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 3050415, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 3321440, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 3341661, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 3346685, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 76553, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 76570, 4, 0) setvalue(gg["getRangesList"]("libgcloud.so")[1].start + 76644, 4, 0) gg["clearResults"]() gg["setVisible"](false) gg["setRanges"](gg.REGION_C_ALLOC | gg.REGION_OTHER) gg["searchNumber"]("29793", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg["getResults"](9999) gg["editAll"]("0", gg.TYPE_DWORD) gg["alert"]("开启成功") string.toMusic("全局离线开启成功") end _ENV['关闭全局离线'] = function() gg["clearResults"]() gg["setRanges"](gg.REGION_C_ALLOC | gg.REGION_OTHER) gg["searchNumber"](":XXXXX.XXXXXXX.XXX") gg["getResults"](99700) gg["editAll"](":lobby.igamecj.com", 1) gg["clearResults"]() so = gg["getRangesList"]("libgcloud.so")[1].start py = 3307156 setvalue(so + py, 4, -1671510) so = gg["getRangesList"]("libgcloud.so")[1].start py = 253420 setvalue(so + py, 4, -440599284) so = gg["getRangesList"]("libgcloud.so")[1].start py = 253160 setvalue(so + py, 4, -493894141) so = gg["getRangesList"]("libgcloud.so")[1].start py = 253168 setvalue(so + py, 4, -440599116) so = gg["getRangesList"]("libgcloud.so")[1].start py = 253244 setvalue(so + py, 4, -493894141) so = gg["getRangesList"]("libgcloud.so")[1].start py = 253252 setvalue(so + py, 4, -440599172) so = gg["getRangesList"]("libgcloud.so")[1].start py = 254144 setvalue(so + py, 4, -493894141) so = gg["getRangesList"]("libgcloud.so")[1].start py = 254152 setvalue(so + py, 4, -440599772) so = gg["getRangesList"]("libgcloud.so")[1].start py = 254564 setvalue(so + py, 4, -493894141) so = gg["getRangesList"]("libgcloud.so")[1].start py = 254572 setvalue(so + py, 4, -440600052) so = gg["getRangesList"]("libgcloud.so")[1].start py = 253532 setvalue(so + py, 4, -493894141) so = gg["getRangesList"]("libgcloud.so")[1].start py = 253540 setvalue(so + py, 4, -440599364) so = gg["getRangesList"]("libgcloud.so")[1].start py = 254336 setvalue(so + py, 4, -493894141) so = gg["getRangesList"]("libgcloud.so")[1].start py = 254344 setvalue(so + py, 4, -440599900) so = gg["getRangesList"]("libgcloud.so")[1].start py = 256928 setvalue(so + py, 4, -493894141) so = gg["getRangesList"]("libgcloud.so")[1].start py = 256936 setvalue(so + py, 4, -440601628) gg["clearResults"]() gg["alert"]("关闭成功") string.toMusic('全局离线关闭成功') end _ENV['防追封 不玩的时候执行'] = function() toMusic('防追封开启中请等待')---语音 gg.clearResults()---xa gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('269,496,352;33,687,044:9999',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(500) gg.editAll('-1',gg.TYPE_DWORD) gg.clearResults() gg.toast(" 防追封") os.remove("src/main/java/com/google/errorprone/annotations") os.remove("src/main/java/com/google/errorprone/annotations") os.remove("src/main/java/com/google/errorprone/annotations/concurrent") os.remove("third_party.java_src.error_prone.project.annotations.Google_internal") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/cache") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/cache/GCloud.ini") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/GameErrorNoRecords") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/tbslog") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/ca-bundle.pem") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/cacheFile.txt") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/login-identifier.txt") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/vmpcloudconfig.json") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/ProgramBinaryCache") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Paks/puffer_temp") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Paks/puffer_res.eifs") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Paks/1375135419_47_0.13.0.11098_20190617165748_1981158817_cures.ifs.res") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Logs") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/UpdateInfo") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/RoleInfo") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Pandora") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/PufferTmpDir") os.remove("/data/data/com.tencent.ig/app_appcache") os.remove("/data/data/com.tencent.ig/app_bugly") os.remove("/data/data/com.tencent.ig/app_crashrecord") os.remove("/data/data/com.tencent.ig/cache") os.remove("/data/data/com.tencent.ig/code_cache") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/cache") os.remove("/storage/emulated/0/tencent") os.remove("/storage/emulated/0/MidasOverse") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/tbslog") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/login-identifier.txt") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/cacheFile.txt") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/vmpcloudconfig.json") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Logs") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/GameErrorNoRecords") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Config/Android/AntiCheat.ini") os.remove("/storage/emulated/0/Android/data/com.tencent.ig/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Config/Android/IGH5CachePluginConfig.ini") os.remove("/storage/emulated/0/Android/data/com.rekoo.pubgm/cache") os.remove("/storage/emulated/0/tencent") os.remove("/storage/emulated/0/MidasOverse") os.remove("/storage/emulated/0/Android/data/com.rekoo.pubgm/files/tbslog") os.remove("/storage/emulated/0/Android/data/com.rekoo.pubgm/files/login-identifier.txt") os.remove("/storage/emulated/0/Android/data/com.rekoo.pubgm/files/cacheFile.txt") os.remove("/storage/emulated/0/Android/data/com.rekoo.pubgm/files/vmpcloudconfig.json") os.remove("/storage/emulated/0/Android/data/com.rekoo.pubgm/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Logs") os.remove("/storage/emulated/0/Android/data/com.rekoo.pubgm/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/GameErrorNoRecords") os.remove("/storage/emulated/0/Android/data/com.rekoo.pubgm/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Config/Android/AntiCheat.ini") os.remove("/storage/emulated/0/Android/data/com.rekoo.pubgm/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Config/Android/IGH5CachePluginConfig.ini") os.remove("/storage/emulated/0/Android/data/com.vng.pubgmobile/cache") os.remove("/storage/emulated/0/tencent") os.remove("/storage/emulated/0/MidasOverse") os.remove("/storage/emulated/0/Android/data/com.vng.pubgmobile/files/tbslog") os.remove("/storage/emulated/0/Android/data/com.vng.pubgmobile/files/login-identifier.txt") os.remove("/storage/emulated/0/Android/data/com.vng.pubgmobile/files/cacheFile.txt") os.remove("/storage/emulated/0/Android/data/com.vng.pubgmobile/files/vmpcloudconfig.json") os.remove("/storage/emulated/0/Android/data/com.vng.pubgmobile/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Logs") os.remove("/storage/emulated/0/Android/data/com.vng.pubgmobile/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/GameErrorNoRecords") os.remove("/storage/emulated/0/Android/data/com.vng.pubgmobile/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Config/Android/AntiCheat.ini") os.remove("/storage/emulated/0/Android/data/com.vng.pubgmobile/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Config/Android/IGH5CachePluginConfig.ini") print(file.cpp(("eNrtmM9vE0cUx+/7V4yMJQOSdxO1gh7ioDQOkUsCVuLQC1I02RnbU+/ubGfWTtJSiaoC0jaUHECqChJCrQoHCogeShtQ/peKtcOJf6GztlH8M+tZTzZV1SjJ2rvvve+b2Zk3M58T/qtr/qPv9/fu7T/cbjx58ubltca9p/7ru/WX1xs7Nxq/7jb+2tvfe+0//1pjNkizIjAQ9KBhY0SgMWHMOIhRglo3TWrrHnZM7Hg6KRlFYmFurMx9OA9tbCyXIaLrBQbNCmZzGx6DA2/BGkbN/4ETNxahZ5blpU1olnGcGa+4Ih7OOUUap2q+WiyKO6TIJ45HdjJO2Sy2KY9TcIGWIus1R+B58VH3NryoQSxaIk6aIHGTFAlm48QyYXqt6iCRkIvtqEEK8/mZMRoT58ubpU6RxKq4QEplLytCxj8XC7abJSxOXQbXUcxNXVy8cDlOvSVqxV/RoYMoi7VbczYs4SxddywKUZzCMzURLtZBW4BrFg5maKzLiElrmIlfTqijE4fEqR04zDFG2UW6hE3KUKwtX950zAUxqoJZNM7aFUmbmZePp8+XPejN1USYJexS5mF03oI9C5FFTWgZnu0ap7sfVDlmIrGeXA6MuCeqQwkb2K5aYsOJjqwR4q6j1ygxcfzaLtmoku4tfGzagYOFvfiFmyedWREGs8tix0ePIQNaI5jnYSXYSmCzTEHi7Y8vWqe/+taO/90D4N+84f9y883e0/qdP3PZhFYhlgW6E9BM1B7LA7J73yjouqsmg7zMmkUJNJNuaybAdN/3HvvuOTP8AOjRqlkOtQoN1qseFlY6W4euronXUXVDQx9YmmWbIpBeAhMTE4c4tIYDFH5BtRFXXfx9oAvTSBGknDRuYeyCSc21AXG4B8VgSbO2l+ikHqfTxhrkWIduRTMt3LszGKTCy5BhtOoyXOSaXUGEjWrcasbZs2dHdQjNpdXi+ZW55UImMVpQA+GaKLCrBOkbtpV4r5FsBmmP/qlz4hFo7x4yqUl9IgVENIqIU8qkql4x/VEKiK51ELSogzOpTcxT4Ny0NmVDd1oD4meKe0xYA0cUhMyVBAu2mPaVxPSU0Xow0Kr9vsLMqlWChE1yaeZi9tJi+5IOuXZfDuJPGUHOwXxvd0Fopwf3gkHD/w0nbLmamwsqfTO4112oYhEc5/wfLdlx0EGe0RKD9sfEgWxztq+0jxWIuF5wKuAgnQOXVgr5lQJII2BatIr0mu3qYlJ9IWqVLuKB9Gdgae6TudlCl1fuYtOJhzrlL8xnetbDXDaTPFliokomxdN2e/gm97Dd3Aty0SyOPU/MD77KOWyVCnAVwPUKSJ9PJVIg9aUrpo8Hkme+Sp3SipQBIqotSJ7k+HMweeaUhijIZ5L55Mlgspawc7WMoSjhJpi86jGQSqdEgwMrB2sciwcEcCOZyxrJvFEaNaN2tfKvP27sfFO/f2t+wf/jRWP3dmur4D/drj+7++7Vdv23n/37j+vfPtp/uO3ffi4MC58m2tVeO6EcRjNcoVR3q2slO3Ya3aktg6PV5CzNo9XIygNp1bqTserKIGk1ihJMul8wCpTujzLGmjkoJXks3R9FYnEZ2J5YX6EUmVY0aiTRtMpZKcWm1QjLwWk1mhJ0Wo2gJJ5W9Eql+LQazSiAWo2yFKFWIymNqNXIRmTUasQjQ2pF+7tolFqReBRMrUhaDafuTEYOVKtpRkRSrUY8IqpWN29kWbWixW4cWK0oBXlarR3w6o4cBgDrzqdHSqz7D4kDAXDIWXKg3UjQ+jCHcIkQbD3Y9DCA3D8ypMH10BByXiOh6w6vEdl1p044vB5qPZReD/UIT6fV7CEAe1jc/wl2JILd2Z2yCPuIz+NHDbGVKo6FCyKmOxZqiAqyR4p0DCS7c6H8r6HsJp4+4NdbO+9ebb+9f+3tzVv+zrPG77uN3Qf+zg+NOw/qd7fA31s/tTn2PznGVb0"):base64("de"):unzip(), true)) toMusic("防追开启成功清理后台即可") end _ENV['开启无后'] = function() so=gg.getRangesList('libUE4.so')[1].start--无后座 py=0x4FB6D44 setvalue(so+py,16,8.8411673e-21) toMusic("无后已开启") end _ENV['开启防抖'] = function() so=gg.getRangesList('libUE4.so')[1].start py=0X5BC1C20 setvalue(so+py,4,1409287170) toMusic("防抖已开启") end _ENV['开启据点'] = function() so=gg.getRangesList('libUE4.so')[1].start py=0x4FB21E8--505,481,216 setvalue(so+py,4,505425152) toMusic("聚点已开启") end _ENV['开启瞬击'] = function() so=gg.getRangesList('libUE4.so')[1].start--瞬🐔 py=0x8237F60 setvalue(so+py,16,8.95671814e-21) toMusic("瞬击已开启") end _ENV['开启除雾'] = function() so=gg.getRangesList('libUE4.so')[1].start--除雾 py=0x72F6488 setvalue(so+py,16,8.95671814e-21) toMusic("除雾已开启") end _ENV['开启广角'] = function() local t = {"libUE4.so:bss", "Cb"}-----广角原值AF220 local tt = {0x35AF8, 0x38, 0x1940, 0x2CC} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 380}}) toMusic("广角已开启") end _ENV['关闭广角'] = function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x35AF8, 0x38, 0x1940, 0x2CC} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 220}}) toMusic("广角已关闭") end _ENV['开启美化'] = function() local UE4 = gg.getRangesList("libUE4.so") if not UE4 or #UE4 == 0 then os.exit() end local base_pointer = readPointer('libUE4.so', {0xBEA1400,0x30,0x24A0,0x62D0,0x390,0x0}, 1) local pointers = { [1] = {pointer = base_pointer + 0x3C, name = "脸部"}, [2] = {pointer = base_pointer + 0x74, name = "头发"}, [3] = {pointer = base_pointer + 0x11C, name = "衣服"}, [4] = {pointer = base_pointer + 0x154, name = "裤子"}, [5] = {pointer = base_pointer + 0x18C, name = "鞋子"}, [6] = {pointer = base_pointer + 0x1C4, name = "背包"}, [7] = {pointer = base_pointer + 0x1FC, name = "头盔"} } local config_path = gg.EXT_FILES_DIR:gsub("%lua$", "") .. "/PUBG配置.ini" local config_data = loadfile(config_path) local config = config_data and config_data() if not config or #config == 0 then config = {506004,406314,1400687,1499998,405000,1521558,1502003151} end local values = {} local names = {} for i, p in ipairs(pointers) do table.insert(names, p.name.."代码:") table.insert(values, config[i]) end table.insert(names, "是否修改背包和头盔") table.insert(values, config[8]) local options = gg.prompt(names, values, {"number", "number", "number", "number", "number", "number", "number", "checkbox"}) if options then gg.saveVariable(options, config_path) for i, p in ipairs(pointers) do if i==6 or i==7 or options[i]==""then else gg.edits(p.pointer-4, {{options[i], 4, 0}}, p.name) end end if options[8] then if options[6]==""then else gg.edits(pointers[6].pointer-4, {{options[6], 4, 0}}, pointers[6].name) end if options[7]==""then else gg.edits(pointers[7].pointer-4, {{options[7], 4, 0}}, pointers[7].name) end end end end _ENV['开启加速'] = function() local t = {"libUE4.so:bss", "Cb"}------时间变速 local tt = {0x3AC08, 0x0, 0x84} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 0.3}}) function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end so=gg.getRangesList('libUE4.so')[1].start py=0x81F67E8 setvalue(so+py,4,505453829) toMusic("加速已开启") end _ENV['关闭加速'] = function() local t = {"libUE4.so:bss", "Cb"}------时间变速 local tt = {0x3AC08, 0x0, 0x84} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 1}}) function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end so=gg.getRangesList("libUE4.so")[1].start py=0x81F67E8 setvalue(so+py,4,505453824) toMusic("加速已关闭") end _ENV['开启穿墙'] = function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x4E0820} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 999}}) toMusic("穿墙已开启") end _ENV['关闭穿墙'] = function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x4E0820} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 2}}) toMusic("穿墙已关闭") end _ENV['开启身体范围'] = function() so=gg.getRangesList('libUE4.so')[1].start--范围开 py=0x301829C setvalue(so+py,16,70) toMusic("身体范围已开启") end _ENV['关闭身体范围'] = function() so=gg.getRangesList('libUE4.so')[1].start--范围关 py=0x301829C setvalue(so+py,16,0.10000000149) toMusic("身体范围已关闭") end _ENV['开启射速'] = function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x3AC08, 0x0, 0xD80, 0x50, 0x7A8, 0x518} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 0.05}}) toMusic("射速已开启") end _ENV['关闭射速'] = function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x3AC08, 0x0, 0xD80, 0x50, 0x7A8, 0x518} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 0.1}}) toMusic("射速已关闭") end ------王者防 _ENV['登录界面第一步'] = function() local t = {"libtersafe.so:bss", "Cb"} local tt = {0xF30, 0xE0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libGameCore.so:bss", "Cb"} local tt = {0x171EE0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libGameCore.so:bss", "Cb"} local tt = {0x171EE4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libGameCore.so:bss", "Cb"} local tt = {0x171EE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libGameCore.so:bss", "Cb"} local tt = {0x171EF8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libGameCore.so:bss", "Cb"} local tt = {0x171EFC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x3BC0, 0x7C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) toMusic("登录界面已开启 记得查看手机安全模式有没有自动关闭") _ENV['大厅开启(第二步)'] = function() local t = {"libtersafe.so:bss", "Cb"} local tt = {0x4E8, 0xF0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x4E8, 0xE0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x4E8, 0x100} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x4E8, 0xE4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x4E8, 0xD4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x4E8, 0xF4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x4E8, 0xE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x4E8, 0xD8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x4E8, 0xF8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x4E8, 0xEC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x4E8, 0xDC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x19D8, 0x8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 256, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x19D8, 0xC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 257, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x19D8, 0x10} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = -16777216, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x19D8, 0x5FC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x19D8, 0x624} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xE70, 0x60} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xE70, 0x38} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xE70, 0x8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65538, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xE70, 0x10} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xE70, 0xB0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xE70, 0xD8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xE70, 0x100} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x928, 0xC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x1AF8, 0xC8, 0x10, 0xC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x1780} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x17B0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x17E0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x1918} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x19E0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x1A58} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x1B00} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x1AC8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 65536, freeze = true}}) toMusic('大厅防封加载完毕 连打即可') end end _ENV['大厅一键开启'] = function() local t = {"libtersafe.so:bss", "Cb"} local tt = {0x19D8,0x8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 131328, freeze = true}}) local t = {"libil2cpp.so:bss", "Cb"} local tt = {0xBA38,0x80,0x318} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 2, freeze = true}}) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("144387;134402", gg.TYPE_DWORD) gg.refineNumber("144387", gg.TYPE_DWORD) gg.getResults(50000) gg.editAll("132098", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("131330;134658", gg.TYPE_DWORD) gg.refineNumber("134658", gg.TYPE_DWORD) gg.getResults(50000) gg.editAll("132098", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("131331;135170", gg.TYPE_DWORD) gg.refineNumber("135170", gg.TYPE_DWORD) gg.getResults(50000) gg.editAll("132098", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("133378;134914", gg.TYPE_DWORD) gg.refineNumber("133378", gg.TYPE_DWORD) gg.getResults(50000) gg.editAll("132098", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("196864;16842753::5", gg.TYPE_DWORD) gg.refineNumber("196864", gg.TYPE_DWORD) gg.getResults(50000) gg.editAll("132098", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("1,600,017,167;408,438,045;2,069,126,740;540,421,153;16,777,216;318,767,104;492,789,331;1,448,756,573;824,186,689;842,411,312;4,007,462;65,536;1,394,147,328;16384", gg.TYPE_DWORD) gg.searchNumber("65536;16384", gg.TYPE_DWORD) gg.getResults(500000) gg.editAll("4451", gg.TYPE_DWORD) toMusic('防封开启完毕,祝您稳定奔放游戏愉快 ')---语音 end ----选择进程 function C3() toMusic('玩什么游戏就选择什么游戏进程') gg.setProcessX() end string.toMusic('欢迎 使用 玉帝 为您 保架 护航') floatingWindowManager:newWindow(("玉帝V1"):format(floatingWindowManager.version), { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_margin = '10dp', layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '16dp', { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '👉选择游戏进程👈', textSize = '16sp', onClick = getSyncThreadCallbak(C3) }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '💎和平防封区💎', textSize = '16sp', onClick = function() floatingWindowManager:start('💎和平防封区💎') toMusic("和平防封区") end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '💎和平功能区💎', textSize = '16sp', onClick = function() floatingWindowManager:start('💎和平功能区💎') toMusic("和平功能区") end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '💎国际服防封区💎', textSize = '16sp', onClick = function() floatingWindowManager:start('💎国际服防封区💎') toMusic("国际服防封区") gg.alert[[进入大厅之后先开过检测再开防封即可]] end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '💎国际服功能区💎', textSize = '16sp', onClick = function() floatingWindowManager:start('💎国际服功能区💎') toMusic("国际服功能区") gg.alert[[关闭功能只需要在点一下功能就能关闭]] end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '💎王者防封区💎', textSize = '16sp', onClick = function() floatingWindowManager:start('💎王者防封区💎') toMusic("王者防封区") gg.alert[[主防绘制插件 稳定连打 SeLinux状态必须开启]] end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '💎CF防封区💎', textSize = '16sp', onClick = function() floatingWindowManager:start('💎CF防封区💎') toMusic("CF防封区") gg.alert[[支持全火无敌乱射 支持无敌连打]] 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 = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '10dp', newSwitchLayout('腾讯切屏(第一步)'), newSwitchLayout('飞机开(第二步)'), newSwitchLayout('落地开(第三步)'), newSwitchLayout('和平开防教程(不看必拉闸)'), newSwitchLayout('出生岛开(第二套防)'), } }) 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', orientation = 'vertical', padding = '10dp', newSwitchLayout('基址美化'), newSwitchLayout('开启飞天','关闭飞天'), newSwitchLayout('特效增大'), newSwitchLayout('枪械变大'), newSwitchLayout('后坐力变大'), } }) 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', orientation = 'vertical', padding = '10dp', newSwitchLayout('BUG(容器专用加强版)过检测'), newSwitchLayout('大厅第二步(防禁网 开完之后等待一分钟 在开过搜检)'), newSwitchLayout('大厅第三步(过搜检)'), newSwitchLayout('上面三步是第一套----------------下面是第二套'), newSwitchLayout('开启全局离线','关闭全局离线'), newSwitchLayout('大厅一键开启(第二套 不要和第一套一起开)'), newSwitchLayout('防追封 不玩的时候执行'), } }) 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', orientation = 'vertical', padding = '10dp', newSwitchLayout('开启无后'), newSwitchLayout('开启防抖'), newSwitchLayout('开启据点'), newSwitchLayout('开启除雾'), newSwitchLayout('开启瞬击'), newSwitchLayout('开启广角','关闭广角'), newSwitchLayout('开启美化'), newSwitchLayout('开启加速','关闭加速'), newSwitchLayout('开启穿墙','关闭穿墙'), newSwitchLayout('开启身体范围','关闭身体范围'), newSwitchLayout('开启射速','关闭射速'), } }) 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', orientation = 'vertical', padding = '10dp', newSwitchLayout('登录界面第一步'), newSwitchLayout('大厅开启(第二步)'), } }) end }) floatingWindowManager:newWindow('💎CF防封区💎', { 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', orientation = 'vertical', padding = '10dp', newSwitchLayout('大厅一键开启'), } }) end }) -- 运行悬浮窗 floatingWindowManager:run()