if gg.isVPN() then gg.alert('请关闭网络代理!') os.exit() end function XGBase(Address,AFV) local address=0 for index,offset in ipairs(Address)do if index==1 then address=offset else address=gg.getValues({{address=address+offset,flags=4}})[1].value end end local Value,Freeze={},{} for index,value in ipairs(AFV)do local VALUE={address=address+value[3],flags=value[2],value=value[1],freeze=true} if value[4]then Freeze[#Freeze+1]=VALUE else Value[#Value+1]=VALUE end end gg.setValues(Value) gg.addListItems(Freeze) end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x167ba0fe) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x167ba0fe) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x167ba0fe) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function Main() SN =gg.multiChoice({ "初始化", "控分", "结算", "明暗透视", "无视弹窗", "箱子千金", "移动开物", "人物移速", "全员控制", "退出脚本" }, nil, "salty fish") if SN == nil then else if SN[1] == true then a() end if SN[2] == true then k() end if SN[3] == true then e() end if SN[4] == true then b() end if SN[5] == true then B() end if SN[6] == true then R() end if SN[7] == true then Y() end if SN[8] == true then U() end if SN[9] == true then i() end if SN[10] == true then Exit() end end XGCK = -1 end --set_GoiVnRRlFnBlGlvWrnnFxSPtcLLfzcvfxfkNgccz人物移速 function a() XGBase( {gg.getRangesList('libil2cpp.so')[2].start}, { {-763363200,4,0x48AD22C}, {-698416192,4,0x48AD230}, {-763363200,4,0x48AE1C8}, {-698416192,4,0x48AE1CC}, }) gg.toast("开启成功") end function k() gg.toast("开启成功") end function e() XGBase( {gg.getRangesList('libil2cpp.so')[2].start}, { {'~A8 B [PC,#0x46F0]',4,0x6F46FA8}, }) gg.sleep(20) XGBase( {gg.getRangesList('libil2cpp.so')[2].start}, { {-65204248,4,0x6F46FA8}, }) gg.clearList() gg.clearResults() gg.toast("开启成功") end function b() XGBase( {gg.getRangesList('libil2cpp.so')[2].start}, { {-698416192,4,0x6BFE270}, {-763363328,4,0x6C032AC}, {-698416192,4,0x6C032B0}, }) gg.toast("开启成功") end function B() XGBase( {gg.getRangesList('libil2cpp.so')[2].start}, { {-698416192,4,0x668db10}, }) gg.toast("开启成功") end function R() A=gg.alert("千金小姐","开启","关闭") if A==1 then XGBase( {gg.getRangesList('libil2cpp.so')[2].start}, { {"~A8 MOVZ W0, #24029",4,0x6c092e8}, {-698416192,4,0x6c092ec}, }) gg.toast("开启成功") else XGBase( {gg.getRangesList('libil2cpp.so')[2].start}, { {-1447143426,4,0x6c092e8}, {-1459531788,4,0x6c092ec}, }) gg.toast("关闭成功") end end function Y() A=gg.alert("移动开物","开启","关闭") if A==1 then XGBase( {gg.getRangesList('libil2cpp.so')[2].start}, { {-698416192,4,0x5808604}, }) else XGBase( {gg.getRangesList('libil2cpp.so')[2].start}, { {-132313090,4,0x5808604}, }) gg.toast("关闭成功") end end function U() XGBase( {gg.getRangesList('libil2cpp.so')[2].start}, { {469762112,4,0x6119e1c}, {-698416192,4,0x6119e20}, {2.9,16,0x6119e24}, }) gg.toast("开启成功") end function i() A=gg.alert("全员控制","开启","关闭") if A==1 then XGBase( {gg.getRangesList('libil2cpp.so')[2].start}, { {"1,384,124,416",4,0x62F003C}, {"~A8 RET",4,0x62F003C+0x4}, }) else XGBase( {gg.getRangesList('libil2cpp.so')[2].start}, { {"-1447143426",4,0x62F003C}, {"-1459531788",4,0x62F003C+0x4}, }) gg.toast("关闭成功") end end function Exit() print("salty fish") os.exit() end cs = "salty fish" while true do if gg.isVisible(true) then XGCK = 1 gg.setVisible(false) end gg.clearResults() if XGCK == 1 then Main() end end --[[Welcome to Dluae]]