function setvalue(address,flags,value,freeze) if address == 0 then return end local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value tt[1].freeze=freeze if freeze==false then gg.setValues(tt) end gg.addListItems(tt) end function getvalue(address,flags,value,freeze) if address == 0 then return end local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags gg.addListItems(tt) end function autovalue(address,flags,_o,_v,freeze) if address == 0 then return end local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].freeze=freeze local _v_ = gg.getValues(tt)[1].value if math.abs(_v_-_o) < 1e-7 then tt[1].value=_v else tt[1].value=_o end if freeze==false then gg.setValues(tt) end gg.addListItems(tt) end function readD(address) return gg.getValues({{address = address, flags = 4}})[1].value 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 _Q = tonumber(0x167ba0fe) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end local _S = gg.getRangesList(N_So[1])[1] 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 else S[_].value = S[_].value & 0xFFFFFFFFFF 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 ttt = Get_Address(t_So, t_Offset, _bit) if ttt ~= nil then local _A = string.format('0x%X', ttt) return _A end return 0 end function RDI(address) return gg.getValues({{address = address, flags = 4}})[1].value & 0xFFFFFFFF end function RQI(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value 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 setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) gg.addListItems(tt) end function Main() menu = gg.multiChoice({ "加速(开)", "加速(关)", "提速", "退出脚本", }, nil, os.date"小学生兔头 9.2新 ") if menu == nil then else if menu[1] == true then A1() end if menu[2] == true then A2() end if menu[3] == true then A3() end if menu[4] == true then kk() end end XGCK = -1 end function A1() local t = {"libUE4.so:bss", "Cb"}--发布于9月2日 local tt = {0xB3DA90,0x30,0x69D0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 65536}}) local t = {"libUE4.so"} local tt = {0xDE91F2C}local ttt = S_Pointer(t,tt,true) setvalue(ttt,4, 0xD65F03C0, false) local b={"libUE4.so:bss","Cb"} local function p(o)return S_Pointer(b,o,true)end local s={0x90D0,0x8,0x48,0x20,0x6B8,0x0} local a=tonumber(p(s))or tonumber(p(s):gsub("0x",""),16) gg.setValues({{address=p({0xB3DA90,0x30,0x3540,0x670}),flags=32,value=a}}) local t = {"libUE4.so"} local tt = {0xE16F0DC}local ttt = S_Pointer(t,tt,true) setvalue(ttt,4, 0x2A1F03E0, false)--发布于9月2日 local tt = {0xF6A2FE8}local ttt = S_Pointer(t,tt,true) setvalue(ttt,4, 506015744, false) gg.clearList() end function A2() local t = {"libUE4.so"} local tt = {0xF6A2FE8}local ttt = S_Pointer(t,tt,true) setvalue(ttt,4, 505552928, false) end function A3() local UE4={0xB3DA90,0x30,0x3540,0x660,0x280} local UE5={0xB3DA90,0x30,0x3540,0x660,0x28C} while true do gg.sleep(5) local a=RDI(S_Pointer({"libUE4.so"},{0x176ECA90,0x30,0x3540,0x36E8},true))==1 setvalue(S_Pointer({"libUE4.so"},{0x172DEFB4},true),4,a and 1 or 0,false) gg.setValues({ {address=S_Pointer({"libUE4.so:bss","Cb"},UE4,true),flags=16,value=a and-999 or 2}, {address=S_Pointer({"libUE4.so:bss","Cb"},UE5,true),flags=16,value=a and 500 or 2048} }) end end function kk() os.exit()end while true do if gg.isVisible(true) then XGCK = 1 gg.setVisible(false)end gg.clearResults() if XGCK == 1 then Main()end end