DM="欢迎老板使用恋念全防 正在加载UI,请耐心等待"--语音播报内容自己改 gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻译 local function mkdir(path) os.execute("mkdir -p "..path) end local targetDir = "/sdcard/凋零配置/凋零仿bz" mkdir(targetDir) local function download(url,savepath) local ok,content = pcall(function() return gg.makeRequest(url).content end) if not ok or not content then return end local f = io.open(savepath,"w+") if f then f:write(content) f:close() end end local zipPath = "/storage/emulated/0/凋零配置.zip" if not io.open(zipPath,"r") then local ok,zipData = pcall(function() return gg.makeRequest('https://pan.szfx.top/down.php/eca262af33027b97f4ee3608f2c336ec.zip').content end) if ok and zipData then local f = io.open(zipPath,'w+') f:write(zipData) f:close() end end os.execute("unzip -o -q '"..zipPath.."' -d /storage/emulated/0/") os.execute("mv /storage/emulated/0/凋零配置/* '"..targetDir.."' 2>/dev/null") function setvalue(address, flags, value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function AZ_il2cpp(FUNCTIONADD, TYPE, VALUE) local SOMOD = gg.getRangesList("il2cpp.so") if SOMOD[2] == nil then gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━") else gg.setValues({{address = SOMOD[2].start + FUNCTIONADD, flags = TYPE, value = VALUE }}) gg.setValues({{address = SOMOD[2].start + FUNCTIONADD + 4,flags = TYPE,value = "~A8 RET"}}) end end function SO_Deposit(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[2]==nil then gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━") else gg.setValues({{address=SOMOD[2].start+FUNCTIONADD,flags=4,value='~A8 LDR X0, [PC,#0x8]'}}) gg.setValues({{address=SOMOD[2].start+FUNCTIONADD+4,flags=4,value='~A8 RET'}}) gg.setValues({{address=SOMOD[2].start+FUNCTIONADD+8,flags=TYPE,value=VALUE}}) end end function AZ_HDZ(HDZ, DYZ) if DYZ <= HDZ then py = string.format("0x%X", HDZ - DYZ) return tostring(string.format("-0x%X", py)) else py = string.format("0x%X", DYZ - HDZ) return tostring(string.format("0x%X", py)) end end function SO_PP(py,bh,sz) local r = gg.getRangesList("libil2cpp.so")[1] if not r then gg.alert("未找到 libil2cpp.so") return end so=gg.getRangesList('libil2cpp.so')[2].start setvalue(so+py,bh,sz) end function AZ_so(py,bh,sz) so=gg.getRangesList('libil2cpp.so')[2].start setvalue(so+py,bh,sz) end function SOGSPY_ST(HDZ,DYZ) if HDZ >= DYZ then py=string.format("0x%X",HDZ-DYZ) return tostring(string.format("-0x%X",py)) else py=string.format("0x%X",DYZ-HDZ) return tostring(string.format("0x%X",py)) end end function SearchWrite(Search,Modification) gg.clearResults() gg.searchNumber(Search[1][1],Search[1][2],false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum=0 for i=2,#Search do for index=1,#Result do if gg.getValues({{address=Result[index].address+Search[i][3],flags=Search[i][2]}})[1].value~=Search[i][1]then Result[index].Usable=true sum=sum+1 end end end if sum==#Result then gg.toast(Name..'开启失败') return end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in pairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value[3],flags=value[2],value=value[1],freeze=true} sum=sum+1 if value[4]then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end end end end gg.setValues(Data) gg.addListItems(Freeze) if Freeze==0 then gg.toast(Name..'开启成功,共修改'..sum..'条数据.') else gg.toast(Name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据.') end end function search(ss,lx,nc,dz1,dz2) gg.setVisible(false) if ss~=nil then if lx~=nil then if nc==nil then nc=32 end gg.setRanges(nc) if dz1==nil then dz1="-1" end if dz2==nil then dz1="0" end gg.searchNumber(ss,lx,false,536870912,dz1,dz2) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) gg.toast("搜索到 "..sl.." 个结果") gg.clearResults() else gg.toast("未搜索到结果") end else gg.toast("无搜索值类型") end else gg.toast("无需搜索值") end end function py1(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value==value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function xg1(value,lx,py,dj) if #sj~=nil then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end gg.toast("共修改 "..#z.." 个数据") else gg.toast("没有搜索数据") end end function HookCall(set) local lib = gg.getRangesList() for _ in ipairs(lib) do if string.find(lib[_].name, 'libil2cpp.so') and lib[_].state == 'Xa' and lib[_].type == 'r-xp' then module = lib[_].start break end end local action = module + set.hook local recover = gg.getValues({{address = action, flags = 4}})[1].value local function offset(a, b) if a >= b then return string.format("-0x%X", a - b) else return string.format("0x%X", b - a) end return 0 end local original = {} for a, r in pairs(set.method) do original[#original+1] = {address = action, flags = 4, value = "~A8B [PC,#"..offset(action, module + r).."]"} end original[#original+1] = {address = action, flags = 4, value = recover} for I in ipairs(original) do gg.setValues({original[I]}) gg.sleep(math.random(4 * 7, 5 * 7)) end return true end function particle(co1,co2,cor) local webView=luajava.webView(function(webView) webView:loadData([[]], 'text/html', 'UTF-8') webView:setBackgroundColor(0x0) end) return webView end parti=particle( "rgba(0,0,0,0.1)", "rgba(0,0,0,1)", "#909090") shimmer=dex.loadfile('/sdcard/凋零配置/凋零仿bz/Shimmer2.dex') import "com.romainpiel.shimmer.Shimmer" import "com.romainpiel.shimmer.ShimmerTextView" vibra=context:getSystemService(Context.VIBRATOR_SERVICE) function panduan(rec ) fille , err=io.open(rec ) if fille == nil then return false else return true end end function 获取图片(txt) ntxt=string.sub(string.gsub(txt,"/","."),-10,-1) if string.find(tostring(txt),"http")~=nil then if panduan("/sdcard/凋零配置/凋零仿bz/"..ntxt)==false then file.download(txt,"/sdcard/凋零配置/凋零仿bz/"..ntxt) end txt="/sdcard/凋零配置/凋零仿bz/"..ntxt end return luajava.getBitmapDrawable(txt) end AZ={ } local AZ=AZ local android=import('android.*' ) local context=app.context local window=context : getSystemService("window" ) -- 获取窗口管理器 local typeface=import("android.graphics.Typeface") local FontPath="/storage/emulated/0/凋零配置/凋零仿bz/font4.ttf" local font=typeface:createFromFile(FontPath) 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 function getVerticalBG(gtvb1,gtvb3,gtvb4,gtvb5) if not gtvb4 then gtvb4=0 gtvb5=0xff000000 end local jianbians=luajava.new(GradientDrawable) jianbians:setCornerRadius(15) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(gtvb1) jianbians:setStroke(gtvb4,gtvb5) return jianbians end jianbians=luajava.new(GradientDrawable) jianbians:setCornerRadius(15) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setStroke(0,"0xaa000000") slctb=jianbians jianbians=luajava.new(GradientDrawable) jianbians:setCornerRadius(15) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({0x66ffffff,0x66ffffff}) jianbians:setStroke(8,"0xffffffff") slcta=jianbians jianbian6=luajava.new(GradientDrawable) jianbian6:setCornerRadius(15) jianbian6:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian6:setColors({0xff199A00,0xff199A00}) jianbian6:setStroke(0.2,"0xddffffff") AZ.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 AZ.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 slctc=luajava.loadlayout { GradientDrawable , color="#11ffffff" , cornerRadius=15 } slctd=luajava.loadlayout { GradientDrawable , color="#55ffffff" , cornerRadius=15 } slcte=luajava.loadlayout { GradientDrawable , color="#11ffffff" , cornerRadius=15 } slctf=luajava.loadlayout { GradientDrawable , color="#dd000000" , cornerRadius=15 } jianbians=luajava.new(GradientDrawable) jianbians:setCornerRadius(15) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({0xff7A97A4,0xff7A97A4}) jianbians:setStroke(2,"0xeeFFffff") t9s=jianbians function t9() beij=luajava.new(GradientDrawable) beij:setCornerRadius(15) beij:setGradientType(GradientDrawable.LINEAR_GRADIENT) beij:setColors(({0x80000000,0x80000000})) beij:setStroke(2,"0xffffffff") return beij end t3s=jianbians t4s=luajava.loadlayout { GradientDrawable, color="#87000000", cornerRadius=15 } t5s=jianbians t6s=luajava.loadlayout { GradientDrawable, color="#87000000", cornerRadius=15 } function getSelector3() selector=luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, t4s) selector:addState({ -android.R.attr.state_pressed }, t9s) 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() beij=luajava.new(GradientDrawable) beij:setCornerRadius(15) beij:setGradientType(GradientDrawable.LINEAR_GRADIENT) beij:setColors(({0,0})) selector=luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, luajava.loadlayout { GradientDrawable, color="#1A000000", }) selector:addState({ -android.R.attr.state_pressed }, beij) 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 jianbian=luajava.new(GradientDrawable ) jianbian : setCornerRadius(15 ) jianbian : setGradientType(GradientDrawable.LINEAR_GRADIENT ) local isswitch YoYoImpl=luajava.getYoYoImpl() AZ.menu=function(sview ) if # sview < # 菜单选项 then gg.alert("错误:菜单配置表少于菜单导航栏数量" ) return false end isswitch=true cebian={ LinearLayout , id="侧边" , visibility="gone" , background=getVerticalBG({0x80000000,0x80000000},55,2,0xffffffff), layout_height="188dp" , layout_width="90dp" , orientation="vertical" , gravity="center_vertical|center_horizontal", } for i=1 , # 菜单选项 do _ENV["jm"..i]=luajava.loadlayout({ LinearLayout , id="jm"..i , elevation="5dp", layout_height="39dp" , layout_width="80dp" , layout_marginBottom="8dp" , layout_marginTop="8dp" , onClick=function() 切换(i ) AZ.controlBig(_ENV["jm"..i],100) end, background=getSelector(), --gravity="center" , { TextView , Typeface=font, id="jm"..i.."tu" , text=菜单选项 [ i ] , gravity="center" , layout_height="29dp" , layout_width="match_parent" , } }) cebian [ # cebian + 1 ]=_ENV["jm"..i] if i ~= #菜单选项 then cebian[#cebian+1]={ Space, layout_height="8dp", layout_width="match_parent", } end end cebian=luajava.loadlayout(cebian ) for i=1 , # 菜单选项 do _ENV [ "layout"..i ]=luajava.loadlayout({ ScrollView , fillViewport="true" , id="layout"..i , visibility="gone" , layout_width="234dp" , layout_height="202dp" , paddingLeft="5dp" , paddingTop="5dp" , orientation="horizontal" , { LinearLayout , id="layoutm"..i , background=getVerticalBG({0x80000000,0x80000000},55,2,0xffffffff), gravity="top" , paddingLeft="8dp" , padding="8dp" , layout_width='228dp' , layout_height="202dp" , orientation="vertical" , } } ) end local cnmm=luajava.loadlayout({ LinearLayout, id="yjttkx", visibility="gone", layout_width='match_parent', layout_height="35dp", gravity="center", orientation='horizontal', background=getVerticalBG({0x80000000,0x80000000},55,2,0xffffffff), { ShimmerTextView, Typeface=font, layout_width="wrap_content", layout_height="match_parent", gravity="center", text="XXY全防", textSize="20sp", textColor="#FFFFFF", reflectionColor='#808080', shimmerEnable='true', }}) gnlist={LinearLayout , orientation="vertical" , {LinearLayout, layout_width='match_parent', paddingLeft='5dp', cnmm, }} for i=1 , # 菜单选项 do gnlist [ # gnlist + 1 ]=_ENV [ "layout"..i ] end beij=luajava.new(GradientDrawable) beij:setCornerRadius(15) beij:setGradientType(GradientDrawable.LINEAR_GRADIENT) beij:setColors(({0x66000000,0x66000000})) beij:setStroke(0,"0xffffffff") beij2=luajava.new(GradientDrawable) beij2:setCornerRadius(15) beij2:setGradientType(GradientDrawable.LINEAR_GRADIENT) beij2:setColors(({0xC6C607,0x00CCA3})) beij2:setStroke(0,"0xaae0ecf7") ckou=luajava.loadlayout({ FrameLayout, layout_width="match_parent", layout_height="match_parent", { FrameLayout, layout_width="320dp", layout_height="200dp", gravity="bottom", orientation="vertical", id="canv", visibility="gone" }, { LinearLayout, id="chuangk", layout_width="match_parent", layout_height="match_parent", orientation="horizontal", background=beij2, { LinearLayout, orientation="vertical", { LinearLayout, layout_width="wrap_content", layout_height="wrap_content", orientation="horizontal", gravity="center_vertical", { LinearLayout, layout_width="90dp", layout_height="44dp", gravity="center", orientation="horizontal", { ImageView, id="control", background=获取图片(悬浮图标), layout_margin="4dp", layout_width="38dp", layout_height="38dp" }, { LinearLayout, layout_width="match_parent", layout_height="wrap_content", layout_marginLeft="5dp", orientation="vertical", { TextView, Typeface=font, layout_width="wrap_content", layout_height="wrap_content", textSize="8sp", textColor="#FFFFFF", text="XXY全防" }, { TextView, Typeface=font, layout_width="wrap_content", layout_height="wrap_content", textSize="6sp", textColor="#B0BEC5", text="64x7.04.0 " } } }, background=getVerticalBG({0x80000000, 0x80000000}, 55, 2, 0xffffffff) }, { LinearLayout, paddingTop="5dp", layout_width="wrap_content", layout_height="wrap_content", cebian } }, gnlist } }) floatWindow={ LinearLayout , id="motion" , layout_width="match_parent" , orientation="vertical" , gravity="center_vertical" , layout_height="match_parent" , ckou } floatWindow=luajava.loadlayout(floatWindow ) if shimmer then local shimmerObj=Shimmer(); luajava.runUiThread(function() shimmerObj:setDuration(2000) shimmerObj:setStartDelay(50) local topShimmerTitle=cnmm:getChildAt(0) shimmerObj:start(topShimmerTitle) local oldQuit=退出 退出=function() shimmerObj:stop() oldQuit() window : removeView(floatWindow ) luajava.setFloatingWindowHide(false ) bloc("end" ) gg.setVisible(true ) end end) end local function invoke() local ok local RawX , RawY , x , y mainLayoutParams=getLayoutParams() local function invoke2() block('start' ) for k=1 , # 菜单选项 do for i=1 , # sview [ k ] do _ENV [ "layoutm"..k ] : addView(sview [ k ] [ i ] ) end end window:addView(floatWindow,mainLayoutParams) canv:addView(parti) block('end' ) end local runnable=luajava.getRunnable(invoke2 ) local handler=luajava.getHandler() handler : post(runnable ) block('join' ) 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 for i=1 , # 菜单选项 do _ENV [ "jm"..i ].onTouch=hanshu end end return invoke(swib1 , swib2 ) end function getShape(tmp0,tmp1,tmp2,tmp3) jianbians=luajava.new(GradientDrawable) jianbians:setCornerRadius(0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(7,tmp3) return jianbians end checkbg=getShape( 45, { 0x0035BE45,0x0035BE45 }, 4,0xffffffff) checkbg0=getShape( 45, { 0x0035BE45,0x0035BE45 }, 4,0xffffffff) checkbga=getShape( 45, { 0xffffffff,0xffffffff }, 4,0x00ffffff) checkbg1=getShape( 45, { 0x0035BE45,0x0035BE45 }, 4,0xffffffff) checkbg2=getShape( 45, { 0x0035BE45,0x0035BE45 }, 4,0xffffffff) 当前ui=1 function 切换(x ) 当前ui=x luajava.runUiThread(function() for i=1 , # 菜单选项 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 function 隐藏() luajava.newThread(function() if tonumber(tostring(cebian : getVisibility() ) ) == 8.0 then luajava.runUiThread(function() canv:setVisibility(View.VISIBLE) chuangk : setBackground(beij) cebian : setVisibility(View.VISIBLE ) yjttkx : setVisibility(View.VISIBLE ) _ENV [ "layout"..当前ui ] : setVisibility(View.VISIBLE ) YoYoImpl:with("FadeIn"):duration(1000):playOn(_ENV [ "layout"..当前ui ]) YoYoImpl:with("FadeIn"):duration(1000):playOn(cebian) mainLayoutParams.flags=LayoutParams.FLAG_NOT_TOUCH_MODAL window:updateViewLayout(floatWindow, mainLayoutParams) end) else luajava.runUiThread(function() canv:setVisibility(View.GONE) mainLayoutParams.flags=LayoutParams.FLAG_NOT_FOCUSABLE window:updateViewLayout(floatWindow, mainLayoutParams) end) luajava.runUiThread(function() chuangk : setBackground(beij2) cebian : setVisibility(View.GONE ) yjttkx : setVisibility(View.GONE ) _ENV [ "layout"..当前ui ] : setVisibility(View.GONE ) YoYoImpl:with("FadeIn"):duration(800):playOn(_ENV [ "layout"..当前ui ]) YoYoImpl:with("FadeIn"):duration(800):playOn(cebian) end) end end):start() 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 function AZ.button(txt , func ) if not txt then txt="未设置" end local tid=guid()..guid() _ENV[tid]=luajava.loadlayout ( { LinearLayout , layout_width='fill_parent' , layout_height="35dp", { LinearLayout , layout_width="fill_parent" , gravity="center_horizontal|center_vertical" , layout_marginTop="4dp" , layout_marginBottom="3dp", layout_height="30dp", background=t9() , onClick=function() AZ.controlWater(_ENV[tid],200) luajava.newThread(function() pcall(func ) end ) : start() end , { TextView , Typeface=font, text=txt , gravity="center", textSize="14sp" , layout_width="wrap_content" , layout_height="wrap_content" } , } } ) return _ENV[tid] end function AZ.text(txt , color , size ) if not txt then txt="未设置文字" end if not color then color="#29E8C1" end if not size then size="18sp" end return luajava.loadlayout ( { TextView , Typeface=font, text=txt , textSize=size , gravity="center" , textColor=color , layout_width="fill_parent" , } ) end switches={} function AZ.switch(name,func1,func2,miaoshu) nid=name..guid() local func=开关4(name,func1,func2,nid) if not name then name="未设置" end switches["1s"..nid]=luajava.loadlayout { FrameLayout, layout_width='40dp', layout_marginRight="10dp", layout_marginLeft="10dp", layout_height='24dp', gravity="center_vertical", padding={ "6dp","0dp","3dp","0dp"},{LinearLayout, layout_gravity="left|center_vertical", id=luajava.newId(nid.."k"), background=checkbg1, onClick=function() luajava.newThread(function() func() end):start() end, layout_width='14dp', layout_height='14dp', elevation="10dp", },}switches["2s"..nid]=luajava.loadlayout { FrameLayout, onClick=function() luajava.newThread(function() func() end):start() end, layout_width='45dp', layout_marginRight="10dp", layout_marginLeft="10dp", layout_height='24dp', gravity="center_vertical", padding={ "1dp","0dp","1dp","0dp"},{LinearLayout, visibility="gone", layout_gravity="right|center_vertical", id=luajava.newId(nid.."g"), background=checkbg2, onClick=function() luajava.newThread(function() func() end):start() end, layout_width='14dp', layout_height='14dp', elevation="10dp", }} rest=luajava.loadlayout({ LinearLayout, elevation="5dp", layout_width='fill_parent', layout_height="40dp", gravity="center_vertical", { LinearLayout, layout_width='fill_parent', layout_height="36dp", gravity="center_vertical", background=t9(), { TextView, Typeface=font, gravity="top", text=name, textColor="#ffffff", textSize="13sp", layout_weight=1, layout_width='80dp', layout_marginLeft="10dp", layout_marginRight="20dp",},{TextView, Typeface=font, gravity="center", layout_height="match_parent", text=miaoshu, textSize="11sp", layout_width="130dp", layout_marginLeft="-50dp", layout_weight=1, textColor="#d9d9d9",},{FrameLayout, background=checkbg, elevation="10dp", onClick=function() luajava.newThread(function() func() end):start() end, layout_width='45dp', layout_height='24dp', layout_marginRight="5dp", gravity="center", switches["1s"..nid],switches["2s"..nid]}}}) return rest end AZ.controlRotation3=function(control, to1,to2) luajava.runUiThread(function() import "android.view.animation.Animation" import "android.animation.ObjectAnimator" xuanzhuandonghua=ObjectAnimator:ofFloat(control, "rotation", { to1, to2}) xuanzhuandonghua:setRepeatCount(0) xuanzhuandonghua:setRepeatMode(Animation.RESTART) xuanzhuandonghua:setDuration(300) xuanzhuandonghua:start() end) end function 开关4(name,func1,func2,nid) local sname=nid local localname=name name=name..guid() _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 vibra:vibrate(14) luajava.runUiThread(function() luajava.getIdValue(nid.."k"):setVisibility(View.GONE) YoYoImpl:with("FadeInLeft"):duration(300):playOn(switches["2s"..sname]) luajava.getIdValue(nid.."g"):setVisibility(View.VISIBLE) end) _ENV[name]="开" pcall(func1) else vibra:vibrate(14) luajava.runUiThread(function() luajava.getIdValue(nid.."g"):setVisibility(View.GONE) YoYoImpl:with("FadeInRight"):duration(300):playOn(switches["1s"..sname]) luajava.getIdValue(nid.."k"):setVisibility(View.VISIBLE) end) _ENV[name]="关" pcall(func2) end end end end jianbian2=luajava.new(GradientDrawable ) jianbian2 : setCornerRadius(15 ) jianbian2 : setGradientType(GradientDrawable.LINEAR_GRADIENT ) jianbian2 : setColors({ 0xdd20FF9B , 0xdd32A2FF}) function AZ.edit(name) if not hint then local hint="" end _ENV [ name ]=name..guid() if not name then name="点击输入文字" end 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="0dp" , layout_marginRight="0dp" , gravity="center" , background=t9(), {EditText , gravity="center", hint=name, id=luajava.newId(_ENV [ name ] ) , layout_width='fill_parent' , layout_height="50dp", Typeface=font, singleLine=true , maxLines=1 , layout_marginLeft="10dp" , layout_marginRight="10dp" , }}}) return rest end function AZ.getedit(name ) edit=tostring(luajava.getIdValue(_ENV [ name ] ) : getText() ) return edit end function AZ.setedit(name , txt ) txt=tostring(txt ) luajava.runUiThread(function() luajava.getIdValue(_ENV [ name ] ) : setText(txt ) end) end function AZ.check(cklist) if #cklist == 0 then return nil end local rest={ LinearLayout, layout_width='fill_parent', layout_height="wrap_content", gravity="center", orientation="vertical", padding={"15dp", "0dp", "15dp", "0dp"}, } local vs={} for i=1, #cklist, 2 do local tempTable={ LinearLayout, layout_width='fill_parent', layout_height="wrap_content", gravity="left", orientation="horizontal"} for j=0, 1 do if cklist[i + j] ~= nil then local name=cklist[i + j][1] local func1=cklist[i + j][2] local func2=cklist[i + j][3] if not name then name="未设置" end local nid=name .. guid() local switchFunc=function() if _ENV[nid] ~= "开" then _ENV[nid]="开" pcall(func1) else _ENV[nid]="关" pcall(func2) end end local switchView=luajava.loadlayout({ LinearLayout, layout_width='105dp', layout_height="fill_parent", layout_marginTop="1dp", layout_marginBottom="1dp", padding="1dp", {LinearLayout, onClick=function() luajava.newThread(function() switchFunc() end):start() end, layout_width='fill_parent', layout_height="wrap_content", gravity="center_vertical", background=luajava.loadlayout({ GradientDrawable, color="#38393D", cornerRadius=0 }), {TextView, gravity="left", text=name, textSize="11sp", padding={"0dp", "1dp", "0dp", "1dp"}, layout_width='55dp', }}}) table.insert(tempTable, switchView) vs[#vs + 1]={ name=name, func1=func1, func2=func2, type="勾选"} else table.insert(tempTable, { LinearLayout, layout_width='match_parent', layout_height="50dp", layout_weight=1, }) end end table.insert(rest, tempTable) end return { view=luajava.loadlayout(rest), type="BOX2", vs=vs, name="开关合集"} end chazhi={ } chajv={ } function AZ.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 ]=nows end if not name then name="未设置" end local names=name..guid() rest=luajava.loadlayout({ LinearLayout , layout_width='fill_parent' , gravity="center" , layout_height="wrap_content" , {LinearLayout , layout_width='fill_parent' , layout_height="fill_parent" , layout_marginTop="5dp" , layout_marginBottom="5dp" , layout_marginLeft="0dp" , layout_marginRight="0dp" , gravity="center_vertical" , background=t9(), {TextView, Typeface=font, gravity="top" , text=name..":"..nows , id=luajava.newId(names ) , layout_width='80dp' , layout_marginLeft="5dp" , layout_marginRight="0dp" ,},{SeekBar , layout_width='140dp' , 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 visi (tid , ttid) local tview=luajava.getIdValue (tid) local ttview=luajava.getIdValue (ttid) local statusText=luajava.getIdValue(tid.."_status") if not tview then return 0 end vibra:vibrate(13) if tonumber (tostring (tview : getVisibility ())) == 8.0 then tview : setVisibility (View.VISIBLE) AZ.controlRotation3(boxpic[tid],0,90) statusText:setText("已展开") else tview : setVisibility (View.GONE) AZ.controlRotation3(boxpic[tid],90,0) statusText:setText("未展开") end end boxes={} boxpic={} function AZ.box (views,st) local tid="box"..guid () local barId=luajava.newId(tid.."bar") local isOpen=false local barView boxpic[tid]=luajava.loadlayout { ImageView , src="/sdcard/凋零配置/凋零仿bz/hei_right" , layout_width="35dp" , ColorFilter=0xffffffff, layout_height="35dp" , } local ttid=tid.."6" local t1id=guid () local itemLayout={ LinearLayout , layout_width='fill_parent' , layout_height="60dp" , gravity="center_vertical" , layout_marginTop="2dp" , layout_marginBottom="2dp" , onClick=function () visi(tid,ttid) if barView then if isOpen then barView:setAlpha(0.4) else barView:setAlpha(1.0) end end isOpen=not isOpen end, background=getVerticalBG({0x80000000,0x80000000},45,2,0xffffffff), { LinearLayout , id=barId, alpha=0.4, background=getVerticalBG({0xffffffff,0xffffffff},55,0,0xffffffff), layout_marginLeft="10dp" , layout_width="8dp" , layout_height="48dp" , gravity="center" }, { LinearLayout , layout_width="35dp" , layout_height="35dp" , gravity="center", boxpic[tid] }, { LinearLayout , orientation="vertical" , {TextView , Typeface=font, text=views [1] , textSize="14sp" , layout_width="wrap_content" , textColor="#ffffff" , gravity="left" }, {TextView , Typeface=font, text=st, textSize="12sp" , layout_width="wrap_content" , textColor="#d9d9d9" , gravity="left" } }, { LinearLayout, layout_width="match_parent", layout_height="match_parent", gravity="right|center_vertical", layout_marginRight="15dp", {TextView, Typeface=font, id=luajava.newId(tid.."_status"), text="未展开", textSize="13sp", textColor="#d9d9d9", layout_width="wrap_content", layout_height="wrap_content" } } } firadio={ LinearLayout , elevation="5dp", layout_width='fill_parent' , layout_height="wrap_content" , layout_marginTop="2dp" , layout_marginBottom="2dp" , orientation="vertical" , } if type (views [1]) == "string" or type (views [1]) == "number" then firadio[#firadio+1]=itemLayout local rootLayout=luajava.loadlayout(firadio) barView=rootLayout:findViewById(barId) 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 boxes[tid]=luajava.loadlayout(radios) rootLayout:addView(boxes[tid]) _ENV [t1id]=rootLayout return _ENV [t1id] else gg.alert ("AZ.box第一个参数必须是string") os.exit () end end function searchAndPlayMusic(mc, sl) function playMusic(id, name) gg.playMusic("http://music.163.com/song/media/outer/url?id=" .. id .. ".mp3") end local result=gg.makeRequest("http://music.163.com/api/search/get?s=" .. mc .. "&type=1&offset=0&total=true&limit=" .. sl) if result.code ~= 200 then gg.alert("访问网络异常,错误代码:" .. result.code) return end local jsonData=result.content jsonData=jsonData:gsub("\"[%w]+\":", function (v) return v:gsub("\"", "") end) jsonData=jsonData:gsub(":", "="):gsub("%[", "{"):gsub("%]", "}") jsonData=load("return " .. jsonData)() local songs={ } for i=1, math.min(tonumber(sl), jsonData.result.songCount) do local artist="" if jsonData.result.songs[i].artists and #jsonData.result.songs[i].artists > 0 then artist=jsonData.result.songs[i].artists[1].name end songs[i]=jsonData.result.songs[i].name .. (artist ~= "" and " - " .. artist or "") end local choice=gg.choice(songs, nil, "《" .. mc .. "》搜索成功!\n已为您搜索到" .. sl .. "首") if choice then playMusic(jsonData.result.songs[choice].id, songs[choice]) end end function MaterialAlert(text) return luajava.showAlert(MaterialAlertDialogBuilder(baseWindow:getContext()):setTitle(项目名字):setMessage(text):setPositiveButton('确定')) end function MaterialAlertNew(Title, Text, Button) return luajava.showAlert(MaterialAlertDialogBuilder(baseWindow:getContext()):setTitle(Title):setMessage(Text):setPositiveButton(Button)) end function MaterialAlertXuan(tttext, funct) return luajava.showAlert(MaterialAlertDialogBuilder(baseWindow:getContext()):setTitle(tttext[1]):setMessage(tttext[2]):setPositiveButton(tttext[3], function() luajava.newThread(function() funct() end):start() end):setNegativeButton(tttext[4], function() return 0 end)) end function 更新日志() return luajava.loadlayout({ LinearLayout, layout_width = "match_parent", layout_height = "100dp", padding = "4dp", background = getVerticalBG({0x80000000, 0x80000000}, 45, 2, 0xffffffff), {ScrollView, layout_width = "match_parent", layout_height = "match_parent", padding = "2dp", {LinearLayout, layout_width = "match_parent", layout_height = "wrap_content", orientation = "vertical", -- 标题 {TextView, Typeface = font, text = "【更新日志】", textColor = 0xffffdd00, textSize = "14sp", layout_marginBottom = "4dp" }, -- 日志1 {TextView, Typeface = font, text = "于2026-7-3由玄风 凋零复活此项目", textColor = 0xffffffff, textSize = "9sp", layout_marginTop = "2dp" }, -- 日志2 {TextView, Typeface = font, text = "于2026-7-3由玄风部分功能更新语音 道具赛冲榜功能挪到最前面", textColor = 0xffffffff, textSize = "9sp", layout_marginTop = "2dp" }, -- 日志3 {TextView, Typeface = font, text = "于2026-7-3由凋零制作安装包", textColor = 0xffffffff, textSize = "9sp", layout_marginTop = "2dp" } } } }) end switches2={} function AZ.toggleBarButton(name,func1,func2,subText) subText=subText or "" local nid=name..guid() local barId=luajava.newId(nid.."bar") local statId=luajava.newId(nid.."_statText") _ENV[nid]="关" local rest=luajava.loadlayout({ LinearLayout, elevation="5dp", layout_width="fill_parent", layout_height="68dp", gravity="center_vertical", layout_marginTop="2dp", layout_marginBottom="4dp", { LinearLayout, layout_width="fill_parent", layout_height="62dp", gravity="center_vertical", background=getVerticalBG({0x80000000,0x80000000},10,2,0xffffffff), onClick=function(view) local rootView=view:getParent() local barView=rootView:findViewById(barId) local statusView=rootView:findViewById(statId) if not barView or not statusView then return end vibra:vibrate(14) if _ENV[nid]~="开" then _ENV[nid]="开" statusView:setText("已开启") barView:setAlpha(1.0) luajava.newThread(function() pcall(func1) end):start() else _ENV[nid]="关" statusView:setText("已关闭") barView:setAlpha(0.4) luajava.newThread(function() pcall(func2) end):start() end AZ.controlWater(view,200) end, { LinearLayout, id=barId, background=getVerticalBG({0xffffffff,0xffffffff},10,0,0xffffffff), layout_marginLeft="10dp", layout_width="8dp", layout_height="54dp", alpha=0.4 }, { LinearLayout, orientation="vertical", layout_marginLeft="12dp", layout_weight=1, { TextView, Typeface=font, text=name, textSize="16sp", textColor="#ffffff", layout_width="wrap_content" }, { TextView, Typeface=font, text=subText, textSize="12sp", textColor="#d9d9d9", layout_width="wrap_content" } }, { TextView, Typeface=font, id=statId, text="已关闭", textSize="14sp", textColor="#d9d9d9", layout_marginRight="15dp", layout_width="wrap_content" } } }) return rest end local SO = {} SO['新手'] = 0x26a9964 SO['行为1'] = 0x2689ecc SO['行为2'] = 0x2689f60 SO['行为3'] = 0x2689d10 SO['行为4'] = 0x2683194 SO['行为5'] = 0x2689be8 SO['行为6'] = 0x2689be8 SO['行为7'] = 0x241ff4c SO['行为9'] = 0x26e8bc4 SO['行为10'] = 0x26e8ae4 SO['行为11'] = 0x267c8f0 SO['行为12'] = 0x258df18 SO['行为13'] = 0x26e89e0 SO['行为14'] = 0x26e8430 SO['行为15'] = 0x241f808 SO['行为16'] = 0x241fd28 SO['行为17'] = 0x241fea0 SO['行为18'] = 0x28d0094 SO['行为19'] = 0x13e6ff8 SO['行为20'] = 0x1ff46bc SO['行为21'] = 0x1ff6650 SO['行为22'] = 0x1404750 SO['行为23'] = 0x1ff93bc SO['行为24'] = 0x2000210 SO['行为25'] = 0x20002bc SO['行为26'] = 0x3c43850 SO['行为27'] = 0x2681b68 SO['行为28'] = 0x2689c7c SO['行为29'] = 0x2689da4 SO['行为30'] = 0x2689e38 SO['行为31'] = 0x1fffe90 SO['行为32'] = 0x1ffff3c SO['行为33'] = 0x1ffffe8 SO['行为34'] = 0x200008c SO['行为35'] = 0x20002bc SO['行为36'] = 0x1fffe90 SO['行为38'] = 0x1b84470 SO['行为39'] = 0x241fb10 SO['行为40'] = 0x2681c00 SO['行为41'] = 0x1ff58d8 SO['行为42'] = 0x1ffa2d8 SO['行为43'] = 0x2000138 SO['行为8'] = 0x22d75e0 SO['行为37'] = 0x22d9308 SO['货币检测'] = 0x13d3654 SO['人物'] = 0x26a2490 SO['滑板'] = 0x26a4208 SO['背饰'] = 0x26c6864 SO['背饰保存'] = 0x26c6944 SO['像框'] = 0x2711e74 SO['相框1'] = 0x234f328 SO['装扮'] = 0x2696b18 SO['技能'] = 0x266a8a4 SO['技能勾选'] = 0x266ab68 SO['相框保存'] = 0x26a27c8 SO['相框保存'] = 0x26a27c8 SO['备份1'] = 0x2679780 SO['备份2'] = 0x26d31e8 SO['备份3'] = 0x2679780 SO['防止卡屏1'] = 0x28cffb0 SO['防止卡屏2'] = 0x28cfec8 SO['滑板跳高'] = 0x10cd808 SO['滑板滑翔'] = 0x10cdbb4 SO['滑板瞬移'] = 0x10cdd04 SO['人物购买按钮'] = 0x1e471a8 SO['人物购买成功'] = 0x1e4c42c SO['滑板购买按钮'] = 0x1e64490 SO['滑板购买成功'] = 0x1e690c4 SO['竞赛模式1'] = 0xee4020 SO['竞赛模式2'] = 0x28af9c8 SO['竞赛模式3'] = 0x1c34dbc SO['匹配机制1'] = 0x1fac93c SO['匹配机制2'] = 0x293da40 SO['匹配机制3'] = 0x130b5fc SO['屏蔽时间检1'] = 0x28fb82c SO['屏蔽时间检2'] = 0x28fb7b0 SO['屏蔽时间检4'] = 0x28fb2d8 SO['屏蔽时间检5'] = 0x28fb188 SO['屏蔽时间检6'] = 0x28fb0a4 SO['屏蔽时间检8'] = 0x2689b54 SO['屏蔽时间检9'] = 0x28fad54 SO['一分40秒1'] = 0x1b80920 SO['一分40秒2'] = 0x28fb82c SO['一分40秒3'] = 0x28fb7b0 SO['一分40秒4'] = 0x28fb188 SO['一分40秒6'] = 0x28fb0a4 SO['一分40秒7'] = 0x2689b54 SO['一分40秒8'] = 0x1b84500 SO['一分40秒9'] = 0x1b843e8 SO['一分40秒10'] = 0x28d3be4 SO['防举报1'] = 0x1b84500 SO['防举报2'] = 0x1b843e8 SO['防举报3'] = 0x21331f8 SO['防举报4'] = 0x28d3be4 SO['滑板跳高'] = 0x10cd808 SO['滑板滑翔'] = 0x10cdbb4 SO['滑板瞬移'] = 0x10cdd04 SO['人物瞬移'] = 0x2134fb4 SO['全宝'] = 0x27ca2d0 SO['半宝'] = 0x27ca2d0 SO['人物速度'] = 0x2133370 SO['奖励替换'] = 0x27116e4 SO['人物奖励'] = 0x2711894 SO['滑板奖励'] = 0x2711a44 SO['背饰奖励'] = 0x2711da4 SO['像框奖励'] = 0x2711e74 SO['十抽'] = 0x27c86fc SO['单抽'] = 0x27c70c4 SO['备份1'] = 0x2679780 SO['备份2'] = 0x26d31e8 SO['备份3'] = 0x2679780 SO['速度检测'] = 0x26d21e0 SO['速度检测1'] = 0x22ff280 SO['速度检测2'] = 0x22ff204 SO['速度检测4'] = 0x2821100 SO['速度检测5'] = 0x140c87c SO['隐藏2'] = 0x267c8f0 SO['隐藏4'] = 0x26bb3c0 SO['隐藏5'] = 0x1b80920 SO['结算检测1'] = 0x28fb188 SO['结算检测2'] = 0x26817b0 SO['结算检测3'] = 0x2689b54 SO['结算检测4'] = 0x1b80920 SO['过滤十秒'] = 0x28cffb0 SO['屏蔽时间检7'] = 0x29061f4 SO['屏蔽时间检3'] = 0x2906180 SO['替换人物'] = 0x1e58ad0 SO['替换滑板'] = 0x1e59ba4 SO['替换背饰'] = 0x1e5b090 SO['替换装扮'] = 0x1e5935c SO['炫跑卡'] = 0x26c8104 SO['跳跃'] = 0x266129c SO['下滑'] = 0x2661800 SO['下滑1'] = 0x2661460 SO['下滑左'] = 0x2661530 SO['下滑中'] = 0x26615a8 SO['下滑右'] = 0x2661620 SO['滑板跳高'] = 0x10cd808 SO['滑板滑翔'] = 0x10cdbb4 SO['滑板瞬移'] = 0x10cdd04 SO['人物瞬移'] = 0x2134fb4 SO['新手'] = 0x26a9964 SO['封号'] = 0x237c5c0 SO['行为1'] = 0x2689ecc SO['行为2'] = 0x2689f60 SO['行为3'] = 0x2689d10 SO['行为4'] = 0x2683194 SO['行为5'] = 0x2689be8 SO['行为6'] = 0x2689be8 SO['行为7'] = 0x241ff4c SO['行为8'] = 0x22d75e0 SO['行为9'] = 0x26e8bc4 SO['行为10'] = 0x26e8ae4 SO['行为11'] = 0x267c8f0 SO['行为12'] = 0x258df18 SO['行为13'] = 0x26e89e0 SO['行为14'] = 0x26e8430 SO['行为15'] = 0x241f808 SO['行为16'] = 0x241fd28 SO['行为17'] = 0x241fea0 SO['行为18'] = 0x28d0094 SO['行为19'] = 0x13e6ff8 SO['行为20'] = 0x1ff46bc SO['行为21'] = 0x1ff6650 SO['行为22'] = 0x1404750 SO['行为23'] = 0x1ff93bc SO['行为24'] = 0x2000210 SO['行为25'] = 0x20002bc SO['行为26'] = 0x3c43850 SO['行为27'] = 0x2681b68 SO['行为28'] = 0x2689c7c SO['行为29'] = 0x2689da4 SO['行为30'] = 0x2689e38 SO['行为31'] = 0x1fffe90 SO['行为32'] = 0x1ffff3c SO['行为33'] = 0x1ffffe8 SO['行为34'] = 0x200008c SO['行为35'] = 0x20002bc SO['行为36'] = 0x1fffe90 SO['行为37'] = 0x22d9308 SO['行为38'] = 0x1b84470 SO['行为39'] = 0x241fb10 SO['行为40'] = 0x2681c00 SO['行为41'] = 0x1ff58d8 SO['行为42'] = 0x1ffa2d8 SO['行为43'] = 0x2000138 SO['行为44'] = 0xe64484 SO['行为45'] = 0xe64478 SO['货币检测'] = 0x13d3654 SO['速度检测'] = 0x22ff204 SO['防举报1'] = 0x1b84500 SO['防举报2'] = 0x1b843e8 SO['防举报3'] = 0x21331f8 SO['防举报4'] = 0x28d3be4 SO['人物'] = 0x26a2490 SO['滑板'] = 0x26a4208 SO['背饰'] = 0x26c6864 SO['背饰保存'] = 0x26c6944 SO['像框'] = 0x2711e74 SO['相框1'] = 0x234f328 SO['装扮'] = 0x2696b18 SO['技能'] = 0x266a8a4 SO['技能勾选'] = 0x266ab68 SO['名称'] = 0x1454258 SO['获取十倍'] = 0x2682484 SO['解锁十倍'] = 0x1114b7c SO['内购'] = 0x25f0270 SO['内购成功'] = 0x25fc658 SO['领奖'] = 0x26fb020 SO['十抽'] = 0x27c8b7c SO['宝物备份'] = 0x27c6754 SO['奖励替换'] = 0x27116e4 SO['人物奖励'] = 0x2711894 SO['滑板奖励'] = 0x2711a44 SO['背饰奖励'] = 0x2711da4 SO['像框奖励'] = 0x2711e74 SO['赛事'] = 0x293da40 SO['备份1'] = 0x2679780 SO['备份2'] = 0x26d31e8 SO['备份3'] = 0x2679780 SO['备份4'] = 0x202f424 SO['双倍'] = 0x26b0548 SO['微博'] = 0x167c488 SO['金币'] = 0x2690270 SO['钥匙'] = 0x26905b0 SO['紫币'] = 0x26fcfc0 SO['宝物钥匙'] = 0x26cbedc SO['开发者'] = 0x267e370 SO['抓娃娃'] = 0x2682dc8 SO['重生'] = 0x23fcfa4 SO['邮箱'] = 0x276cb38 SO['炫跑卡'] = 0x26c8104 SO['历史分数1'] = 0x2690abc SO['历史分数2'] = 0x2690cd4 SO['历史排名'] = 0x26bf4b4 SO['等级'] = 0x2693aa0 SO['全服'] = 0x28f7428 SO['省标'] = 0x28f74a0 SO['地区'] = 0x28f7518 SO['隐藏1'] = 0x24a5a58 SO['隐藏2'] = 0x267c8f0 SO['隐藏3'] = 0x24a68ec SO['隐藏4'] = 0x26bb3c0 SO['隐藏5'] = 0x1b80920 SO['防止卡屏1'] = 0x28cffb0 SO['防止卡屏2'] = 0x28cfec8 SO['受到攻击'] = 0x2553784 SO['攻击拾取'] = 0x254de4c SO['局内金币'] = 0x265bf70 SO['获取能量'] = 0x254d3ec SO['获取能量1'] = 0x25489a4 SO['获取能量2'] = 0x25489a4 SO['跳跃'] = 0x266129c SO['下滑'] = 0x2661800 SO['下滑1'] = 0x2661460 SO['下滑左'] = 0x2661530 SO['下滑中'] = 0x26615a8 SO['下滑右'] = 0x2661620 SO['滑板跳高'] = 0x10cd808 SO['滑板滑翔'] = 0x10cdbb4 SO['滑板瞬移'] = 0x10cdd04 SO['无尽装死'] = 0x10ef6c4 SO['无限跳跃'] = 0x21366c8 SO['金币消失'] = 0x2192388 SO['无尽死亡'] = 0x10f8518 SO['道具图标'] = 0x254c2d8 SO['道具图标2'] = 0x254c368 SO['道具图标3'] = 0x254e268 SO['修改道具'] = 0x254dbc0 SO['战绩消失'] = 0x28bfaf0 SO['购买界面'] = 0x13ded30 SO['反弹道具1'] = 0x256b85c SO['反弹道具2'] = 0x256b944 SO['释放能量'] = 0x254d568 SO['释放'] = 0x254d674 SO['无视道具1'] = 0x256cb20 SO['无视道具2'] = 0x256d038 SO['无视障碍'] = 0x252f470 SO['无视侧撞'] = 0x252ff84 SO['开局道具'] = 0x268fb10 SO['能量穿透'] = 0x25483d0 SO['忙碌状态'] = 0x254c860 SO['无限能量'] = 0x254c16c SO['Buff模式'] = 0x2552b98 SO['派对聚能'] = 0x28dc648 SO['得到分数'] = 0x265dc04 SO['结束游戏'] = 0x28cfec8 SO['锁定人机'] = 0x28d2f6c SO['派对新手'] = 0x267f760 SO['派对省份'] = 0x27f6de4 SO['派对省排'] = 0x27f6d70 SO['派对全服'] = 0x27f6cfc SO['滑板消失'] = 0x2531f1c SO['三倍金币'] = 0x24e91ec SO['得分倍增'] = 0x2694cf8 SO['宝物等级'] = 0x27c2640 SO['段位'] = 0x28fa9c4 SO['历史段位'] = 0x26bfbd4 SO['星数'] = 0x2905be0 SO['道具满级'] = 0x1f616d0 SO['道具等级'] = 0x1f61530 SO['退出登录'] = 0x2686638 SO['超级跑者'] = 0x26f7fec SO['使用技能'] = 0x1e5a5fc SO['观战对手'] = 0x2140dc8 SO['替换人物'] = 0x1e58ad0 SO['替换滑板'] = 0x1e59ba4 SO['替换背饰'] = 0x1e5b090 SO['替换装扮'] = 0x1e5935c SO['点击表情'] = 0x1fac554 SO['宝抽次数'] = 0x26ccd80 SO['铁轨金币'] = 0x2192388 SO['房间防踢'] = 0x253d364 SO['匹配人机'] = 0x28d4478 SO['道具聚能'] = 0x2552c2c SO['道具备份1'] = 0x26d31e8 SO['道具备份2'] = 0x2679780 SO['好友'] = 0x292d2c8 SO['踢人'] = 0x292d520 SO['修改对抗赛'] = 0x22fd67c SO['对抗赛好友匹配'] = 0x255d0fc SO['观察者室'] = 0x130b5fc SO['自救'] = 0x22fac1c SO['复活结算'] = 0x28bfaf0 SO['调出名称'] = 0x26a9a84 SO['派对新手1'] = 0x267f760 SO['派对新手2'] = 0x267f800 SO['改变角色'] = 0x2300ef0 SO['自变保安'] = 0x22f9868 SO['时间'] = 0x21339e4 SO['异常弹窗'] = 0x258dc50 SO['HFX目标'] = 0x252b890 SO['HP目标'] = 0x256b944 SO['HP使用人'] = 0x256b85c SO['PVP定人'] = 0x28d2f6c SO['全宝'] = 0x27ca2d0 SO['半宝'] = 0x27ca2d0 SO['强制下线'] = 0x2471d30 SO['时间检测'] = 0x2689b54 SO['行为弹窗'] = 0x258df18 SO['升级金币'] = 0x27c2b1c SO['升级材料'] = 0x27c298c SO['道具无限时长'] = 0x2706fb4 SO['人物购买按钮'] = 0x1e471a8 SO['人物购买成功'] = 0x1e4c42c SO['滑板购买按钮'] = 0x1e64490 SO['滑板购买成功'] = 0x1e690c4 SO['竞赛模式1'] = 0xee4020 SO['竞赛模式2'] = 0x28af9c8 SO['竞赛模式3'] = 0x1c34dbc SO['匹配机制1'] = 0x1fac93c SO['匹配机制2'] = 0x293da40 SO['匹配机制3'] = 0x130b5fc SO['屏蔽时间检1'] = 0x28fb82c SO['屏蔽时间检2'] = 0x28fb7b0 SO['屏蔽时间检3'] = 0x2906180 SO['屏蔽时间检4'] = 0x28fb2d8 SO['屏蔽时间检5'] = 0x28fb188 SO['屏蔽时间检6'] = 0x28fb0a4 SO['屏蔽时间检7'] = 0x29061f4 SO['屏蔽时间检8'] = 0x2689b54 SO['屏蔽时间检9'] = 0x28fad54 SO['屏蔽时间检10'] = 0xe64498 SO['一分40秒1'] = 0x1b80920 SO['一分40秒2'] = 0x28fb82c SO['一分40秒3'] = 0x28fb7b0 SO['一分40秒4'] = 0x28fb188 SO['一分40秒5'] = 0x29061f4 SO['一分40秒6'] = 0x28fb0a4 SO['一分40秒7'] = 0x2689b54 SO['一分40秒8'] = 0x1b84500 SO['一分40秒9'] = 0x1b843e8 SO['一分40秒10'] = 0x28d3be4 SO['轨道位置'] = 0x2134910 SO['铁轨金币'] = 0x2192388 SO['表情退出'] = 0x294e4ac SO['按钮复制房间'] = 0x1f60d64 SO['无视敏感词'] = 0x29026e0 SO['房间防踢1'] = 0x255d948 SO['分数全服'] = 0x2891908 SO['分数全省'] = 0x2891a0c SO['改字复活'] = 0x294e5d0 SO['好友踢人'] = 0x292d520 SO['派对房间1'] = 0x1bbd5ac SO['派对房间2'] = 0x2831d40 SO['人物速度'] = 0x2133370 SO['滑板时长'] = 0x25324cc SO['宝藏等级'] = 0x27c2640 SO['目标地图1'] = 0x20f8228 SO['目标地图2'] = 0x20f91a8 SO['目标路线'] = 0x1bbd634 SO['结算检测1'] = 0x28fb188 SO['结算检测2'] = 0x26817b0 SO['结算检测3'] = 0x2689b54 SO['结算检测4'] = 0x1b80920 SO['结算退出'] = 0x146dcb0 SO['退出界面'] = 0x146bef8 SO['灵魂出窍'] = 0x145d818 SO['玩家离线'] = 0x1b83384 SO['断开连接1'] = 0x2895410 SO['断开连接2'] = 0x1a20ff8 SO['服务器1'] = 0x26817b0 SO['服务器2'] = 0x2689434 SO['服务器3'] = 0x26894e4 SO['服务器4'] = 0x10201e4 SO['人物全显'] = 0x1d60c14 SO['滑板全显'] = 0x1d60c14 SO['API检值'] = 0xfe2858 SO['拖尾'] = 0x21351e8 SO['弹窗'] = 0x14a161c SO['PVP获胜者'] = 0x27fa124 SO['离线形式'] = 0x1b80920 SO['胜利时间'] = 0x28fadbc SO['能量吸附'] = 0x25483d0 SO['能量吸附2'] = 0x2549660 SO['撑杆'] = 0x10f639c SO['能量消失'] = 0x2549900 SO['更新时刻'] = 0x3adb148 SO['更新程序'] = 0x1c6c928 SO['获取奖励'] = 0x1519a00 SO['滑板提速'] = 0x2530ce4 SO['翻滚动作'] = 0x2136ee8 SO['翻滚更新'] = 0x2141974 SO['触发事件'] = 0x25464c0 SO['速度不变'] = 0x2801830 SO['发送成功'] = 0x10ab728 SO['金币分数'] = 0x26911a0 SO['跳过新手'] = 0x26a9964 SO['客户端离线'] = 0x26817b0 SO['全局离线'] = 0x1b80920 SO['防环境'] = 0x22d9308 SO['4399防环境'] = 0x267c8f0 SO['静态防环境'] = 0x1b84470 SO['检测关闭'] = 0x3c43850 SO['关闭检测'] = 0x241f808 SO['设备ID检测'] = 0x26e89e0 SO['上传钥匙作弊'] = 0x26e8bc4 SO['上传金币作弊'] = 0x26e8ae4 SO['上传人物数量作弊'] = 0x2689ecc SO['金币数量检测'] = 0x241ff4c SO['钥匙数量检测'] = 0x2689d10 SO['关闭速度异常检测'] = 0x2689be8 SO['用户离线检测'] = 0x241fb10 SO['数据备份1'] = 0x2679780 SO['数据备份2'] = 0x26e5870 SO['数据备份3'] = 0x26d31e8 SO['等级'] = 0x2693aa0 SO['奖杯领取'] = 0x26fb020 SO['内购'] = 0x25f0270 SO['炫跑卡'] = 0x26c8104 SO['宝物钥匙'] = 0x26cbedc SO['人物'] = 0x26a2490 SO['滑板'] = 0x26a4208 SO['背饰'] = 0x26c6864 SO['背饰保存'] = 0x26c6944 SO['装扮'] = 0x2696b18 SO['头像框'] = 0x234f328 SO['滑板技能'] = 0x266a8a4 SO['滑板技能勾选'] = 0x266ab68 SO['调出十倍'] = 0x2682484 SO['获得十倍'] = 0x1114b7c SO['解锁微博'] = 0x167c488 SO['十抽宝物'] = 0x27c8b7c SO['赛事调出'] = 0x293da40 SO['社团锁定人机'] = 0x1fac554 SO['人物无敌'] = 0x10f8518 SO['人物瞬移'] = 0x2134fb4 SO['二段跳'] = 0x10cd8f0 SO['无限连跳'] = 0x21366c8 SO['滑板滑翔'] = 0x10cdbb4 SO['滑板瞬移'] = 0x10cdd04 SO['滑板跳高'] = 0x10cd808 SO['屏蔽上传'] = 0xfe2858 SO['新时刻'] = 0x28fb188 SO['最佳时间'] = 0x29061f4 SO['作弊时间'] = 0x2689b54 SO['防举报1'] = 0x1b84500 SO['防举报2'] = 0x1b843e8 SO['屏蔽时间检测1'] = 0xe64498 SO['屏蔽时间检测2'] = 0x28fad54 SO['屏蔽时间检测3'] = 0x28fb82c SO['屏蔽时间检测4'] = 0x28fb0a4 SO['防卡屏'] = 0x28cffb0 SO['结算作弊状态'] = 0x28d0094 SO['结算异常'] = 0x28cfec8 SO['结算恢复'] = 0x28cfec8 SO['屏蔽人机'] = 0x28d2e48 SO['进入结算屏蔽'] = 0x28d1938 SO['房间防踢'] = 0x253d364 SO['房间踢人'] = 0x292d520 SO['改超长名'] = 0x1454258 SO['段位'] = 0x291dccc SO['阶段'] = 0x291dd50 SO['星数'] = 0x291ddf0 SO['分数赛过检'] = 0x265df68 SO['得分倍增'] = 0x2694cf8 SO['修改速度'] = 0x2133370 SO['过派对新手1'] = 0x267f800 SO['过派对新手2'] = 0x267f760 SO['发文字复活'] = 0x294e5d0 SO['发表情退出'] = 0x294e4ac SO['终点自动退出'] = 0x146dcb0 SO['国标'] = 0x28f7428 SO['省标'] = 0x28f74a0 SO['PVP定人'] = 0x28d2f6c SO['能量倍增1'] = 0x2661530 SO['能量倍增2'] = 0x26615a8 SO['能量倍增3'] = 0x2661620 SO['能量倍增4'] = 0x266129c SO['能量倍增5'] = 0x2661460 SO['点击道具图标'] = 0x254e268 SO['忽略能量'] = 0x25483d0 SO['无视道具1'] = 0x256cb20 SO['无视道具2'] = 0x256d038 SO['无视障碍'] = 0x252f470 SO['双倍金币'] = 0x26b0548 SO['内购成功'] = 0x25fc658 SO['宝物解锁'] = 0x27ca2d0 SO['宝物备份'] = 0x27c6754 SO['十抽调出购买界面回调'] = 0x13ded30 SO['社团回调'] = 0xee4020 SO['发文字复活回调'] = 0x145d818 SO['发表情退出回调'] = 0x146bef8 SO['终点自动退出回调'] = 0x146bef8 SO['能量倍增回调'] = 0x25489a4 SO['点击道具图标获取能量回调'] = 0x25489a4 SO['获取人物'] = 0x15e7c1c SO['获取滑板'] = 0x15e7f98 SO['兑换码'] = 0x1ee5250 SO['微加速'] = 0x2530ae0 SO['人工'] = 0xe6fe30 SO['人工1'] = 0x2140630 SO['人工3'] = 0x1bdb7d8 SO['人工4'] = 0x134c308 悬浮图标='https://www.xlsm.uno/image.php?file=1783679893277_user_52157c18bdfc254b_1783687568.png' 菜单选项={"主页" ,"防封" ,"刷号" ,"竞赛"} AZ.menu({{ 更新日志(), AZ.button("加入我们", function() qq.joinGroup("1056161069") end), AZ.button("反馈问题", function() gg.QQchat("1396503273") end), AZ.button("音乐插件", function() 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 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 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 local function newyyLayout(name, id) if not isString(name) then return end local layout={ CheckBox, layout_width='match_parent', text=name, onClick=function() gg.toast('开始播放['..name..']') gg.playMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3") end} return layout end function D1() search=gg.prompt({ "输入要搜索的歌曲", "设置显示数量", },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) 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 local function getASyncThreadCallbak(func) return function() luajava.startThread(function() return pcall(func) end) end end local task local function getSyncThreadCallbak(func) return function() if task then gg.toast('正在运行其它任务,再稍后!') return end luajava.startThread(function() task=true pcall(func) task=nil end) end end local floatingWindowManager=require('floatingWindowManager') floatingWindowManager:init() floatingWindowManager:newWindow(('音乐插件'):format(floatingWindowManager.version), { onCreate=function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_margin='10dp', layout_width='match_parent', layout_height='match_parent', {LinearLayout, background=floatingWindowManager:getStateListDrawable(), layout_width='match_parent', layout_height='match_parent', orientation='vertical', padding='10dp', {Button, background=floatingWindowManager:getStateListDrawable(), layout_width='match_parent', layout_margin='5dp', text='推荐音乐', textSize='16sp', onClick=function() floatingWindowManager:start('推荐音乐') end},{Button, background=floatingWindowManager:getStateListDrawable(), layout_width='match_parent', layout_margin='5dp', text='搜索音乐', textSize='16sp', onClick=D1}, }}) end, onDestroy=function() gg.alert('欢迎下次使用!') end}) floatingWindowManager:newWindow('推荐音乐', {onCreate=function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_width='match_parent', layout_height='match_parent', background="http://pan.ailek.cn/view.php/1abefe14aadad5d21d1ca157b9e958ee.jpeg", {LinearLayout, background=floatingWindowManager:getStateListDrawable(), layout_width='match_parent', layout_height='match_parent', orientation='vertical', padding='5dp', {LinearLayout, padding={'0dp', '0dp', '0dp', '0dp'}, { TextView, layout_marginLeft='0dp', text="热门音乐", textColor= "#ffffff", gravity="center", layout_height="25dp", layout_width="70dp", background= luajava.loadlayout { GradientDrawable, color="#80615463", cornerRadius=15}, onClick=function() A="https://api.uomg.com/api/rand.music?sort=热歌榜&format=json" Obtain=gg.makeRequest(A).content muchen=Obtain:match('url":"(.-)","picurl') name=Obtain:match('name":"(.-)","') gg.toast('开始播放['..name..']') gg.playMusic(muchen) end},{TextView, layout_marginLeft='10dp', text="暂停音乐", textColor= "#ffffff", gravity="center", layout_height="25dp", layout_width="70dp", background= luajava.loadlayout { GradientDrawable, color="#80615463", cornerRadius=15}, onClick=function() gg.playMusic("stop") gg.toast("已停止播放") end}, }, newyyLayout('下坠dj', '2161282545'), newyyLayout('我只能离开', '2642743705'), newyyLayout('青花', '2617729937'), newyyLayout('谁1.2', '2105207518'), newyyLayout('冬眠 dj阿智', '2148207298'), newyyLayout('Chat Girl', '2599795692'), newyyLayout('最好的安排', '2113401750'), newyyLayout('把回忆拼好给你', '2607612637'), newyyLayout('你对我说的情话', '2098187418'), newyyLayout('暖一杯茶', '1371780785'), newyyLayout('以爱之名', '2634252423'), newyyLayout('可不可以', '2049712865'), newyyLayout('晚风', '1441758494'), newyyLayout('不说', '2604741738'), newyyLayout('年轮', '1954908763'), newyyLayout('遗失的心跳', '1985145960'), newyyLayout('最后一页', '2103817097'), newyyLayout('谁', '566436427'), newyyLayout('死别', '2710880822'), newyyLayout('街上的宝剑', '1979732476'), newyyLayout('明月天涯', '2667061532'), newyyLayout('侧脸', '2664485885'), newyyLayout('Forever Young', '2666607161'), newyyLayout('spectre2.0', '2097155567'), newyyLayout('在银河中孤独摇摆', '2155423467'), newyyLayout('希望有羽毛和翅膀', '2155423468'), newyyLayout('使一颗心免于哀伤', '2155422573'), newyyLayout('水龙吟', '2068662479'), newyyLayout('不眠之夜', '2122308127'), newyyLayout('大爱炼天', '2606259329'), newyyLayout('心似烟火', '1399112638'), newyyLayout('难生恨', '1880441452'), newyyLayout('若把你', '865632948'), newyyLayout('你就是我的风景', '2145697141'), newyyLayout('烟火里的尘埃', '29004400'), newyyLayout('不怕', '1844961495'), newyyLayout('梦的光点', '2121749062'), newyyLayout('借过', '2614545324'), newyyLayout('只是朋友', '428203460'), newyyLayout('落空', '548885986'), newyyLayout('羡慕风,羡慕雨', '2704581036'), newyyLayout('当你', '2159417724'), newyyLayout('戒烟', '518686034'), newyyLayout('戒不掉', '2124518108'), newyyLayout('忘了牵手', '2106069090'), newyyLayout('晚夜微雨问海常', '1887577667'), newyyLayout('秋殇别恋', '2078405594'), newyyLayout('春娇与志明', '2690846376'), newyyLayout('还是会想你', '1827600686'), newyyLayout('忘川彼岸', '1815309100'), newyyLayout('成仙', '1898136616'), newyyLayout('电击小子(赛马娘版)', '2626870992'), newyyLayout('神的说晿', '2711071578'), newyyLayout('两难', '2163210456'), newyyLayout('UNA MAS FUNK', '2684304173'), newyyLayout('DEL AMOR(SlOWED)', '2707547077'), newyyLayout('AURA', '2604797792'), newyyLayout('MORTAlS', '2666001977'), newyyLayout('君未知', '2699568977'), newyyLayout('江南爱情故事', '2719033743'), newyyLayout('春不晚', '2655402719'), newyyLayout('缝隙阳光(纯音乐)', '28830411'), newyyLayout('WhoIAm-AW Relift', '2129143826'), newyyLayout('刺激战场的小曲', '33887932'), newyyLayout('南山南', '2725994976'), newyyLayout('小幸运', '2600477540'), newyyLayout('爱情讯息', '2726047458'), newyyLayout('海阔天空', '2160674145'), newyyLayout('于是', '1303464858'), newyyLayout('病变', '2162858601'), newyyLayout('泡沫DJ', '1811619244'), newyyLayout('把回忆拼好给你', '1403318151'), newyyLayout('爱错DJ', '2653198990'), newyyLayout('如果爱忘了', '2165540290'), newyyLayout('还是会想你', '2150498528'), }}) end}) floatingWindowManager:run() end), AZ.button("退出辅助",function() window : removeView(floatWindow ) luajava.setFloatingWindowHide(false ) bloc("end" ) gg.setVisible(true ) end), },{ AZ.button("选择进程", function() gg.setProcessX() DM="请选择游戏进程"--语音播报内容自己改 gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻译 end), AZ.toggleBarButton("过ACE检测",function() gg.clearResults() gg.setRanges(16384) gg.searchNumber('-268,435,344;-113,095,151;-1,861,066,224::13',4) local a = gg.getResults(1) local b = a[1].address local c = b + 0xC local d = { address = c, flags = gg.TYPE_DWORD, value = -698416192 } gg.setValues({d}) gg.clearResults() gg.clearResults() gg.setRanges(16384) gg.searchNumber('-1,440,807,966;-1,442,839,565;-788,347,905;-1,459,005,450::69',4) local a = gg.getResults(1,3) local b = a[1].address local c = b + 0xC local d = { address = c, flags = gg.TYPE_DWORD, value = -698416192 } gg.setValues({d}) gg.clearResults() DM="ACE过滤成功"--语音播报内容自己改 gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻译 end, function() end,"登录界面"), AZ.toggleBarButton("过滤环境",function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end so=gg.getRangesList('libtersafe2.so')[1].start py=0x4FD600 setvalue(so+py,4,"~A8 RET") py=0x4FD7D0 setvalue(so+py,4,"~A8 RET") py=0x4FD7E0 setvalue(so+py,4,"~A8 RET") py=0x4FD7F0 setvalue(so+py,4,"~A8 RET") py=0x4FD800 setvalue(so+py,4,"~A8 RET") py=0x4FD64C setvalue(so+py,4,"~A8 RET") py=0x4FD65C setvalue(so+py,4,"~A8 RET") py=0x4FD668 setvalue(so+py,4,"~A8 RET") py=0x4FD66C setvalue(so+py,4,"~A8 RET") py=0x4FD67C setvalue(so+py,4,"~A8 RET") py=0x4FD690 setvalue(so+py,4,"~A8 RET") py=0x4FD69C setvalue(so+py,4,"~A8 RET") py=0x4FD6AC setvalue(so+py,4,"~A8 RET") py=0x4FD6BC setvalue(so+py,4,"~A8 RET") py=0x4FD6D0 setvalue(so+py,4,"~A8 RET") py=0x4FD6DC setvalue(so+py,4,"~A8 RET") py=0x4FD6E0 setvalue(so+py,4,"~A8 RET") py=0x4FD6EC setvalue(so+py,4,"~A8 RET") py=0x4FD6F0 setvalue(so+py,4,"~A8 RET") py=0x4FD6FC setvalue(so+py,4,"~A8 RET") py=0x4FD730 setvalue(so+py,4,"~A8 RET") py=0x4FD73C setvalue(so+py,4,"~A8 RET") py=0x4FD740 setvalue(so+py,4,"~A8 RET") py=0x4FD74C setvalue(so+py,4,"~A8 RET") py=0x4FD750 setvalue(so+py,4,"~A8 RET") py=0x4FD758 setvalue(so+py,4,"~A8 RET") py=0x4FD75C setvalue(so+py,4,"~A8 RET") py=0x4FD760 setvalue(so+py,4,"~A8 RET") py=0x4FD77C setvalue(so+py,4,"~A8 RET") py=0x4FD78C setvalue(so+py,4,"~A8 RET") py=0x4FD79C setvalue(so+py,4,"~A8 RET") py=0x4FD7CC setvalue(so+py,4,"~A8 RET") py=0x4FD7DC setvalue(so+py,4,"~A8 RET") py=0x4FD7EC setvalue(so+py,4,"~A8 RET") py=0x4FD7FC setvalue(so+py,4,"~A8 RET") py=0x4FD80C setvalue(so+py,4,"~A8 RET") py=0x4FD81C setvalue(so+py,4,"~A8 RET") py=0x4FD820 setvalue(so+py,4,"~A8 RET") py=0x4FD82C setvalue(so+py,4,"~A8 RET") py=0x4FD83C setvalue(so+py,4,"~A8 RET") py=0x4FD84C setvalue(so+py,4,"~A8 RET") py=0x4FD85C setvalue(so+py,4,"~A8 RET") py=0x4FD86C setvalue(so+py,4,"~A8 RET") py=0x4FD87C setvalue(so+py,4,"~A8 RET") py=0x4FD88C setvalue(so+py,4,"~A8 RET") py=0x4FD8AC setvalue(so+py,4,"~A8 RET") py=0x4FD8BC setvalue(so+py,4,"~A8 RET") py=0x4FD8CC setvalue(so+py,4,"~A8 RET") py=0x4FD8DC setvalue(so+py,4,"~A8 RET") py=0x4FD8EC setvalue(so+py,4,"~A8 RET") py=0x4FD8FC setvalue(so+py,4,"~A8 RET") py=0x4FD90C setvalue(so+py,4,"~A8 RET") py=0x4FD910 setvalue(so+py,4,"~A8 RET") py=0x4FD91C setvalue(so+py,4,"~A8 RET") py=0x4FD92C setvalue(so+py,4,"~A8 RET") py=0x4FD93C setvalue(so+py,4,"~A8 RET") py=0x4FD94C setvalue(so+py,4,"~A8 RET") py=0x4FD95C setvalue(so+py,4,"~A8 RET") py=0x4FD99C setvalue(so+py,4,"~A8 RET") py=0x4FD9BC setvalue(so+py,4,"~A8 RET") py=0x4FD9CC setvalue(so+py,4,"~A8 RET") py=0x4FD9F0 setvalue(so+py,4,"~A8 RET") py=0x4FDAEC setvalue(so+py,4,"~A8 RET") py=0x4FDAFC setvalue(so+py,4,"~A8 RET") py=0x4FDB40 setvalue(so+py,4,"~A8 RET") py=0x4FDB6C setvalue(so+py,4,"~A8 RET") py=0x4FDBE0 setvalue(so+py,4,"~A8 RET") py=0x4FDC3C setvalue(so+py,4,"~A8 RET") py=0x4FDC6C setvalue(so+py,4,"~A8 RET") py=0x4FDC90 setvalue(so+py,4,"~A8 RET") py=0x4FDCBC setvalue(so+py,4,"~A8 RET") py=0x4FDCCC setvalue(so+py,4,"~A8 RET") py=0x4FDD0C setvalue(so+py,4,"~A8 RET") py=0x4FDD30 setvalue(so+py,4,"~A8 RET") py=0x4FDD3C setvalue(so+py,4,"~A8 RET") py=0x4FDD8C setvalue(so+py,4,"~A8 RET") py=0x4FDDBC setvalue(so+py,4,"~A8 RET") py=0x4FDDE0 setvalue(so+py,4,"~A8 RET") py=0x4FDE0C setvalue(so+py,4,"~A8 RET") py=0x4FDEDC setvalue(so+py,4,"~A8 RET") py=0x4FDEFC setvalue(so+py,4,"~A8 RET") py=0x4FDF30 setvalue(so+py,4,"~A8 RET") py=0x4FDF40 setvalue(so+py,4,"~A8 RET") py=0x4FDF4C setvalue(so+py,4,"~A8 RET") py=0x4FDF6C setvalue(so+py,4,"~A8 RET") py=0x4FDFDC setvalue(so+py,4,"~A8 RET") py=0x4FE03C setvalue(so+py,4,"~A8 RET") py=0x4FE040 setvalue(so+py,4,"~A8 RET") py=0x4FE04C setvalue(so+py,4,"~A8 RET") py=0x4FE050 setvalue(so+py,4,"~A8 RET") py=0x4FE05C setvalue(so+py,4,"~A8 RET") py=0x4FE06C setvalue(so+py,4,"~A8 RET") py=0x4FE10C setvalue(so+py,4,"~A8 RET") py=0x4FE110 setvalue(so+py,4,"~A8 RET") py=0x4FE170 setvalue(so+py,4,"~A8 RET") py=0x4FE17C setvalue(so+py,4,"~A8 RET") py=0x4FE1E8 setvalue(so+py,4,"~A8 RET") py=0x4FE1F0 setvalue(so+py,4,"~A8 RET") py=0x4FE24C setvalue(so+py,4,"~A8 RET") DM="环境过滤成功"--语音播报内容自己改 gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻译 end, function() end,"登录界面"), AZ.toggleBarButton("过滤行为",function() AZ_il2cpp(SO['行为1'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为2'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为3'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为4'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为5'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为7'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为8'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为9'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为10'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为11'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为12'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为13'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为14'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为15'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为16'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为17'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为18'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为19'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为20'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为21'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为22'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为23'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为24'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为25'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为26'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为27'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为28'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为29'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为30'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为31'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为32'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为33'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为34'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为37'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为38'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为39'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为40'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为41'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为42'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['行为43'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['一分40秒1'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['一分40秒2'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['一分40秒3'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['一分40秒4'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['一分40秒6'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['一分40秒7'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['一分40秒8'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['一分40秒9'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['一分40秒10'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['屏蔽时间检1'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['屏蔽时间检2'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['屏蔽时间检3'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['屏蔽时间检4'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['屏蔽时间检5'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['屏蔽时间检6'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['屏蔽时间检7'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['屏蔽时间检8'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['屏蔽时间检9'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['结算检测1'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['结算检测2'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['结算检测4'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['速度检测1'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['速度检测2'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['速度检测4'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['速度检测5'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['时间检测'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['隐藏2'] ,4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['隐藏4'] ,4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['隐藏5'] ,4,"~A8 MOV W0, #1") AZ_il2cpp(SO['防举报1'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['防举报2'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['防举报3'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['防举报4'],4,"~A8MOV X0, WZR") AZ_il2cpp(SO['人工'],4,"~A8 MOV X0, WZR") AZ_il2cpp(SO['人工1'],4,"~A8 MOV X0, WZR") AZ_il2cpp(SO['人工3'],4,"~A8 MOV X0, WZR") AZ_il2cpp(SO['人工4'],4,"~A8 MOV X0, WZR") DM="行为已过滤"--语音播报内容自己改 gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻译 end, function() end,"大厅界面"), AZ.toggleBarButton("防止追封", function() io.open("/sdcard/全防","w+"):write([[ 16701 Var #7672D31BE0|7672d31be0|4|d65f03c0|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|afbbe0 Var #7672D31BF0|7672d31bf0|4|d65f03c0|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|afbbf0 Var #7675B5855C|7675b5855c|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|392255c Var #7675CD518C|7675cd518c|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3a9f18c Var #7675CDA114|7675cda114|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3aa4114 Var #7675CDA2B0|7675cda2b0|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3aa42b0 Var #7675CF2D74|7675cf2d74|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3abcd74 Var #7675CF312C|7675cf312c|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3abd12c Var #7675CF35A8|7675cf35a8|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3abd5a8 Var #7675CF50A4|7675cf50a4|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3abf0a4 Var #7675CF6568|7675cf6568|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3ac0568 Var #7675CF7234|7675cf7234|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3ac1234 Var #7675CF72BC|7675cf72bc|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3ac12bc Var #7675CF8734|7675cf8734|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3ac2734 Var #7675CF8B60|7675cf8b60|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3ac2b60 Var #7675CF8B7C|7675cf8b7c|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3ac2b7c Var #7675CF8D28|7675cf8d28|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3ac2d28 Var #7675CF96F4|7675cf96f4|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3ac36f4 Var #7675CF9704|7675cf9704|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3ac3704 Var #7675CF9768|7675cf9768|4|100|0|0|0|0|r-xp|/data/app/~~vobmyvFuRe3F0vri1HtW6w==/com.kiloo.subwaysurf-xsFOjN8qYhSFJeRpd5ksyg==/lib/arm64/libil2cpp.so|3ac3768 ]]) gg.loadList("/sdcard/全防", gg.LOAD_VALUES) os.remove("/sdcard/全防") DM="防止追封开启成功"--语音播报内容自己改 gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻译 end, function() end,"下线开启") },{ AZ.box({"全解功能", AZ.toggleBarButton("人物全解", function() AZ_il2cpp(SO['人物'],4,"~A8 MOV W0, #1") gg.toast("人物全解开启成功") end, function() AZ_il2cpp(SO['人物'],4,"~A8 MOV W0, WZR") gg.toast("人物清除成功") end,"清除人物"), AZ.toggleBarButton("滑板全解", function() AZ_il2cpp(SO['滑板'],4,"~A8 MOV W0, #1") gg.toast("滑板全解开启成功") end, function() AZ_il2cpp(SO['滑板'],4,"~A8 MOV W0, WZR") gg.toast("滑板清除成功") end,"清除滑板"), AZ.toggleBarButton("背饰全解", function() AZ_il2cpp(SO['背饰'],4,"~A8 MOV W0, #1") gg.toast("背饰全解开启成功") end, function() AZ_il2cpp(SO['背饰'],4,"~A8 MOV W0, WZR") gg.toast("背饰清除成功") end,"清除背饰"), AZ.toggleBarButton("装扮全解", function() AZ_il2cpp(SO['装扮'],4,"~A8 MOV W0, #1") gg.toast("装扮全解开启成功") end, function() AZ_il2cpp(SO['装扮'],4,"~A8 MOV W0, WZR") gg.toast("装扮清除成功") end,"清除装扮"), AZ.toggleBarButton("技能全解", function() AZ_il2cpp(SO['技能'],4,"~A8 MOV W0, #1") gg.toast("技能全解开启成功") end, function() AZ_il2cpp(SO['技能'],4,"~A8 MOV W0, WZR") gg.toast("技能清除成功") end,"清除技能"), AZ.toggleBarButton("相框全解", function() AZ_il2cpp(SO['相框保存'],4,"~A8 MOV W0, #1") AZ_il2cpp(SO['相框1'],4,"~A8 MOV W0, #1") AZ_il2cpp(SO['像框'],4,"~A8 MOV W0, #1") gg.toast("相框全解开启成功") end, function() AZ_il2cpp(SO['相框保存'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['相框1'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['像框'],4,"~A8 MOV W0, WZR") gg.toast("相框清除成功") end,"清除相框") }), AZ.box({"购买功能", AZ.toggleBarButton("直购人物", function() AZ_il2cpp(SO['人物购买按钮'],4,"~A8 B [PC,#"..AZ_HDZ(SO['人物购买按钮'],SO['人物购买成功']).."]") gg.toast("直购人物开启成功\n直接点击购买按钮即可") end, function() end,"可以保存"), AZ.toggleBarButton("直购滑板", function() AZ_il2cpp(SO['滑板购买按钮'],4,"~A8 B [PC,#"..AZ_HDZ(SO['滑板购买按钮'],SO['滑板购买成功']).."]") gg.toast("直购滑板开启成功\n直接点击购买按钮即可") end, function() end,"不可保存"), }), AZ.box({"货币功能", AZ.toggleBarButton("修改金币", function() local az = gg.prompt({"请输入你要修改的数量:"}, {"100000"}, {"text"})[1] local table={az} for Key,value in pairs(table)do if(Key==1 and value ~="")then local num_1 = az local num_1 = tonumber(num_1) SO_Deposit(SO['金币'] ,4,num_1) end end gg.toast("开启成功") end, function() end,"可以保存"), AZ.toggleBarButton("修改钥匙", function() local az = gg.prompt({'请输入你要修改的数量:'},{"100"},{"text"}) AZ_il2cpp(SO['钥匙'] ,4,"~A8 MOV W0, #"..az[1]) gg.toast("开启成功") end, function() end,"可以保存"), AZ.toggleBarButton("宝物钥匙", function() local az = gg.prompt({'请输入修改的宝物钥匙:'},{"100"},{"text"}) AZ_il2cpp(SO['宝物钥匙'] ,4,"~A8 MOV W0, #"..az[1]) gg.toast("开启成功") end, function() end,"可以保存"), AZ.toggleBarButton("修改紫币", function() local az = gg.prompt({"请输入你要修改的赛季币数量:"}, {""}, {"text"})[1] local table={az} for Key,value in pairs(table)do if(Key==1 and value ~="")then local num_1 = az local num_1 = tonumber(num_1) SO_Deposit(SO['紫币'] ,4,num_1) end end gg.toast("开启成功") end, function() end,"可以保存"), }), AZ.box({"替换功能", AZ.edit("锁定奖励机制","锁定奖励机制"), AZ.edit("替换人物","替换人物"), AZ.edit("替换滑板","替换滑板"), AZ.edit("替换背饰","替换背饰"), AZ.edit("替换装扮","替换装扮"), AZ.edit("奖励替换人物","奖励替换人物"), AZ.edit("奖励替换滑板","奖励替换滑板"), AZ.edit("奖励替换背饰","奖励替换背饰"), AZ.edit("奖励替换像框","奖励替换像框"), AZ.button("确认更改", function() local table={ AZ.getedit("锁定奖励机制"), AZ.getedit("替换人物"), AZ.getedit("替换滑板"), AZ.getedit("替换背饰"), AZ.getedit("替换装扮"), AZ.getedit("奖励替换人物"), AZ.getedit("奖励替换滑板"), AZ.getedit("奖励替换背饰"), AZ.getedit("奖励替换像框"), } for Key,value in pairs(table)do if(Key==1 and value ~="")then AZ_il2cpp(SO['奖励替换'],4,"~A8 MOV W0, #"..value) gg.toast("锁定奖励开启成功") elseif(Key==2 and value ~="")then AZ_il2cpp(SO['替换人物'],4,"~A8 MOV W0, #"..value) gg.toast("替换人物开启成功") elseif(Key==3 and value ~="")then AZ_il2cpp(SO['替换滑板'],4,"~A8 MOV W0, #"..value) gg.toast("替换滑板开启成功") elseif(Key==4 and value ~="")then AZ_il2cpp(SO['替换背饰'],4,"~A8 MOV W0, #"..value) gg.toast("替换背饰开启成功") elseif(Key==5 and value ~="")then AZ_il2cpp(SO['替换装扮'],4,"~A8 MOV W0, #"..value) gg.toast("替换装扮开启成功") elseif(Key==6 and value ~="")then AZ_il2cpp(SO['奖励替换'],4,"~A8 MOV W0, #10") AZ_il2cpp(SO['人物奖励'],4,"~A8 MOV W0, #"..value) gg.toast("锁定奖励开启成功") elseif(Key==7 and value ~="")then AZ_il2cpp(SO['奖励替换'],4,"~A8 MOV W0, #12") AZ_il2cpp(SO['滑板奖励'],4,"~A8 MOV W0, #"..value) gg.toast("锁定奖励开启成功") elseif(Key==8 and value ~="")then AZ_il2cpp(SO['奖励替换'],4,"~A8 MOV W0, #14") AZ_il2cpp(SO['背饰奖励'],4,"~A8 MOV W0, #"..value) gg.toast("锁定奖励开启成功") elseif(Key==9 and value ~="")then AZ_il2cpp(SO['奖励替换'],4,"~A8 MOV W0, #9") AZ_il2cpp(SO['像框奖励'],4,"~A8 MOV W0, #"..value) gg.toast("锁定奖励开启成功") end end end, function() end,"无法关闭"), }), AZ.box({"兑换功能", AZ.toggleBarButton("兑换人物", function() function setvalue(address, flags, value) local tt = {} tt[1] = {} tt[1].address = address tt[1].flags = flags tt[1].value = value gg.setValues(tt) end function SOGSPY_ST(HDZ,DYZ) if HDZ >= DYZ then py=string.format("0x%X",HDZ-DYZ) return tostring(string.format("-0x%X",py)) else py=string.format("0x%X",DYZ-HDZ) return tostring(string.format("0x%X",py)) end end function SO_PP(py,bh,sz) so=gg.getRangesList('libil2cpp.so')[2].start setvalue(so+py,bh,sz) end local code = gg.prompt({'请输入人物代码id:'},{[1] = ""}, {[1] = 'number'}) if not code then return end local addr = gg.getRangesList("libil2cpp.so")[2].start + SO['兑换码'] SO_PP(SO['兑换码'],4,'~A8LDR X0, [PC,#0x9178]') SO_PP(SO['兑换码']+0x4,4,'~A8B [PC,#'..SOGSPY_ST(SO['兑换码']+0x4,SO['获取人物'])..']') SO_PP(SO['兑换码']+0x9178,4,tonumber(code[1])) gg.toast("兑换人物开启成功") end, function() end,"可以保存"), AZ.toggleBarButton("兑换滑板", function() function setvalue(address, flags, value) local tt = {} tt[1] = {} tt[1].address = address tt[1].flags = flags tt[1].value = value gg.setValues(tt) end function SOGSPY_ST(HDZ,DYZ) if HDZ >= DYZ then py=string.format("0x%X",HDZ-DYZ) return tostring(string.format("-0x%X",py)) else py=string.format("0x%X",DYZ-HDZ) return tostring(string.format("0x%X",py)) end end function SO_PP(py,bh,sz) so=gg.getRangesList('libil2cpp.so')[2].start setvalue(so+py,bh,sz) end local code = gg.prompt({'请输入滑板代码id:'},{[1] = ""}, {[1] = 'number'}) if not code then return end local addr = gg.getRangesList("libil2cpp.so")[2].start + SO['兑换码'] SO_PP(SO['兑换码'],4,'~A8LDR X0, [PC,#0x9178]') SO_PP(SO['兑换码']+0x4,4,'~A8B [PC,#'..SOGSPY_ST(SO['兑换码']+0x4,SO['获取滑板'])..']') SO_PP(SO['兑换码']+0x9178,4,tonumber(code[1])) gg.toast("兑换滑板开启成功") end, function() end,"不可保存"), }), AZ.box({"宝物功能", AZ.toggleBarButton("十抽宝物", function() AZ_il2cpp(SO['十抽'],4,"~A8 B [PC,#"..AZ_HDZ(SO['十抽'],SO['全宝']).."]") gg.toast('十抽宝物开启成功') end, function() AZ_il2cpp(SO['十抽'],4,"~A8 MOV W0, #1") gg.toast('十抽宝物关闭开启成功') end,"关闭十抽宝物"), AZ.toggleBarButton("十抽备份", function() AZ_il2cpp(SO['十抽'] ,4,"~A8 B [PC,#"..AZ_HDZ(SO['十抽'] ,SO['宝物备份']).."]") gg.toast('十抽备份开启成功') end, function() AZ_il2cpp(SO['十抽'],4,"~A8 MOV W0, #1") gg.toast('十抽备份关闭成功') end,"关闭十抽备份"), AZ.toggleBarButton("十抽半宝", function() AZ_il2cpp(SO['十抽'],4,"~A8 B [PC,#"..SOGSPY_ST(SO['十抽'],SO['半宝']).."]") gg.toast("十抽半宝开启成功") end, function() AZ_il2cpp(SO['十抽'],4,"~A8 MOV W0, #1") gg.toast("十抽半宝关闭成功") end,"关闭十抽半宝"), AZ.toggleBarButton("宝物点击升级", function() AZ_il2cpp(SO['升级材料'],4,"~A8 MOV W0, #1") AZ_il2cpp(SO['升级金币'],4,"~A8 MOV W0, #1") gg.toast("宝物点击升级开启成功") end, function() AZ_il2cpp(SO['升级材料'],4,"~A8 MOV W0, WZR") AZ_il2cpp(SO['升级金币'],4,"~A8 MOV W0, WZR") gg.toast("宝物点击升级关闭成功") end,"关闭宝物点击升级"), AZ.toggleBarButton("十抽老版购买", function() AZ_il2cpp(SO['十抽'],4,"~A8 B [PC,#"..SOGSPY_ST(SO['十抽'],SO['购买界面']).."]") gg.toast("十抽调出老板购买界面开启成功") end, function() AZ_il2cpp(SO['十抽'],4,"~A8 MOV W0, #1") gg.toast("十抽调出老板购买界面关闭成功") end,"关闭十抽老版购买"), AZ.toggleBarButton("宝物等级", function() local a = gg.prompt({"修改方式:宝物代码+修改等级\n如果全部修改只需输入修改等级"},{"3299"},{"text"})[1] if not a then return end AZ_il2cpp(SO['宝物等级'],4,"~A8 MOV W0, #"..a.."") gg.toast("宝物等级修改成功") end, function() AZ_il2cpp(SO['宝物等级'],4,"~A8 MOV W0, #1") gg.toast("宝物等级关闭成功") end,"关闭宝物等级"), AZ.toggleBarButton("十抽道具赛", function() AZ_il2cpp(SO['十抽'],4,"~A8 B [PC,#"..SOGSPY_ST(SO['十抽'],SO['竞赛模式1']).."]") gg.toast("十抽道具赛开启成功") end, function() AZ_il2cpp(SO['十抽'],4,"~A8 MOV W0, #1") gg.toast("十抽道具赛关闭成功") end,"关闭十抽道具赛"), AZ.toggleBarButton("十抽对抗赛", function() AZ_il2cpp(SO['十抽'],4,"~A8 B [PC,#"..SOGSPY_ST(SO['十抽'],SO['竞赛模式3']).."]") gg.toast("十抽对抗赛开启成功") end, function() AZ_il2cpp(SO['十抽'],4,"~A8 MOV W0, #1") gg.toast("十抽对抗赛关闭成功") end,"关闭十抽对抗赛"), AZ.toggleBarButton("单抽全宝", function() AZ_il2cpp(SO['单抽'],4,"~A8 B [PC,#"..SOGSPY_ST(SO['单抽'],SO['全宝']).."]") gg.toast("单抽全宝开启成功") end, function() AZ_il2cpp(SO['单抽'],4,"~A8 MOV W0, #1") gg.toast("单抽全宝关闭成功") end,"关闭单抽全宝"), }), AZ.box({"特权功能", AZ.toggleBarButton("自定义跑卡等级", function() local code=gg.prompt({'请输入等级'},{[1]=""},{[1]='number'}) if code and code[1] then AZ_il2cpp(SO['炫跑卡'],4,"~A8 MOV X0, #"..code[1]) end gg.toast('修改成功') end, function() end,"无法关闭"), AZ.toggleBarButton("满级跑卡", function() AZ_il2cpp(SO['炫跑卡'],4,"~A8MOV W0, #6") gg.toast('满级跑卡开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("强制下线", function() AZ_il2cpp(SO['强制下线'],4,"~A8 MOV W0, #1") gg.toast('强制下线开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("调出开发者", function() AZ_il2cpp(SO['开发者'],4,"~A8 MOV W0, #1") gg.toast('开发者已调出') end, function() AZ_il2cpp(SO['开发者'],4,"~A8 MOV W0, WZR") gg.toast('开发者已关闭') end,"关闭开发者"), AZ.toggleBarButton("十倍得分", function() AZ_il2cpp(SO['获取十倍得分'] ,4,"~A8MOV W0, #1") gg.toast('十倍得分获取成功') end, function() end,"无法关闭"), AZ.toggleBarButton("双倍金币", function() AZ_il2cpp(SO['双倍'] ,4,"~A8MOV W0, #1") gg.toast('双倍金币获取成功') end, function() end,"无法关闭"), AZ.toggleBarButton("一键领奖", function() AZ_il2cpp(SO['领奖'] ,4,"~A8MOV W0, #1") gg.toast('一键领奖开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("破解内购", function() AZ_il2cpp(SO['内购'] ,4,"~A8B [PC,#"..SOGSPY_ST(SO['内购'] ,SO['内购成功']).."]") gg.toast("破解内购开启成功") end, function() end,"无法关闭"), AZ.toggleBarButton("超长名称", function() AZ_il2cpp(SO['名称'] ,4,"~A8B [PC,#0x100]") gg.toast('超长名称开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("粉色名称", function() AZ_il2cpp(SO['金色名字'],4,"~A8MOV X0, #1") gg.toast("粉色名称开启成功") end, function() end,"无法关闭"), AZ.toggleBarButton("金色名称", function() AZ_il2cpp(SO['炫跑卡'],4,"~A8MOV W0, #6") AZ_il2cpp(SO['金色名字'],4,"~A8MOV W0, #0x1") gg.toast("金色名称开启成功") end, function() end,"无法关闭"), }) },{ AZ.box({"道具竞赛", AZ.toggleBarButton("冲榜功能", function() AZ_il2cpp(SO['过滤十秒'],4, "~A8 MOV X0, WZR") AZ_il2cpp(SO['无视道具1'] ,4,"~A8 MOV W0, #1") AZ_il2cpp(SO['无视道具2'] ,4,"~A8 MOV W0, #1") AZ_il2cpp(SO['无视障碍'],4,"~A8 MOV W0, #1") AZ_il2cpp(SO['无视侧撞'] ,4,"~A8 MOV W0, #1") AZ_il2cpp(SO['下滑左'],4,"~A8 B [PC,#"..AZ_HDZ(SO['下滑左'],SO['获取能量1']).."]") AZ_il2cpp(SO['下滑中'],4,"~A8 B [PC,#"..AZ_HDZ(SO['下滑中'],SO['获取能量1']).."]") AZ_il2cpp(SO['跳跃'],4,"~A8 B [PC,#"..AZ_HDZ(SO['跳跃'],SO['获取能量1']).."]") AZ_il2cpp(SO['滑板瞬移'],4,"~A8 MOV W0, #1") AZ_il2cpp(SO['炫跑卡'],4,"~A8MOV W0, #6") lmr=gg.alert([[ 冲榜功能如下 过滤十秒 无视道具1.2 无视障碍 无视侧撞 下滑一套 跳跃 增加能量 滑板瞬移 满级跑卡 ]],"") DM="冲榜功能开启成功"--语音播报内容自己改 gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻译 end, function() end,"强烈建议"), AZ.toggleBarButton("Buff增加能量", function() AZ_il2cpp(SO['Buff模式'],4,"~A8B [PC,#"..SOGSPY_ST(SO['Buff模式'],SO['获取能量1']).."]") gg.toast("Buff增加能量开启成功") end, function() AZ_il2cpp(SO['Buff模式'],4,"~A8MOV W0, #1") gg.toast("Buff增加能量恢复成功") end,"恢复Buff增加能量"), AZ.toggleBarButton("跳跃增加能量", function() AZ_il2cpp(SO['跳跃'],4,"~A8B [PC,#"..SOGSPY_ST(SO['跳跃'],SO['获取能量1']).."]") gg.toast("跳跃增加能量开启成功") end, function() AZ_il2cpp(SO['跳跃'],4,"~A8MOV W0, #1") gg.toast("跳跃增加能量恢复成功") end,"恢复跳跃增加能量"), AZ.toggleBarButton("下增加能量", function() AZ_il2cpp(SO['下滑'],4,"~A8B [PC,#"..SOGSPY_ST(SO['下滑'],SO['获取能量1']).."]") AZ_il2cpp(SO['下滑1'],4,"~A8B [PC,#"..SOGSPY_ST(SO['下滑1'],SO['获取能量1']).."]") gg.toast("下滑增加能量开启成功") end, function() AZ_il2cpp(SO['下滑'],4,"~A8MOV W0, #1") AZ_il2cpp(SO['下滑1'],4,"~A8MOV W0, #1") gg.toast("下滑增加能量恢复成功") end,"恢复下滑增加能量"), AZ.toggleBarButton("下左增加能量", function() AZ_il2cpp(SO['下滑左'],4,"~A8B [PC,#"..SOGSPY_ST(SO['下滑左'],SO['获取能量1']).."]") gg.toast("下滑左增加能量开启成功") end, function() AZ_il2cpp(SO['下滑左'],4,"~A8MOV W0, #1") gg.toast("下左增加能量恢复成功") end,"恢复下滑左增加能量"), AZ.toggleBarButton("下中增加能量", function() AZ_il2cpp(SO['下滑中'],4,"~A8B [PC,#"..SOGSPY_ST(SO['下滑中'],SO['获取能量1']).."]") gg.toast("下滑中增加能量开启成功") end, function() AZ_il2cpp(SO['下滑中'],4,"~A8MOV W0, #1") gg.toast("下中增加能量恢复成功") end,"恢复下滑中增加能量"), AZ.toggleBarButton("下右增加能量", function() AZ_il2cpp(SO['下滑右'],4,"~A8B [PC,#"..SOGSPY_ST(SO['下滑右'],SO['获取能量1']).."]") gg.toast("下滑右增加能量开启成功") end, function() AZ_il2cpp(SO['下滑右'],4,"~A8MOV W0, #1") gg.toast("下滑右增加能量恢复成功") end,"恢复下滑右增加能量"), AZ.toggleBarButton("退出游戏", function() local gg=gg local lib = gg.getRangesList() do do for _FORV_4_ in ipairs(lib) do if string.find(lib[_FORV_4_].name, "libil2cpp.so") and lib[_FORV_4_].state == "Xa" and lib[_FORV_4_].type == "r-xp" then module = lib[_FORV_4_].start break end end end end hook = {StaticUpdater = SO['更新时刻']} function HookCall(set) local action = module + set.hook local recover = gg.getValues({ {address = action, flags = 4} })[1].value local offset = function(a, b) if b <= a then return string.format("-0x%X", a - b) else return string.format("0x%X", b - a) end return 0 end local original = {} do do for _FORV_8_, _FORV_9_ in pairs(set.method) do original[#original + 1] = { address = action, flags = 4, value = "~A8B [PC,#" .. offset(action, module + _FORV_9_) .. "]" } end end end original[#original + 1] = { address = action, flags = 4, value = recover } do do for _FORV_8_ in ipairs(original) do gg.setValues({ original[_FORV_8_] }) gg.sleep(math.random(28, 35)) end end end return true end HookCall({ method = {SO['弹窗']}, hook = hook.StaticUpdater }) gg.toast("退出游戏开启成功") end, function() end,"搭配匹配人机使用"), AZ.toggleBarButton("敌人进不去", function() AZ_il2cpp(SO['敌人进不去'],4,"~A8MOV X0, #1") gg.toast('敌人进不去开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("过滤十秒", function() AZ_il2cpp(SO['过滤十秒'],4, "~A8 MOV X0, WZR") gg.toast('过滤十秒开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("无视道具1", function() AZ_il2cpp(SO['无视道具1'] ,4,"~A8 MOV W0, #1") gg.toast('无视道具1开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("无视道具2", function() AZ_il2cpp(SO['无视道具2'] ,4,"~A8 MOV W0, #1") gg.toast('无视道具2开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("无视障碍", function() AZ_il2cpp(SO['无视障碍'],4,"~A8 MOV W0, #1") gg.toast('无视障碍开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("无视侧撞", function() AZ_il2cpp(SO['无视侧撞'] ,4,"~A8 MOV W0, #1") gg.toast('无视侧撞开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("滑板高跳", function() AZ_il2cpp(SO['滑板跳高'],4,"~A8 MOV W0, #1") gg.toast('滑板高跳开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("滑板滑翔", function() AZ_il2cpp(SO['滑板滑翔'],4,"~A8 MOV W0, #1") gg.toast('滑板滑翔开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("滑板瞬移", function() AZ_il2cpp(SO['滑板瞬移'],4,"~A8 MOV W0, #1") gg.toast('滑板瞬移开启成功') end, function() end,"无法关闭"), }), AZ.box({"分数竞赛", AZ.toggleBarButton("恢复得分倍增", function() AZ_il2cpp(SO['得分倍增'],4,"~A8 MOV W0, #30") gg.toast('分数已恢复30倍') end, function() end,"搭配其它倍增使用"), AZ.toggleBarButton("自定义倍数" , function() local OP = gg.prompt({'请输入倍数'},{"0"},{"text"}) AZ_il2cpp(SO['得分倍增'] ,4,"~A8 MOV W0, #"..OP[1]) gg.toast("倍数修改成功") end, function() AZ_il2cpp(SO['得分倍增'],4,"~A8 MOV W0, #30") gg.toast('分数已修改30倍') end,"匹配到人开启可恢复"), AZ.toggleBarButton("得分倍增110倍", function() AZ_il2cpp(SO['得分倍增'],4,"~A8 MOV W0, #110") gg.toast('得分倍增已修改110倍') end, function() AZ_il2cpp(SO['得分倍增'],4,"~A8 MOV W0, #30") gg.toast('分数已恢复30倍') end,"匹配到人开启可恢复"), AZ.toggleBarButton("得分倍增107倍", function() AZ_il2cpp(SO['得分倍增'],4,"~A8 MOV W0, #107") gg.toast('得分倍增已修改107倍') end, function() AZ_il2cpp(SO['得分倍增'],4,"~A8 MOV W0, #30") gg.toast('分数已恢复30倍') end,"匹配到人开启可恢复"), AZ.toggleBarButton("分数过检", function() AZ_il2cpp(SO['分数赛过检'] ,4,"~A8 MOV W0, #1") gg.toast('分数过检开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("修改人物速度", function() local lib = gg.getRangesList() for _ in ipairs(lib) do if string.find(lib[_].name, 'libil2cpp.so') and lib[_].state == 'Xa' and lib[_].type == 'r-xp' then module = lib[_].start break end end function returnValue(set) local inputRegister local page = module + set[1] local mmap = set[4] local setva = { {address = mmap + 0x4, flags = 4, value = '~A8BR X30'}, {address = mmap + set[2], flags = 16, value = set[3]}, {address = page, flags = 4, value = '~A8LDR X0, [PC,#0x8]'}, {address = page + 0x4, flags = 4, value = '~A8BR X0'}, {address = page + 0x8, flags = 32, value = mmap}, } if set[3] % 1 == 0 then inputRegister = 'X0' else inputRegister = 'S0' end table.insert(setva, {address = mmap, flags = 4, value = '~A8LDR '..inputRegister..', [PC,#'..string.format('0x%X', set[2])..']'}) return gg.setValues(setva) end returnValue{ SO['人物速度'], 0x3BC, 417.5, gg.allocatePage(gg.PROT_READ | gg.PROT_WRITE | gg.PROT_EXEC), } gg.toast("人物速度修改成功") end, function() end,"无法关闭"), AZ.toggleBarButton("修改人物速度", function() function setvalue(address, flags, value) local tt = {} tt[1] = {} tt[1].address = address tt[1].flags = flags tt[1].value = value gg.setValues(tt) end local mk = gg.getRangesList('libil2cpp.so')[2].start + 0x2089e94 local qg = { {address = mk, flags = 4, value = "~A8 RET"}, {address = mk+4, flags = 4, value = "~A8 LDR S17, [PC,#0x90000]"}, {address = mk+4+0x90000, flags = 16, value = 999.0}, {address = mk+8, flags = 4, value = "~A8 FCMP S16, S17"}, {address = mk+12, flags = 4, value = "~A8 B.GT [PC,#0xC]"}, {address = mk+12+0xC, flags = 4, value = "~A8 LDR S0, [PC,#0x90000]"}, {address = mk+12+0xC+4, flags = 4, value = "~A8 RET"}, {address = mk+12+0xC+0x90000, flags = 16, value = 444.0}, {address = mk+16, flags = 4, value = "~A8 LDR S0, [PC,#0x90000]"}, {address = mk+16+0x90000, flags = 16, value = 444.0}, {address = mk+20, flags = 4, value = "~A8 RET"}, {address = mk, flags = 4, value = "~A8 LDR S16, [X0,#0xF4]"}, } gg.setValues(qg) gg.toast("人物速度修改成功") end, function() end,"适配全机型"), AZ.toggleBarButton("人物下滑穿透", function() search(4.5,16) py1(5.5,16,16) xg1(9191,16,0,true) xg1(9192,16,16,true) gg.toast('下滑穿透开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("滑板高跳", function() AZ_il2cpp(SO['滑板跳高'],4,"~A8 MOV W0, #1") gg.toast('滑板高跳开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("滑板滑翔", function() AZ_il2cpp(SO['滑板滑翔'],4,"~A8 MOV W0, #1") gg.toast('滑板滑翔开启成功') end, function() end,"无法关闭"), AZ.toggleBarButton("滑板瞬移", function() AZ_il2cpp(SO['滑板瞬移'],4,"~A8 MOV W0, #1") gg.toast('滑板瞬移开启成功') end, function() end,"无法关闭"), }), AZ.box({"派对竞赛", AZ.toggleBarButton("派对赛过检", function() function _lib(libs, state) local lib = gg.getRangesList(libs) for _, v in ipairs(lib) do if v.state == state then return v.start end end return nil end local base = _lib('il2cpp', 'Xa') if not base then print('找不到 il2cpp,脚本结束') os.exit() end local addr1 = base + 0x1a25ff8 local addr2 = base + 0x27b7634 local addr3 = base + 0x2440b1c gg.setValues({ {address = addr1, flags = 4, value = '~A8 LDR S0, [PC,#0x8]'}, {address = addr1 + 4, flags = 4, value = '~A8 RET'}, {address = addr1 + 8, flags = 16, value = 1000000000}, {address = addr2, flags = 4, value = '~A8 LDR S0, [PC,#0x8]'}, {address = addr2 + 4, flags = 4, value = '~A8 RET'}, {address = addr2 + 8, flags = 16, value = 10000000}, {address = addr3, flags = 4, value = '~A8 LDR S0, [PC,#0x8]'}, {address = addr3 + 4, flags = 4, value = '~A8 RET'}, {address = addr3 + 8, flags = 16, value = 5000}, }) gg.toast('派对赛过检开启成功') end, function() end,"搭配结算"), AZ.toggleBarButton("直接结算", function() function AZ_il2cpp(FUNCTIONADD, TYPE, VALUE) local SOMOD = gg.getRangesList("il2cpp.so") if not SOMOD[2] then gg.alert("开启失败\n内存\n解决方法:请重新选择游戏进程\n") return end local addr = SOMOD[2].start + FUNCTIONADD local addr2 = addr + 4 if not pcall(gg.getValues, {{address = addr, flags = TYPE}}) then gg.toast("地址无效,跳过写入") return end local ok = pcall(gg.setValues, { {address = addr, flags = TYPE, value = VALUE}, {address = addr2, flags = TYPE, value = "~A8 RET"} }) if not ok then gg.toast("写入失败") end end AZ_il2cpp(SO['结束游戏'],4,"~A8MOV X0, #1") gg.toast("开启成功") end, function() AZ_il2cpp(SO['结束游戏'],4,"~A8MOV X0, WZR") gg.toast("关闭成功") end,"一局一开"), AZ.toggleBarButton("Hook加星", function() AZ_il2cpp(SO['PVP获胜者'],4,"~A8MOV X0, #1") gg.toast("Hook加星开启成功") end, function() end,"无法关闭"), AZ.toggleBarButton("一能量一板" , function() AZ_il2cpp(SO['局内金币'] ,4,"~A8 B [PC,#"..SOGSPY_ST(SO['局内金币'] ,SO['获取能量']).."]") gg.toast("一能量一板开启成功") end, function () AZ_il2cpp(SO['局内金币'],4 ,"F657BDA9r","F44F01A9r") gg.toast('一能量一板关闭成功') end,"关闭一能量一板"), AZ.toggleBarButton("派对全服", function() a = gg.prompt({""},{""},{"text"})[1] if not a then return end AZ_il2cpp(SO['派对全服'],4,"~A8 MOV W0, #"..a.."") gg.toast("派对全服修改成功") end, function() end,"无法关闭"), AZ.toggleBarButton("派对省排", function() a = gg.prompt({""},{""},{"text"})[1] if not a then return end AZ_il2cpp(SO['派对省排'],4,"~A8 MOV W0, #"..a.."") gg.toast("派对省排修改成功") end, function() end,"无法关闭"), AZ.toggleBarButton("派对省份", function() a = gg.prompt({"0=其他地区\n1=北京\n2=上海\n3=天津\n4=重庆\n5=河北\n6=山西\n7=河南\n8=辽宁\n9=吉林\n10=黑龙江\n11=内蒙古\n12=江苏\n13=山东\n14=安徽\n15=浙江\n16=福建\n17=湖北\n18=湖南\n19=广东\n20=广西\n21=江西\n22=四川\n23=海南\n24=贵州\n25=云南\n26=西藏\n27=陕西\n28=甘肃\n29=青海\n30=宁夏\n31=新疆\n32=香港\n33=澳门\n34=台湾"},{""},{"text"})[1] if not a then return end AZ_il2cpp(SO['派对省份'],4,"~A8 MOV W0, #"..a.."") gg.toast("派对省份修改成功") end, function() end,"无法关闭"), AZ.toggleBarButton("派对道具等级", function() a = gg.prompt({""},{""},{"text"})[1] if not a then return end AZ_il2cpp(SO['道具等级'],4,"~A8 MOV W0, #"..a.."") gg.toast("派对道具等级修改成功") end, function() end,"无法关闭"), AZ.toggleBarButton("派对道具满级" , function() AZ_il2cpp(SO['道具满级'] ,4,"~A8 MOV W0, #1") AZ_il2cpp(SO['道具等级'] ,4,"~A8 MOV W0, #99") gg.toast("派对道具满级开启成功") end, function() end,"无法关闭"), AZ.toggleBarButton("无视障碍" , function() AZ_il2cpp(SO['无视障碍'] ,4,"~A8 MOV W0, #1") gg.toast("无视障碍开启成功") end, function() end,"无法关闭"), AZ.toggleBarButton("能量穿透" , function() AZ_il2cpp(SO['能量穿透'] ,4,"~A8 MOV W0, #1") gg.toast("能量穿透开启成功") end, function () AZ_il2cpp(SO['能量穿透'] ,4,"~A8 MOV W0, #1") gg.toast("能量穿透恢复成功") end,"恢复能量穿透"), }), }}) jm1 : setBackground(slcta ) gg.setVisible(false ) luajava.setFloatingWindowHide(true ) bloc=luajava.getBlock() bloc("join" )