do if type(getrlyunyz) ~= 'function' then gg.alert('请使用RLGG执行') os.exit() return end local info = { example_version = '1.0.3', name = 'Ox内部', appid = '29530', appkey = 'Eu049ANfep9NeEfF', rc4key = 'god3n2qO29gQp53q', version = '2.09', mi_type = '3' } local rlyunyz = getrlyunyz(info) local ret = rlyunyz.start() if not ret or not isTable(ret) or ret.sign ~= 'a1ce19f270228abf802940201f5378bd' then os.exit() return end end -- 把以上代码复制到你脚本最前面即可 gg.alert('欢迎使用') gg.playVideo("https://txmov2.a.kwimgs.com/ksc1/AMKIz-G3_6_Ym5oyRgG12S7owBetjEH_CizFDwk9YCqTGG4_3GuINqweSeVZRPak0B2X-mnDRxQsga--ulqGJkQlCq_Vn38MsGWlQcuqvsmsNVFmiGyerIlTQ7UrvIAR72UOQ4rVC2o8ocjyTKyi4jK9f3_sICXifn65k8wjPXOKF_V8no-VwAiy1B2eQfP3.mp4?pkey=AAV8GImHeUIlaHH-CKJA13A1qdVAHxSwoBtHPO2czxFUiio6z8JKMvZz5RG7bWU3c2f3LB7DK50R841Yy_sWdpIGIImcwMHyrfzPJVCZwmYyZ7EPklITAgYZTlAWpbEKHRg&tag=1-1695548319-tube-0-rw7kqo9qly-b35497e7175525c1&type=hot&clientCacheKey=3x4yurb7tcymsay_v5HighV2.mp4&di=9a08b282&bp=14081&tt=v5HighV2&ss=vp") string.toMusic("欢迎使用ox全防") draw.text(' Ox全防作者山茶', 200,230)draw.setColor('#00fff9') draw.text('', 200,285)draw.setColor('#00fff9') gg.loopKillGG() local json =json--调用 local g = {} g.file = gg.getFile() g.sel = nil gqlb={"请先搜索歌曲",} idb={"1010"} SN,gc=1,nil g.config = gg.getFile():gsub("%lua$", "").."cfg" function bei() g.data = loadfile("-- WSG PRO 1.0.9(109)\n"..g.config) if g.data ~= nil then g.sel = g.data() g.data = nil end if g.sel == nil then g.sel = {"请输入歌曲名","10"} end end bei() --搜索歌曲 function start(name,sl) fw=gg.makeRequest("http://music.163.com/api/search/get?s="..name.."&type=1&offset=0&total=true&limit="..sl) return fw end --歌词 --播放音乐 function play(id,name) gg.toast("正在播放音乐:"..name,true) gg.playMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3") end --停止播放 function stop() gg.toast("正在停止音乐") for i=1,100 do gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end end ---- function Play(gqlb,idb) SN = gg.choice(gqlb,nil,ts) if SN == nil then XGCK =-1 else sn=gg.choice({"播放歌曲","播放并下载"},nil,"歌曲:"..gqlb[SN]) if sn == nil then end if sn == 1 then play(idb[SN],gqlb[SN]) end if sn == 2 then local XEY=gg.makeRequest("http://music.163.com/song/media/outer/url?id="..idb[SN]..".mp3").content local XEY1=gg.getFile():gsub("[^/]+$","")..gqlb[SN]..".mp3" io.open(XEY1,"w"):write(XEY) gg.alert("提示:\n\n音乐已成功下载位置:\n\n"..XEY1) end XGCK=-1 end end function zjson(jsonr) local str = jsonr -- 匹配Json Key的正则表达式 local pattern = "\"[%w]+\":" string.gsub(str, pattern, function(v) if string.find(str, v) then str = string.gsub(str, v, string.gsub(v, "\"", "")) end end) str = string.gsub(str, ":", "=") str = string.gsub(str, "%[", "{") str = string.gsub(str, "%]", "}") local data = "-- WSG PRO 1.0.9(109)\nreturn " .. str local res = load(data)() return res end function json(con) res=zjson(con) zd=res.result.songCount pd=go3-zd if pd <= 0 then else go3=zd end ts="《"..go1.."》找到"..zd.."首歌曲,当前显示"..go3.."首" gqlb={} idb={} for i=1,go3 do gqlb[i]=res.result.songs[i].name idb[i]=res.result.songs[i].id end --print(idb) end function YY998() Obtain=gg.makeRequest("https://api.uomg.com/api/rand.music?sort=热歌榜&format=json").content muchen=Obtain:match('url":"(.-)","picurl') gg.playMusic(muchen) 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 setvalue(address,flags,value) local CatWill={} CatWill[1]={} CatWill[1].address=address CatWill[1].flags=flags CatWill[1].value=value gg.setValues(CatWill) 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 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 --end结束 ---------------------------------------------------------------------------------------------------------------- jianbian6 = luajava.new(GradientDrawable) jianbian6:setCornerRadius(40) jianbian6:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian6:setColors({0xFF55AAFF,0xFFFF0000}) jianbian6:setStroke(8,"0xFFFF0000")--边框宽度和颜色 jianbian7 = luajava.new(GradientDrawable) jianbian7:setCornerRadius(80) jianbian7:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian7:setColors({0xFFFF0000,0xFFFF0000}) jianbian7:setStroke(16,"0xFFFF0000") jianbian8 = luajava.new(GradientDrawable) jianbian8:setCornerRadius(80) jianbian8:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian8:setColors({0xFF6385E9,0xFFFF0000,0xFFFF3D98}) jianbian8:setStroke(16,"0xfFFFF0000") jianbian9 = luajava.new(GradientDrawable) jianbian9:setCornerRadius(8) jianbian9:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian9:setColors({0xFFFF0000,0xFFFF0000}) jianbian9:setStroke(16,"0xaa000000") function balert(bltxt,bltxt1,bltxt2) result=0 if not bltxt then bltxt='这里写正文\n测试\n测试' end if not bltxt1 then bltxt1='取消' end if not bltxt2 then bltxt2='确定' end bltxt=tostring(bltxt) bltxt1=tostring(bltxt1) bltxt2=tostring(bltxt2) local dialog = luajava.new(AlertDialog.Builder, app.context) local block = luajava.getBlock() local result local function exit() block('end') end layoutabc=luajava.loadlayout({ScrollView, {LinearLayout, background="#00000000", orientation="vertical", layout_width="match_parent", layout_height="match_parent", gravity = 'center', {ScrollView, gravity="center", layout_height="230dp", layout_width="fill_parent", padding="25dp", {LinearLayout, layout_marginTop="20dp", gravity="center", layout_height="220dp", layout_width="fill_parent", padding="25dp", {TextView, id = luajava.newId('弹窗文字'), textSize="18sp", text = bltxt, layout_height="wrap_content", layout_width="fill_parent", layout_gravity="center", gravity="center", },}}, {LinearLayout, gravity="center", layout_height="90dp", layout_width="fill_parent", orientation="horizontal", {Button, id="balt1", gravity="center", background=jianbian7, text=bltxt1, layout_height="40dp", layout_width="wrap_content", layout_marginRight="70dp", }, {Button, id="balt2", gravity="center", background=jianbian8, text=bltxt2, layout_height="40dp", layout_width="wrap_content", layout_marginLeft="70dp", } }}}) balt1.onClick = function() result = 1 dialog:dismiss() exit() end balt2.onClick = function() result = 2 dialog:dismiss() exit() end dialog:setView(layoutabc) dialog:setOnDismissListener(luajava.createProxy('android.content.DialogInterface$OnDismissListener', { onDismiss = function(view) exit() end})) local function invoke() dialog = dialog:create() local window = dialog:getWindow() window:setType(Build.VERSION.SDK_INT >= 26 and 2038 or 2002) window:setBackgroundDrawable(jianbian6) window:getDecorView():setPadding(0,0,0,0) dialog:show() --window:setLayout(1400,1000) YoYoImpl:with("FadeIn"):duration(300):playOn(layoutabc) end luajava.handlerPost(invoke) block('join') return result end function tst(text) text = tostring(text) local block = luajava.getBlock() local layout = luajava.loadlayout({ LinearLayout, background=jianbian7, gravity='center', layout_height='match_parent', layout_width='match_parent', layout_wight='1', { TextView, id = luajava.newId('TextView'), text = text, textSize = '18sp', textColor = "#ffffffff", margins = {'20dp', '10dp', '20dp', '10dp'} } }) local function invoke() if toaa==nil then toaa = Toast:makeText(app.context, '', 1) end toaa:setView(layout) toaa:show() end luajava.handlerPost(invoke) end gg.sleep(2000) -------------------------------------------------------------------------------------------------- local function switch2(...) local menus = {...} local block = luajava.getBlock() local context = app.context local window = context:getSystemService("window") -- 获取窗口管理器 local function getWindowManagerParams() local params = luajava.new(WindowManager.LayoutParams) params.type = (Build.VERSION.SDK_INT >= 26 and 2038 or 2002) params.format = PixelFormat.RGBA_8888 -- 设置背景 params.flags = params.FLAG_NOT_FOCUSABLE -- 焦点设置Finish params.width = params.WRAP_CONTENT -- 布局宽度 params.height = params.WRAP_CONTENT -- 布局高度 params.gravity = Gravity.LEFT | Gravity.TOP -- 重力设置 luajava.setFloatingWindowHide(false) luajava.setFloatingWindowHide(true) return params end local mainLayout = { LinearLayout, background=jianbian6, orientation = 'vertical', layout_width = 'wrap_content', padding = {'10dp', '10dp', '10dp', '10dp'} } local function exit() window:removeView(mainLayout) block('end') end setExitEvent(exit) local hideLayout = { LinearLayout, orientation = 'horizontal', layout_width = 'fill_parent', gravity = 'center_horizontal', { ImageView, src = 0x7F02000C, padding = {'5dp', '5dp', '5dp', '5dp'}, onClick = function() local gridLayout = luajava.getIdView('功能界面') if not gridLayout then return end local VISIBLE = GridLayout.VISIBLE local GONE = GridLayout.GONE local visibility = gridLayout:getVisibility() > VISIBLE and VISIBLE or GONE gridLayout:setVisibility(visibility) end } } mainLayout[#mainLayout + 1] = hideLayout local main2Layout = { LinearLayout, id = luajava.newId('功能界面'), orientation = 'vertical', layout_width = 'wrap_content', gravity = 'center_horizontal' } mainLayout[#mainLayout + 1] = main2Layout local function formatList(list) local gridLayout = { GridLayout, orientation = 'horizontal', columnCount = '3', layout_width = 'wrap_content' } list[#list + 1] = { setText = '退出', onCheckedChanged = function(buttonView) return exit() end } for i, value in ipairs(list) do local name do local names = {'name', 'text', 'setText'} for i, key in ipairs(names) do name = value[key] if name then break end end if not name then name = string.format('功能%d', i) end for i, key in ipairs(names) do value[key] = name end end local switchLayout = { Switch, text = name, } local onCheckedChanged = value.onCheckedChanged if not isFunction(onCheckedChanged) then onCheckedChanged = function(switch, isChecked) if not isSurvive() then gg.toast('脚本已结束') return exit() end local mode = isChecked and 'open' or 'close' local func = value[mode] if not isFunction(func) then switch:setChecked(not isChecked) func = function(self) gg.alert(string.format('%s缺少%s函数,该属性必须为function类型', value.name, mode)) end end luajava.startThread(function(...) pcall(func, ...) end, name, value, switch) end end if isFunction(onCheckedChanged) then onCheckedChanged = luajava.createProxy('android.widget.CompoundButton$OnCheckedChangeListener', { onCheckedChanged = onCheckedChanged }) end switchLayout.onCheckedChangeListener = onCheckedChanged gridLayout[#gridLayout + 1] = switchLayout end return gridLayout end local navigate2 = { LinearLayout, orientation = 'horizontal', layout_width = 'match_parent', gravity = 'center_horizontal' } local ids = {} local views = {} for i, menu in ipairs(menus) do local name = menu.name if not name then name = ('菜单%s'):format(i) menu.name = name end ids[i] = string.format('%s-%s', i, name) local menuLayout = { Button, text = name, background = '#0000000', layout_width = 'wrap_content', onClick = function() for i2, id in ipairs(ids) do local view = views[i2] if not view then view = luajava.getIdView(id) if view then views[i2] = view end end if view then local VISIBLE = view.VISIBLE local GONE = view.GONE local state = i == i2 and VISIBLE or GONE view:setVisibility(state) end end end } navigate2[#navigate2 + 1] = menuLayout end main2Layout[#main2Layout + 1] = navigate2 local main3Layout = { LinearLayout, layout_width = 'match_parent', gravity = 'center_horizontal' } for i, menu in ipairs(menus) do local gridLayout = formatList(menu) gridLayout.id = luajava.newId(ids[i]) gridLayout.visibility = i == 1 and GridLayout.VISIBLE or GridLayout.GONE main3Layout[#main3Layout + 1] = gridLayout end main2Layout[#main2Layout + 1] = main3Layout local function setOnTouchListener(move, layout, params) local RawX, RawY, x, y local ACTION_DOWN = MotionEvent.ACTION_DOWN local ACTION_MOVE = MotionEvent.ACTION_MOVE local tonumber = tonumber move:setOnTouchListener(luajava.createProxy("android.view.View$OnTouchListener", { onTouch = function(v, event) local Action = event:getAction() if Action == ACTION_DOWN then -- 点击时的XY坐标 RawX = event:getRawX() -- 获取X坐标 RawY = event:getRawY() -- 获取Y坐标 x = params.x -- 申明变量xmX为原X坐标 y = params.y -- 申明变量xmY为原Y坐标 elseif Action == ACTION_MOVE then -- 移动时的XY坐标 params.x = tonumber(x) + (event:getRawX() - RawX) params.y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(layout, params) end end })) end local params = getWindowManagerParams() mainLayout = luajava.loadlayout(mainLayout) setOnTouchListener(mainLayout, mainLayout, params) local function invoke() window:addView(mainLayout, params) end gg.setVisible(false) luajava.post(invoke) block('join') gg.setVisible(true) end _ENV['菜单1'] = { name = '防封页面', [1] = { name = '全防公告', open = function(self) title = "防封公告" message = " 推荐①和②③防搭配全局离线 如果功能没效果就多点两下 不闪退就不开防闪 防止高风险的办法就是带300发子弹在蓝圈快结束的时候打完此版本为公益版禁止倒卖作者山茶" toMusic('推荐1和23防搭配全局离线如果功能没效果就多点两下 不闪退就不开防闪防止高风险的办法就是带300发子弹在蓝圈快结束的时候打完此版本为公益版禁止倒卖作者山茶' )---语音 gg.htmlAlert(title, message, "我已知晓") end, close = function(self) title = "防封公告" message = " 推荐①和③防搭配全局离线和防禁网 " toMusic('推荐1和3防搭配全局离线和防禁网')---语音 gg.htmlAlert(title, message, "我已知晓") end, }, [2] = { name = 'log防闪', open = function(self) toMusic('开启中')--- local t = {"libUE4.so:bss", "Cb"} local tt = {0x4C63D8} 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 = {0x628} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 64, freeze = true}}) gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [3] = { name = '大厅第一套', open = function(self) toMusic('开启中')--- so=gg.getRangesList('libanogs.so')[1].start py=0x3C7674 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x3C7678 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x3CBC54 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x3CBC58 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x3CD894 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x3CD898 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x3CDF10 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x3CDF14 setvalue(so+py,4,0) gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [4] = { name = '大厅第二套', open = function(self) toMusic('开启中')--- so=gg.getRangesList('libanogs.so')[1].start py=0x3C7A30 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x3CC010 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x3CDC50 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x72E49A0628 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x72E49A1CAC setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x72E49A24A8 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x72E49A2C04 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x72E49A2C08 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x72E49A2C0C setvalue(so+py,4,0) gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [5] = { name = ' Logo防', open = function(self) toMusic('开启中')--- so=gg.getRangesList('libanogs.so')[1].start py=0xAAEE000 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0xAAEE000 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0xAAEE004 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x4DB0A0 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x4DB0A4 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x72E49A0628 setvalue(so+py,4,0) gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [6] = { name = '全局离线', open = function(self) so=gg.getRangesList('libijkffmpeg.so')[1].start py=0x322CAC setvalue(so+py,4,0) so=gg.getRangesList('libgcloud.so')[1].start py=0x422DBC setvalue(so+py,4,0) so=gg.getRangesList('libgcloud.so')[1].start py=0x495E1C setvalue(so+py,4,0) so=gg.getRangesList('libTDataMaster.so')[1].start py=0x311C14 setvalue(so+py,4,0) so=gg.getRangesList('libanogs.so')[1].start py=0x3CF55C setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x14C990 setvalue(so+py,4,0) gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) so=gg.getRangesList('libijkffmpeg.so')[1].start py=0x322CAC setvalue(so+py,4,356461077) so=gg.getRangesList('libgcloud.so')[1].start py=0x422DBC setvalue(so+py,4,356461077) so=gg.getRangesList('libgcloud.so')[1].start py=0x495E1C setvalue(so+py,4,356461077) so=gg.getRangesList('libTDataMaster.so')[1].start py=0x311C14 setvalue(so+py,4,356461077) so=gg.getRangesList('libanogs.so')[1].start py=0x3CF55C setvalue(so+py,4,356461077) so=gg.getRangesList('libanort.so')[1].start py=0x14C990 setvalue(so+py,4,356461077) gg.toast("关闭成功") string.toMusic('关闭成功') end }, [7] = { name = '破解XDZ', open = function(self) local t = {"libzoel-native.so", "Cd"} local tt = {0xD400} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 6}}) local t = {"libzoel-native.so", "Cd"} local tt = {0xD404} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 6}}) local t = {"libzoel-native.so", "Cd"} local tt = {0xD408} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 6}}) --------------------- gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [8] = { name = '大厅防禁网', open = function(self) local t = {"libanogs.so:bss", "Cb"} local tt = {0x628} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 64, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x6B8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 64, freeze = true}}) gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [9] = { name = '选择进程', open = function(self) toMusic('请选择进程')---语音 gg.setProcessX() end, close = function(self) toMusic('请选择进程')---语音 gg.setProcessX() end }, [10] = { name = '复制TS模块', open = function(self) gg.copyText("@TSilent-Module-Telegram@Trick_Mod") gg.toast("复制成功") toMusic('复制成功')---语音 end, close = function(self) gg.copyText("@TSilent-Module-Telegram@Trick_Mod") gg.toast("复制成功") toMusic('复制成功')---语音 end }, } _ENV['菜单2'] = { name = '功能页面', [1] = { name = '枪械防抖', open = function(self) so=gg.getRangesList('libUE4.so')[1].start py=0X5E6A76C setvalue(so+py,16,2.19933704e12) so=gg.getRangesList('libUE4.so')[1].start py=0X8567674 setvalue(so+py,16,8.8411673e-21) gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [2] = { name = '枪械据点', open = function(self) so=gg.getRangesList('libUE4.so')[1].start py=0X52BFF74 setvalue(so+py,16,8.47963525e-21) gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [3] = { name = '枪械瞬击', open = function(self) so=gg.getRangesList('libUE4.so')[1].start--瞬击 py=0X86B74D0 setvalue(so+py,16,8.95671814e-21) gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [4] = { name = '全图除雾', open = function(self) so=gg.getRangesList('libUE4.so')[1].start py=0X7762890 setvalue(so+py,16,1.41233867e-13) gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [5] = { name = '人物广角', open = function(self) OP=gg.prompt({'1到3'},{[1]='1.4'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else so=gg.getRangesList('libUE4.so')[1].start py=0x2abbd88 setvalue(so+py,16,OP[1]) so=gg.getRangesList('libUE4.so')[1].start py=0x2f0625c setvalue(so+py,16,OP[1]) so=gg.getRangesList('libUE4.so')[1].start py=0x320a994 setvalue(so+py,16,OP[1]) so=gg.getRangesList('libUE4.so')[1].start py=0x320a9f8 setvalue(so+py,16,OP[1]) so=gg.getRangesList('libUE4.so')[1].start py=0x320aa34 setvalue(so+py,16,OP[1]) end gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [6] = { name = '人物上色', open = function(self) local t = {"libUE4.so:bss", "Cb"} local tt = {0x456750, 0x20, 0x48, 0x3F8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 1120}}) gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [7] = { name = '人物反向', open = function(self) local t = {"libUE4.so:bss", "Cb"} local tt = {0x39AA8,0x0,0x1B0,0x194} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = -1}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x39AA8,0x0,0x1B0,0x198} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = -1}}) gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [8] = { name = '枪械无后', open = function(self) so=gg.getRangesList('libUE4.so')[1].start--无后座 py=0x52C4AD4 setvalue(so+py,16,8.8411673e-21) so=gg.getRangesList('libUE4.so')[1].start--无后座 py=0x52C4A64 setvalue(so+py,16,8.8411673e-21) so=gg.getRangesList('libUE4.so')[1].start--无后座 py=0x52C4970 setvalue(so+py,16,8.8411673e-21) gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [9] = { name = '自改锁针', open = function(self) OP=gg.prompt({'144 120 90'},{[1]='144'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else local t = {"libUE4.so:bss", "Cb"} local tt = {0x469618, 0x74} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 144}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x469618, 0x78} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 144}}) end gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [10] = { name = '人物美化', open = function(self) local cfg_file = gg.EXT_FILES_DIR.."/"..gg.getFile():match("[^/]+$").."(衣服.01).lua" local chunk = loadfile(cfg_file) local cfg = nil if chunk ~= nil then cfg = chunk() end if cfg == nil then cfg = {1400129} end wannian = gg.prompt({ "浪漫冰舞套装 1405016 唯美冰舞套装 1405017 血鸦圣装 1408572 野性嘉年华(猪)套装 1405019 千面诡皇圣装 1406638 战场长跑者套装 1405021 狂金辉艳后圣装 1406475 滑稽雪人套装 1405023 金尊法老圣装 1405635 曼妙夜猫套装 1405026 齐天大圣PRIME 1406327 魅影猎手套装 1405028 野性狂蟒套装 1405029 精灵王圣装 1406311 寒冰圣装 1406152 海洋之王圣装 1405983 街头嘻哈套装 1405033 甜蜜淑女套装 1405034 闪耀之星套装 1405035 致命甜心套装 1405036 奉献真心套装 1405037 欲望天使套装 1405038 酷萌胖达套装 1405039 性感胖达套装 1405040 恶龙咆哮套装 1405041 御龙猎手套装 1405042 天际游侠套装 1405043 御霜客套装 1405044 精致婚礼套装 1405175 板球英雄套装 1405046 浴血甜心套装 1405047 蝴蝶套装(绿色) 1405048 战争雪怪套装 1405001 野兽朋克1405002 天降雄兵套装 1405003 经典圣诞套装 1405004 \n请输入你的衣服代码:", },cfg,{"text"}) if wannian == nil then else gg.saveVariable(wannian, cfg_file) local t = {"libUE4.so:bss", "Cb"} local tt = {0x439C88, 0x20, 0x390, 0x118} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400687}}) end gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, [11] = { name = '探头路飞', open = function(self) 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) 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 --动态基址配置 ddsl = readPointer('libUE4.so:bss', {0x39AA8,0x0,0x460,0x1C4}, 1) --定点锁链 lhsl = readPointer('libUE4.so:bss', {0x39AA8,0x0,0x430,0x608,0x38}, 1) --灵魂锁链 ttsl = readPointer('libUE4.so:bss', {0x39AA8,0x0,0x458,0x9B8,0x8,0x560}, 1) --探头锁链 local jznbsl = readPointer('libUE4.so:bss', {0x442588,0x20,0x270}, 1)--矩阵头 --矩阵南北 local jzdxsl = readPointer('libUE4.so:bss', {0x442588,0x20,0x27C}, 1)--+C --矩阵东西 local jzsxsl = readPointer('libUE4.so:bss', {0x442588,0x20,0x29C}, 1)--+2C --矩阵上下 zbxsl = readPointer('libUE4.so:bss', {0x39AA8,0x0,0x1B0,0x1B0}, 1) --坐标x实体 zbysl = readPointer('libUE4.so:bss', {0x39AA8,0x0,0x1B0,0x1B4}, 1) --坐标y实体 zbzsl = readPointer('libUE4.so:bss', {0x39AA8,0x0,0x1B0,0x1B8}, 1) ttlf={} ttlf[1]={} ttlf[1].address=ttsl ttlf[1].flags=16 ttlf[2]={} ttlf[2].address=jznbsl ttlf[2].flags=16 ttlf[3]={} ttlf[3].address=jzdxsl ttlf[3].flags=16 ttlf[4]={} ttlf[4].address=jzsxsl ttlf[4].flags=16 ttlf[5]={} ttlf[5].address=zbxsl ttlf[5].flags=16 ttlf[6]={} ttlf[6].address=zbysl ttlf[6].flags=16 ttlf[7]={} ttlf[7].address=zbzsl ttlf[7].flags=16 jznb=gg.getValues(ttlf)[2].value--矩阵方位南北 jzdx=gg.getValues(ttlf)[3].value--矩阵方位东西 jzsx=gg.getValues(ttlf)[4].value--矩阵方位上下 zbx=gg.getValues(ttlf)[5].value--坐标x zby=gg.getValues(ttlf)[6].value--坐标y zbz=gg.getValues(ttlf)[7].value--坐标z while(true)do--开始循环 tt=gg.getValues(ttlf)[1].value--探头值 if tt<0 then--左探头 gg.edits(ddsl, {{0, 16, 0, false}}) gg.edits(lhsl, {{500, 4, 0, false}}) if jzsx>-0.8 and jzsx<0.5 then--视角中 if jznb<-0.5 and jznb>-1.2 then--南 gg.edits(zbxsl, {{zbx+100, 16, 0, true}}) gg.edits(zbysl, {{zby+300, 16, 0, true}}) gg.edits(zbzsl, {{zbz, 16, 0, true}}) else if jznb>0.5 and jznb<1.2 then--北 gg.edits(zbxsl, {{zbx-100, 16, 0, true}}) gg.edits(zbysl, {{zby-300, 16, 0, true}}) gg.edits(zbzsl, {{zbz, 16, 0, true}}) else if jzdx<-0.5 and jzdx>-1.2 then--西 gg.edits(zbxsl, {{zbx-300, 16, 0, true}}) gg.edits(zbysl, {{zby+100, 16, 0, true}}) gg.edits(zbzsl, {{zbz, 16, 0, true}}) else if jzdx>0.5 and jzdx<1.2 then--东 gg.edits(zbxsl, {{zbx+300, 16, 0, true}}) gg.edits(zbysl, {{zby-100, 16, 0, true}}) gg.edits(zbzsl, {{zbz, 16, 0, true}}) end end end end--东南西北结束 end--视角中结束 if jzsx>0.5 then--视角上 gg.edits(zbxsl, {{zbx, 16, 0, true}}) gg.edits(zbysl, {{zby, 16, 0, true}}) gg.edits(zbzsl, {{zbz+400, 16, 0, true}}) end--视角上结束 if jzsx<-0.8 then--视角下 gg.edits(zbxsl, {{zbx, 16, 0, true}}) gg.edits(zbysl, {{zby, 16, 0, true}}) gg.edits(zbzsl, {{zbz-300, 16, 0, true}}) end--视角下结束 end--左探头结束 if tt>0 then--右探头 gg.edits(ddsl, {{0, 16, 0, false}}) gg.edits(lhsl, {{500, 4, 0, false}}) if jzsx>-0.8 and jzsx<0.5 then--视角中 if jznb<-0.5 and jznb>-1.2 then--南 gg.edits(zbxsl, {{zbx-100, 16, 0, true}}) gg.edits(zbysl, {{zby+300, 16, 0, true}}) gg.edits(zbzsl, {{zbz, 16, 0, true}}) else if jznb>0.5 and jznb<1.2 then--北 gg.edits(zbxsl, {{zbx+100, 16, 0, true}}) gg.edits(zbysl, {{zby-300, 16, 0, true}}) gg.edits(zbzsl, {{zbz, 16, 0, true}}) else if jzdx>-1.2 and jzdx<-0.5 then--西 gg.edits(zbxsl, {{zbx-300, 16, 0, true}}) gg.edits(zbysl, {{zby-100, 16, 0, true}}) gg.edits(zbzsl, {{zbz, 16, 0, true}}) else if jzdx>0.5 and jzdx<1.2 then--东 gg.edits(zbxsl, {{zbx+300, 16, 0, true}}) gg.edits(zbysl, {{zby+100, 16, 0, true}}) gg.edits(zbzsl, {{zbz, 16, 0, true}}) end end end end--东南西北结束 end--视角中结束 if jzsx>0.5 then--视角上 gg.edits(zbxsl, {{zbx, 16, 0, true}}) gg.edits(zbysl, {{zby, 16, 0, true}}) gg.edits(zbzsl, {{zbz+300, 16, 0, true}}) end--视角上结束 if jzsx<-0.8 then--视角下 gg.edits(zbxsl, {{zbx, 16, 0, true}}) gg.edits(zbysl, {{zby, 16, 0, true}}) gg.edits(zbzsl, {{zbz-300, 16, 0, true}}) end--视角下结束 end--右探头结束 if tt == 0 then--不探头 gg.edits(lhsl, {{1000000, 4, 0, false}}) gg.removeListItems(ttlf)--解冻 jznb=gg.getValues(ttlf)[2].value--矩阵方位南北 jzdx=gg.getValues(ttlf)[3].value--矩阵方位东西 jzsx=gg.getValues(ttlf)[4].value--矩阵方位上下 zbx=gg.getValues(ttlf)[5].value--坐标x zby=gg.getValues(ttlf)[6].value--坐标y zbz=gg.getValues(ttlf)[7].value--坐标z end--不探头结束 end gg.toast("开启成功") toMusic('开启成功')---语音 end, close = function(self) gg.toast("无法关闭") string.toMusic('无法关闭') end }, } _ENV['菜单3'] = { name = '音乐', [1] = { name = '搜索歌曲',---8391694libil2cpp.so:bss+0x2E268+0xBB0+0x200+0x798+0x1A60 open = function(self) search = gg.prompt({ "输入要搜索的歌曲\n可加上歌手名字", "设置显示数量(数字)", },g.sel,{ "text", }) if not search then return end gg.saveVariable(search,g.config) bei() go1=search[1] go3=search[2] jg=start(go1,go3) if jg.code == 200 then fh=jg.content fh=json(fh) --print(fh) Play(gqlb,idb) else function inspect() gg.alert("访问网络异常,错误代码:\n\n"..jg.code) end if not pcall(inspect) then print("网络异常,请先连接上网络") os.exit() end end XGCK=-1 end, close = function(self) end }, [2] = { name = '停止播放', open = function(self) gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end, close = function(self) end } } switch2(_ENV['菜单1'], _ENV['菜单2'], _ENV['菜单3']) ---[=[ ]=]------------------------------------------------------------------------------------------------------------------- ---[=[ ]=]-------------------------------------------------------------------------------------------------------------------