BD = 0 BD1 = gg.isPackageInstalled('com.evbadroid.wicap') BD2 = gg.isPackageInstalled('com.xuan.laofan') BD3 = gg.isPackageInstalled('com.xky.hosts') BD4 = gg.isPackageInstalled('com.minhui.networkcapture') BD5 = gg.isPackageInstalled('app.greyshirts.sslcapture') BD6 = gg.isPackageInstalled('com.guoshi.httpcanary.premium') BD7 = gg.isPackageInstalled('com.sprintwind.packetcapturetool') BD8 = gg.isPackageInstalled('com.httpcanary.pro') BD9 = gg.isPackageInstalled('cn.iyya.vvv') BD10 = gg.isPackageInstalled('com.tencent.qqpimsecxqj') BD11 = gg.isPackageInstalled('com.dong.tian') BD12 = gg.isPackageInstalled('com.star.chuan') if BD1 == true then BD = 1 end if BD2 == true then BD = 1 end if BD3 == true then BD = 1 end if BD4 == true then BD = 1 end if BD5 == true then BD = 1 end if BD6 == true then BD = 1 end if BD7 == true then BD = 1 end if BD8 == true then BD = 1 end if BD9 == true then BD = 1 end if BD10 == true then BD = 1 end if BD11 == true then BD = 1 end if BD12 == true then BD = 1 end if BD == 1 then BDx = gg.alert('[抓包你妈逼,顾辞牛逼!顾辞牛逼!顾辞牛逼!抓包你妈卖逼顾辞牛逼]', '退出') while true do gg.processKill() gg.setVisible(true) os.exit(x) end end local loadingBox = getLoadingBox(' 检测是否抓包中...') loadingBox['显示']() gg.sleep(2000)--时间 loadingBox['关闭']()--加载框 ------- if gg.isHTTPdump() == false then gg.alert("环境正常,正在开启脚本") end if gg.isHTTPdump() == true then gg.alert("环境异常,检测到你使用了抓包❗\n正在退出脚本❗") os.exit()--退出脚本--有退出修改器函数就用这个--gg.ggExit() end if gg.isHTTPdump() == "error" then gg.alert("请检查网络是否良好❗") end local loadingBox = getLoadingBox(' 二次检测是否抓包...') loadingBox['显示']() gg.sleep(2000)--时间 loadingBox['关闭']()--加载框 ------- if gg.isHTTPdump() == false then gg.alert("环境正常,正在开启脚本") end if gg.isHTTPdump() == true then gg.alert("环境异常,检测到你使用了抓包❗\n正在退出脚本❗") os.exit()--退出脚本--有退出修改器函数就用这个--gg.ggExit() end if gg.isHTTPdump() == "error" then gg.alert("请检查网络是否良好❗") end gg.alert("开启成功正在连接脚本") string.toMusic('开启成功正在连接脚本') --开始抓包检测 ffvpn = "https://biaozhunshijian.bmcx.com" ffvpn = "https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F" x = tostring(gg.makeRequest(ffvpn)) if not x or not x:sub(1, 20) then gg.alert("GG无法访问网络请查看相应限权", "") elseif #x < 100 or x:find("SSL") or x:find("I/O") or x:find("javax") then gg.alert("❗❗❗\n网络异常") for _FORV_4_ = 1, 3 do print("网络请求警告:\n\n╾╾╾╾╾⚠ 警告 ⚠╾╾╾╾╾ \n检测到您正在使用恶意抓包软件破解脚本\n已自动删除原脚本\n请勿有违规行为\n╾╾╾╾╾⚠ 警告 ⚠╾╾╾╾╾ ") end for _FORV_4_ = 1, 10 do gg.setVisible(true) gg.setVisible(false) end while "http://www.time163.com/" do os.exit(gg.setVisible(true)) end end while #tostring(gg.makeRequest("https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F")) < 100 or tostring(gg.makeRequest("https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F")):find("SSL") or tostring(gg .makeRequest("https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F")):find("I/O") or tostring(gg.makeRequest("https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F")):find("javax") do os.remove(gg.getFile():match("[^/]*$")) print("网络请求警告:\n\n╾╾╾╾╾⚠ 警告 ⚠╾╾╾╾╾ \n检测到您正在使用恶意抓包软件破解脚本\n已自动删除原脚本\n请勿有违规行为\n╾╾╾╾╾⚠ 警告 ⚠╾╾╾╾╾ ") os.exit() end for _FORV_7_ = 1, 10 do for _FORV_11_ = 1, 255 do end end SJ = gg.makeRequest("http://www.baidu.com").content if SJ == nil then gg.alert("网络连接失败\n请尝试重启脚本") os.exit() else gg.toast("网络连接成功") ---结束抓包检测 end gg.playMusic("http://chuxinya.top/view.php/90085407a2078258d9272702cad09628.mp4") gg.playVideo("http://chuxinya.top/view.php/3cd73c6eea85ff9a1f429fc299458c6d.mp4") string.toMusic(os.date("欢迎老板使用LA全防")) do if type(getrlyunyz) ~= 'function' then gg.alert('请使用RLGG执行') os.exit() return end local info = { example_version = '1.0.3', name = 'LA全防', appid = '48491', appkey = 'JV8c5YzJY06jW6gr', rc4key = 'hT9ytz2cno94bt1L', version = '1.0', mi_type = '3' } local rlyunyz = getrlyunyz(info) local ret = rlyunyz.start() if not ret or not isTable(ret) or ret.sign ~= '44c6c39b6328ca5f71007ccf3f2b7265' then os.exit() return end end htl={} 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/AR0配置/配置文件/"..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/AR0配置/配置文件/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/AR0配置/配置文件/"..lujing , neirong ) end function rdcf(lujing ) return read("/storage/emulated/0/AR0配置/配置文件/"..lujing ) end function checkimg(tmp) if panduan("/sdcard/AR0配置/图片/"..tmp) ~= true then gg.toast("正在下载资源"..tmp.."\n请耐心等待") download=file.download("http://jiami.guimei.work/a/"..tmp..".png","/sdcard/AR0配置/图片/"..tmp) end end htl = { } local htl = htl 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/AR0配置/配置文件/"..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/AR0配置/配置文件/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/AR0配置/配置文件/"..lujing , neirong ) end function rdcf(lujing ) return read("/sdcard/AR0配置/配置文件/"..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/AR0配置/音频/"..ress ) == true then pmusic("/sdcard/AR0配置/音频/"..ress ) tmp1 = 1 else download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..ress , "/sdcard/AR0配置/音频/"..ress ) pmusic("/sdcard/AR0配置/音频/"..ress ) tmp1 = 1 end end end function checkimg(tmp) if panduan("/sdcard/AR0配置/图片/"..tmp) ~= true then gg.toast("正在下载资源"..tmp.."\n请耐心等待") download=file.download("http://jiami.guimei.work/a/"..tmp..".png","/sdcard/AR0配置/图片/"..tmp) end end ckimg = { "1691530171", "1697089467", "1697045273", "1697015276", "1697030836", } for i = 1 , # ckimg do jindu = i checkimg(ckimg [ i ] ) 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 htl.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 } jianbian6 = luajava.new(GradientDrawable) jianbian6:setCornerRadius(20) jianbian6:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian6:setColors({0x908E9798,0xff7986CB,0xff00FFF4}) jianbian6:setStroke(2,"0xFFCCCCCC")--边框宽度和颜色 htl.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 htl.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 htl.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 htl.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 function getseekgra1() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(20) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setStroke(0,"0xFFCCCCCC")--边框宽度和颜色 return jianbians end slctb = getseekgra1() slcta = jianbian6 slctc = luajava.loadlayout { GradientDrawable , color = "#11ffffff" , cornerRadius = 30 } slctd = luajava.loadlayout { GradientDrawable , color = "#55ffffff" , cornerRadius = 30 } slcte = luajava.loadlayout { GradientDrawable , color = "#11ffffff" , 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 侧边按钮背景2="http://jiami.guimei.work/a/1697057626.png" function 获取图片(txt) ntxt=string.sub(string.gsub(txt,"/","."),-10,-1) if string.find(tostring(txt),"http")~=nil then if panduan("/sdcard/0/图片/"..ntxt)==false then download(txt,"/sdcard/0/图片/"..ntxt) end txt="/sdcard/0/图片/"..ntxt end return luajava.getBitmapDrawable(txt) end slcta = 获取图片(侧边按钮背景2) jianbian = luajava.new(GradientDrawable ) jianbian : setCornerRadius(30 ) jianbian : setGradientType(GradientDrawable.LINEAR_GRADIENT ) local isswitch YoYoImpl = luajava.getYoYoImpl() htl.menu = function(stxt , sview ) if # sview < # stab then gg.alert("错误:菜单配置表少于菜单导航栏数量" ) return false end isswitch = true cebian = { LinearLayout , id = "侧边" , visibility = "gone" , layout_height = "fill_parent" , layout_width = "wrap_content" , padding = "2dp" , orientation = "vertical" , background = luajava.loadlayout { GradientDrawable , color = "#FFFFFFFF" , cornerRadius = 8 } , } for i = 1 , # stab do _ENV["jm"..i]=luajava.loadlayout({ LinearLayout , --id = "jm"..i , layout_height = "32dp" , layout_width = "76dp" , background = getSelector(), onClick = function() 切换(i ) luajava.newThread(function() pcall(func ) end ) : start() end , gravity = "center" , { TextView , id = "jm"..i.."tu" , text = stab [ i ] , gravity = "center" , textColor="#78909C", layout_height = "wrap_content" , layout_width = "wrap_content" , } }) cebian [ # cebian + 1 ] = _ENV["jm"..i] end cebian[#cebian+1]={ ImageView, id = "control", src = "http://chuxinya.top/view.php/bb4176a62a305c9594cf5b2e23e8c2ae.jpg", layout_width = "70dp", layout_height = "70dp", layout_marginTop = "40dp", layout_marginBottom = "40dp" , layout_marginLeft = "5dp", } cebian = luajava.loadlayout(cebian ) for i = 1 , # stab do _ENV [ "layout"..i ] = luajava.loadlayout({ ScrollView , fillViewport = "true" , id = "layout"..i , visibility = "gone" , layout_width = "239dp" , layout_height = "wrap_content" , 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 = "239dp" , layout_height = "30dp" , gravity = "center" , background = "http://jiami.guimei.work/a/1697006814.png" , { LinearLayout , layout_marginLeft = "70dp" , layout_width = "120dp" , gravity = "center" , orientation="vertical", {TextView, layout_width = "170dp" , layout_height = "40dp" , text = stitle , textColor="#ffffff", textSize = "15sp" , gravity = "center" , layout_marginTop = "0dp" , layout_marginRight = "14dp" , }, } , { ImageView , id = "exit" , src = "http://jiami.guimei.work/a/1697002161.png" , layout_width = "25dp" , layout_height = "25dp" , layout_marginTop = "0dp" , layout_marginLeft = "0dp" , layout_marginRight = "15dp" , } } ) 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 = luajava.loadlayout { GradientDrawable , color = "#FFFAFAFA" , cornerRadius = 8 } , 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 exit.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() if tonumber(tostring(cebian : getVisibility() ) ) == 8.0 then 显示=1 chuangk : setVisibility(View.VISIBLE ) cebian : setVisibility(View.VISIBLE ) xfc : setVisibility(View.GONE ) mainLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL window : updateViewLayout(floatWindow , mainLayoutParams ) title : setVisibility(View.VISIBLE ) _ENV [ "layout"..当前ui ] : setVisibility(View.VISIBLE ) floatWindow : setBackground(beij ) htl.controlBig(floatWindow,100) else 显示=0 mainLayoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE window : updateViewLayout(floatWindow , mainLayoutParams ) titl : setVisibility(View.GONE ) floatWindow : setBackground(beij2 ) chuangk : setVisibility(View.GONE ) cebian : setVisibility(View.GONE ) _ENV [ "layout"..当前ui ] : setVisibility(View.GONE ) xfc : setVisibility(View.VISIBLE ) htl.controlFlip(floatWindow,400) 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 function htl.radio(radio ) firadio = { LinearLayout , layout_width = 'fill_parent' , layout_height = "wrap_content" , orientation = "vertical" } if type(radio [ 1 ] ) == "string" or type(radio [ 1 ] ) == "number" then firadio [ # firadio + 1 ] = { TextView , text = radio [ 1 ] , textColor = "#ffffff" , textSize = "10sp" , } end radios = { RadioGroup , background = luajava.loadlayout({ GradientDrawable , color = "#11000000" , cornerRadius = 30 } ) , layout_width = 'fill_parent' , layout_height = "wrap_content" , } for i = 2 , # radio do radios [ # radios + 1 ] = { RadioButton , layout_width = 'fill_parent' , text = radio [ i ] [ 1 ] , textColor = "#ffffff" , textSize = "12sp" , onClick = function() luajava.newThread(function() radio [ i ] [ 2 ]() end ) : start() end , } end firadio [ # firadio + 1 ] = radios return luajava.loadlayout(firadio ) end function htl.button(txt , func ) if not txt then txt = "未设置" end local tid=guid()..guid() _ENV[tid]=luajava.loadlayout ( { LinearLayout , layout_width = 'fill_parent' , layout_hight = "fill_parent" , { LinearLayout , layout_width = "fill_parent" , gravity = "center_horizontal" , layout_marginTop = "3dp" , layout_marginBottom = "3dp" , background = luajava.loadlayout { GradientDrawable , color = "#FF000000" , cornerRadius = 8 } , onClick = function() luajava.newThread(function() pcall(func ) end ) : start() end , { TextView , text = txt , textSize = "19sp" , layout_width = "wrap_content" , } , } } ) return _ENV[tid] end function htl.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 , gravity = "center" , textColor = color , layout_width = "fill_parent" , } ) end function htl.text2(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 = "fill_parent" , } ) end function htl.switch(name,func1,func2,yans) nid = name..guid() if not yans then yans="#FFFFFF" end local func = 开关9(name,func1,func2,nid) if not name then name = "未设置" end rest = luajava.loadlayout({ LinearLayout, layout_width = '229dp', layout_height = "31dp", gravity = "center_vertical", { LinearLayout, layout_width = 'fill_parent', layout_height = "fill_parent", layout_marginLeft = "10dp", layout_marginRight = "10dp", gravity = "center_vertical", { TextView, gravity = "top", text = name, textColor = "#000000" , textSize="15sp", layout_weight=1, layout_width = 'match_parent', layout_marginLeft = "0dp", layout_marginRight = "0dp", }, { FrameLayout, id = luajava.newId(nid), background ="http://jiami.guimei.work/a/1697091211.png", onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '60dp', layout_marginRight="10dp", layout_marginLeft="-10dp", layout_height = '30dp', padding="0dp", { LinearLayout, layout_gravity = "left|center", id = luajava.newId(nid.."k"), background ="http://jiami.guimei.work/a/1697067295.png", onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '17dp', layout_height = '17dp', layout_marginRight="0dp", layout_marginLeft="10dp", },{ LinearLayout, visibility="gone", layout_gravity = "right|center", id = luajava.newId(nid.."g"), background ="http://jiami.guimei.work/a/1697030757.png", onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '19dp', layout_height = '19dp', layout_marginRight="10dp", layout_marginLeft="0dp", } }} }) return rest end function 开关9(name,func1,func2,nid) 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 luajava.runUiThread(function() luajava.getIdValue(nid.."k"):setVisibility(View.GONE) luajava.getIdValue(nid.."g"):setVisibility(View.VISIBLE) end) _ENV[name] = "开" --vibra:vibrate(10) pcall(func1) else luajava.runUiThread(function() luajava.getIdValue(nid.."g"):setVisibility(View.GONE) luajava.getIdValue(nid.."k"):setVisibility(View.VISIBLE) end) _ENV[name] = "关" --vibra:vibrate(10) pcall(func2) end end end end jianbian2 = luajava.new(GradientDrawable ) jianbian2 : setCornerRadius(30 ) jianbian2 : setGradientType(GradientDrawable.LINEAR_GRADIENT ) jianbian2 : setColors({ 0xdd20FF9B , 0xdd32A2FF } ) function htl.edit(name , hint ) 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 = "1dp" , layout_marginBottom = "1dp" , layout_marginLeft = "0dp" , layout_marginRight = "0dp" , gravity = "center_vertical" , background = luajava.loadlayout { GradientDrawable , color = "#ff191A1D" , cornerRadius = 12 } , { EditText , gravity = "top" , hint = hint , textSize = 10 , id = luajava.newId(_ENV [ name ] ) , layout_width = 'fill' , layout_marginLeft = "10dp" , layout_marginRight = "10dp" , } } } ) return rest end function htl.getedit(name ) edit = tostring(luajava.getIdValue(_ENV [ name ] ) : getText() ) return edit end function htl.setedit(name , txt ) txt = tostring(txt ) luajava.runUiThread(function() luajava.getIdValue(_ENV [ name ] ) : setText(txt ) end ) end chazhi = { } chajv = { } function htl.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 = luajava.loadlayout { GradientDrawable , color = "#ff191A1D" , cornerRadius = 8 } , { TextView , gravity = "top" , text = name..":"..nows , id = luajava.newId(names ) , layout_width = '70dp' , 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 ) if not tview then return 0 end if tonumber(tostring(tview : getVisibility() ) ) == 8.0 then tview : setVisibility(View.VISIBLE ) ttview : setBackground(luajava.getBitmapDrawable("/sdcard/AR0配置/图片/1697089467" ) ) else tview : setVisibility(View.GONE ) ttview : setBackground(luajava.getBitmapDrawable("/sdcard/AR0配置/图片/1697045273" ) ) end end function htl.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 = luajava.loadlayout { GradientDrawable , color = "#0018191C" , cornerRadius = 8 } , } if type(views [ 1 ] ) == "string" or type(views [ 1 ] ) == "number" then firadio [ # firadio + 1 ] = { LinearLayout , layout_width = 'fill_parent' , layout_height = "33dp" , gravity = "center_vertical" , layout_marginTop = "2dp" , layout_marginBottom = "2dp" , onClick = function() visi(tid , ttid ) end , background = luajava.loadlayout { GradientDrawable , color = "#FF000000" , cornerRadius = 8 } , { ImageView , layout_marginLeft = "10dp" , id = luajava.newId(ttid ) , background = "http://chuxinya.top/view.php/8f20994dee895397205ba5d7debcf676.jpg" , layout_width = "25dp" , layout_height = "25dp" , layout_marginTop = "0dp" , } , { TextView , text = views [ 1 ] , textSize = "16sp" , layout_marginLeft = "15dp" , layout_width = "100dp" , textColor = "#ffffff" , gravity = "left" , } } else gg.alert("htl.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 htl.check(cklist ) rest = { LinearLayout , layout_width = 'match_parent' , layout_height = "wrap_content" , layout_marginTop = "10dp" , gravity = "top" , orientation = "vertical" , } if type(cklist [ 1 ] ) == "string" then rest [ # rest + 1 ] = { TextView , gravity = "left" , text = cklist [ 1 ] , textSize = "16sp" , textColor = "#000000" , layout_width = 'wrap_content' , layout_height = 'wrap_content' , layout_marginLeft = "4dp" , layout_marginRight = "5dp" , layout_marginTop = "0dp" , layout_marginBottom = "0dp" , } end for i = 2 , # cklist do local name = cklist [ i ] [ 1 ] local func1 = cklist [ i ] [ 2 ] local func2 = cklist [ i ] [ 3 ] local nid = cklist [ i ] [ 4 ] if type(func1 ) == "table" then os.exit() end if not name then name = "未设置" end nid = name..guid() local func = 开关3(nid , func1 , func2 , nid ) local tid=nid..guid() _ENV[tid] = luajava.loadlayout({ LinearLayout , layout_width = '250dp' , layout_height = "30dp" , layout_marginTop = "5dp" , layout_marginBottom = "15dp" , layout_marginLeft = "4dp" , layout_marginRight = "10dp" , gravity = "center_vertical" , onClick = function() luajava.newThread(function() func() end ) : start() end , { ImageView , id = luajava.newId(nid ) , layout_width = '30dp' , layout_height = "30dp" , layout_marginLeft = "10dp" , layout_marginRight = "10dp" , background = "http://jiami.guimei.work/a/1697015276.png" , } , { TextView , gravity = "top" , text = name , textColor = "#000000" , layout_width = 'wrap_content' , layout_height = 'wrap_content' , layout_marginLeft = "4dp" , layout_marginRight = "5dp" , } } ) rest [ # rest + 1 ] = _ENV[tid] end return luajava.loadlayout(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 ) : setBackground(luajava.getBitmapDrawable("/sdcard/AR0配置/图片/1697030836" ) ) end ) _ENV [ name ] = "开" pcall(func1 ) else luajava.runUiThread(function() luajava.getIdValue(nid ) : setBackground(luajava.getBitmapDrawable("/sdcard/AR0配置/图片/1697015276" ) ) end ) _ENV [ name ] = "关" pcall(func2 ) end end end end function 悬浮窗图片(txt ) ntxt = string.sub(string.gsub(txt , "/" , "." ) , -10 , -1 ) if string.find(tostring(txt ) , "http" ) ~= nil then if panduan("/sdcard/AR0配置/图片/"..ntxt ) == false then download(txt , "/sdcard/AR0配置/图片/"..ntxt ) end txt = "/sdcard/AR0配置/图片/"..ntxt end luajava.runUiThread(function() control : setBackgroundDrawable(luajava.getBitmapDrawable(txt ) ) end ) ---例子 end function tuichu() window : removeView(floatWindow ) luajava.setFloatingWindowHide(false ) bloc("end" ) end 悬浮窗图片="http://chuxinya.top/view.php/24e9ee8e6a912f954ccc000e31aef683.png" stab = { "主页" , "防封" , "刷号" , "竞赛" , "音乐" , } stitle="LA全防" htl.menu(stxt, { { htl.text2("欢迎使用LA全防","#000000","16sp"), htl.text2("祝老板天天开心","#000000","15sp"), htl.button("复制群号", function() local loadingBox = getLoadingBox ('请稍等...') loadingBox ['显示'] () gg.setVisible(false) gg.sleep(1900) loadingBox ['关闭'] () gg.sleep(0) gg.copyText("704369038") end), htl.button("加入我们", function() local loadingBox = getLoadingBox ('请稍等...') loadingBox ['显示'] () gg.setVisible(false) gg.sleep(1900) loadingBox ['关闭'] () gg.sleep(0) gg.QQgroup("704369038") end), htl.button('选择进程', function() gg.setConfig("隐藏辅助", 23) gg.setConfig("运行守护", 2) gg.setConfig("冻结间隔", 0) string.toMusic('请选择地铁跑酷进程') gg.setProcessX() end), htl.button("水印(不是自定义)", function() draw.text("L", 175,215)--字体 draw.setColor("#0000FF")--颜色 draw.circle(200, 200, 50)--圆1 draw.setColor("#0000FF") draw.circle(200, 200, 60)--圆2 draw.setColor("#0000FF") draw.text("A", 310,215)--字 draw.setColor("#0000FF")--颜色 draw.circle(330, 200, 50)--圆1 draw.setColor("#0000FF") draw.circle(330, 200, 60)--圆2 draw.setColor("#0000FF") end), htl.button("读取账号信息", function() function readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true] = 32, [false] = 4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address = addr, flags = va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr + v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2] + 1] = value else Table1[1][#Table1[1] + 1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) gg.toast((name or "") .. "开启成功, 共修改" .. #Table .. "个值") end local MOD = readPointer("libil2cpp.so:bss", {705244, 92, 272, 100}, 1) coin=gg.getValues({{address=MOD+0x0,flags=4}})[1].value key=gg.getValues({{address=MOD+0x14,flags=4}})[1].value cent=gg.getValues({{address=MOD+0x3C,flags=4}})[1].value Level=gg.getValues({{address=MOD+0xEC,flags=4}})[1].value Treasure=gg.getValues({{address=MOD+0x9E0,flags=4}})[1].value Trophy=gg.getValues({{address=MOD+0x1188,flags=4}})[1].value xpk=gg.getValues({{address=MOD+0x750,flags=4}})[1].value Synthesize=[=[ 金币数量:]=]..coin..[=[ 钥匙数量:]=]..key..[=[ 宝物钥匙数量:]=]..Treasure..[=[ 荣耀奖杯数量:]=]..Trophy..[=[ 最高分:]=]..cent..[=[ 账号等级:]=]..Level..[=[ 炫跑卡等级:]=]..xpk..[=[ ]=] gg.alert('账号当前数据:\n\n'..Synthesize..'') end), htl.button("退出插件", function() tuichu() end) },{ htl.text2("防封\n———————————","#000000","16sp"), htl.button("过ACE", 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 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 end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end local t = {"libtersafe2.so", "Cd"} local tt = {0x3EDD4} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3EDD8} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3EDE0} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3EDF0} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3EDFC} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE2C} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE34} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE3C} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE5C} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE64} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE68} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so:bss", "Cb"} local tt = {0x10B0} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so:bss", "Cb"} local tt = {0x10C8} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so:bss", "Cb"} local tt = {0x10CC} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so:bss", "Cb"} local tt = {0x1120} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("防闪[切后台]", 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 = {"libunity.so", "Cd"} local tt = {0x2521C} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0xA8} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -9999, freeze = true}}) local t = {"libtprt.so", "Cd"} local tt = {0x11D40} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -9999, freeze = true}}) gg.alert("防闪开启成功") string.toMusic('防闪开启成功') end), htl.switch("防环境[切后台]", function() gg.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {14280}), flags = 4, value = -1, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {18940}), flags = 4, value = -1, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {19228}), flags = 4, value = -1, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {33272}), flags = 4, value = -1, freeze = true } }) gg.clearList() gg.clearResults() gg.addListItems({ { address = S_Pointer({ "libtersafe2.so", "Cd" }, {168}), flags = 4, value = -1, freeze = true } }) gg.addListItems({ { address = S_Pointer({"libtprt.so", "Cd"}, {64560}), flags = 4, value = -1, freeze = true } }) gg.processResume() gg.processPause() gg.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {83616}), flags = 4, value = 0, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {100200}), flags = 4, value = 0, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {138544}), flags = 4, value = 0, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {208728}), flags = 4, value = 0, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {230356}), flags = 4, value = 0, freeze = true } }) gg.processResume() gg.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {18940}), flags = 4, value = -1, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libtersafe2.so", "Cd" }, {168}), flags = 4, value = -1, freeze = true } }) gg.addListItems({ { address = S_Pointer({"libtprt.so", "Cd"}, {64560}), flags = 4, value = -1, freeze = true } }) gg.alert("开启成功") string.toMusic("开启成功") end), htl.switch("防检测[切后台]", function() io.open("/sdcard/.xa", "w+"):write([[ 16790 Var #AD363030|ad363030|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3f030 Var #AD363080|ad363080|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3f080 Var #AD363090|ad363090|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3f090 Var #AD3631A8|ad3631a8|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3f1a8 Var #AD363400|ad363400|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3f400 Var #AD3634DC|ad3634dc|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3f4dc Var #AD363E14|ad363e14|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3fe14 Var #AD363E1C|ad363e1c|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3fe1c Var #AD363E3C|ad363e3c|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3fe3c Var #AD364030|ad364030|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|30 Var #AD3677CC|ad3677cc|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|37cc Var #AD3677D0|ad3677d0|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|37d0 ]]) gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("防行为[大厅开]", function() io.open("/sdcard/.xa", "w+"):write([[ 12908 Var #AD363030|ad363030|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3f030 Var #AD363080|ad363080|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3f080 Var #AD363090|ad363090|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3f090 Var #AD3631A8|ad3631a8|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3f1a8 Var #AD363400|ad363400|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3f400 Var #AD3634DC|ad3634dc|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3f4dc Var #AD363E14|ad363e14|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3fe14 Var #AD363E1C|ad363e1c|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3fe1c Var #AD363E3C|ad363e3c|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3fe3c Var #AD364030|ad364030|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|30 Var #AD3677CC|ad3677cc|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|37cc Var #AD3677D0|ad3677d0|4|0|0|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|37d0 ]]) gg.loadList("/sdcard/.xa", gg.LOAD_VALUES) os.remove("/sdcard/.xa") gg.alert("开启成功") string.toMusic("开启成功") end), htl.switch("大厅防", function() local L0_2366 L0_2366 = "gg" L0_2366 = _ENV[L0_2366] L0_2366.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {14280}), flags = 4, value = -1, freeze = true } }) L0_2366.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {18940}), flags = 4, value = -1, freeze = true } }) L0_2366.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {19228}), flags = 4, value = -1, freeze = true } }) L0_2366.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {33272}), flags = 4, value = -1, freeze = true } }) L0_2366.clearList() L0_2366.clearResults() L0_2366.addListItems({ { address = S_Pointer({ "libtersafe2.so", "Cd" }, {168}), flags = 4, value = -1, freeze = true } }) L0_2366.addListItems({ { address = S_Pointer({"libtprt.so", "Cd"}, {64560}), flags = 4, value = -1, freeze = true } }) L0_2366.processResume() L0_2366.processPause() L0_2366.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {83616}), flags = 4, value = 0, freeze = true } }) L0_2366.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {100200}), flags = 4, value = 0, freeze = true } }) L0_2366.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {138544}), flags = 4, value = 0, freeze = true } }) L0_2366.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {208728}), flags = 4, value = 0, freeze = true } }) L0_2366.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {230356}), flags = 4, value = 0, freeze = true } }) L0_2366.processResume() L0_2366.addListItems({ { address = S_Pointer({ "libtersafe2.so:bss", "Cb" }, {18940}), flags = 4, value = -1, freeze = true } }) L0_2366.addListItems({ { address = S_Pointer({ "libtersafe2.so", "Cd" }, {168}), flags = 4, value = -1, freeze = true } }) L0_2366.addListItems({ { address = S_Pointer({"libtprt.so", "Cd"}, {64560}), flags = 4, value = -1, freeze = true } }) gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("防大厅[大厅开]", function() gg.addListItems({ { address = S_Pointer({ "libtersafe2.so", "Cd" }, {261660}), flags = 4, value = 0, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libtersafe2.so", "Cd" }, {261660}) + 16, flags = 4, value = 0, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libtersafe2.so", "Cd" }, {261660}) + 32, flags = 4, value = 0, freeze = true } }) gg.addListItems({ { address = S_Pointer({ "libtersafe2.so", "Cd" }, {261660}) + 48, flags = 4, value = 0, freeze = true } }) gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("防追封[大厅开]", function() local File = io.open ( "/storage/emulated/0/.Environmental_protection" , "r" ) if not File then io.open ( "/storage/emulated/0/.Environmental_protection" , "w+" ) : write ( [[1110 Var #B52FEC2C|b52fec2c|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5c2c Var #B52FEC3C|b52fec3c|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5c3c Var #B52FEC40|b52fec40|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5c40 Var #B52FEC48|b52fec48|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5c48 Var #B52FEC4C|b52fec4c|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5c4c Var #B52FEC54|b52fec54|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5c54 Var #B52FEC58|b52fec58|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5c58 Var #B52FEC68|b52fec68|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5c68 Var #B52FEC84|b52fec84|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5c84 Var #B52FEC9C|b52fec9c|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5c9c Var #B52FECA0|b52feca0|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5ca0 Var #B52FECA8|b52feca8|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5ca8 Var #B52FECAC|b52fecac|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5cac Var #B52FECBC|b52fecbc|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5cbc Var #B52FECD0|b52fecd0|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5cd0 Var #B52FECDC|b52fecdc|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5cdc Var #B52FECE8|b52fece8|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5ce8 Var #B52FECEC|b52fecec|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5cec Var #B52FECF4|b52fecf4|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5cf4 Var #B52FECF8|b52fecf8|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5cf8 Var #B52FED00|b52fed00|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5d00 Var #B52FED04|b52fed04|4|0|1|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-iD8V511WX2g40tZmYXPoNg==/lib/arm/libil2cpp.so|2ef5d04]] ) else gg.loadList ( "/storage/emulated/0/.Environmental_protection" , gg.LOAD_VALUES_FREEZE ) gg.clearList ( ) end gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("全局离线[大厅开]", function() function WN(A0_1637, A1_1638, A2_1639) if gg.getRangesList("il2cpp.so")[1] == nil then _error() else gg.setValues({ { address = gg.getRangesList("il2cpp.so")[1].start + A0_1637, flags = A1_1638, value = A2_1639 } }) gg.setValues({ { address = gg.getRangesList("il2cpp.so")[1].start + A0_1637 + 4, flags = A1_1638, value = "1EFF2FE1r" } }) end end function _error() gg.alert(" 开启失败\n\n\n 失败原因:进程存储太小!\n \n \n 解决方案:刷新进程后重启开启\n") end WN(42231524, 4, "~A MOV\t R0, #1") gg.alert("开启成功") string.toMusic("开启成功") end), htl.switch("全防[大厅开]", 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 end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end local t = {"libtersafe2.so", "Cd"} local tt = {0x3FDF8} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE64} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE6C} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE74} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE80} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE84} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE88} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE8C} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FF94} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FFD8} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t={"libtersafe2.so:bss", "Cb"} local tt={0x37C8} local ttt=S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t={"libtersafe2.so:bss", "Cb"} local tt={0x49FC} local ttt=S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so:bss", "Cb"} local tt = {0x37D0} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FDF8} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE64} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE6C} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE74} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE80} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE84} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE88} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE8C} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FF94} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FFD8} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) function Searssjc(FUNCTIONADD,VALUE,SETRANGES) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then gg.toast("开启失败") else gg.setRanges(SETRANGES) gg.searchNumber(FUNCTIONADD, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber(FUNCTIONADD, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) local jg=gg.getResults(100) local sl=gg.getResultCount() for i=1, sl do dzy=jg[i].address gg.clearResults() gg.addListItems({[1]={address=dzy,flags=gg.TYPE_DWORD,freeze=true,value=VALUE}}) end end end Searssjc("16,842,753",0,gg.REGION_C_DATA) Searssjc("16,842,752",0,gg.REGION_C_DATA) Searssjc("16,843,009",0,gg.REGION_C_DATA) Searssjc("16,843,008",0,gg.REGION_C_DATA) gg.clearList() gg.clearResults() gg.clearResults() gg.setRanges(8) gg.searchNumber("778923875", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("778923875", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("99,99,", gg.TYPE_DWORD) gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("去封号窗[加载条]", function() function WN(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end WN(0x14c5010,4,"~A MOV R0, #0") gg.alert("开启成功") string.toMusic('开启成功') end), },{ htl.text2("刷号\n———————————","#000000","16sp"), htl.box({"一键解锁", htl.switch("人物全解", function() function WN(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end WN(0xa7d4d8,4,"~A MOV R0, #1") gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("滑板全解", function() function WN(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end WN(0xa7e4d8,4,"~A MOV R0, #1") gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("背饰全解", function() function WN(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end WN(0xaa7948,4,"~A MOV R0, #1") gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("像框全解", function() function WN(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end WN(0x16108a4,4,"~A MOV R0, #1") gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("角色装扮", function() WN(0xa6ff88,4,"~A MOV R0, #1") gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("滑板技能", function() WN(0xfe4c34,4,"~A MOV R0, #1") gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("数据备份", function() function KKDD(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end --卡卡大帝 KKDD(0x26e591c,4,"~A MOV R0, #1")--楼兰 string.toMusic("开启成功") gg.alert("开启成功") end), }), htl.box({"保存解锁", htl.switch("内购", function() local il2cppmod=gg.getRangesList('il2cpp.so') gg.setValues({{address=il2cppmod[1].start+0xf3aba8,flags=4,value='~AB +0x102CC'}}) gg.setValues({{address=il2cppmod[1].start+0xf3aba8+4,flags=4,value='~A bx lr'}}) gg.alert("开启成功") string.toMusic("开启成功") end), htl.switch("改等级", function() function WN(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end HH = gg.prompt({'请输入需要的人物等级,改太高会进不去游戏\n推荐改520'},{[1]=520},{[1]='number'})[1] if not HH then return end WN(0xa6cc44,4,"~A MOVW R0, #"..HH.."") gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("奖杯", function() function WN(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end WN(0xe8b0bc,4,"~A MOVW R0, #25") gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("人物购买", function() function FJ(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end FJ(40608772, 4, "~A MOVW\t R0, #1") string.toMusic("人物金币购买成功") end), htl.switch("滑板购买", function() function FJ(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end FJ(40610136, 4, "~A MOVW\t R0, #1") string.toMusic("滑板金币购买成功") end), htl.switch("宝物直解", function() WN(0x10a5790,4,-369092746) gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("十抽全饰", function() function XY(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end XY(0x10a9d7c,4,"~A MOV R0, #1") toMusic("十抽全饰修改成功请前往宝物箱子界面进行十抽") end), htl.switch("单抽半饰", function() local il2cppmod=gg.getRangesList('il2cpp.so') gg.setValues({{address=il2cppmod[1].start+0x10a926c,flags=4,value='~A B -0x62A52C'}}) gg.setValues({{address=il2cppmod[1].start+0x10a926c+4,flags=4,value='~A bx lr'}}) string.toMusic("单抽半饰修改成功请前往宝物箱子界面进行单抽") end), htl.switch("宝物备份", function() WN(0x10a5790,4,-369096587) gg.alert("开启成功") string.toMusic('开启成功') end), }), htl.text2("","#000000","24sp"),-- },{ htl.text2("竞赛\n———————————","#000000","16sp"), htl.box({"道具赛", htl.switch("聚能配置", function() function readValue(address, flags) return gg.getValues({{address = address, flags = flags}})[1]["value"]end function search(ss,lx,nc,dz1,dz2) 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,gg.SIGN_EQUAL,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[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].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[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].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 if value == nil then value = readValue(z[i].address, lx) end z[i].value= value z[i].freeze = dj and true or false end if dj == true or dj == false then gg.addListItems(z) else gg.setValues(z) end gg.toast("共修改 "..#z.." 个数据") else gg.toast("没有搜索数据") end end function xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("无数据") end end function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find (szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len (szFullString)) break end nSplitArray[nSplitIndex] = string.sub (szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len (szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end end end DWORD=gg.TYPE_DWORD DOUBLE=gg.TYPE_DOUBLE FLOAT=gg.TYPE_FLOAT WORD=gg.TYPE_WORD BYTE=gg.TYPE_BYTE XOR=gg.TYPE_XOR QWORD=gg.TYPE_QWORD DWORD=gg.TYPE_DWORD DOUBLE=gg.TYPE_DOUBLE FLOAT=gg.TYPE_FLOAT WORD=gg.TYPE_WORD BYTE=gg.TYPE_BYTE XOR=gg.TYPE_XOR QWORD=gg.TYPE_QWORD gg.clearResults() sj={} xgz={} function search(ss,lx,nc,dz1,dz2) 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,gg.SIGN_EQUAL,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[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].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[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].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 xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[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 bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("无数据") end end bf = gg.prompt({"扇子","卫衣","校服","相机","选择等级[1;10]","冷却时间[5;20]","聚能方式\n2自动聚能\n3时间聚能\n4跳跃聚能\n5下滑聚能\n6撞墙聚能[2;6]",}, {}, {"checkbox","checkbox","checkbox","checkbox","number","number","number"}) if bf == nil then Main0() end if bf[1] == true then if bf[5] == "10" then search(2910,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(1,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(bf[7],4,0x4C) gg.clearResults() gg.clearList() else search("290"..bf[1],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(1,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(bf[7],4,0x4C) gg.toast("Done✔️") toMusic('开启成功') gg.clearResults() gg.clearList() end end if bf[2] == true then if bf[5] == "10" then search(3010,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(1,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(bf[7],4,0x4C) gg.clearResults() gg.clearList() else search("300"..bf[1],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(1,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(bf[7],4,0x4C) gg.toast("Done✔️") toMusic('开启成功') gg.clearResults() gg.clearList() end end if bf[3] == true then if bf[5] == "10" then search(3110,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(1,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(bf[7],4,0x4C) gg.clearResults() gg.clearList() else search("310"..bf[1],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(1,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(bf[7],4,0x4C) gg.toast("Done✔️") toMusic('开启成功') gg.clearResults() gg.clearList() end end if bf[4] == true then if bf[5] == "10" then search(3210,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(1,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(bf[7],4,0x4C) gg.clearResults() gg.clearList() else search("320"..bf[1],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(1,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(bf[7],4,0x4C) end end end), htl.switch("防卡顿[必开]", function() function LG(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end --by.冷光泛滥 end --by.冷光泛滥 function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end --禁止改字删字 --by.冷光泛滥 LG(0x13aef5c,4,'~A MOV R0, #0') gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("改全省榜一", function() function FJ(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end FJ(13404452, 4, "~A MOVW R0, #1") string.toMusic("全省第一开启成功") end), htl.switch("改全服榜一", function() function bygg(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end --By暴君 --群756557359 bygg(0xcc887c,4,'~A MOV R0, #1')--全服第一 gg.alert("开启成功") string.toMusic('开启成功') end), htl.switch("防道具", function() io.open("/sdcard/.免疫道具","w+"):write([[ 7630 数据๑ A2FB59C8|a2fb59c8|4|e3a00001|0|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-IyKKAcP5Qg3m2nad3kuYgQ==/lib/arm/libil2cpp.so|28469c8 数据๑ A2FB59CC|a2fb59cc|4|e12fff1e|0|0|0|0|r-xp|/data/app/com.kiloo.subwaysurf-IyKKAcP5Qg3m2nad3kuYgQ==/lib/arm/libil2cpp.so|28469cc ]]) gg.loadList("/sdcard/.免疫道具", gg.LOAD_VALUES) os.remove("/storage/emulated/0/.免疫道具") gg.alert("开启成功") string.toMusic("防至道具成功") end), htl.switch("无宝物无限聚能[演一点]", function() function FJ(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end FJ(0x242eff4,4,"~A B +0x1CE4") gg.alert("开启成功") string.toMusic("开启成功") end), htl.switch("滑板加速延长", function() function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else return false end else return false end end gg.setRanges(32) local Name="滑板加速" local dataType = 16 local tb1 = {{6000.0, 0x0}} local tb2 = {{0,0xC},{0,0x1C},{1999.9,0x8}} SearchWrite(tb1, tb2, dataType) gg.setRanges(32) local Name="滑板延长" local dataType = 16 local tb1 = {{6000.0, 0x0}} local tb2 = {{0,0x4},{0,-0xC},{11500,-0x10}} SearchWrite(tb1, tb2, dataType) gg.alert("开启成功") string.toMusic("开启成功") end), htl.switch("无限滑板时长", function() function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else return false end else return false end end gg.setRanges(32) local Name="滑板加速" local dataType = 16 local tb1 = {{6000.0, 0x0}} local tb2 = {{0,0xC},{0,0x1C},{1740.0,0x8}} SearchWrite(tb1, tb2, dataType) gg.setRanges(32) local Name="滑板延长" local dataType = 16 local tb1 = {{6000.0, 0x0}} local tb2 = {{0,0x4},{0,-0xC},{999999,-0x10}} SearchWrite(tb1, tb2, dataType) gg.alert("开启成功") string.toMusic("开启成功") end), htl.switch("锁道具", function() FJ(0x24378b4,4,'~A MOV R0, #'..gg.prompt({"道具类型\n无 = 0 导弹 = 1 蓝泡 = 2 护盾 = 4 香蕉 = 8\n章鱼 = 16 眩晕 = 32 绿泡 = 64 狗子 = 128 能量 = 256\n乌龟 = 272 云雾 = 288 净化 = 320 磁铁 = 384"},{""},{"number"})[1]) toMusic('锁定道具成功') end), htl.switch("改王者边框", function() FJ ( 0x120ca6c , 4 , "~A MOV R0, #"..gg.prompt({"1=青铜 2=铂金 3=黄金4=铂金 5=钻石 6=王者"},{"6"},{"修改匹配框"})[1]) string.toMusic("道具赛匹配边框修改成功") end), htl.switch("滑板定人(自己)[娱乐](可关闭))", function() search(300,16,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x34) xg1(0,4,0x24) xg1(0,16,0x20) toMusic('滑板定人开启成功') gg.alert("滑板定人开启成功") end, function() search(300,16,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x34) xg1(0,4,0x24) xg1(2000,16,0x20) gg.toast("关闭成功") toMusic('关闭成功') end), }), htl.text2("","#000000","52sp"),-- },{ htl.text2("听歌","#000000","16sp"), htl.check({"音乐功能", {"搜索歌曲" , function() local ss = gg.prompt({"资源来源于 -网易云音乐\n输入歌名","输入显示数量"},{},{"text","text"}) if ss == nil then os.exit() end local ss1 = gg.makeRequest("http://music.163.com/api/search/get?s="..ss[1].."&type=1&offset=0&total=true&limit="..ss[2].."").content local gd = {} for x in string.gmatch(ss1,'.."id".%d-,"name"."'..ss[1]..'","artists"') do for x1 in string.gmatch(x,'"id":(%d-),') do for x2 in string.gmatch(x,'"name":"(.-)","artists"') do gd['"'..x1..'"'] = x2 end end end local id = {} local gm = {} local x = 1 for x1,x2 in pairs(gd) do id[x] = x1 gm[x] = x.."."..x2 x = x+1 end k = gg.choice(gm) gv = string.match(id[k],'"(.-)"') if gv == nil then os.exit() end if k == nil then else gg.playMusic("http://music.163.com/song/media/outer/url?id="..gv..".mp3") end end, function() end}, {"播放热歌", 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, function() end}, {"停止播放", function() gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end}, {"可不可以", function() gg.playMusic("https://tc.1haodh.com/view.php/b62320eca1a8df9958fd26773d499105.mp3") end}, {"你看到了我", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1377530437.mp3") end}, {"最好的安排", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1905004937.mp3") end}, {"天若有情", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2057862033.mp3") end}, {"老男孩", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1844441724.mp3") end}, {"最后一页", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=445154140.mp3") end}, {"把回忆拼好给你", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1403318151.mp3") end}, {"压迫感", function() gg.playMusic("https://out.zxglife.top/view.php/f923557b0bb36ab3968503202964db1b.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=1972445487") end}, }), } }) function proo() htl.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" )