string.toMusic('欢迎使用太白全防,减小音量可以隐藏,加大音量可显示') draw.text("太白全防",150,150) draw.setColor("#00ffff") function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) xgsl = xgsl + 1 end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) xgjg = true end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条ΔΘ") else gg.toast(qmnb[2]["name"] .. "开启失败") end end end end --[[静态配置]]function Address(adds,offset,chang,value,flags,freeze,save,name)local add=gg.getRangesList(adds)[1]["start"]+offset local data={{["address"]=add,["value"]=value,["flags"]=flags,["freeze"]=freeze}}if chang==true then gg.setValues(data)end if freeze or save ==true then gg.addListItems(data)end if name~="false" then gg.toast("🛡["..name.."]已装载🛡")end end function Fxs(Search, Write,Neicun,Mingcg,Shuzhiliang) gg.clearResults() gg.setRanges(Neicun) gg.setVisible(false) gg.searchNumber(Search[1][1], Search[1][3]) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = Search[k][3] end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast(Mingcg.."搜索到"..#data.."条数据") local t = {} local base = Search[1][2] if Shuzhiliang == "" and Shuzhiliang > 0 and Shuzhiliang < #data then Shuzhiliang=Shuzhiliang else Shuzhiliang=#data end for i=1, Shuzhiliang do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = w[3] t[#t].value = w[1] if (w[4] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Mingcg.."已修改"..#t.."条数据") gg.addListItems(t) else gg.toast(Mingcg.."开启失败", false) return false end else gg.toast("搜索失败") return false end end function split(szFullString, szSeparator) end function setvalue(address,flags,value) split('修改地址数值(地址,数值类型,要修改的值)') 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(123456) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end--动态 MAIN = 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 function WRITEBYTES(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end --[[Welcome to Dluae]]function Main() SN = gg.choice({ "选择进程", "防闪", "无视道具", "腾讯开", "杀67>" "退出脚本" }, 2018, "Q群1055484565") if SN == 1 then a() end if SN == 2 then b() end if SN == 3 then c() end if SN == 4 then d() end if SN == 5 then e() end if SN == 6 then f() end if SN == 7 then Exit() end XGCK = -1 end function a() gg.setProcessX() gg.toast("开启成功") end function b() 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('libtersafe2.so')[1].start py=0x4fd600 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd64c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd65c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd668 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd66c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd67c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd690 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd69c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd6ac setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd6bc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd6d0 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd6dc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd6e0 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd6ec setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd6f0 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd6fc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd730 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd73c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd740 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd74c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd750 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd758 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd75c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd760 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd77c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd78c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd79c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd7cc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd7dc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd7ec setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd7fc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd80c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd81c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd820 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd82c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd83c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd84c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd85c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd86c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd87c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd88c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd8ac setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd8bc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd8cc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd8dc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd8ec setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd8fc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd90c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd910 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd91c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd92c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd93c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd94c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd95c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd99c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd9bc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd9cc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fd9f0 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdaec setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdafc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdb40 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdb6c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdbe0 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdc3c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdc6c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdc90 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdcbc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdccc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdd0c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdd30 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdd3c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdd8c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fddbc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdde0 setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fde0c setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdedc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdefc setvalue(so+py,4,-698416192) so=gg.getRangesList('libtersafe2.so')[1].start py=0x4fdf30 setvalue(so+py,4,-6984161) gg.toast("开启成功") end -- 独立的setvalue函数,放在所有function之前 function setvalue(address,flags,value) local tt={} tt[1]={address=address,flags=flags,value=value} gg.setValues(tt) end function c() changan.switch("无视障碍", --开启回调 function() SO_XY(SO['无视障碍'],4,"~A8 MOV W0,#1","~A8 RET") gg.toast("空灵无视障碍开启成功") end, --关闭回调 function() SO_XY(SO['无视障碍'],4,"~A8 MOV W0,#0","~A8 RET") gg.toast("空灵无视障碍关闭成功") end) gg.toast("功能加载完成") end function d() if gg.getRangesList("libUE4.so")[1] then local t = {} t[1] = gg.getRangesList("libUE4.so")[1]["start"] + 0x11059630; -- 数值地址:0x7BA1EDA630 gg.addListItems({ [1] = { address = t[1], flags = 4, value = 130023424, freeze = true, }, }) gg.toast("开启成功") end function e() if gg.getRangesList("libUE4.so")[1] then local t = {} t[1] = gg.getRangesList("libUE4.so")[1]["start"] + 0x8; -- 数值地址:0x7CDD990008 gg.addListItems({ [1] = { address = t[1], flags = 4, value = 0, freeze = true, }, } gg.toast("开启成功") end function f() gg.toast("开启成功") end function Exit() print("用心做防房,只为让客户感到满意感谢支持") os.exit() end cs = "1055484565" while true do if gg.isVisible(true) then XGCK = 1 gg.setVisible(false) end gg.clearResults() if XGCK == 1 then Main() end end