do if type(getrlyunyz) ~= 'function' then gg.alert('请使用RLGG执行') os.exit() return end local info = { example_version = '1.0.3', name = '灰灰全防', appid = '65889', appkey = 'bZfHFGeMuQff8lFS', rc4key = 'u7868eQ13Za8H5Ak', version = '1.0', mi_type = '3' } local rlyunyz = getrlyunyz(info) local ret = rlyunyz.start() if not ret or not isTable(ret) or ret.sign ~= '73e7ed5f55fe134cf60c272cfd582f80' then os.exit() return end end ---------上面是验证------- YoYoImpl = luajava.getYoYoImpl() function huiz() string.toMusic('欢迎使用灰灰全防') draw.text('作者:灰灰', 120,300)draw.setColor('#DB70DB') draw.text('灰灰项目', 120,380)draw.setColor('#DB70DB') draw.text('', 120,460)draw.setColor('#DB70DB') draw.setSize(59) draw.setStyle('填充') draw3 = require('draw3') text1 = draw3.text('',150,200)draw.setColor('#00ffff') text2 = draw3.text('',150,265)draw.setColor('#00ffff') end huiz() gg.prevent(3) gg.ptrace(1) 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 changan={} changan.controlBig = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX", { 0, 0.4, 0.7, 1 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 0, 0.4, 0.7, 1 }):setDuration(time):start() end) end changan.controlFlip = function(control,time) luajava.runUiThread(function() import "android.view.animation.Animation" import "android.animation.ObjectAnimator" xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotationY", { 0, 360 }) xuanzhuandonghua:setRepeatCount(0) xuanzhuandonghua:setRepeatMode(Animation.REVERSE) xuanzhuandonghua:setDuration(time) xuanzhuandonghua:start() end) end changan.controlWater = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX", { 1, 0.8, 0.9, 1 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 1,0.8,0.9,1 }):setDuration(time):start() end) end changan.controlSmall = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX", { 1, 0.7, 0.4, 0 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 1, 0.7, 0.4, 0 }):setDuration(time):start() end) end ---------------------------------------------------------------------------------------------------------------- jianbian6 = luajava.new(GradientDrawable) jianbian6:setCornerRadius(10) jianbian6:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian6:setOrientation(GradientDrawable.Orientation.TL_BR) jianbian6:setColors({0xB3000000,0x9CFF0069,0xE500CDEF,0xB3000000}) jianbian6:setStroke(4,"0xB9000000")--边框宽度和颜色 jianbian7 = luajava.new(GradientDrawable) jianbian7:setCornerRadius(40) jianbian7:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian7:setColors({0xFD00FF00}) jianbian7:setStroke(4,"0xffffff00") jianbian8 = luajava.new(GradientDrawable) jianbian8:setCornerRadius(40) jianbian8:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian8:setColors({0xFFDA0F00,0xD44BED3F}) jianbian8:setStroke(4,"0xfffff") jianbian9 = luajava.new(GradientDrawable) jianbian9:setCornerRadius(4) jianbian9:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian9:setColors({0xFFDA0F00,0xD44BED3F}) jianbian9:setStroke(4,"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="#ff0000", 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 getVerticalBG(gtvb1,gtvb3,gtvb4,gtvb5) if not gtvb4 then gtvb4 = 0 gtvb5 = 0xff000000 end local jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(gtvb3) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(gtvb1) jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色 return jianbians end jmbg1={} jmbg2={} for i=1,6 do jmbg1[i]=getVerticalBG({0x33000000,0x33000000},0x33000000,0x33000000) jmbg2[i]=getVerticalBG({0x33000000,0x33000000},0x33000000,0x33000000323) 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) tuichu=1 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) if visibility==VISIBLE then 显示=1 luajava.runUiThread(function() titlet:setVisibility(View.VISIBLE) changan.controlBig(mainLayout,399) end) else 显示=0 luajava.runUiThread(function() titlet:setVisibility(View.GONE) changan.controlFlip(mainLayout,800) end) end end } } mainLayout[#mainLayout + 1] = {LinearLayout, { TextView, id="titlet", text = stitle, textSize = "13.5dp", textColor="#00FF7F", gravity = "center", layout_height = "wrap_content", layout_width="250dp", },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 navigate12 = {--------横线 LinearLayout, layout_width = 'fill_parent', layout_height = "1dp", background = "#000000", } 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] = navigate12 main2Layout[#main2Layout + 1] = navigate2 main2Layout[#main2Layout + 1] = navigate12 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) import("android.media.AudioManager") audi = context:getSystemService("audio") audiotype = { AudioManager.STREAM_ALARM, --手机闹铃的声音 AudioManager.STREAM_MUSIC, --手机音乐的声音 AudioManager.STREAM_NOTIFICATION, --系统提示的通知 AudioManager.STREAM_RING, --电话铃声的声音 AudioManager.STREAM_SYSTEM, --手机系统的声音 AudioManager.STREAM_VOICE_CALL, --语音电话的声音 AudioManager.STREAM_DTMF, --DTMF音调的声音 --AudioManager.STREAM_BLUETOOTH_SCO, } yinl = {} for i = 1,#audiotype do yinl[i] = {} yinl[i].type = audiotype[i] yinl[i].min = audi:getStreamMinVolume(audiotype[i]) yinl[i].max = audi:getStreamMaxVolume(audiotype[i]) yinl[i].now = audi:getStreamVolume(audiotype[i]) end yltype = 0 function jianting3(func) yinln = {} for i = 1,#audiotype do yinln[i] = {} yinln[i].type = audiotype[i] yinln[i].now = audi:getStreamVolume(audiotype[i]) if yinln[i].now > yinl[i].now then yinl[i].now = yinln[i].now if yltype == 1 then yltype = 0 func() end elseif yinln[i].now < yinl[i].now then yinl[i].now = yinln[i].now if yltype == 0 then yltype = 1 func() end end end end floatWindow=mainLayout qiehuan = function() if qhkai == 1 then yinll = 1 qhkai = 0 huiz() luajava.runUiThread(function() floatWindow:setVisibility(View.VISIBLE) changan.controlBig(mainLayout,600) end) else qhkai = 1 yinll = 0 draw.remove() luajava.runUiThread(function() changan.controlSmall(mainLayout,600) end) gg.sleep(800) luajava.runUiThread(function() floatWindow:setVisibility(View.GONE) end) end end local c1 luajava.post(invoke) luajava.newThread(function() while true do if 显示 == 1 then titlet:scrollBy(20,0) if titlet:getScrollX() >= 900 then titlet:scrollBy(-titlet:getScrollX()-1200,0) end end gg.sleep(125) end end):start() luajava.setFloatingWindowHide(true) while true do if tuichu == 1 then break end jianting3(qiehuan) gg.sleep(120) end gg.setVisible(false) luajava.setFloatingWindowHide(false) 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 -- 定义走马灯控件类 显示=1 _ENV['菜单1'] = { name = '防封页面', [1] = { name = '选择进程', open = function(self) string.toMusic("请选择进程") gg.setProcessX() end, close = function(self) string.toMusic("请选择进程") gg.setProcessX() end }, [2] = { name = '防闪功能', open = function(self) 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 = {"libanogs.so:bss", "Cb"} local tt = {0x708} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x9C8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}}) string.toMusic("防闪开启成功") gg.text("开启成功,不可关闭") end, close = function(self) string.toMusic("无法关闭") end }, [3] = { name = '防闪过检', open = function(self) function setvalue(address, value, flags) gg.setValues({{address = address, flags = flags, value = value}}) end ----君王 so=gg.getRangesList('libUE4.so:bss')[1].start py=0x1a366a80 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508ba288 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508bc380 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508bc384 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508bc388 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508bc38c setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508bc390 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508bc394 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508bd79c setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x570a9cd8 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x1a366a80 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508ba288 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508bc380 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508bc384 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508bc388 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508bc38c setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508bc390 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508bc394 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x508bd79c setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so:bss')[1].start py=0x570a9cd8 setvalue(so+py,4,0) gg.text("防闪过检测开启成功") string.toMusic("防闪过检测开启成功") end, close = function(self) string.toMusic("无法关闭") gg.text("防闪过检测开启成功,无法关闭") end }, --cd -- [4] = { -- name = 'LOGO防杀86', -- open = function(self) -- gg.clearResults() -- gg.setRanges(-2080896) -- gg.searchNumber("1,697,128,568", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) -- gg.refineNumber("1,697,128,568", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) -- revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) -- local t = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) -- for i, v in ipairs(t) do -- if v.flags == gg.TYPE_DWORD then -- v.value = "65792" -- v.freeze = true -- end -- end -- gg.addListItems(t) -- gg.clearResults() -- gg.setRanges(-2080896) -- gg.searchNumber("1,650,803,712", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) -- gg.refineNumber("1,650,803,712", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) -- revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) -- local t = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) -- for i, v in ipairs(t) do -- if v.flags == gg.TYPE_DWORD then -- v.value = "65792" -- v.freeze = true -- end -- end -- gg.alert("大厅第二套开启成功") -- gg.toast("大厅第二套开启成功") -- string.toMusic("大厅第二套开启成功") -- end, -- close = function(self) -- string.toMusic("无法关闭") -- end -- }, --cb内存 [4] = { name = '大厅全防', open = function(self) so=gg.getRangesList('libanort.so')[1].start py=0x4 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x470 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0xe50 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0xe54 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0xe58 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0xe5c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0xe60 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0xe64 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0xe68 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0xe6c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0xe70 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1eb4 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1eb8 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1ebc setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1ec0 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1ec4 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1ec8 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1ecc setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1ed0 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1ed4 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1ed8 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1edc setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1ee0 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1ee4 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1ef0 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1ef4 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1ef8 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1efc setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f00 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f04 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f08 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f0c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f10 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f14 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f18 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f1c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f20 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f24 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f28 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f2c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f30 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f34 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f38 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f3c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f40 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f44 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f48 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f4c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f50 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f54 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f58 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f5c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f60 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f64 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f68 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f6c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f70 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f74 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f78 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f7c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f80 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f84 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f88 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f8c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f90 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f94 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f98 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1f9c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1fa0 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1fa4 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1fa8 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1fac setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1fb0 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1fb4 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1fb8 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1fbc setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1fc0 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1fc4 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1fc8 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x1fcc setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x2194 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x2198 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x219c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x21a0 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x3270 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x3274 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x3278 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x327c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x3280 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x3284 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x3288 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x328c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x3290 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x3294 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x3298 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x329c setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x32b8 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x32bc setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x32c0 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x32c4 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x32c8 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x32cc setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x3488 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x34cc setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x34d0 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x34d4 setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x34ec setvalue(so+py,4,0) so=gg.getRangesList('libanort.so')[1].start py=0x34f0 setvalue(so+py,4,0) gg.toast("大厅君王全防第一套启成功") string.toMusic("大厅君王第一套开启成功") end, close = function(self) string.toMusic("无法关闭") end }, [5] = { name = '防禁网2.9', open = function(self) so=gg.getRangesList('libUE4.so')[1].start py=0x3E9D74 setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x3E8EE0 setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x3E8704 setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x367CE4 setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x33576C setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x32221C setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x30C8E4 setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x308A80 setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x308A5C setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x2FFF04 setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x2BA108 setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x2BA05C setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x24CDFC setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x242604 setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x211BE4 setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x1B0FBC setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x192A4C setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x154B9C setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x154B5C setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x8D60C setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x7E5F0 setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x5E47CC setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x59C2D0 setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x4FCE84 setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x475060 setvalue(so+py,4,84149249) so=gg.getRangesList('libUE4.so')[1].start py=0x4642A4 setvalue(so+py,4,84149249) string.toMusic("防禁网开启成功") end, close = function(self) string.toMusic("无法关闭") end }, [6] = { name = '大厅测试①2.9', open = function(self) 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) Table[#Table+1]={address=address,value=value,flags=flags} end Modify(Read('libUE4.so','r--p')+0xfdb30,17048,4) Modify(Read('libUE4.so','r--p')+0xfdbf0,17048,4) Modify(Read('libUE4.so','r--p')+0xfdcb0,17048,4) Modify(Read('libUE4.so','r--p')+0xfdd10,17048,4) Modify(Read('libUE4.so','r--p')+0xfdd70,17048,4) Modify(Read('libUE4.so','r--p')+0xfde30,17048,4) Modify(Read('libUE4.so','r--p')+0xfdef0,17048,4) Modify(Read('libUE4.so','r--p')+0xfdfb0,17048,4) Modify(Read('libUE4.so','r--p')+0x495dc0,17048,4) Modify(Read('libUE4.so','r--p')+0x495e20,17048,4) gg.setValues(Table) gg.alert("局内第一套开启成功") gg.toast("局内第一套开启成功") string.toMusic("局内第一套开启成功") end, close = function(self) string.toMusic("无法关闭") end }, [7] = { name = 'T内部大厅①2.9', open = function(self) local tt = {0x2730} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 17048, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1BE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 17048, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1C20} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 17048, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1C74} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 17048, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1CAC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 17048, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x1CD4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 17048, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x2448} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 17048, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x2470} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 17048, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x2548} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 17048, freeze = true}}) end, close = function(self) string.toMusic("无法关闭") end }, [8] = { name = '全局离线', open = function(self) so=gg.getRangesList('libgcloud.so')[1].start py=0x4231C4 setvalue(so+py,4,1000000001) so=gg.getRangesList('libgcloud.so')[1].start py=0x496224 setvalue(so+py,4,1000000001) gg.toast("全局离线开启成功") string.toMusic("全局离线开启成功") end, close = function(self) so=gg.getRangesList('libgcloud.so')[1].start py=0x4231C4 setvalue(so+py,4,-943238507) so=gg.getRangesList('libgcloud.so')[1].start py=0x496224 setvalue(so+py,4,-943238507) string.toMusic("全局离线关闭成功") end }, [11] = { name = '北念提供防', open = function(self) local t = {"libanogs.so:bss", "Cb"} local tt 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 = {"libanogs.so:bss", "Cb"} local tt = {0x2020} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = -256, freeze = true}}) --@BNNB6 gg.toast("北念开启成功") string.toMusic("北念开启成功") end, close = function(self) string.toMusic("无法关闭") end }, } _ENV['菜单2'] = { name = '功能页面', [1] = { name = '选择进程', open = function(self) string.toMusic("请选择进程") gg.setProcessX() end, close = function(self) string.toMusic("请选择进程") gg.setProcessX() end }, [2] = { name = '广角', open = function(self) local r = gg.prompt({'1.7'}, {'1.7'}, {'text'}) so=gg.getRangesList('libUE4.so')[1].start py=0x334BE48 setvalue(so+py,16,r[1]) gg.toast("广角开启成功") string.toMusic("广角开启成功") end, close = function(self) string.toMusic("无法关闭") end }, [3] = { name = '枪械聚点', open = function(self) so=gg.getRangesList('libUE4.so')[1].start py=0x54E7874 setvalue(so+py,16, 8.47963525e-21) gg.toast("聚点开启成功")--gg.alert弹窗 string.toMusic("聚点开启成功") end, close = function(self) string.toMusic("无法关闭") end }, [4] = { name = '枪械防抖', open = function(self) so=gg.getRangesList('libUE4.so')[1].start py=0x8A09CFC setvalue(so+py,16, 8.8411673e-21) gg.toast("防抖开启成功") string.toMusic("防抖开启成功") end, close = function(self) string.toMusic("无法关闭") end }, [5] = { name = '枪械无后', open = function(self) so=gg.getRangesList('libUE4.so')[1].start py=0x54EC284 setvalue(so+py,16, 8.8411673e-21) so=gg.getRangesList('libUE4.so')[1].start py=0x54EC378 setvalue(so+py,16, 8.8411673e-21) so=gg.getRangesList('libUE4.so')[1].start py=0x54EC3E8 setvalue(so+py,16, 8.8411673e-21) gg.toast("无后开启成功") string.toMusic("无后开启成功") end, close = function(self) string.toMusic("无法关闭") end }, [6] = { name = '枪械瞬击', open = function(self) so=gg.getRangesList('libUE4.so')[1].start py=0x7A133B8 setvalue(so+py,16,8.95671814e-21) so=gg.getRangesList('libUE4.so')[1].start py=0x8969984 setvalue(so+py,16,8.95671814e-21) gg.toast("瞬击开启成功")--上赛季 string.toMusic("瞬间开启成功") end, close = function(self) string.toMusic("无法关闭") end }, [7] = { name = '全图除雾', open = function(self) so=gg.getRangesList('libUE4.so')[1].start py=0x7BC8528 setvalue(so+py,16, 8.95671814e-21) gg.toast("除雾开启成功") string.toMusic("除雾开启成功") end, close = function(self) string.toMusic("无法关闭") end }, [8] = { name = '跳远', open = function(self) local t = {"libUE4.so:bss", "Cb"} local tt = {0x39488,0x0,0x460,0x208} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 99999}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x39488,0x0,0x1010} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 7}}) string.toMusic("跳远开启成功") --上赛季 end, close = function(self) local t = {"libUE4.so:bss", "Cb"} local tt = {0x39488,0x0,0x460,0x208} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 8192}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x39488,0x0,0x1010} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 1}}) end }, [9] = { name = '人物加速', open = function(self) so=gg.getRangesList('libUE4.so')[1].start py=0x8675E3C setvalue(so+py,16,-3.4564993e10) gg.toast("加速开启成功") string.toMusic("加速开启开启成功") end, close = function(self) so=gg.getRangesList('libUE4.so')[1].start py=0x8675E3C setvalue(so+py,16,8.50279631e-21)--上赛季 string.toMusic("加速关闭成功") end }, [10] = { name = '人物大小', open = function(self) k = gg.prompt({"你的数值修改: [1;5]"},{"2"},{"number"}) if k== nil then else R=k[1] local t = {"libUE4.so:bss", "Cb"} local tt = {0x39488,0x0,0x1B0,0x1C0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = R, freeze = true}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x39488,0x0,0x1B0,0x1C4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = R, freeze = true}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x39488,0x0,0x1B0,0x1C8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = R, freeze = true}}) end end, close = function(self) string.toMusic("人物大小关闭成功") --上赛季 end }, [11] = { name = '枪械变大', open = function(self) OP=gg.prompt({'1至10'},{[1]='3'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else local t = {"libUE4.so:bss", "Cb"} local tt = {0x39488,0x0,0xDC8,0x50,0x580} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = OP[1]}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x39488,0x0,0xDC8,0x50,0x584} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = OP[1]}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x39488,0x0,0xDC8,0x50,0x588} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = OP[1]}})--上赛季 end gg.toast("枪械变大开启成功") string.toMusic("枪械开启开启成功") end, close = function(self) end }, [12] = { name = '子弹变大', open = function(self) OP=gg.prompt({'1至50'},{[1]='10'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else local t = {"libUE4.so:bss", "Cb"} local tt = {0x39488,0x0,0xDC8,0x50,0xF78} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = OP[1]}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x39488,0x0,0xDC8,0x50,0xF7C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = OP[1]}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x39488,0x0,0xDC8,0x50,0xF80} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = OP[1]}})--上赛季 end gg.toast("子弹变大开启成功") string.toMusic("子弹变大开启成功") end, close = function(self) end }, [13] = { name = '探头路飞',--上赛季 open = function(self) ddsl = readPointer('libUE4.so:bss', {0x39488,0x0,0x460,0x1C4}, 1) lhsl = readPointer('libUE4.so:bss', {0x39488,0x0,0x90,0x608,0x38}, 1) ttsl = readPointer('libUE4.so:bss', {0x39488,0x0,0x458,0xA00,0x490,0x560}, 1) local jznbsl = readPointer('libUE4.so:bss', {0x47D018,0x20,0x270}, 1)-- local jzdxsl = readPointer('libUE4.so:bss', {0x47D018,0x20,0x27C}, 1)-- local jzsxsl = readPointer('libUE4.so:bss', {0x47D018,0x20,0x29C}, 1)-- zbxsl = readPointer('libUE4.so:bss', {0x39488,0x0,0x1B0,0x1B0}, 1)--x zbysl = readPointer('libUE4.so:bss', {0x39488,0x0,0x1B0,0x1B4}, 1)--y zbzsl = readPointer('libUE4.so:bss', {0x39488,0x0,0x1B0,0x1B8}, 1)--z 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, 4, 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, 4, 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 if gg.isVisible(true) then Yk = gg.alert("检测循环探头路飞时打开修改器","退出脚本","返回主页") gg.sleep(150) if Yk~=1 and CB~=2 then gg.setVisible(false) else end if Yk== 1 then os.exit() end end end end }, [14] = { name = '马可波罗', open = function(self) so=gg.getRangesList('libUE4.so')[1].start py=0x7BC8528--还没抓 setvalue(so+py,16, 8.95671814e-21) gg.toast("马可波罗开启成功") string.toMusic("马可波罗开启成功") end, close = function(self) string.toMusic("无法关闭") end }, } _ENV['菜单3'] = { name = '美化页面', [1] = { name = '选择进程', open = function(self) string.toMusic("请选择进程") gg.setProcessX() end, close = function(self) string.toMusic("请选择进程") gg.setProcessX() end }, [2] = { name = '美化教程', open = function(self) string.toMusic('不知道的代码用代码查询,一局可以使用多个皮肤重新修改代码即可,枪械美化地铁没有效果')---语音 gg.alert('不知道的代码用代码查询,一局可以使用多个皮肤重新修改代码即可,枪械美化地铁没有效果') end, close = function(self) string.toMusic("请选择进程") gg.setProcessX() end }, [3] = { name = '代码查询', open = function(self) string.toMusic("搜索的过程中有点慢,请耐心等待") end, close = function(self) end }, [4] = { 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, 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]) gg.toast((name or "") .. "开启成功, 共修改"..#Table.."个值") end local UE4 = gg.getRangesList("libUE4.so") if not UE4 or #UE4 == 0 then os.exit() end local base_pointer = readPointer('libUE4.so', {0xC36A488,0x0,0x390,0x90,0x390,0x0}, 1) local pointers = { [1] = {pointer = base_pointer + 0x3C, name = "脸部"}, [2] = {pointer = base_pointer + 0x74, name = "头发"}, [3] = {pointer = base_pointer + 0x11C, name = "衣服"}, [4] = {pointer = base_pointer + 0x154, name = "裤子"}, [5] = {pointer = base_pointer + 0x18C, name = "鞋子"}, [6] = {pointer = base_pointer + 0x1C4, name = "背包"}, [7] = {pointer = base_pointer + 0x1FC, name = "头盔"} } local config_path = gg.EXT_FILES_DIR:gsub("%lua$", "") .. "/配置.ini" local config_data = loadfile(config_path) local config = config_data and config_data() if not config or #config == 0 then config = {} end local values = {} local names = {} for i, p in ipairs(pointers) do table.insert(names, p.name.."代码:") table.insert(values, config[i]) end table.insert(names, "是否修改头盔和背包") table.insert(values, config[8]) local options = gg.prompt(names, values, {"number", "number", "1403687", "number", "number", "number", "number", "checkbox"}) if options then gg.saveVariable(options, config_path) for i, p in ipairs(pointers) do if i==6 or i==7 or options[i]==""then else gg.edits(p.pointer-4, {{options[i], 4, 0}}, p.name) end end if options[8] then if options[6]==""then else gg.edits(pointers[6].pointer-4, {{options[6], 4, 0}}, pointers[6].name) end if options[7]==""then else gg.edits(pointers[7].pointer-4, {{options[7], 4, 0}}, pointers[7].name) end end end end, close = function(self) end }, [5] = { name = '背包美化', open = function(self) end, close = function(self) end }, [6] = { name = '头盔美化', open = function(self) local cfg_file = gg.EXT_FILES_DIR.."/"..gg.getFile():match("[^/]+$")..'(白梦头盔.).lua' local chunk = loadfile(cfg_file) local cfg = nil if chunk ~= nil then cfg = chunk() end if cfg == nil then cfg = {1502001093, 1502002093, 1502003093} end h= gg.prompt({ "一级头盔代码", "二级头盔代码", "三级头盔代码", },cfg,{"text","text","text"}) if h == nil then else gg.saveVariable(h, cfg_file) if h[1] == true then h1() end if h[2] == true then h2() end if h[3] == true then h3() end 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 = h[1]}}) 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 = h[2]}}) 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 = h[3]}}) gg.alert("头盔美化成功") end end, close = function(self) end }, [7] = { name = '经典枪械', open = function(self) local UE4 = gg.getRangesList("libUE4.so") if not UE4 or #UE4 == 0 then os.exit() end local base_pointer = readPointer('libUE4.so', {0xC672E60,0x270,0x10,0x30,0x38,0x0}, 1) local pointers = { [1] = {pointer = base_pointer + 0x3C, name = "枪皮"}, [2] = {pointer = base_pointer + 0x74, name = "枪托"}, [3] = {pointer = base_pointer + 0x11C, name = "弹夹"}, [4] = {pointer = base_pointer + 0x154, name = "握把"}, [5] = {pointer = base_pointer + 0x18C, name = "枪口"}, [6] = {pointer = base_pointer + 0x1C4, name = "倍镜"}, [7] = {pointer = base_pointer + 0x1FC, name = "特效"} } local config_path = gg.EXT_FILES_DIR:gsub("%lua$", "") .. "/PUBG配置.ini" local config_data = loadfile(config_path) local config = config_data and config_data() if not config or #config == 0 then config = {} end local values = {} local names = {} for i, p in ipairs(pointers) do table.insert(names, p.name.."代码:") table.insert(values, config[i]) end table.insert(names, "是否修改枪械和特效") table.insert(values, config[8]) local options = gg.prompt(names, values, {"number", "number", "number", "number", "number", "number", "number", "checkbox"}) if options then gg.saveVariable(options, config_path) for i, p in ipairs(pointers) do if i==6 or i==7 or options[i]==""then else gg.edits(p.pointer-4, {{options[i], 4, 0}}, p.name) end end if options[8] then if options[6]==""then else gg.edits(pointers[6].pointer-4, {{options[6], 4, 0}}, pointers[6].name) end if options[7]==""then else gg.edits(pointers[7].pointer-4, {{options[7], 4, 0}}, pointers[7].name) end end end end }, } _ENV['菜单4'] = { 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('http://music.163.com/song/media/outer/url?id=1940086099.mp3') end, close = function(self) end }, [3] = { name = '武家坡', open = function(self) gg.playMusic("http://music.163.com/song/media/outer/url?id=1891431677.mp3") end, close = function(self) end }, [4] = { name = '海阔天空', open = function(self) gg.playMusic("http://music.163.com/song/media/outer/url?id=1357374736.mp3") end, close = function(self) end }, [5] = { name = '光辉岁月', open = function(self) gg.playMusic("http://music.163.com/song/media/outer/url?id=28875158.mp3") end, close = function(self) end }, [6] = { name = '爱情故事', open = function(self) gg.playMusic("http://music.163.com/song/media/outer/url?id=1989479877.mp3") end, close = function(self) end }, [7] = { name = '鬼新娘', open = function(self) gg.playMusic("http://music.163.com/song/media/outer/url?id=1854927969.mp3") end, close = function(self) end }, [8] = { name = '释怀歌曲', open = function(self) gg.playMusic('http://music.163.com/song/media/outer/url?id=1940376172.mp3') end, close = function(self) end }, [9] = { name = '我结婚了', open = function(self) gg.playMusic('http://music.163.com/song/media/outer/url?id=1879904599.mp3') end, close = function(self) end }, [10] = { name = '喜欢你', open = function(self) gg.playMusic("http://music.163.com/song/media/outer/url?id=346163&uct2.mp3") end, close = function(self) end }, [11] = { name = '可不可以', open = function(self) gg.playMusic("http://music.163.com/song/media/outer/url?id=553755659.mp3") end, close = function(self) end }, [12] = { name = '原神启动', open = function(self) gg.playMusic("http://music.163.com/song/media/outer/url?id=2056964874.mp3") end, close = function(self) end }, [13] = { name = '心做DJ', open = function(self) gg.playMusic("http://music.163.com/song/media/outer/url?id=2005190306.mp3") end, close = function(self) end }, [14] = { name = '停止播放', open = function(self) gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end, close = function(self) gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end } } stitle = "灰灰全防\n作者:灰灰\n持续更新项目\n●●●●●●●\n频道@huikjnb666"--滚动字体 switch2(_ENV['菜单1'], _ENV['菜单2'], _ENV['菜单3'],_ENV['菜单4']) -----↑这里是登录成功后进入的界面或悬浮窗↑-----