function Main() menu = gg.choice({ '过检测区', '功能区', '退出脚本'}, 2018,'这里可以填QQ号') if menu == 1 then A() end if menu == 2 then B() end if menu == 3 then Exit() end XGCK=-1 end function A() menu1 = gg.multiChoice({ 'LOGO过检', '选择进城', 'LOGO过检2', '锁死120', '未更新', '副功能名称6', '副功能名称7', '副功能名称8', '副功能名称9', '副功能名称10', '返回上一页'}, nil,'这里也可以随便填') if menu1 == nil then else if menu1[1] == true then a1() end if menu1[2] == true then a2() end if menu1[3] == true then a3() end if menu1[4] == true then a4() end if menu1[5] == true then a5() end if menu1[6] == true then a6() end if menu1[7] == true then a7() end if menu1[8] == true then a8() end if menu1[9] == true then a9() end if menu1[10] == true then a10() end if menu1[11] == true then HOME() end end GLWW=-1 end function B() menu1 = gg.multiChoice({ '屏蔽文字', '自定义声音', '穿墙', '枪械满级', '人物加速', '人物广角', '枪械射速', '秒开镜', '备用弹夹', '飞刀', '返回上一页'}, nil,'功能区') if menu1 == nil then else if menu1[1] == true then b1() end if menu1[2] == true then b2() end if menu1[3] == true then b3() end if menu1[4] == true then b4() end if menu1[5] == true then b5() end if menu1[6] == true then b6() end if menu1[7] == true then b7() end if menu1[8] == true then b8() end if menu1[9] == true then b9() end if menu1[10] == true then b10() end if menu1[11] == true then HOME() end end GLWW=-1 end function a1() so=gg.getRangesList('libil2cpp.so')[2].start local addresses = { {address=so+0x2453f58, flags=4, value= "~A8 Ret"}, {address=so+0x2453e84, flags=4, value= "~A8 Ret"}, {address=so+0x2453db0, flags=4, value= "~A8 Ret"}, {address=so+0x2453b1c, flags=4, value= "~A8 Ret"}, {address=so+0x2453920, flags=4, value= "~A8 Ret"}, {address=so+0x2453848, flags=4, value= "~A8 Ret"}, {address=so+0x2c77b00, flags=4, value= "~A8 Ret"}, {address=so+0x2c77970, flags=4, value= "~A8 Ret"}, {address=so+0x2c79c14, flags=4, value= "~A8 Ret"}, {address=so+0x2c7741c, flags=4, value= "~A8 Ret"}, {address=so+0x2c774a4, flags=4, value= "~A8 Ret"}, {address=so+0x2c7fe28, flags=4, value= "~A8 Ret"}, {address=so+0x1d9705c, flags=4, value= "~A8 Ret"}, {address=so+0x329168c, flags=4, value= "~A8 Ret"}, {address=so+0x2c7cbf0, flags=4, value= "~A8 Ret"}, {address=so+0x2c7cb70, flags=4, value= "~A8 Ret"}, {address=so+0x2c7d66c, flags=4, value= "~A8 Ret"}, {address=so+0x2c79cc0, flags=4, value= "~A8 Ret"}, {address=so+0x2c76f50, flags=4, value= "~A8 Ret"}, {address=so+0x2c77418, flags=4, value= "~A8 Ret"}, {address=so+0x2c7fc94, flags=4, value= "~A8 Ret"}, {address=so+0x2c767fc, flags=4, value= "~A8 Ret"}, {address=so+0x2fd1dc0, flags=4, value= "~A8 Ret"}, {address=so+0x2c75a40, flags=4, value= "~A8 Ret"}, {address=so+0x2c7a860, flags=4, value= "~A8 Ret"}, {address=so+0x2fd1a70, flags=4, value= "~A8 Ret"}, {address=so+0x2c7b7b8, flags=4, value= "~A8 Ret"}, } gg.setValues(addresses) gg.toast("开启成功") end function a2() gg.setProcessX() gg.toast("开启成功") end function a3() local Ranges=gg.getRangesList('/') local function Read(module,type) for k,v in pairs(Ranges) do if v['internalName']:match('[^/]*$')==module and v['type']==type then return v['start'] end end end local Table={} local function Modify(address,value,flags) -- 修复:Read() 失败时返回 nil,nil + 数值 会抛错,这里做保护 if address == nil then gg.toast("模块未找到,跳过一项修改") return end Table[#Table+1]={address=address,value=value,flags=flags} end -- 修复:模块未找到时直接 return,避免对 nil 做加法崩溃 local function Add(base, offset, value, flags) if base == nil then return end Modify(base + offset, value, flags) end Add(Read('libtersafe2.so','r-xp'),0x521ca0,335544320,4) Add(Read('libtersafe2.so','r-xp'),0x521cac,335544320,4) --防闪退 Add(Read('libil2cpp.so','r-xp'),0x2c7bcf0,-698416192,4) Add(Read('libil2cpp.so','r-xp'),0x2C7CF28,-698416192,4) --校验 Add(Read('libil2cpp.so','r-xp'),0x13E63E0,-698416192,4) Add(Read('libil2cpp.so','r-xp'),0x89826A0,-721215457,4) Add(Read('libil2cpp.so','r-xp'),0x2c7cb70,-698416192,4) Add(Read('libil2cpp.so','r-xp'),0x2c7b7b8,-698416192,4) Add(Read('libil2cpp.so','r-xp'),0x2fd1a6c,-698416192,4) Add(Read('libtprt.so','r-xp'),0xfd00c,3596551104,4) Add(Read('libtprt.so','r-xp'),0x13d1dc,3573751839,4) Add(Read('libtprt.so','r-xp'),0x13d7c8,335544334,4) Add(Read('libtprt.so','r-xp'),0x13d820,335544333,4) Add(Read('libtprt.so','r-xp'),0x142f1c,3596551104,4) Add(Read('libtprt.so','r-xp'),0x14327c,335544329,4) --心跳 -------------------------------------- Add(Read('libunity.so','r-xp'),0x12E6C28,280,16) --广角 local 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 do local l2c = gg.getRangesList("libil2cpp.so") if l2c and l2c[2] then XGBase({l2c[2].start}, { {-698416192,4,0x20625BC}, {-698416192,4,0x2062728}, {-721215457,4,0x26D174C}, {-698416192,4,0x26D325C}, {505933826,4,0x2B04AD0}, {505933826,4,0x2B04C10}, }) else gg.toast("未找到 libil2cpp.so,跳过广角写入") end end gg.setValues(Table) gg.alert("反作弊模块数据捕捉成功!\n已写入目标模块内存...") gg.toast("开启成功") end function a4() 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 local t = {"libunity.so", "Cd"} local tt = {0x78A54} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 120, freeze = true}}) gg.toast("0开启成功") end function a5() gg.toast("开启成功") end function a6() gg.toast("开启成功") end function a7() gg.toast("开启成功") end function a8() gg.toast("开启成功") end function a9() gg.toast("开启成功") end function a10() gg.toast("开启成功") end function b1() 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 local t = {"libil2cpp.so", "Cd"} local tt = {0x8CEBC8, 0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = "~A8RET"}}) local t = {"libil2cpp.so", "Cd"} local tt = {0x8CEBD0, 0x40} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = "~A8RET"}}) local t = {"libil2cpp.so", "Cd"} local tt = {0x8CEBD8, 0x0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = "~A8RET"}}) gg.toast("开启成功") end function b2() local Spp=gg.prompt({"请输入修改数值"},{[1]="1.5"},{[1]="number"})[1] so=gg.getRangesList('libunity.so')[2].start gg.setValues({ {address=so+0x9C22DC,flags=4,value=477260864}, {address=so+0xAA7064,flags=16,value=Spp}}) gg.toast("开启成功") end function b3() so=gg.getRangesList('libil2cpp.so')[2].start local addresses = { {address=so+0x2c163c4,flags=4,value=-763363296},--获取障碍定义 {address=so+0x2c163c4+4,flags=4,value=-698416192}, {address=so+0x2c163c4+8,flags=4,value=-698416192}, } gg.setValues(addresses) gg.toast("开启成功") end function b4() so=gg.getRangesList('libil2cpp.so')[2].start gg.setValues({ {address=so+0x24d882c+0x88,flags=4,value=1384120424},--重置装备通用数据 }) gg.toast("开启成功") end function b5() local Spp=gg.prompt({"请输入修改数值"},{[1]="10"},{[1]="number"})[1] so=gg.getRangesList('libil2cpp.so')[2].start local addresses = { {address=so+0x1dfa76c+0x5C60,flags=16,value=Spp}, {address=so+0x1dfa76c,flags=4,value=469951232},--获取当前速度 {address=so+0x1dfa76c+4,flags=4,value=-698416192}, } gg.setValues(addresses) gg.toast("开启成功") gg.toast("开启成功") end function b6() so=gg.getRangesList('libunity.so')[2].start local addresses = { {address=so+0x12e6c28,flags=16,value=220 }, } gg.setValues(addresses) gg.toast("开启成功") gg.toast("开启成功") end function b7() 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 local t = {"libil2cpp.so", "Cd"} local tt = {0x652220, 0xCC} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value ="~A8 RET"},}) local t = {"libil2cpp.so", "Cd"} local tt = {0x652228, 0x0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value ="~A8 RET"},}) gg.toast("开启成功") end function b8() so=gg.getRangesList('libil2cpp.so')[2].start local addresses = { {address=so+0x1e07bb4,flags=4,value=-698416192 }, }--获取净瞄准速度 gg.setValues(addresses) gg.toast("开启成功") gg.toast("开启成功") end function b9() 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 local t = {"libil2cpp.so", "Cd"} local tt = {0x6819E0, 0x10} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = "~A8 RET"},}) local t = {"libil2cpp.so", "Cd"} local tt = {0x6819E8, 0x8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = "~A8 RET"},}) local t = {"libil2cpp.so", "Cd"} local tt = {0x6819F8, 0x0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = "~A8 RET"},}) gg.toast("开启成功") end function b10() 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 local t = {"libunity.so", "Cd"} local tt = {0x1F5A0, 0xE8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x1F5A0, 0xEC} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x1F5B8, 0x64} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x1F5B8, 0x68} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x71B70, 0x1C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x71B70, 0x20} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x721E0, 0xD8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x721E0, 0xDC} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x72590, 0x20} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x72590, 0x24} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x72AA8, 0x24} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x72AA8, 0x28} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x72EC0, 0x4} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x72EC0, 0x8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x732B8, 0x10} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x732B8, 0x14} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x73700, 0x64} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x73700, 0x68} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x73AC8, 0xE8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libunity.so", "Cd"} local tt = {0x73AC8, 0xEC} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999}}) gg.toast("开启成功") end function Exit() print("这里是退出脚本后的提示文字") os.exit() end function HOME() lw=1 Main() end cs = '1130118983' 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]]