gnvibra = context:getSystemService(Context.VIBRATOR_SERVICE) jianbian7 = luajava.new(GradientDrawable) jianbian7:setCornerRadius(0) jianbian7:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian7:setColors({ 0x6600FF76,0x9900A5FF }) jianbian7:setStroke(0,"0xffffffff") 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 Winter={} function panduan(rec ) fille , err = io.open(rec ) if fille == nil then return false else return true end end function pdcf(lujing ) rec = "/storage/emulated/0/小烁配置/配置文件/"..lujing fille , err = io.open(rec ) if fille == nil then return false else return true end end sleep = gg.sleep -- if gg.isHTTPdump()==true and panduan("/storage/emulated/0/温特配置/配置文件/vpn.txt") == false then gg.alert("\n抓包?") os.exit() end --function read(fileName ) -- f = assert(io.open(fileName , 'r' ) ) content = f : read("*all" ) f : close() return content --end function wtcf(lujing , neirong ) write("/storage/emulated/0/小烁配置/配置文件/"..lujing , neirong ) end function rdcf(lujing ) return read("/storage/emulated/0/小烁配置/配置文件/"..lujing ) end wannian = { } local wannian = wannian local android = import('android.*' ) function write(fileName , content ) -- f = assert( io.open( fileName, 'w')) f:write( content ) f:close() if file.write(fileName , content ) == false then gg.alert("请给框架和修改器 文件储存权限\n否则无法正常运行" ) os.exit() end end function panduan(rec ) fille , err = io.open(rec ) if fille == nil then return false else return true end end function pdcf(lujing ) rec = "/sdcard/小烁配置/配置文件/"..lujing fille , err = io.open(rec ) if fille == nil then return false else return true end end sleep = gg.sleep -- if gg.isHTTPdump()==true and panduan("/sdcard/温特配置/配置文件/vpn.txt") == false then gg.alert("\n抓包?") os.exit() end --function read(fileName ) -- f = assert(io.open(fileName , 'r' ) ) content = f : read("*all" ) f : close() return content --end function wtcf(lujing , neirong ) write("/sdcard/小烁配置/配置文件/"..lujing , neirong ) end function rdcf(lujing ) return read("/sdcard/小烁配置/配置文件/"..lujing ) end function pmusic(x ) if audiokg == "开" then tmp1 = 0 gg.playMusic(x ) tmp1 = 1 end end if pdcf("audio" ) ~= true then wtcf("audio" , "开" ) end audiokg = rdcf("audio" ) function camusic(ress ) tmp1 = 0 if audiokg == "开" then if panduan("/sdcard/小烁配置/音频/"..ress ) == true then pmusic("/sdcard/小烁配置/音频/"..ress ) tmp1 = 1 else download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..ress , "/sdcard/小烁配置/音频/"..ress ) pmusic("/sdcard/小烁配置/音频/"..ress ) tmp1 = 1 end end end local context = app.context local window = context : getSystemService("window" ) -- 获取窗口管理器 function getLayoutParams() LayoutParams = WindowManager.LayoutParams layoutParams = luajava.new(LayoutParams ) if(Build.VERSION.SDK_INT >= 26 ) then -- 设置悬浮窗方式 layoutParams.type = LayoutParams.TYPE_APPLICATION_OVERLAY else layoutParams.type = LayoutParams.TYPE_PHONE end layoutParams.format = PixelFormat.RGBA_8888 -- 设置背景 layoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE layoutParams.gravity = Gravity.TOP | Gravity.LEFT -- 重力设置 layoutParams.width = LayoutParams.WRAP_CONTENT -- 布局宽度 layoutParams.height = LayoutParams.WRAP_CONTENT -- 布局高度 return layoutParams end Winter.controlRotation2 = function(control, time) luajava.runUiThread(function() import "android.view.animation.Animation" import "android.animation.ObjectAnimator" xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotation", { 0, 360 }) xuanzhuandonghua:setRepeatCount(0) xuanzhuandonghua:setRepeatMode(Animation.RESTART) xuanzhuandonghua:setDuration(time) xuanzhuandonghua:start() end) end slctb = luajava.loadlayout { GradientDrawable , color = "#00000000" , cornerRadius = 0 } function wknm() jianbian11 = luajava.new(GradientDrawable) jianbian11:setCornerRadius(0) jianbian11:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian11:setColors({ 0xff2F3032,0xff2F3032 }) jianbian11:setStroke(1,"0xddffffff")--边框宽度和颜色 return jianbian11 end jianbian6 = luajava.new(GradientDrawable) jianbian6:setCornerRadius(0) jianbian6:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian6:setColors({0xff2F3032,0xff2F3032}) jianbian6:setStroke(0.2,"0xddffffff")--边框宽度和颜色 wannian.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 wannian.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 wannian.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 wannian.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 slcta = jianbian6 slctc = luajava.loadlayout { GradientDrawable , color = "#FF69B4" , cornerRadius = 30 } slctd = luajava.loadlayout { GradientDrawable , color = "#FF69B4" , cornerRadius = 30 } slcte = luajava.loadlayout { GradientDrawable , color = "#FF69B4" , cornerRadius = 30 } slctf = luajava.loadlayout { GradientDrawable , color = "#dd000000" , cornerRadius = 30 } function getSelector3() selector = luajava.getStateListDrawable() selector : addState({ android.R.attr.state_pressed } , slcte ) -- 点击时候的背景 selector : addState({ - android.R.attr.state_pressed } , slctf ) -- 没点击的背景 return selector end function getSelector4() selector = luajava.getStateListDrawable() selector : addState({ android.R.attr.state_checked } , slcte ) -- 点击时候的背景 selector : addState({ - android.R.attr.state_checked } , slctf ) -- 没点击的背景 return selector end function getSelector() selector = luajava.getStateListDrawable() selector : addState({ android.R.attr.state_pressed } , slcta ) -- 点击时候的背景 selector : addState({ - android.R.attr.state_pressed } , slctb ) -- 没点击的背景 return selector end function getSelector2() selector = luajava.getStateListDrawable() selector : addState({ android.R.attr.state_pressed } , slctd ) -- 点击时候的背景 selector : addState({ - android.R.attr.state_pressed } , slctc ) -- 没点击的背景 return selector end function getcolor(cl ) cl [ 1 ] = tonumber(math.ceil(cl [ 1 ] * 2.6 , 0 , 5 ) ) if cl [ 1 ] > 255 then cl [ 1 ] = "0xff" else cl [ 1 ] = "0x"..string.format("%x" , cl [ 1 ] ) end for i = 1 , 3 do cl [ i + 1 ] = string.format("%x" , cl [ i + 1 ] ) if string.len(cl [ i + 1 ] ) == 1 then cl [ i + 1 ] = "0"..cl [ i + 1 ] end end cl = cl [ 1 ]..cl [ 2 ]..cl [ 3 ]..cl [ 4 ] return cl end function getrgb(cl ) if string.sub(cl , 1 , 1 ) == "#" then cl = "0x"..string.sub(cl , 2 , -1 ) end cl = { tonumber(string.sub(cl , 0 , 4 ) ) , tonumber("0x"..string.sub(cl , 5 , 6 ) ) , tonumber("0x"..string.sub(cl , 7 , 8 ) ) } return cl end jianbian = luajava.new(GradientDrawable ) jianbian : setCornerRadius(30 ) jianbian : setGradientType(GradientDrawable.LINEAR_GRADIENT ) local isswitch YoYoImpl = luajava.getYoYoImpl() wannian.menu = function(sview ) if # sview < # stab then gg.alert("错误:菜单配置表少于菜单导航栏数量" ) return false end isswitch = true cebian = { LinearLayout , id = "侧边" , visibility = "gone" , layout_height = "wrap_content" , layout_width = "43dp" , padding = "2dp" , orientation = "vertical" , background = wknm(), } for i = 1 , # stab do _ENV["jm"..i]=luajava.loadlayout({ LinearLayout , --id = "jm"..i , layout_height = "55dp" , layout_width = "40dp" , onClick = function() 切换(i ) wannian.controlFlip(_ENV["jm"..i],800) end , gravity = "center" , { TextView , id = "jm"..i.."tu" , text = stab [ i ] , gravity = "center" , layout_height = "wrap_content" , layout_width = "wrap_content" , } }) cebian [ # cebian + 1 ] = _ENV["jm"..i] end cebian = luajava.loadlayout(cebian ) for i = 1 , # stab do _ENV [ "layout"..i ] = luajava.loadlayout({ ScrollView , fillViewport = "true" , id = "layout"..i , visibility = "gone" , layout_width = "300dp" , background = wknm(), layout_height = "250dp" , orientation = "horizontal" , { LinearLayout , id = "layoutm"..i , gravity = "top" , padding = "8dp" , layout_width = 'fill_parent' , layout_height = "wrap_content" , orientation = "vertical" , } } ) end title = luajava.loadlayout({ LinearLayout , id = "titl" , visibility = "gone" , layout_width = "wrap_content" , layout_height = "30dp" , background = wknm(), gravity = "center" , { LinearLayout , layout_marginLeft = "0dp" , layout_width = "240dp" , gravity = "center" , orientation="vertical", {TextView, layout_width = "170dp" , layout_height = "40dp" , text = stitle , textColor="#FFFFFF", textSize = "15sp" , gravity = "center" , layout_marginTop = "0dp" , layout_marginLeft = "-60dp" , }, } , { ImageView , id = "exit" , src = "/sdcard/小烁配置/图片/argreenx" , layout_width = "20dp" , layout_height = "20dp" , layout_marginTop = "0dp" , layout_marginLeft = "40dp" , } } ) gnlist = { LinearLayout , orientation = "vertical" , title , } for i = 1 , # stab do gnlist [ # gnlist + 1 ] = _ENV [ "layout"..i ] end ckou = luajava.loadlayout({ LinearLayout , id = "chuangk" , visibility = "gone" , layout_width = "match_parent" , layout_height = "match_parent" , orientation = "horizontal" , background = wknm(), cebian , gnlist , } ) control1=luajava.loadlayout({ ImageView , id = "control" , background = 悬浮窗图片 ,----arlogo layout_width = "44dp" , layout_height = "44dp" , }) floatWindow = { LinearLayout , id = "motion" , layout_width = "250dp" , orientation = "vertical" , gravity = "center_vertical" , layout_height = "wrap_content" , { LinearLayout , layout_width = "match_parent" , layout_height = "48dp" , id = "xfc" , orientation = "horizontal" , -- background = jianbian2, gravity = "center_vertical" , { LinearLayout , layout_width = "48dp" , layout_height = "48dp" , gravity = "center" , control1 } , } , ckou } floatWindow = luajava.loadlayout(floatWindow ) local function invoke() local ok local RawX , RawY , x , y mainLayoutParams = getLayoutParams() -- floatWindow = luajava.loadlayout(floatWindow) local function invoke2() block('start' ) for k = 1 , # stab do for i = 1 , # sview [ k ] do _ENV [ "layoutm"..k ] : addView(sview [ k ] [ i ] ) end end window : addView(floatWindow , mainLayoutParams ) block('end' ) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) block('join') control.onClick = function() 隐藏() end local c1 setOnAudioListener(function() local c2 = os.time() if not c1 or c2 - c1 > 1 then c1 = c2 luajava.runUiThread(function() 隐藏() end) end end) control.onClick = function() 隐藏() end local isMove control.onLongClick = function(v ) if isMove then return false end gg.toast("悬浮窗已退出" ) window : removeView(floatWindow ) isswitch = nil end hanshu = function(v , event ) local Action = event : getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event : getRawX() RawY = event : getRawY() x = mainLayoutParams.x y = mainLayoutParams.y elseif Action == MotionEvent.ACTION_MOVE then isMove = true mainLayoutParams.x = tonumber(x ) +(event : getRawX() - RawX ) mainLayoutParams.y = tonumber(y ) +(event : getRawY() - RawY ) window : updateViewLayout(floatWindow , mainLayoutParams ) end end motion.onTouch = hanshu control.onTouch = hanshu exit.onTouch = hanshu for i = 1 , # stab do _ENV [ "jm"..i ].onTouch = hanshu end end return invoke(swib1 , swib2 ) end 当前ui = 1 function 切换(x ) 当前ui = x luajava.runUiThread(function() for i = 1 , # stab do _ENV [ "jm"..i ] : setBackground(slctb ) _ENV [ "layout"..i ] : setVisibility(View.GONE ) end _ENV [ "layout"..当前ui ] : setVisibility(View.VISIBLE ) _ENV [ "jm"..当前ui ] : setBackground(slcta ) YoYoImpl : with("FadeIn" ) : duration(600 ) : playOn(_ENV [ "layout"..当前ui ] ) end ) end 显示 = 0 beij = luajava.loadlayout({ GradientDrawable , color = "#00000000" , cornerRadius = 30 } ) beij2 = luajava.loadlayout({ GradientDrawable , color = "#00000000" , cornerRadius = 30 } ) 显示=0 function 隐藏() luajava.runUiThread(function() ---control:setBackground(luajava.getBitmapDrawable("https://pan.szfx.top/view.php/a9c3a4861da09b31c33b3d35b6686a4d.png")) if tonumber(tostring(cebian:getVisibility())) == 8.0 then cebian:setVisibility(View.VISIBLE) floatWindow:setVisibility(View.VISIBLE) title:setVisibility(View.VISIBLE) chuangk:setVisibility(View.VISIBLE) cebian:setVisibility(View.VISIBLE) title:setVisibility(View.VISIBLE) mainLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL window:updateViewLayout(floatWindow, mainLayoutParams) YoYoImpl:with("SlideInDown"):duration(600):playOn(cebian) _ENV["layout"..当前ui]:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(500):playOn(_ENV["layout"..当前ui]) floatWindow:setBackground(beij) xiaoyi.controlBig(floatWindow,900) else luajava.runUiThread(function()mainLayoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE window:updateViewLayout(floatWindow, mainLayoutParams) end) --control:setBackground(luajava.getBitmapDrawable("https://pan.szfx.top/view.php/a9c3a4861da09b31c33b3d35b6686a4d.png")) title:setVisibility(View.GONE) floatWindow:setVisibility(View.GONE) floatWindow:setBackground(beij2) chuangk:setVisibility(View.GONE) cebian:setVisibility(View.GONE) _ENV["layout"..当前ui]:setVisibility(View.GONE) xiaoyi.controlFlip2 (floatWindow , 900 ) end end) end function guid() seed = { 'e','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' } tb = {} for i = 1,32 do table.insert(tb,seed[math.random(1,16)]) end sid = table.concat(tb) return string.format('%s%s%s%s%s', string.sub(sid,1,8), string.sub(sid,10,12), string.sub(sid,21,22)) ..string.format('%s%s%s%s%s', string.sub(sid,1,6), string.sub(sid,21,25) ) end chazhi = {} chajv = {} function wannian.seek(name,bian,smin,smax,nows) _ENV[bian] = nows smin = tonumber(smin) smax = tonumber(smax) chajv[bian] = smax-smin chazhi[bian] = 1-smin if smin == nil then smin = 1 smax = 10 end truesmin = 1 truesmax = truesmin+chajv[bian] if not nows then nows = smin tnows = (smin-nows) else tnows = (nows-smin)+1 end if _ENV[bian] == nil then _ENV[bian] = 1.0 end if not name then name = "未设置" end local names = name..guid() rest = luajava.loadlayout({ LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", { LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", layout_marginTop = "5dp", layout_marginBottom = "5dp", layout_marginLeft = "10dp", layout_marginRight = "10dp", gravity = "center_vertical", background = getseekgra(), { TextView, gravity = "top", text = name..":"..nows, id = luajava.newId(names), layout_width = '70dp', layout_marginLeft = "5dp", layout_marginRight = "0dp", }, { SeekBar, layout_width = '120dp', min = truesmin, max = truesmax, progress = tnows, onSeekBarChange = { onProgressChanged = function(SeekBar, var2, var3) if not var3 then return end local resultvar = tonumber(string.sub(var2,0,-3))-chazhi[bian] luajava.runUiThread(function() luajava.getIdValue(names):setText(name..":".. resultvar) end) _ENV[bian] = resultvar end }} }}) return rest end function wannian.button(name,func1,func2) local func = 开关(name..guid(),func1,func2) if not name then name = "未设置" end local rest = luajava.loadlayout({ LinearLayout, layout_width = '220dp', layout_height = "30dp", layout_marginTop="5dp", layout_marginBottom="5dp", { LinearLayout, layout_width = '220dp', layout_height = "30dp", gravity = "center_vertical", background = getShape3(), { TextView, gravity = "top", text = name, layout_width = '150dp', layout_marginLeft = "10dp", }, { Switch, gravity = "top", layout_width = 'match_parent', layout_hight = "10dp", --id=luajava.newId(tid), switchMinWidth = "20dp", onCheckedChange = function(Switch,var2,var3) if var2 == true then var2 = "开" else var2 = "关" end luajava.newThread(function() func() end):start() end, }} }) return rest end function wannian.edit(name) _ENV[name] = name..guid() if not name then name = "点击输入文字" end local rest = luajava.loadlayout({ LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", { LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", layout_marginTop = "5dp", layout_marginBottom = "5dp", layout_marginLeft = "10dp", layout_marginRight = "10dp", gravity = "center_vertical", background = getseekgra(), { EditText, gravity = "top", hint = name, gravity = "center", id = luajava.newId(_ENV[name]), layout_width = 'fill', layout_marginLeft = "10dp", layout_marginRight = "10dp", }} }) return rest end function wannian.radio(radio) firadio = { LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", padding = "10dp", orientation = "vertical" } if type(radio[1]) == "string" or type(radio[1]) == "number" then firadio[#firadio+1] = { TextView,text = radio[1]} end radios = { RadioGroup,background = getseekgra(), layout_width = 'fill_parent', } for i = 2,#radio do radios[#radios+1] = { RadioButton, layout_width = 'fill_parent', text = radio[i][1], onClick = function() luajava.newThread(function() pcall(radio[i][2]) end):start() end, } end firadio[#firadio+1] = radios return luajava.loadlayout(firadio) end function wannian.button(txt,func) if not txt then txt = "未设置" end return luajava.loadlayout( { LinearLayout, layout_width = '280dp', layout_hight = "45dp", { LinearLayout, layout_width = "fill_parent", gravity = "center_horizontal", layout_marginTop = "5dp", layout_marginBottom = "5dp", background = getShape3(), onClick = function() luajava.newThread(function() pcall(func) end):start() end, { TextView, --id = luajava.newId(tid), text = txt, textSize = "16sp", layout_width = "wrap_content", }, }}) end function wannian.text(txt,color,size) if not txt then txt = "未设置文字" end if not color then color = "#ffffff" end if not size then size = "18sp" end return luajava.loadlayout( { TextView, text = txt, textSize = size, textColor = color, layout_width = "wrap_content", }) end corb = true function wannian.setedit(name,txt) txt = tostring(txt) luajava.runUiThread(function() luajava.getIdValue(_ENV[name]):setText(txt) end) end function wannian.getedit(name) --gg.alert(edit) edit = tostring(luajava.getIdValue(_ENV[name]):getText()) return edit end function 开关(name,func1,func2) if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then _ENV[name] = "开" pcall(func1) else _ENV[name] = "关" pcall(func2) end end end end paramt = {} titletable = {} corb = true function getLayoutParams2() local prm = luajava.new(WindowManager.LayoutParams) layoutParams1 = prm if (Build.VERSION.SDK_INT >= 26) then -- 设置悬浮窗方式 layoutParams1.type = prm.TYPE_APPLICATION_OVERLAY else layoutParams1.type = prm.TYPE_PHONE end layoutParams1.format = PixelFormat.RGBA_8888 -- 设置背景 layoutParams1.flags = prm.FLAG_NOT_FOCUSABLE -- 焦点设置Finish layoutParams1.gravity = Gravity.CENTER -- 重力设置 layoutParams1.width = prm.WRAP_CONTENT -- 布局宽度 layoutParams1.height = prm.WRAP_CONTENT -- 布局高度 return layoutParams1 end namelist = {} param1 = {} floattable = {} function wannian.newfloat(name,func1,func2) floattable[name] = 1 local func = 开关(name.."k",func1,func2) window = context:getSystemService("window") -- 获取窗口管理器 local function invoke(name,func1,func2) if not name then name = "未设置" end nameid = name..guid() local ok local RawX, RawY, x, y nameid1 = name..guid() if not namelist[name] then namelist[name] = false end if namelist[name] ~= false then clclcl = "#75ff0000" else clclcl = "#880CFF76" end param1[name] = getLayoutParams2() _ENV[name] = luajava.loadlayout( { LinearLayout, layout_width = "40dp", id = luajava.newId(nameid1), layout_height = "40dp", background = luajava.loadlayout { GradientDrawable, color = clclcl, cornerRadius = 30 }, onClick = function() if namelist[name] == false then _ENV[name]:setBackground(luajava.loadlayout { GradientDrawable, color = "#75ff0000", cornerRadius = 30 }) namelist[name] = true elseif namelist[name] == true then _ENV[name]:setBackground(luajava.loadlayout { GradientDrawable, color = "#880CFF76", cornerRadius = 30 }) namelist[name] = false end luajava.newThread(function() pcall(func) end):start() end, onTouch = function(v, event) local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event:getRawX() RawY = event:getRawY() x = param1[name].x y = param1[name].y elseif Action == MotionEvent.ACTION_MOVE then isMove = true param1[name].x = tonumber(x) + (event:getRawX() - RawX) param1[name].y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(_ENV[name], param1[name]) end end, { TextView, text = name, gravity = "center", layout_width = "50dp", layout_height = "50dp", } }) local function invoke2() window:addView(_ENV[name], param1[name]) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) end invoke(name,func1,func2) end function wannian.rmvfloat(name) floattable[name] = 0 local function invoke2() window:removeView(_ENV[name], param1[name]) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) end function 开关2(name,func1,func2,nid) if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then luajava.runUiThread(function() luajava.getIdValue(nid):setBackground(luajava.getBitmapDrawable("/sdcard/小烁配置/图片/check2")) end) _ENV[name] = "开" func1() else luajava.runUiThread(function() luajava.getIdValue(nid):setBackground(luajava.getBitmapDrawable("/sdcard/小烁配置/图片/check1")) end) _ENV[name] = "关" func2() end end end end function visi(tid , ttid ) local tview = luajava.getIdValue(tid ) local ttview = luajava.getIdValue(ttid ) if not tview then return 0 end if tonumber(tostring(tview : getVisibility() ) ) == 8.0 then tview : setVisibility(View.VISIBLE ) ttview : setBackground(luajava.getBitmapDrawable("/sdcard/小烁配置/图片/hsj" ) ) else tview : setVisibility(View.GONE ) ttview : setBackground(luajava.getBitmapDrawable("/sdcard/小烁配置/图片/sj" ) ) end end function wannian.box(views ) local tid = "box"..guid() local ttid = tid.."6" local t1id=guid() firadio = { LinearLayout , layout_width = 'fill_parent' , layout_height = "wrap_content" , layout_marginTop = "2dp" , layout_marginBottom = "2dp" , orientation = "vertical" , background = houmian(), } if type(views [ 1 ] ) == "string" or type(views [ 1 ] ) == "number" then firadio [ # firadio + 1 ] = { LinearLayout , layout_width = 'fill_parent' , layout_height = "30dp" , gravity = "center_vertical" , layout_marginTop = "2dp" , layout_marginBottom = "4dp" , background = kaixin(), onClick = function() wannian.controlWater(_ENV[t1id],200) visi(tid , ttid ) end , { ImageView , layout_marginLeft = "10dp" , id = luajava.newId(ttid ) , background = "/sdcard/小烁配置/图片/sj" , layout_width = "20dp" , layout_height = "20dp" , layout_marginTop = "0dp" , } , { TextView , text = views [ 1 ] , textSize = "16sp" , layout_marginLeft = "15dp" , layout_width = "100dp" , textColor = "#ffffff" , gravity = "left" , } } else gg.alert("wannian.box第一个参数必须是string" ) os.exit() end radios = { LinearLayout , layout_marginLeft = "0dp" , layout_marginRight = "0dp" , orientation = "vertical" , visibility = "gone" , id = luajava.newId(tid ) , padding = "0dp" , layout_width = 'fill_parent' , } for i = 2 , # views do radios [ # radios + 1 ] = views [ i ] end firadio [ # firadio + 1 ] = radios _ENV[t1id]=luajava.loadlayout(firadio ) return _ENV[t1id] end function wannian.check(cklist) local rest = { GridLayout, columnCount = '3', layout_width = 'match_parent', layout_height = "wrap_content", layout_marginLeft = "3dp", layout_marginRight = "3dp", gravity = "center" } for i = 1,#cklist do local name = cklist[i][1] local func1 = cklist[i][2] local func2 = cklist[i][3] if not name then name = "未设置" end rstt = wannian.intcheck(name,func1,func2) rest[#rest+1] = rstt end return luajava.loadlayout({ LinearLayout,rest }) end function wannian.intcheck(name,func1,func2) nid = name..guid() local func = 开关3(name,func1,func2,nid) if not name then name = "未设置" end local rest = luajava.loadlayout({ LinearLayout, layout_width = 'wrap_content', layout_height = "50dp", layout_marginTop = "1dp", layout_marginBottom = "1dp", padding = "1dp", { LinearLayout, onClick = function() luajava.newThread(function() func() end):start() end, layout_width = 'fill_parent', background = houmian(), layout_height = "45dp", gravity = "center_vertical", { TextView, gravity = "left", text = name, textColor="#FFFFFFFF", textSize = "12sp", gravity="center", --layout_marginLeft="8dp", layout_width = '45dp', }, { FrameLayout, id = luajava.newId(nid), background = checkbg, layout_width = '40dp', layout_height = '20dp', padding = "0dp", { LinearLayout, layout_gravity = "left|center", id = luajava.newId(nid.."k"), background = checkbg1, layout_width = '20dp', layout_height = '20dp', }, { LinearLayout, visibility = "gone", layout_gravity = "right|center", id = luajava.newId(nid.."g"), background = checkbg2, layout_width = '20dp', layout_height = '20dp', } }} }) return rest end function 开关3(name,func1,func2,nid) _ENV [ name ] = "关" if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1 ) == "function" then return function() namers = _ENV [ name ] if namers ~= "开" then luajava.runUiThread(function() luajava.getIdValue(nid.."k"):setVisibility(View.GONE) luajava.getIdValue(nid.."g"):setVisibility(View.VISIBLE) luajava.getIdValue(nid):setBackground(checkbga) end) _ENV [ name ] = "开" pcall(func1 ) else luajava.runUiThread(function() luajava.getIdValue(nid.."g"):setVisibility(View.GONE) luajava.getIdValue(nid.."k"):setVisibility(View.VISIBLE) luajava.getIdValue(nid):setBackground(checkbg) end) _ENV [ name ] = "关" pcall(func2 ) end end end end function getShape3() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(12) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({0x00000000,0x00000000}) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(2,0xaaffffff)--边框宽度和颜色 return jianbians end function getShape(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(8,tmp3)--边框宽度和颜色 return jianbians end function getShape2(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(8,tmp3)--边框宽度和颜色 return jianbians end function houmian() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(10) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({0xff2F3032,0xff2F3032}) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(4,0xaaffffff)--边框宽度和颜色 return jianbians end function kaixin() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(10) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({0xff2F3032,0xff2F3032}) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(1,0xaaffffff)--边框宽度和颜色 return jianbians end checkbg = getShape( 45, { 0x00A4A8B7,0x00A4A8B7 }, 4,0xffA4A8B7) checkbg1 = getShape2( 45, { 0xffffffff,0xffffffff }, 4,0xffffffff) checkbg2 = getShape2( 45, { 0xff008BFF,0xffA32CFF }, 4,0xffffffff) function tuichu() window : removeView(floatWindow ) luajava.setFloatingWindowHide(false ) bloc("end" ) end ---你的功能前置放这里↑↑↑下边调用 ---⚠️⚠注意事项⚠️: ---尽量少用运行慢的搜索 ---UI支持多线程,但gg本身不支持多线程 ---所以搜索慢了又开启下一个搜索容易被打断 ---导致功能无效 ---结尾bloc不要动 -- 控件类型: -- wannian.box 套娃 -- wannian.seek 拉条 -- wannian.button 按钮 -- wannian.text 文字 -- wannian.radio 单选 -- wannian.check勾选 -- wannian.edit 输入框 -- (调用wannian.getedit 获取输入框内容) -- (调用wannian.setwdit 设置输入框内容) -- 以上控件在下边全部有对应示例 -- 写的乱 自己看 string.toMusic("欢迎使用 小烁换装备加速") draw.setStyle('填充') draw.text('〖小烁加速〗', 360,250)draw.setColor('#00fff9') draw.text('', 500,350)draw.setColor('#00fff9') draw.setColor("#44b4Fd")--16色颜色配置 色配置 悬浮窗图片="https://cccimg.com/view.php/c9ed755f866c3fa257ad2ffbf5aef0bc.png" stab = { "主页" , "防封" , "功能" , "音乐" , "设置" , } stitle="小烁换装备加速" wannian.menu( { --第一页 {wannian.box({"公告", wannian.text("欢迎使用小烁加速\n祝用户们稳定奔放") }), wannian.box({"更新日志", wannian.text("更新于2025\n℡℡℡℡") }), wannian.button("选择进程", function() gg.setProcessX() end ), wannian.check({ { "防闪1", function() 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 = {"libtersafe.so:bss", "Cb"} local tt = {0x3F8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 3, freeze = true}}) gg.toast("防闪开启成功") end, function() end }, { "复制ks", function() tst("2741794648") end, function() end }, { "防闪2", function() 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 = {"libtersafe.so:bss", "Cb"} local tt = {0x3F8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 3, freeze = true}}) gg.toast('防闪2大厅开启成功') end, function() end } }), }, --第二页 { wannian.button("选择进程", function() gg.setProcessX() end ), wannian.check({ { "logo", function() local t = {"libanogs.so:bss", "Cb"} local tt = {0x9918} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x9B88} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0xA4C8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0xAA88} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0xAF74} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0xFAAC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0xFE60} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x101E4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x105BC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x10C70} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x10F08} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) string.toMusic('LOGO过检测开启成功')---语音 end, function() string.toMusic('无法关闭')---语音 end }, { "登陆防", function() gg.addListItems({ { address = S_Pointer({ "libUE4.so:bss", "Cb" }, {1497152}, true), flags = 4, value = 131328, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libUE4.so:bss", "Cb" }, {1497176}, true), flags = 4, value = 131328, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libUE4.so:bss", "Cb" }, {1497184}, true), flags = 4, value = 131328, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libUE4.so:bss", "Cb" }, {1497200}, true), flags = 4, value = 131328, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libUE4.so:bss", "Cb" }, {1497208}, true), flags = 4, value = 131328, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libUE4.so:bss", "Cb" }, {1497216}, true), flags = 4, value = 131328, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libUE4.so:bss", "Cb" }, {1497224}, true), flags = 4, value = 131328, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libUE4.so:bss", "Cb" }, {1497256}, true), flags = 4, value = 131328, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libUE4.so:bss", "Cb" }, {1497264}, true), flags = 4, value = 131328, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libUE4.so:bss", "Cb" }, {1497288}, true), flags = 4, value = 131328, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libUE4.so:bss", "Cb" }, {1497296}, true), flags = 4, value = 131328, freeze = true } }) gg.toast("登录防封开启成功") string.toMusic("登录防封开启成功") end, function() end }, { "登陆防2", function() gg.toast('防登录开启成功') local tt = {0xAF7C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 16512, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xAF9C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 16512, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xAFA8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 16512, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xAFB4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 16512, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xAFE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 16512, freeze = true}}) local tt = {0xAF7C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 16512, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xAF9C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 16512, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xAFA8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 16512, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xAFB4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 16512, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0xAFE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 16512, freeze = true}}) end, function() end }, { "大厅防", function() gg.loopKillGG() local t = {"libcubehawk.so:bss", "Cb"} local tt = {0x1548} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 12304, freeze = true}}) local t = {"libcubehawk.so:bss", "Cb"} local tt = {0x1950} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 12304, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x12774} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 12304, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x14138} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 12304, freeze = true}}) local t = {"libcubehawk.so:bss", "Cb"} local tt = {0x2378} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 12304, freeze = true}}) local t = {"libcubehawk.so:bss", "Cb"} local tt = {0x4A98} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 12304, freeze = true}}) local t = {"libtprt.so:bss", "Cb"} local tt = {0x460} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 12304, freeze = true}}) local t = {"libtersafe.so:bss", "Cb"} local tt = {0x10390} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 12304, freeze = true}}) local t = {"libcubehawk.so:bss", "Cb"} local tt = {0x1138} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 12304, freeze = true}}) local t = {"libcubehawk.so:bss", "Cb"} local tt = {0x1224} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 12304, freeze = true}}) gg.alert("开启成功") end, function() end }, { "全局离线", function() end, function() end }, { "皇冠动作", function() gg.clearResults() gg.setRanges(32) gg.searchNumber("2200801", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("2200801", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("2202608", gg.TYPE_DWORD) gg.toast("修改完成") gg.clearResults() string.toMusic('开启成功')---语音 end, function() end } }), wannian.box({"注意事项", wannian.text("每套防封自测\n开启后请在大厅停30-180秒左右\n") }), }, --第三页 { wannian.box({"注意事项", wannian.text("不要开太多功能本软件是用来骗装备 开加速打人封了是自己的问题") }), wannian.check({ { "蹲下加速", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x631CB0,0x30,0x558,0x5E0,0x210} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 400}}) gg.toast("开启成功") end, function() end }, { "超广角", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x631CB0,0x7C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 3}})---没必要太狗食了自改220和90 string.toMusic('开启成功') end, function() end }, { "范围拾取", function() gg.loopKillGG() local t = {"libUE4.so:bss", "Cb"} local tt = {0x631CB0,0x30,0x558,0x2568} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 99999}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x631CB0,0x30,0x88} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 999999999999}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x631CB0,0x30,0x558,0x19D8,0x16C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 9999997}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x631CB0,0x30,0x558,0x19D8,0x170} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 0}}) gg.toast("开启成功") end, function() end }, { "攀爬爬墙", function() gg.loopKillGG() local t = {"libUE4.so:bss", "Cb"} local tt = {0x631CB0,0x30,0x558,0x5E0,0x210} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 400}}) string.toMusic('开启成功') end, function() end }, { "秒拾取", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x631CB0,0x30,0x88} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 999}}) string.toMusic('秒拾取开启成功') end, function() end }, { "改蝴蝶刀", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x6732E8,0xED8,0x6E0,0x8,0x2A0,0x5F8,0x0,0x65C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 9807006}}) string.toMusic('开启成功')---语音 end, function() end } }), wannian.box({"音乐", wannian.check({ {"救世主", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2006352556.mp3") end }, { "你看到了我",--小功能名 function() gg.playMusic('http://music.163.com/song/media/outer/url?id=1377530437.mp3') end }, { "Neeva", function() gg.playMusic("https://out.zxglife.top/view.php/16fa44c6165f5828dff9cfd7cecb84d9.mp3") end }, { "Maple暖枫", function() gg.playMusic("https://out.zxglife.top/down.php/718197266dd3bad8fc0c59182beb6017.mid") end }, { "nightcruising", function() gg.playMusic("https://out.zxglife.top/view.php/f22c860d17cbb2f5718cbd5a9b68ae42.mp3") end }, { "不问别离", function() gg.playMusic("https://out.zxglife.top/view.php/c92f3eb063ae9ee9ff28018bb3b8f847.mp3") end }, { "清空", function() gg.playMusic("https://out.zxglife.top/view.php/8745c4542def50d29e8c9a63b330ed2a.mp3") end }, { "压迫感", function() gg.playMusic("https://out.zxglife.top/view.php/f923557b0bb36ab3968503202964db1b.mp3") end },{ "Walk", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=1873321491.mp3') end }, { "catch", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=26286214.mp3') end }, { "Me", function() gg.playMusic('https://music.163.com/song/media/outer/url?id=1990363532.mp3') end }, { "心做", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=2008921547.mp3') end }, { "拉个勾说", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1969373959.mp3") end }, { "心如止水", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1928002636.mp3") end }, { "篝火旁", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=518725853.mp3") end }, { "凭什么觉得", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2020310968.mp3") end }, { "月亮之矢", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=419375250.mp3") end }, { "回忆拼好", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1403318151.mp3") end }, { "爱人错过", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1972445487") end }, { "旧金山", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2024109979.mp3") end }, }) }), wannian.box({"危险功能", wannian.check({ {"救世主", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2006352556.mp3") end }, { "你看到了我",--小功能名 function() gg.playMusic('http://music.163.com/song/media/outer/url?id=1377530437.mp3') end }, { "Neeva", function() gg.playMusic("https://out.zxglife.top/view.php/16fa44c6165f5828dff9cfd7cecb84d9.mp3") end }, { "Maple暖枫", function() gg.playMusic("https://out.zxglife.top/down.php/718197266dd3bad8fc0c59182beb6017.mid") end }, { "nightcruising", function() gg.playMusic("https://out.zxglife.top/view.php/f22c860d17cbb2f5718cbd5a9b68ae42.mp3") end }, { "不问别离", function() gg.playMusic("https://out.zxglife.top/view.php/c92f3eb063ae9ee9ff28018bb3b8f847.mp3") end }, { "清空", function() gg.playMusic("https://out.zxglife.top/view.php/8745c4542def50d29e8c9a63b330ed2a.mp3") end }, { "压迫感", function() gg.playMusic("https://out.zxglife.top/view.php/f923557b0bb36ab3968503202964db1b.mp3") end },{ "Walk", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=1873321491.mp3') end }, { "catch", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=26286214.mp3') end }, { "Me", function() gg.playMusic('https://music.163.com/song/media/outer/url?id=1990363532.mp3') end }, { "心做", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=2008921547.mp3') end }, { "拉个勾说", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1969373959.mp3") end }, { "心如止水", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1928002636.mp3") end }, { "篝火旁", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=518725853.mp3") end }, { "凭什么觉得", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2020310968.mp3") end }, { "月亮之矢", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=419375250.mp3") end }, { "回忆拼好", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1403318151.mp3") end }, { "爱人错过", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1972445487") end }, { "旧金山", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2024109979.mp3") end }, }) }), }, --第四页 { wannian.button("搜索音乐", function() 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), wannian.button("停止音乐", function() gg.toast("已停止音乐") for i=1,100 do gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end sp="关闭成功" end), wannian.box({"推荐音乐", wannian.check({ {"救世主", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2006352556.mp3") end }, { "你看到了我",--小功能名 function() gg.playMusic('http://music.163.com/song/media/outer/url?id=1377530437.mp3') end }, { "Neeva", function() gg.playMusic("https://out.zxglife.top/view.php/16fa44c6165f5828dff9cfd7cecb84d9.mp3") end }, { "Maple暖枫", function() gg.playMusic("https://out.zxglife.top/down.php/718197266dd3bad8fc0c59182beb6017.mid") end }, { "nightcruising", function() gg.playMusic("https://out.zxglife.top/view.php/f22c860d17cbb2f5718cbd5a9b68ae42.mp3") end }, { "不问别离", function() gg.playMusic("https://out.zxglife.top/view.php/c92f3eb063ae9ee9ff28018bb3b8f847.mp3") end }, { "清空", function() gg.playMusic("https://out.zxglife.top/view.php/8745c4542def50d29e8c9a63b330ed2a.mp3") end }, { "压迫感", function() gg.playMusic("https://out.zxglife.top/view.php/f923557b0bb36ab3968503202964db1b.mp3") end },{ "Walk", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=1873321491.mp3') end }, { "catch", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=26286214.mp3') end }, { "Me", function() gg.playMusic('https://music.163.com/song/media/outer/url?id=1990363532.mp3') end }, { "心做", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=2008921547.mp3') end }, { "拉个勾说", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1969373959.mp3") end }, { "心如止水", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1928002636.mp3") end }, { "篝火旁", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=518725853.mp3") end }, { "凭什么觉得", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2020310968.mp3") end }, { "月亮之矢", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=419375250.mp3") end }, { "回忆拼好", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1403318151.mp3") end }, { "爱人错过", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1972445487") end }, { "旧金山", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2024109979.mp3") end }, }) }), }, { wannian.text("小烁" , nil , "15sp" ) , wannian.text("加速认准小烁" , nil , "15sp" ) , wannian.text("小烁天下无双" , nil , "15sp" ) , wannian.button("小烁NB", function() gg.intent("https://t.me/GNnb1") 隐藏() end), wannian.button("加入我们", function() qq.joinGroup("335891861") 隐藏() end), wannian.button("退出辅助", function() tuichu() end) } } ) function proo() Winter.controlRotation2(control1,3000) end luajava.newThread(function()--更新逻辑 while true do gg.sleep(3000) if 显示==0 then proo() end end end):start() jm1 : setBackground(slcta ) gg.setVisible(false ) luajava.setFloatingWindowHide(true ) ---bloc不要动 动了脚本功能会失效 bloc = luajava.getBlock() bloc("join" )