import("android.renderscript.RenderScript") import("android.renderscript.ScriptIntrinsicBlur") import("android.renderscript.Allocation") import("android.renderscript.Element") import("android.graphics.Bitmap") import("android.graphics.Canvas") import("android.graphics.Paint") import("android.graphics.drawable.BitmapDrawable") if tonumber(device.width)==nil then dwidth=1340 dheight=2300 else dwidth=device.width dheight=device.height end function Blur(view, radius)--radius大于0小于25 view:measure(View.MeasureSpec:makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec:makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)) view:layout(0, 0, view:getMeasuredWidth(), view:getMeasuredHeight()) local width, height = view:getMeasuredWidth(), view:getMeasuredHeight() local bitmap = Bitmap:createBitmap(width, height, Bitmap.Config.ARGB_8888) local canvas = Canvas(bitmap) view:draw(canvas) local renderScript = RenderScript:create(context) local input = Allocation:createFromBitmap(renderScript, bitmap) local output = Allocation:createTyped(renderScript, input:getType()) local blurScript = ScriptIntrinsicBlur:create(renderScript, Element:U8_4(renderScript)) blurScript:setRadius(radius) blurScript:setInput(input) blurScript:forEach(output) output:copyTo(bitmap) view:setBackgroundDrawable(BitmapDrawable(context:getResources(), bitmap)) renderScript:destroy() input:destroy() output:destroy() blurScript:destroy() end tcbTouch = function(v, event) local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawY = event:getRawY() elseif Action == MotionEvent.ACTION_UP then if tox<0 then if tox<-120 then tox=-120 end canMove=false changebg() luajava.newThread(function() --vibra:vibrate(16) for i=1,-(tox/6) do luajava.runUiThread(function() tcbar:scrollBy(0,6) end) gg.sleep(10) end end):start() canMove=true end elseif Action == MotionEvent.ACTION_MOVE then isMove = true tox=-(event:getRawY() - RawY) if canMove then if tox>-120 and tox<0 then tcbar:scrollTo(0,tox) end end end end if (rlgg.VERSION < 2.09) then gg.alert('请使用大于等于2.09版本的RLGG') os.exit() end --local typeface = import("android.graphics.Typeface") --local FontPath = "/storage/emulated/0/云烛/配置文件/GoogleSans-Bold.otf"--字体路径 --local font = typeface:createFromFile(FontPath) local baseWindow = require 'floatingWindowManager2' if not baseWindow.getContext then gg.alert('请重启一下RLGG') app.exit() end import "android.graphics.Color" import "android.content.res.ColorStateList" function SliderColor(id,color1,color2,color3) id:setTrackActiveTintList(ColorStateList({{}},{"0xff"..color1})) id:setTrackInactiveTintList(ColorStateList({{}},{"0x50"..color2})) id:setThumbTintList(ColorStateList({{}},{"0xff"..color3})) end function SwitchColor(id,color1,color2) id:setTrackTintList(ColorStateList({{android.R.attr.state_checked},{}},{color1,color2})) end local context = baseWindow:getContext() import "android.view.animation.TranslateAnimation" import "android.view.animation.Animation" import "android.animation.ArgbEvaluator" import "android.animation.LayoutTransition" import "android.graphics.drawable.GradientDrawable" import "android.graphics.drawable.ClipDrawable" import "android.media.MediaPlayer" MediaPlayer=MediaPlayer() import "java.io.File" import "android.graphics.Typeface" import "android.animation.LayoutTransition" layoutTransition=LayoutTransition() layoutTransition:setDuration(500) import 'com.google.android.material.imageview.ShapeableImageView' import 'com.google.android.material.shape.CornerFamily' import 'com.google.android.material.materialswitch.MaterialSwitch' import 'com.google.android.material.button.MaterialButton' import 'com.google.android.material.dialog.MaterialAlertDialogBuilder' import 'com.google.android.material.slider.Slider' import 'com.google.android.material.snackbar.Snackbar' import 'com.google.android.material.sidesheet.SideSheetDialog' import 'com.google.android.material.bottomsheet.BottomSheetDialog' import 'com.google.android.material.bottomsheet.BottomSheetBehavior' import 'com.google.android.material.progressindicator.LinearProgressIndicator' import 'com.google.android.material.progressindicator.CircularProgressIndicator' import 'com.google.android.material.chip.ChipGroup' import 'com.google.android.material.chip.Chip' import 'com.google.android.material.radiobutton.MaterialRadioButton' import 'com.google.android.material.checkbox.MaterialCheckBox' import 'androidx.coordinatorlayout.widget.CoordinatorLayout' import 'androidx.core.widget.NestedScrollView' import 'android.graphics.drawable.Icon' import 'android.widget.LinearLayout' import 'android.widget.Button' import 'android.widget.TextView' import 'android.widget.ScrollView' import 'android.widget.RadioGroup' import 'java.lang.CharSequence' import 'java.lang.Boolean' import 'java.lang.reflect.Array' baseWindow:darkMode() check字体颜色=0xFFFF0000 switch颜色=0xFFFFFFFF 按钮颜色=0xFFFFFFFF vibra = context:getSystemService(Context.VIBRATOR_SERVICE) changan = {} local changan = changan local android = import('android.*') function write(fileName, content) file.write(fileName, content) end function panduan(rec) fille,err = io.open(rec) if fille == nil then return false else return true end end function pdcf(lujing) rec = "/sdcard/波奇酱/配置文件/"..lujing fille,err = io.open(rec) if fille == nil then return false else return true end end sleep = gg.sleep function read(fileName) f = assert(io.open(fileName, 'r')) content = f:read("*all") f:close() return content end function wtcf(lujing,neirong) write("/sdcard/波奇酱/配置文件/"..lujing,neirong) end function rdcf(lujing) return read("/sdcard/波奇酱/配置文件/"..lujing) end 开 = "开" 关 = "关" function checkimg(tmp,ii) if panduan("/sdcard/波奇酱/图片/"..tmp) ~= true then gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待") luajava.download("https://pan.jl8.top/down.php/77e927dead5757d00cf8dbecb5abf0e5.zip"..tmp,"/sdcard/波奇酱/图片/"..tmp) else if file.length("/sdcard/波奇酱/图片/"..tmp) <= 1 then gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待") luajava.download("https://pan.jl8.top/down.php/77e927dead5757d00cf8dbecb5abf0e5.zip"..tmp,"/sdcard/波奇酱/图片/"..tmp) end end end ckimg = { 'skin', 'heir', 'hei_right', 'quarkcheckoff', 'quarkcheckon', 'dz_check','dz_title', 'dz_slcta','dz_slctb','quarkx' } for i = 1,#ckimg do jindu = i checkimg(ckimg[i],i) end function 获取图片(txt) txt = string.url(txt,"de") ntxt = string.sub(string.gsub(txt,"/","-"),-10,-1) if string.find(tostring(txt),"http") ~= nil then if panduan("/sdcard/波奇酱/图片/"..ntxt) == false then file.download(txt,"/sdcard/波奇酱/图片/"..ntxt) else if file.length("/sdcard/波奇酱/图片/"..ntxt) <= 1 then file.download(txt,"/sdcard/波奇酱/图片/"..ntxt) end end txt = "/sdcard/波奇酱/图片/"..ntxt end return luajava.getBitmapDrawable(txt) end function getRes(x) return 获取图片("/sdcard/波奇酱/图片/"..x) end function getVerticalBG(gtvb1,gtvb3,gtvb4,gtvb5) if not gtvb4 then gtvb4 = 0 gtvb5 = 0xFFFF0026 end local jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(gtvb3) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(gtvb1) jianbians:setStroke(gtvb4,gtvb5) return jianbians end function getHorizontalBG(gtvb1,gtvb3,gtvb4,gtvb5) if not gtvb4 then gtvb4 = 0 gtvb5 = 0xFFFF0026 end local jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(gtvb3) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(gtvb1) jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色 return jianbians end context = app.context 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 -- 焦点设置Finish layoutParams.gravity = Gravity.TOP|Gravity.LEFT -- 重力设置 layoutParams.width = LayoutParams.WRAP_CONTENT -- 布局宽度 layoutParams.height = LayoutParams.WRAP_CONTENT -- 布局高度 return layoutParams end function getj7() jianbian6 = luajava.new(GradientDrawable) jianbian6:setCornerRadius(20) jianbian6:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian6:setColors({ 0xFFFFDEFF,0xFFFFDEFF }) jianbian6:setStroke(3,"0xFFFF0026")--边框宽度和颜色 return jianbian6 end slctb = getRes('dz_slctb') slcta = getRes('dz_slcta') slctc = luajava.loadlayout { GradientDrawable, color = "#11ffffff", cornerRadius = 8 } slctd = luajava.loadlayout { GradientDrawable, color = "#55ffffff", cornerRadius = 8 } slcte = luajava.loadlayout { GradientDrawable, color = "#11ffffff", cornerRadius = 12 } slctf = luajava.loadlayout { GradientDrawable, color = "#aa1E1C27", cornerRadius = 15 } function getButtonBG() local selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, getVerticalBG({0xaaFBF259,0xaaFBE641},90)) selector:addState({ -android.R.attr.state_pressed }, getVerticalBG({0xffFBF259,0xffFBE641},90)) return selector end function getButtonB() local selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, getVerticalBG({0xFFFFFFFF,0xFFFFFFFF},90)) selector:addState({ -android.R.attr.state_pressed }, getVerticalBG({0xFFFFFFFF,0xFFFFFFFF},90)) return selector end function getSelector3() selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, luajava.loadlayout { GradientDrawable, color = "#b9b9b9", cornerRadius = 10 }) -- 点击时候的背景 selector:addState({ -android.R.attr.state_pressed }, luajava.loadlayout { GradientDrawable, color = "#ffffff", cornerRadius = 10 }) -- 没点击的背景 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 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 function getSelector2() selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, slctd) -- 点击时候的背景 selector:addState({ -android.R.attr.state_pressed }, slctc) -- 没点击的背景 return selector end jianbian = luajava.new(GradientDrawable) jianbian:setCornerRadius(30) jianbian:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian2 = luajava.new(GradientDrawable) jianbian2:setCornerRadius(30) jianbian2:setGradientType(GradientDrawable.LINEAR_GRADIENT) function 获取图片(txt) --gg.toast("正在加载资源...") txt = file.checkUrl(txt) return luajava.getBitmapDrawable(txt) end local isswitch YoYoImpl = luajava.getYoYoImpl() changan.menu = function(sview) if isswitch then return false end beij=bglist[1] isswitch = true cebian = { LinearLayout, layout_height = "match_parent", layout_width = "wrap_content", orientation = "horizontal", gravity = "right", orientation='vertical', } jmbg={} for i = 1,#stab do jmbg[i]=getSelector() cebian[#cebian+1] = { LinearLayout, id = "jm"..i, gravity="center_vertical", layout_height = "35dp",--字体间隔 layout_width = "62dp", layout_marginTop = "1dp", layout_marginBottom = "1dp", layout_marginRight = "3dp", layout_marginLeft = "3dp", elevation='2dp', onClick = function() 切换(i) end, { TextView, text = stab[i][1], id="jmt"..i, gravity = "center", textSize = "13sp", textColor = "#"..颜色2, layout_height = "wrap_content", layout_width = "80dp", } } end cebian[#cebian+1] = { LinearLayout, id = 'backvv', visibility='gone', gravity="center_vertical", layout_height = "50dp", layout_width = "100dp", layout_marginTop = "1dp", layout_marginBottom = "1dp", layout_marginRight = "3dp", layout_marginLeft = "3dp", elevation='2dp', onClick = function() 切换(当前ui) end, background=slcta, { TextView, text = '返回', id="backvt", gravity = "center", textSize = "13sp", textColor = "#000000", layout_height = "wrap_content", layout_width = "150dp", }} cebian = { ScrollView, layout_marginTop='dp', layout_marginLeft='8dp', layout_marginRight='dp', layout_marginBottom='8dp', background=getVerticalBG({0xFB9CAFED,0xFB9CAFED},30),---左边滑动栏 layout_height = "250dp", layout_width = "50dp", cebian } for i = 1,#stab do _ENV["layout"..i] = luajava.loadlayout({ LinearLayout, layout_width = "fill_parent", layout_height = "250dp",----边缘长度 visibility = "gone", orientation = "vertical", { ScrollView, fillViewport = "true", --padding = "10dp", gravity = "center", layout_width = "222dp",----边缘宽度 layout_height = "250dp",----选择页面长度 orientation = "horizontal", { LinearLayout, id = "layoutm"..i, layout_marginTop='dp', layout_marginRight = "dp", layout_marginLeft = "5dp", layout_width = "215dp",----选择页面宽度 background=getVerticalBG({0xFB9CAFED,0xFB9CAFED},20),--右边主要部分 orientation = "vertical", gravity = "center_horizontal", } }}) end ckou = { LinearLayout, layout_width = "wrap_content", layout_height = "wrap_content", cebian, { LinearLayout, layout_marginBottom = "10dp", layout_marginTop = "1dp", layout_width = "1dp", layout_height = "match_parent", background = "#88D7D7D7" } } for i = 1,#stab do ckou[#ckou+1] = _ENV["layout"..i] end for i,v in pairs(tuozhans) do ckou[#ckou+1]=v end contri=luajava.loadlayout({ ImageView, id = "control", background = 获取图片(xfcpic), layout_width = "50dp", layout_height = "50dp", onTouch = hanshu, onClick = 隐藏, }) ckou = luajava.loadlayout(ckou) floatWindow = { FrameLayout, id = "motion", elevation = "10dp", onTouch = hanshu, onClick = function() end, layout_width = "wrap_content", orientation = "vertical", gravity = "center_vertical", layout_height = "wrap_content", {LinearLayout, orientation='vertical', id='chuangk', layout_marginLeft='15dp', layout_marginTop='30dp', layout_marginRight='6dp', visibility='gone', {--顶部栏 FrameLayout, orientation = "horizontal", padding = "2dp", layout_height='30dp', layout_width="fill_parent", -- background=getVerticalBG({0xFFFFDEFF,0xFFFFDEFF},12), {ImageView, src=getRes('xz_gg'), layout_height='30dp', layout_width='30dp', layout_marginTop='-3dp', layout_marginLeft='150dp', layout_marginRight='0dp', onClick=function() end, }, -- onClick=changebg, {ImageView, background=getVerticalBG({0x72000000,0x72000000},0),---小栏 onClick = 隐藏, layout_width = "50dp", layout_height = "4dp", layout_marginLeft='150dp', layout_marginTop='10dp', }, {ImageView, src=getRes('heix'), layout_height='29dp', layout_width='29dp', layout_marginTop='0dp', layout_marginLeft='230dp', layout_marginRight='0dp', onClick=function() --string.toMusic("退出全防") luajava.setFloatingWindowHide(false) tuichu=1 end, }, {ImageView, visibility='gone', layout_width='24dp', layout_height='24dp', layout_gravity='center_vertical', src=getRes('skin'), padding='5dp', layout_marginLeft='44dp', onClick=changebg, layout_marginRight='2dp', layout_marginTop='110dp', layout_marginBottom='2dp', background=getVerticalBG({0xffefefef,0xffefefef},12), elevation='2dp' }, },ckou },{LinearLayout, id='dztitle', {TextView, layout_marginLeft='25dp', layout_marginRight='5dp', layout_marginTop='-45dp', layout_width='match_parent', gravity='center', textSize='12dp', layout_width='55dp', layout_height='35dp', background = 获取图片(xfcpic), onClick=隐藏, onTouch=hanshu, src=getRes('ski'), }, {TextView, layout_marginLeft='-65dp', layout_marginRight='10dp', layout_marginTop='170dp', layout_width='match_parent', gravity='center', textSize='12dp', layout_width='60dp', layout_height='180dp', background = 获取图片(宫园薰), --onClick=隐藏, onTouch=hanshu, --src=getRes('麻衣'), } }, {ImageView, id='suox', src=getRes('quarkx'), --colorFilter=0xff3cede6, layout_gravity='right', --onClick=隐藏, --background=getVerticalBG({0xFFFF00FF,0xffefefef},12), layout_height='60dp', layout_width='190dp', layout_marginTop='-13dp', padding='2dp', onTouch=hanshu },contri,{ ImageView, layout_marginTop='6dp', layout_marginLeft='6dp', id='ctrol1', layout_width = "24dp", layout_height = "24dp", onTouch = hanshu, onClick = 隐藏, } } local function invoke() local ok local RawX, RawY, x, y mainLayoutParams = getLayoutParams() floatWindow = luajava.loadlayout(floatWindow) local function invoke2() 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 切换(1) local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) block('join') local isMove end if ylfunc~=nil then ylfunc() end if yyfunc~=nil then yyfunc() end invoke(swib1,swib2) 隐藏() gg.setVisible(false) luajava.setFloatingWindowHide(true) qhkai = 0 qiehuan = function() if qhkai == 0 then qhkai = 1 draw.remove() luajava.runUiThread(function() changan.controlSmall(floatWindow,400) end) gg.sleep(400) luajava.runUiThread(function() floatWindow:setVisibility(View.GONE) end) else qhkai = 0 huiz() draw.text('.', -9200,-9200) luajava.runUiThread(function() floatWindow:setVisibility(View.VISIBLE) end) luajava.runUiThread(function() changan.controlBig(floatWindow,400) end) end end huiz() draw.text('.', -9200,-9200) changan.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 luajava.startThread(function() while true do if 显示==0 and 转动 then changan.controlRotation2(contri,2000) end gg.sleep(2000) end end) while true do if tuichu == 1 then break end if 音量键 then jianting3(qiehuan) end gg.sleep(300) end luajava.setFloatingWindowHide(false) end radon=getRes("quarkcheckon") radoff=getRes("quarkcheckoff") radiog={} function changan.intradio(nid,name,func) return { LinearLayout , layout_width = 'match_parent' , layout_height = "wrap_content" , layout_weight=1, layout_marginLeft = "2dp" , layout_marginRight = "5dp" , layout_marginTop='2dp', layout_marginBottom='8dp', gravity = "center_vertical" , onClick = function () --changan.controlWater (_ENV [tid] , 200) func() end , { ImageView , id = luajava.newId (nid) , layout_width = '15dp' , layout_height = "15dp" , layout_marginLeft = "2dp" , layout_marginRight = "4dp" , src =radoff , padding='-4dp', } , { TextView , gravity = "top" , text = name , textSize="12sp", textColor = '#000000' , layout_width = 'wrap_content' , layout_height = 'wrap_content' , } } end function changan.radio(cklist) local rid=guid() radiog[rid]={} rest = { LinearLayout , layout_width = 'match_parent' , layout_height = "wrap_content" , layout_marginTop = "10dp" , } if type (cklist [1]) == "string" then rest [# rest + 1] = { TextView , gravity = "left" , text = cklist [1] , textSize = "13sp" , textColor = '#000000' , layout_width = '80dp' , layout_height = 'wrap_content' , layout_marginLeft = "10dp" , layout_marginRight = "5dp" , layout_marginTop = "0dp" , layout_marginBottom = "0dp" , } table.remove(cklist,1) end local restt={ LinearLayout , layout_width = 'match_parent' , layout_weight=1, layout_height = "wrap_content" , gravity = "left" , orientation='vertical', } 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 nid = name..guid () local name = cklist[i + j][1] radiog[rid][nid]=false local func1 = radin(rid,nid,cklist[i + j][2]) if not name then name = "未设置" end local rstt = changan.intradio(nid,name,func1) table.insert(tempTable, rstt) else table.insert(tempTable, {LinearLayout, layout_width = 'match_parent', layout_weight=1,}) end end table.insert(restt, tempTable) end rest [# rest + 1] = restt return luajava.loadlayout (rest) end function radin(rid,nid,func) return function() for k,v in pairs(radiog[rid]) do luajava.getIdValue(k):setImageDrawable(radoff) if k==nid and v~=true then luajava.getIdValue(k):setImageDrawable(radon) v=true luajava.newThread(func):start() end end end end changan.controlRotation9 = function(control, time,t) luajava.runUiThread(function() import "android.view.animation.Animation" import "android.animation.ObjectAnimator" xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotation", { time,t }) xuanzhuandonghua:setRepeatCount(0) xuanzhuandonghua:setRepeatMode(Animation.RESTART) xuanzhuandonghua:setDuration(400) xuanzhuandonghua:start() end) end function visi (tid , ttid) vibra:vibrate(4) 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) YoYoImpl:with("FadeIn"):duration(200):playOn(boxes[tid]) changan.controlRotation9(boxpic[tid],0,90) else tview : setVisibility (View.GONE) changan.controlWater (_ENV [tid.."6"] , 200) changan.controlRotation9(boxpic[tid],90,0) end end boxes = {} boxpic = {} function changan.box (views) local tid = "box"..guid () boxpic[tid] = luajava.loadlayout { ImageView , background = getRes("hei_right"), layout_width = "24dp" , layout_height = "24dp" , } 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" , } if type (views [1]) == "string" or type (views [1]) == "number" then firadio [# firadio + 1] = { LinearLayout , layout_width = 'fill_parent' , layout_height = "40dp" , gravity = "center_vertical" , layout_marginTop = "2dp" , luajava.loadlayout({ LinearLayout, layout_width="wrap_content", layout_height= "30dp", layout_width = "30dp", background="https://wp.kayyw.com/f/JopkIx/17616635508110.jpeg", }), layout_marginLeft='2dp', layout_marginRight='2dp', layout_marginBottom = "2dp" , elevation="2dp", onClick = function () visi (tid , ttid) end , background = getButtonB(), { TextView , text = views [1] , textSize = "12sp" , layout_marginLeft = "5dp" , layout_width = "match_parent" , layout_weight=1, textColor = "#000000" , gravity = "left" , },{ LinearLayout , padding={"0dp","0dp","10dp","0dp"}, layout_width = "24dp" , layout_height = "24dp" , gravity = "center", boxpic[tid], } } else gg.alert ("changan.box的table内第一个元素必须是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 boxes[tid] = luajava.loadlayout(radios) firadio [# firadio + 1] = boxes[tid] _ENV [t1id] = luajava.loadlayout (firadio) return _ENV [t1id] end corbk = true 当前ui = 1 function 切换(x) 当前ui = x luajava.runUiThread(function() if 分页ing~=false then tuozhans[分页ing]:setVisibility(View.GONE) backvv:setVisibility(View.GONE) 分页ing=false for i=1,#stab do _ENV['jm'..i]:setVisibility(View.VISIBLE) end changan.controlBigX(floatWindow,600) end for i = 1,#stab do _ENV["jmt"..i]:setTextColor(0xFF000000) --_ENV["jmp"..i]:setColorFilter(0xffd7d7d7) _ENV["layout"..i]:setVisibility(View.GONE) _ENV['jm'..i]:setBackground(jmbg[i]) end _ENV['jm'..当前ui]:setBackground(slcta) --_ENV["jmt"..当前ui]:setTextColor(0xff0062FF) --_ENV["jmp"..当前ui]:setColorFilter(0xff0062FF) _ENV["layout"..当前ui]:setVisibility(View.VISIBLE) --YoYoImpl:with("FadeIn"):duration(800):playOn(_ENV["layout"..当前ui]) end) end 显示 = 0 beij2 = luajava.loadlayout({ GradientDrawable, color = "#FFE2E2", cornerRadius = 10 }) function changan.image(img,height,width,pad,func) if not func then func=function() end end if not pad then pad="0dp" end if not height then height="80dp" end if not width then width="80dp" end return luajava.loadlayout({ LinearLayout, layout_height="wrap_content", layout_width="fill_parent", gravity="center", { ImageView, layout_height=height, layout_width=width, padding=pad, src=获取图片(img), onClick=function() luajava.newThread(func):start() end, }}) end nowbg=1 function changebg() luajava.runUiThread(function() if nowbg<#bglist then nowbg=nowbg+1 else nowbg=1 end beij=bglist[nowbg] floatWindow:setBackground(beij) YoYoImpl:with("FadeIn"):duration(600):playOn(floatWindow) end) 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 显示 = 0 function 隐藏() luajava.runUiThread(function() if tonumber(tostring(chuangk:getVisibility())) == 8.0 then control:setVisibility(View.GONE) 显示 = 1 ctrol1:setVisibility(View.VISIBLE) suox:setVisibility(View.VISIBLE) dztitle:setVisibility(View.VISIBLE) chuangk:setVisibility(View.VISIBLE) if 分页ing~=false then tuozhans[分页ing]:setVisibility(View.VISIBLE) else _ENV["layout"..当前ui]:setVisibility(View.VISIBLE) end --changan.controlBig(floatWindow,500) chuangk:setBackground(beij) changan.controlBigX(floatWindow,800) else luajava.startThread(function() luajava.runUiThread(function() changan.controlSmallX(floatWindow,790) end) gg.sleep(800) luajava.runUiThread(function() ctrol1:setVisibility(View.GONE) suox:setVisibility(View.GONE) dztitle:setVisibility(View.GONE) chuangk:setVisibility(View.GONE) chuangk:setBackground(beij2) control:setVisibility(View.VISIBLE) 显示 = 0 changan.controlBigX(floatWindow,400) if 分页ing~=false then tuozhans[分页ing]:setVisibility(View.GONE) else _ENV["layout"..当前ui]:setVisibility(View.GONE) end end) end) end end) end import("android.media.AudioManager") audi = context:getSystemService("audio") audiotype = { AudioManager.STREAM_ALARM, --手机闹铃的声音 AudioManager.STREAM_MUSIC, --手机音乐的声音 AudioManager.STREAM_NOTIFICATION, --系统提示的通知 AudioManager.STREAM_RING, --电话铃声的声音 AudioManager.STREAM_SYSTEM, --手机系统的声音 AudioManager.STREAM_VOICE_CALL, --语音电话的声音 AudioManager.STREAM_DTMF, --DTMF音调的声音 } yinl = {} for i = 1,#audiotype do yinl[i] = {} yinl[i].type = audiotype[i] yinl[i].min = audi:getStreamMinVolume(audiotype[i]) yinl[i].max = audi:getStreamMaxVolume(audiotype[i]) yinl[i].now = audi:getStreamVolume(audiotype[i]) end function jianting2() yinln = {} for i = 1,#audiotype do yinln[i] = {} yinln[i].type = audiotype[i] yinln[i].min = audi:getStreamMinVolume(audiotype[i]) yinln[i].max = audi:getStreamMaxVolume(audiotype[i]) yinln[i].now = audi:getStreamVolume(audiotype[i]) if yinln[i].now > yinl[i].now then audi:adjustStreamVolume(yinln[i].type,AudioManager.ADJUST_LOWER,0) gg.alert("up") elseif yinln[i].now < yinl[i].now then audi:adjustStreamVolume(yinln[i].type,AudioManager.ADJUST_RAISE,0) gg.alert("down\n"..yinln[i].now.."\n"..yinl[i].now) end end end yltype = 0 function jianting3(func) yinln = {} for i = 1,#audiotype do yinln[i] = {} yinln[i].type = audiotype[i] yinln[i].now = audi:getStreamVolume(audiotype[i]) if yinln[i].now > yinl[i].now then yinl[i].now = yinln[i].now if yltype == 1 then yltype = 0 func() end elseif yinln[i].now < yinl[i].now then yinl[i].now = yinln[i].now if yltype == 0 then yltype = 1 func() end end end end function jianting(func) yinln = {} for i = 1,#audiotype do yinln[i] = {} yinln[i].type = audiotype[i] yinln[i].now = audi:getStreamVolume(audiotype[i]) if yinln[i].now >= yinl[i].max then audi:adjustStreamVolume(yinln[i].type,AudioManager.ADJUST_LOWER,0) end if yinln[i].now > yinl[i].now then audi:setStreamVolume(yinln[i].type,yinl[i].now,0) func() 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 local function exit() tuichu = 1 luajava.setFloatingWindowHide(false) luajava.post(function() window:removeView(floatWindow) end) end setExitEvent(exit) changan.controlWater = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX", { 1, 0.8, 0.9, 1 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 1,0.8,0.9,1 }):setDuration(time):start() end) end changan.controlSmall = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX", { 1, 0.7, 0.4, 0 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 1, 0.7, 0.4, 0 }):setDuration(time):start() end) end changan.controlSmallX = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX", { 1, 0.7, 0.4, 0 }):setDuration(time):start() end) end changan.controlBig = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX", { 0, 0.4, 0.7, 1 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 0, 0.4, 0.7, 1 }):setDuration(time):start() end) end changan.controlBigX = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX", { 0, 0.4, 0.7, 1 }):setDuration(time):start() end) end function 开关3(name,func1,func2,nid) name = name..guid() _ENV[name] = "关" if func1 == nil then func1 = function() end end if func2 == nil then func2 = function() end end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then luajava.runUiThread(function() changan.controlWater(_ENV[nid],200) luajava.getIdValue(nid):setBackground(check2) luajava.getIdValue(nid.."k"):setVisibility(View.GONE) luajava.getIdValue(nid.."g"):setVisibility(View.VISIBLE) end) _ENV[name] = "开" vibra:vibrate(6) pcall(func1) else luajava.runUiThread(function() changan.controlWater(_ENV[nid],200) luajava.getIdValue(nid):setBackground(check1) luajava.getIdValue(nid.."g"):setVisibility(View.GONE) luajava.getIdValue(nid.."k"):setVisibility(View.VISIBLE) end) _ENV[name] = "关" vibra:vibrate(6) pcall(func2) end end end end function getShape3() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(20) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({ 0xffFFFDF2,0xffFFFDF2 }) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(8,0xFF000000)--边框宽度和颜色 return jianbians end function getShape(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(8,tmp3)--边框宽度和颜色 return jianbians end function getShape2(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(15,tmp3)--边框宽度和颜色 return jianbians end function getShape0(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(30,tmp3)--边框宽度和颜色 return jianbians end checkbg1 = getVerticalBG({0xFF000000,0xFF000000},360) checkbg2 = getRes("dz_check") switchs={} function changan.intcheck(name,func1,func2) nid = name..guid() local func = 开关5(name,func1,func2,nid) if not name then name = "未设置" end switchs[nid] = { LinearLayout, layout_width = 'match_parent', layout_weight=1, layout_height = "42dp", layout_marginTop = "1dp", layout_marginBottom = "1dp", padding = "1dp", { LinearLayout, padding="3dp", onClick = function() luajava.newThread(function() func() end):start() end, layout_width = 'fill_parent', layout_height = "wrap_content", gravity = "center_vertical", background=getVerticalBG({0xffFFFDF2,0xddffffff,0xffFFFDF2},15,8,0xffFFDA71), { FrameLayout, id = luajava.newId(nid), background = checkbg1, layout_width = '15dp', layout_height = '15dp', padding = "0dp", },{ TextView, layout_marginLeft='5dp', id=luajava.newId(nid.."t"), gravity = "left", text = name, textColor=check字体颜色, textSize = "12sp", layout_marginLeft="8dp", layout_width = 'match_parent', layout_weight=1, }, } } return switchs[nid] end checkbg1 = getRes("bbts_checkoff") checkbg2 = getRes("bbts_check") switchs={} function changan.intcheck(name,func1,func2) nid = name..guid() local func = 开关5(name,func1,func2,nid) if not name then name = "未设置" end switchs[nid] = { LinearLayout, layout_width = 'match_parent', layout_weight=1, layout_height = "28dp", layout_marginTop = "1dp", layout_marginBottom = "1dp", padding = "1dp", { LinearLayout, padding="3dp", onClick = function() luajava.newThread(function() func() end):start() end, layout_width = 'fill_parent', layout_height = "wrap_content", gravity = "center_vertical", background=getVerticalBG({0xffFFFDF2,0xddffffff,0xffFFFDF2},15,8,0xffFFDA71), { ImageView, id = luajava.newId(nid), src = checkbg1, layout_width = '20dp', layout_height = '20dp', padding = "0dp", colorFilter=0xff0f87fa, },{ TextView, id=luajava.newId(nid.."t"), gravity = "left", text = name, textColor='#000000', textSize = "11sp", layout_marginLeft="8dp", layout_width = 'match_parent', layout_weight=1, }, } } return switchs[nid] end function 开关5(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(9) luajava.runUiThread(function() luajava.getIdValue(nid):setImageDrawable(checkbg2) --luajava.getIdValue(nid.."t"):setTextColor(switch颜色) --changan.controlWater(switchs[nid],300) end) _ENV[name] = "开" pcall(func1) --uiadtext(localname.." 已开启.","#161616") else vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid):setImageDrawable(checkbg1) --luajava.getIdValue(nid.."t"):setTextColor(0xff232323) --changan.controlWater(switchs[nid],300) end) _ENV[name] = "关" pcall(func2) --uiadtext(localname.." 已关闭.","#545454") end end end end function changan.check(cklist) if #cklist==0 then return nil end local rest = { LinearLayout, layout_width = 'fill_parent', layout_height = "wrap_content", gravity = "center", orientation="vertical", } 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 rstt = changan.intcheck(name,func1,func2) table.insert(tempTable, rstt) else table.insert(tempTable, {LinearLayout, layout_width = 'match_parent', layout_weight=1,}) end end table.insert(rest, tempTable) end return luajava.loadlayout(rest) end switches = {} function 开关3(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 local outfunc=function() namers = _ENV[name] if namers ~= "开" then vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid.."k"):setVisibility(View.GONE) YoYoImpl:with("ZoomInLeft"):duration(600):playOn(switches["2s"..sname]) luajava.getIdValue(nid.."g"):setVisibility(View.VISIBLE) --luajava.getIdValue(nid):setBackground(checkbg) end) _ENV[name] = "开" pcall(func1) else vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid.."g"):setVisibility(View.GONE) YoYoImpl:with("ZoomInRight"):duration(600):playOn(switches["1s"..sname]) luajava.getIdValue(nid.."k"):setVisibility(View.VISIBLE) --luajava.getIdValue(nid):setBackground(checkbga) end) _ENV[name] = "关" pcall(func2) end end if localname=="悬浮窗转动开关" then yyfunc=outfunc end if localname=="音量键隐藏UI开关" then ylfunc=outfunc end return outfunc end end function changan.switch(name,func1,func2,miaoshu) if not checkbg then checkbg = getShape2( 15, { switch颜色,switch颜色 }, 4,switch颜色) checkbg0 = getShape2( 15, { 0xFF89FFFF,0xFF89FFFF }, 4,0x00ffffff) checkbga = getShape2( 15, { 按钮颜色,按钮颜色 }, 4,0xffE6E6E6) switchbg1 = getShape( 15, { 0xffffffff,0xffffffff }, 4,0xffffffff) switchbg2 = luajava.loadlayout { GradientDrawable , color = "#333333" , cornerRadius = 360 } end nid = name..guid() local func = 开关3(name,func1,func2,nid) if not name then name = "未设置" end switches["1s"..nid] = luajava.loadlayout { FrameLayout, layout_width = '40dp', layout_height = '20dp', luajava.loadlayout({ LinearLayout, layout_width="wrap_content", layout_height= "30dp", layout_width = "30dp", background="https://wp.kayyw.com/f/6ZjkTM/17617119736170.webp", }), gravity = "center_vertical", padding = { "1dp","0dp","1dp","0dp" }, { LinearLayout, layout_gravity = "left|center_vertical", id = luajava.newId(nid.."k"), background = switchbg1, onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '17dp', layout_height = '17dp', }, } switches["2s"..nid] = luajava.loadlayout { FrameLayout, onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '40dp', layout_height = '20dp', gravity = "center_vertical", padding = { "1dp","0dp","1dp","0dp" } , { LinearLayout, visibility = "gone", layout_gravity = "right|center_vertical", id = luajava.newId(nid.."g"), background = switchbg2, onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '17dp', layout_height = '17dp', } } if not miaoshu then rest = luajava.loadlayout({ LinearLayout, layout_width = 'fill_parent', layout_height = "wrap_content", gravity = "center_vertical", { LinearLayout, layout_width = 'fill_parent', layout_height = "40dp", gravity = "center_vertical", luajava.loadlayout({ LinearLayout, layout_width="wrap_content", layout_height= "30dp", layout_width = "30dp", background="https://wp.kayyw.com/f/NlpXIq/17617119834341.webp", }), layout_marginLeft='2dp', layout_marginRight='2dp', layout_marginTop='2dp', layout_marginBottom='2dp', elevation='2dp', background = luajava.loadlayout { GradientDrawable , color = 按钮颜色 , cornerRadius = 15 } ,padding = { "0dp","0dp","6dp","0dp" }, { LinearLayout, layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', { MaterialSwitch, id=nid, layout_width = 'match_parent', layout_height = 'wrap_content', text = name, Typeface=font, textSize = "13sp", -- setTrackTintList('0xff000000'), --mddd3:setTrackTintList(ColorStateList({{android.R.attr.state_checked},{}},{0xff2000ff,0xffd7d7d7})), ---setThumbTintList('0xff000000'), layout_marginLeft = "10dp", layout_weight = 1, textColor = "0xFF000000", Typeface=font, --setThumbTintList='0xff000000', onClick = function() luajava.newThread(function() func() end):start() end, }, }} }) else rest = luajava.loadlayout({ LinearLayout, layout_width = 'fill_parent', layout_height = "wrap_content", gravity = "center_vertical", { LinearLayout, layout_width = 'fill_parent', layout_height = "wrap_content", gravity = "center_vertical", layout_marginLeft='2dp', layout_marginRight='2dp', layout_marginTop='2dp', layout_marginBottom='2dp', elevation='2dp', background = luajava.loadlayout { GradientDrawable , color = 按钮颜色 , cornerRadius = 15 } ,padding = { "0dp","0dp","6dp","0dp" } , { LinearLayout, layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', { MaterialSwitch, id=nid, layout_width = 'match_parent', layout_height = 'wrap_content', text = name, Typeface=font, textSize = "13sp", -- setTrackTintList('0xff000000'), --mddd3:setTrackTintList(ColorStateList({{android.R.attr.state_checked},{}},{0xff2000ff,0xffd7d7d7})), ---setThumbTintList('0xff000000'), layout_marginLeft = "10dp", layout_weight = 1, textColor = "0xFF000000", Typeface=font, --setThumbTintList='0xff000000', onClick = function() luajava.newThread(function() func() end):start() end, }, }} }) end return rest end switchs={} function changan.intcheck(name,func1,func2) nid = name..guid() local func = 开关5(name,func1,func2,nid) if not name then name = "未设置" end switchs[nid] = { LinearLayout, layout_width = 'match_parent', layout_weight=1, layout_height = "42dp", layout_marginTop = "1dp", layout_marginBottom = "1dp", padding = "1dp", { MaterialCheckBox, layout_width = 'match_parent', layout_height = 'wrap_content', text = name, onClick = function() luajava.newThread(function() func() end):start() end, } } return switchs[nid] end function 开关5(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(9) luajava.runUiThread(function() end) _ENV[name] = "开" pcall(func1) else vibra:vibrate(9) luajava.runUiThread(function() end) _ENV[name] = "关" pcall(func2) end end end end function initbg() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(10) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({ --0x00444444,0x00ffffff 0xffffffff,0xffffffff }) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(0,0xff000000)--边框宽度和颜色 return jianbians end buts={} heir=getRes("heir") function changan.button(txt,func,txtc) if not txt then txt = "未设置" end if not txtc then txtc="#FF006AFF" end local tid="Cbutton"..guid() buts[tid]=luajava.loadlayout( { LinearLayout, layout_width = 'match_parent', layout_height = "wrap_content", { LinearLayout, id=luajava.newId(tid), layout_width = "fill_parent", gravity = "center_vertical", luajava.loadlayout({ LinearLayout, layout_width="wrap_content", layout_height= "30dp", layout_width = "30dp", background="https://wp.kayyw.com/f/49elu7/Screenshot_2025-10-03-20-29-19-66_2332cb9b27b851b548ba47a91682926c.jpg", }), layout_marginTop = "5dp", layout_marginBottom = "5dp", layout_marginLeft="3dp", layout_marginRight="3dp", elevation="2dp", background = getButtonB(), padding="10dp", onClick = function() changan.controlWater(buts[tid],300) vibra:vibrate(10) luajava.newThread(func):start() end, { TextView, id = luajava.newId(tid.."bt"), textColor = txtc, text = txt, textSize = "13sp", layout_height = "wrap_content", layout_width = "fill_parent", layout_weight=1, },{ImageView, src=heir, layout_height="14dp", layout_width="14dp", } }}) return buts[tid] end chazhi={} chajv={} function changan.seek(name,bian,smin,smax,nows) local thum= getVerticalBG({0xffffffff,0xffffffff},4,10,switch颜色) thum:setSize(30, 40) _ENV[bian] =nows smin=tonumber(smin) smax=tonumber(smax) chajv[bian]=smax-smin chazhi[bian]=1-smin if smin==nil then smin=1 smax=10 end truesmin=1 truesmax=truesmin+chajv[bian] if not nows then nows = smin tnows=(smin-nows) else tnows=(nows-smin)+1 end if _ENV[bian] == nil then _ENV[bian] = 1.0 end if not name then name = "未设置" end local names = name..guid() rest = luajava.loadlayout({ LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", { LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", layout_marginTop = "5dp", layout_marginBottom = "5dp", gravity = "center_vertical", background = getVerticalBG({按钮颜色,按钮颜色},15), elevation='2dp', { TextView, padding={"5dp","10dp","0dp","10dp",}, textSize="12sp", gravity = "top", textColor="#000000", Typeface=font, text = name..":"..nows, id = luajava.newId(names), layout_width = '100dp', layout_marginLeft = "5dp", layout_marginRight = "0dp", }, { Slider, id=nid, thumbHeight='23dp', trackHeight='15dp', trackStopIndicatorSize='0dp', layout_width = 'match_parent', layout_height = 'wrap_content', padding = { "0dp","0dp","0dp","0dp" }, value = nows, valueTo = smax, valueFrom = smin, stepSize = 1, thumbSize="2dp", tickVisible=false, onClick = function() luajava.newThread(function() func() end):start() end, addOnChangeListener = function(slider, value, fromUser) -- 如果执行的功能不是修改器的函数,或者不带阻塞的,可以不用 window:threadWraper 包裹,性能更好(属于UI线程) -- 如果不是用户触发的,不处理 if not fromUser then return end Snackbar:make(slider, '已选择数值 > '..value, Snackbar.LENGTH_SHORT):show() end }, }}) return rest end levels={} function changan.seek2(name , bian , smin , smax , nows,level) local smin=math.ceil(smin* 10)/10 local smax=math.ceil(smax* 10)/10 local nows=math.ceil(nows* 10)/10 local level=math.ceil(level* 10)/10 if bian~='mubx' and bian~='muby' then if _ENV [bian] == nil then _ENV [bian] = nows else gg.alert("seek控件的变量名称:"..bian.."重复!\n请换一个名称") os.exit() end end if not name then name = "未设置" end local names = name..guid () if not level then level=1 end levels[bian]=math.ceil(level* 10)/10 local shuzhi=luajava.loadlayout({ TextView , gravity = "center" , text = tostring(nows) , textColor=switch颜色, Typeface=font, id = luajava.newId (names) , layout_width = '50dp' , layout_marginLeft = "5dp" , layout_marginRight = "0dp" , }) local tmp1={TextView, background=getVerticalBG({0xFF000000,0xFF000000},15,2.5,0xFF000000), layout_height="24dp", layout_width="24dp", gravity="center", elevation="2dp", layout_marginTop = "5dp" , layout_marginBottom = "5dp" , layout_marginLeft = "5dp" , layout_marginRight = "5dp" , text="-", textColor="#000000", Typeface=font, onClick=function() vibra:vibrate(4) if _ENV[bian]>smin then _ENV[bian]=_ENV[bian]-levels[bian] _ENV[bian]=tonumber(string.format("%.1f", _ENV[bian])) if _ENV[bian]smax then _ENV[bian]=smax end _ENV[bian]=math.ceil(_ENV[bian]* 10)/10 luajava.getIdValue(names):setText(tostring(_ENV[bian])) if bian=='mubx' or bian=='muby' then daxiao() end end end, } rest = luajava.loadlayout ( { LinearLayout , layout_width = 'fill_parent' , gravity = "center" , layout_height = "wrap_content" , { LinearLayout, layout_width = 'fill_parent', layout_height = "40dp", gravity = "center_vertical", layout_marginLeft='2dp', layout_marginRight='2dp', layout_marginTop='2dp', layout_marginBottom='2dp', elevation='2dp', background = luajava.loadlayout { GradientDrawable , color = 按钮颜色 , cornerRadius = 15 } ,padding = { "0dp","0dp","6dp","0dp" }, { TextView , gravity = "top" , text = name , textColor="#000000", Typeface=font, layout_weight=1, textSize='12sp', layout_width = 'match_parent' , layout_marginLeft = "10dp" , layout_marginRight = "0dp" , }, tmp1,shuzhi,tmp2 } }) return rest end function changan.text(txt,color,size) if not txt then txt = "未设置文字" end if not color then color = "#"..颜色2 end if not size then size = "18sp" end return luajava.loadlayout( { TextView, text = txt, textSize = size, textColor = color, layout_width = "wrap_content", }) end function 开关(name,func1,func2) if func1 == nil then func1 = function() end end if func2 == nil then func2 = function() end end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then _ENV[name] = "开" pcall(func1) else _ENV[name] = "关" pcall(func2) end end end end 颜色1 = "80C3F9" 颜色2 = "545454" function 开关2(name,func1,func2,nid) if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then luajava.runUiThread(function() luajava.getIdValue(nid):setBackground(luajava.getBitmapDrawable("/sdcard/波奇酱/图片/check2")) end) _ENV[name] = "开" func1() else luajava.runUiThread(function() luajava.getIdValue(nid):setBackground(luajava.getBitmapDrawable("/sdcard/波奇酱/图片/check1")) end) _ENV[name] = "关" func2() end end end end tuozhans={} function 生成页面(name,views) if tuozhans[name]~=nil then gg.alert(name..'页面存在重名!') os.exit() end local tmp={ LinearLayout, layout_marginRight = "5dp", layout_marginLeft = "5dp", layout_width = "240dp", orientation = "vertical", gravity = "center_horizontal", } for i=1,#views do table.insert(tmp,views[i]) end tuozhans[name] = luajava.loadlayout({ LinearLayout, layout_width = "fill_parent", layout_height = "300dp", visibility = "gone", orientation = "vertical", background={ GradientDrawable, color = "#33ffffff", cornerRadius = 20 }, { ScrollView, fillViewport = "true", --padding = "10dp", gravity = "center", layout_width = "250dp", layout_height = "200dp", orientation = "horizontal", tmp }}) end function 显示页面(name) luajava.runUiThread(function() if tuozhans[name]==nil then luajava.startThread(function() gg.alert(name..'分页不存在!') end) return 0 end for i=1,#stab do _ENV['layout'..i]:setVisibility(View.GONE) _ENV['jm'..i]:setVisibility(View.GONE) end for i,v in pairs(tuozhans) do if i==name then v:setVisibility(View.VISIBLE) else v:setVisibility(View.GONE) end end backvv:setVisibility(View.VISIBLE) 分页ing=name changan.controlBigX(floatWindow,600) end) end 分页ing=false bglist={ getHorizontalBG({0xffE8EEFf,0xffE8EEFF},35), getHorizontalBG({0xff7F58FF,0xff2964FF,0xff5399FF},30), getHorizontalBG({0xaaffffff,0xaaffffff},12,3,0xaa232323), } D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end local time=os.clock() 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(0x2C4D6BCE) 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 & 0xBAE0FFFF 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 ------------------------------ ------------------------------ ----动态基址写法配置 function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要65536)') local tt = {} tt[1] = {} tt[1].address = address tt[1].flags = flags tt[1].value = value gg.setValues(tt) 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 ------------------------------ ------------------------------ --仿SX写法配置 ------------------------------ ------------------------------ function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount() == 0 then gg.toast(Search[2].name..'开启失败') return end local Result = gg.getResults(gg.getResultCount()) local sum for index = 4,#Search do sum = 0 for i = 1,#Result do if gg.getValues({{ address = Result[i].address+Search[index].offset,flags = Search[index].type }})[1].value ~= Search[index].lv then Result[i].Usable = true sum = sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes = {}, {},0 sum = 0 for index,value in ipairs(Modification)do for index = 1,#Result do if not Result[index].Usable then local Value = { address = Result[index].address+value.offset,flags = value.type,value = value.value,freeze = true } if value.freeze then Freeze[#Freeze+1] = Value Freezes = Freezes+1 else Data[#Data+1] = Value end sum = sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes == 0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function edit(orig,ret)_om=orig[1].memory or orig[1][1]_ov=orig[3].value or orig[3][1]_on=orig[2].name or orig[2][1]gg.clearResults()gg.setRanges(_om)gg.searchNumber(_ov,orig[3].type or orig[3][2])sz=gg.getResultCount()if sz<1 then gg.toast(_on.."失败")else sl=gg.getResults(720)for i=1,sz do ist=true for v=4,#orig do if ist==true and sl[i].value==_ov then cd={{}}cd[1].address=sl[i].address+(orig[v].offset or orig[v][2])cd[1].flags=orig[v].type or orig[v][3]szpy=gg.getValues(cd)cdlv=orig[v].lv or orig[v][1]cdv=szpy[1].value if cdlv==cdv then pdjg=true ist=true else pdjg=false ist=false end end end if pdjg==true then szpy=sl[i].address for x=1,#(ret)do xgpy=szpy+(ret[x].offset or ret[x][2])xglx=ret[x].type or ret[x][3]xgsz=ret[x].value or ret[x][1]xgdj=ret[x].freeze or ret[x][4]xgsj={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xgsj[1].freeze=xgdj gg.addListItems(xgsj)else gg.setValues(xgsj)end end xgjg=true end end if xgjg==true then gg.toast(_on.."成功")else gg.toast(_on.."失败")end end end 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 gg.toast("搜索到"..#data.."条数据") 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) gg.toast("已修改"..#t.."条数据") gg.addListItems(t) else gg.toast("not found", false) return false end else gg.toast("Not Found") return false end end function readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true]=32, [false]=4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address=addr, flags=va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end function gg.edits(addr, Table) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr+v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2]+1] = value else Table1[1][#Table1[1]+1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) end -- 读取内存地址的函数 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 & 0xBAE0FFFF 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 Ranges = gg.getRangesList('/') local function Read(module,type) for k,v in pairs(Ranges) do if v['internalName']:match('[^/]*$') == module and v['type'] == type then return v['start'] end end end ------------------------------ ------------------------------ local Table = {} local function Modify(address,value,flags) Table[#Table+1] = { address = address,value = value,flags = flags } end ------------------------------ ------------------------------ -- 读取内存地址的函数 function readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true]=32, [false]=4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address=addr, flags=va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end -- 修改内存地址的函数 function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr+v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2]+1] = value else Table1[1][#Table1[1]+1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) end function getRanges() local ranges = {} local t = gg.getRangesList('^/dev/kgsl-3d0*$') for i, v in pairs(t) do if v.type:sub(4, 4) == 's' then table.insert(ranges, v) end end return ranges end local function readD(a) return gg.getValues({{ address = a, flags = gg.TYPE_DWORD }})[1].value end local function readF(a) return gg.getValues({{ address = a, flags = gg.TYPE_FLOAT }})[1].value end ------------------------------ ------------------------------ function setvalue(address,flags,value) local t = {} t[1] = {} t[1].address = address t[1].flags = flags t[1].value = value gg.setValues(t) gg.addListItems(t) end ------------------------------ ------------------------------ function _V(add,value1,flag,value2) local num = 0;ednum = 0 if flag == gg.TYPE_DWORD then readV = readD elseif flag == gg.TYPE_FLOAT then readV = readF else os.exit("不支持的类型") end local S_list = getRanges() for i in pairs(S_list) do num = num+1 addr = S_list[i].start+add if readV(addr) == value1 then setvalue(addr,flag,value2) ednum = ednum+1 end end return "遍历了"..num.."个地址\n".."修改了"..ednum.."个地址" end function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end--静态 function 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 ms = { } function setvalue ( add , value , falgs , dj ) local WY = { } WY [ 1 ] = { } WY [ 1 ].address = add WY [ 1 ].value = value WY [ 1 ].flags = falgs if dj == true then WY [ 1 ].freeze = true gg.addListItems ( WY ) else gg.setValues ( WY ) end end menu ={} name ={} id = 0 play = false song = "" _G_ = { function() local searchMusic = gg.prompt({ "歌曲•歌手", "列表•限制", },{"","10"},{ "text", "text", }) if not searchMusic then gg.setVisible(false) Main() elseif searchMusic[1] == "" then gg.alert("请输入歌曲/歌手!") _G_[1]() else local results = gg.makeRequest("http://music.163.com/api/search/get?s="..searchMusic[1].."&type=1&offset=0&total=true&limit="..searchMusic[2]) if results.code == 200 then n=1 for v,k in results.content:gmatch('"id":(.-),"name":"(.-)"') do if n%4 == 1 then menu[n/4+1] = v..";"..k end if n%4 == 2 then menu[n/4+1] = menu[n/4+1]..";"..k end n=n+1 end _G_[2]() else local s = gg.alert("请求异常,请检查网络……","返回","退出") if not s then gg.setVisible(false) Main() end if s == 1 then os.exit() end if s == 2 then _G_[1]() end end end end, function() if #menu == 0 then gg.alert("没有搜索记录") Main() else for n=1,#menu do name[n] = menu[n]:gsub("[0-9]+;",""):gsub(";","\n歌手:") end local mu = gg.choice(name,0,"歌单") if not mu then _G_[1]() else song = name[mu] local sn=gg.choice({"播放","查看歌词"},nil,"歌曲:"..name[mu]) if not sn then _G_[1]() end if sn == 1 then id = menu[mu]:match("(.-);") gg.toast("正在播放音乐:"..name[mu],true) string.toMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3") play = true end if sn == 2 then id = menu[mu]:match("(.-);") song = name[mu] _G_[3]() end end end end, function() if id == 0 then gg.alert("未有播放记录") Main() else local results = gg.makeRequest("http://music.163.com/api/song/media?id="..id).content rs = results:match('"lyric":"(.-)","code'):gsub("\\n","\n"):gsub("[[!-z]+]","") gg.alert("\n《"..song:gsub("\n","》\n").."\n\n"..rs) gg.setVisible(false) end end, function() if play then play = false gg.toast("正在停止播放...") for i=1,100 do string.toMusic("stop") string.toMusic("stop") string.toMusic("stop") string.toMusic("stop") string.toMusic("stop") string.toMusic("stop") end gg.toast("播放已停止") else gg.toast("无正在播放的音乐") end end, function() gg.setVisible(false) if play then _G_[4]() end LSP() end } function WTYY() local emo = gg.choice({ "搜索歌曲", "搜索列表", "显示歌词", "暂停播放", },nil,"温特音乐功能") if not emo then gg.setVisible(false) end if emo then _G_[emo]() end end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end----频道:@xbhook 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 print(string.char(64,1,100,1,122,1,121,1,121,1,100,1,115,1,65,1,57,1,49,1)) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end--静态 local Ranges=gg.getRangesList('/') local function Read(module,type) for k,v in pairs(Ranges) do if v['internalName']:match('[^/]*$')==module and v['type']==type then return v['start'] end end end local Table={} local function Modify(address,value,flags) Table[#Table+1]={address=address,value=value,flags=flags} end 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 function readD ( a ) return gg.getValues ( { { address = a , flags = 4 } } ) [ 1 ].value end 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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end function xfnb(add,lx) return gg.getValues({ { address=add,flags = lx } })[1].value end local function X(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value end 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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end local function X(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value end function readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true] = 32, [false] = 4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address = addr, flags = va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr + v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2] + 1] = value else Table1[1][#Table1[1] + 1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) gg.toast((name or "") .. "开启成功, 共修改" .. #Table .. "个值") end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return gg.getValues(tab) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function Unfreeze() --获取保存列表 local t = gg.getListItems() for k, v in pairs(t) do t[k]["freeze"] = false end return gg.addListItems(t) end function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function XGBase(Address,AFV) local address=0 for index,offset in ipairs(Address)do if index==1 then address=offset else address=gg.getValues({{address=address+offset,flags=4}})[1].value end end local Value,Freeze={},{} for index,value in ipairs(AFV)do local VALUE={address=address+value[3],flags=value[2],value=value[1],freeze=true} if value[4]then Freeze[#Freeze+1]=VALUE else Value[#Value+1]=VALUE end end gg.setValues(Value) gg.addListItems(Freeze) end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return print(gg.getValues(tab)) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function XunK_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 频道:@dzyyds A91 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end 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 LSQ_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end--静态 function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function XGBase(Address,AFV) local address=0 for index,offset in ipairs(Address)do if index==1 then address=offset else address=gg.getValues({{address=address+offset,flags=4}})[1].value end end local Value,Freeze={},{} for index,value in ipairs(AFV)do local VALUE={address=address+value[3],flags=value[2],value=value[1],freeze=true} if value[4]then Freeze[#Freeze+1]=VALUE else Value[#Value+1]=VALUE end end gg.setValues(Value) gg.addListItems(Freeze) 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"] gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) xgsl = xgsl + 1 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) xgjg = true end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end end end 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 read(address, flags) local tt = {} tt[1] = {} tt[1].address = address tt[1].flags = flags filzer = gg.getValues(tt)[1].value return filzer end function getbase(address) local tt = {} tt[1] = {} tt[1].address = address tt[1].flags = 32 filzer = gg.getValues(tt)[1].value return filzer end 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("音乐配置"..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() local Ranges=gg.getRangesList('/') local function Read(module,type) for k,v in pairs(Ranges) do if v['internalName']:match('[^/]*$')==module and v['type']==type then return v['start'] end end end local Table={} local function Modify(address,value,flags) Table[#Table+1]={address=address,value=value,flags=flags} end 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) string.toMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3") 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 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(0x2C4D6BCE) 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 ----动态基址写法配置 function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end ---静态基址写法配置 function 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 --仿XS写法配置 function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end -- 读取内存地址的函数 function readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true]=32, [false]=4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address=addr, flags=va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end -- 修改内存地址的函数 function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr+v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2]+1] = value else Table1[1][#Table1[1]+1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) gg.toast((name or "") .. "开启成功, 共修改"..#Table.."个值") end local Ranges=gg.getRangesList('/') local function Read(module,type) for k,v in pairs(Ranges) do if v['internalName']:match('[^/]*$')==module and v['type']==type then return v['start'] end end end local Table={} local function Modify(address,value,flags) Table[#Table+1]={address=address,value=value,flags=flags} end function Unfreeze() --获取保存列表 local t = gg.getListItems() for k, v in pairs(t) do t[k]["freeze"] = false end return gg.addListItems(t) end function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true}----频道:@xbhook if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function XGBase(Address,AFV) local address=0 for index,offset in ipairs(Address)do if index==1 then address=offset else address=gg.getValues({{address=address+offset,flags=4}})[1].value end end local Value,Freeze={},{} for index,value in ipairs(AFV)do local VALUE={address=address+value[3],flags=value[2],value=value[1],freeze=true} if value[4]then Freeze[#Freeze+1]=VALUE else Value[#Value+1]=VALUE end end gg.setValues(Value) gg.addListItems(Freeze) end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return print(gg.getValues(tab)) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function XunK_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end 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--频道:@xbhook function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function gai(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value gg.setValues(t) end local function X(address) return gg.getValues({{ address = address, flags = gg.TYPE_QWORD }})[1].value end D=gg.TYPE_DWORD F=gg.TYPE_FLOAT local function readD(a) return gg.getValues({{ address=a, flags=gg.TYPE_DWORD }})[1].value end local function readF(a) return gg.getValues({{ address=a, flags=gg.TYPE_FLOAT }})[1].value end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local 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 function setvalue(address,flags,value,freeze) local t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.setValues(t) gg.addListItems(t) end --以上为读取d,f类型的值和修改某地址的值的函数 local function X(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function gai(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value gg.setValues(t) end local function X(address) return gg.getValues({{ address = address, flags = gg.TYPE_QWORD }})[1].value end D=gg.TYPE_DWORD F=gg.TYPE_FLOAT function xing(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 print(string.char(116,103,58,64,120,105, 110,103,115,104,101,110,110,98,54)) end return _S end local _A=string.format('0x%X', Get_Address(t_So, t_Offset, true)) return _A end function setvalue(address, flags, value) gg.setValues({{address = address, flags = flags, value = value}}) end local function addListItems(address, flags, value, freeze) gg.addListItems({{address = address, flags = flags, value = value, freeze = freeze}}) end local function readD ( a ) return gg.getValues ( { { address = a , flags = 4 } } ) [ 1 ].value end function readF ( a ) return gg.getValues ( { { address = a , flags = 16 } } ) [ 1 ].value end--写法配置不懂别瞎改 function xing(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 print(string.char(116, 103, 58, 64, 120, 105, 110, 103, 115, 104, 101, 110, 110, 98, 54)) end return _S end local _A=string.format('0x%X', Get_Address(t_So, t_Offset, true )) return _A end D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function setvalue(address, flags, value) gg.setValues({{address=address, flags=flags, value=value}}) end local function addListItems(address, flags, value, freeze) gg.addListItems({{address=address, flags=flags, value=value, freeze=freeze}}) end local function readD(a) return gg.getValues({{address=a, flags=4}})[1].value end function readF(a) return gg.getValues({{address=a, flags=16}})[1].value end function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end--静态 local Ranges=gg.getRangesList('/') local function Read(module,type) for k,v in pairs(Ranges) do if v['internalName']:match('[^/]*$')==module and v['type']==type then return v['start'] end end end local Table={} local function Modify(address,value,flags) Table[#Table+1]={address=address,value=value,flags=flags} end 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 function readD ( a ) return gg.getValues ( { { address = a , flags = 4 } } ) [ 1 ].value end 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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end function xfnb(add,lx) return gg.getValues({ { address=add,flags = lx } })[1].value end local function X(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value end 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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end local function X(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value end function readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true] = 32, [false] = 4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address = addr, flags = va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr + v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2] + 1] = value else Table1[1][#Table1[1] + 1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) gg.toast((name or "") .. "开启成功, 共修改" .. #Table .. "个值") end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return gg.getValues(tab) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function Unfreeze() --获取保存列表 local t = gg.getListItems() for k, v in pairs(t) do t[k]["freeze"] = false end return gg.addListItems(t) end function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function XGBase(Address,AFV) local address=0 for index,offset in ipairs(Address)do if index==1 then address=offset else address=gg.getValues({{address=address+offset,flags=4}})[1].value end end local Value,Freeze={},{} for index,value in ipairs(AFV)do local VALUE={address=address+value[3],flags=value[2],value=value[1],freeze=true} if value[4]then Freeze[#Freeze+1]=VALUE else Value[#Value+1]=VALUE end end gg.setValues(Value) gg.addListItems(Freeze) end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return print(gg.getValues(tab)) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function XunK_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 频道:@dzyyds A91 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x167ba0fe) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function 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 function Unfreeze() --获取保存列表 local t = gg.getListItems() for k, v in pairs(t) do t[k]["freeze"] = false end return gg.addListItems(t) end function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function XGBase(Address,AFV) local address=0 for index,offset in ipairs(Address)do if index==1 then address=offset else address=gg.getValues({{address=address+offset,flags=4}})[1].value end end local Value,Freeze={},{} for index,value in ipairs(AFV)do local VALUE={address=address+value[3],flags=value[2],value=value[1],freeze=true} if value[4]then Freeze[#Freeze+1]=VALUE else Value[#Value+1]=VALUE end end gg.setValues(Value) gg.addListItems(Freeze) end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return print(gg.getValues(tab)) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end 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 LSQ_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end 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 xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function Unfreeze() --获取保存列表 local t = gg.getListItems() for k, v in pairs(t) do t[k]["freeze"] = false end return gg.addListItems(t) end function Format(tab, format, value, type, Function) if format == "分配" then tab[1]["flags"] = type return gg.getValues(tab) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function LSQ_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end 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 --libUE4.so:bss+0x7513B0+0x20+0x90+0x448+0xF60< 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 function Unfreeze() --获取保存列表 local t = gg.getListItems() for k, v in pairs(t) do t[k]["freeze"] = false end return gg.addListItems(t) end function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function XGBase(Address,AFV) local address=0 for index,offset in ipairs(Address)do if index==1 then address=offset else address=gg.getValues({{address=address+offset,flags=4}})[1].value end end local Value,Freeze={},{} for index,value in ipairs(AFV)do local VALUE={address=address+value[3],flags=value[2],value=value[1],freeze=true} if value[4]then Freeze[#Freeze+1]=VALUE else Value[#Value+1]=VALUE end end gg.setValues(Value) gg.addListItems(Freeze) end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return print(gg.getValues(tab)) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end 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 LSQ_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end 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 xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function Unfreeze() --获取保存列表 local t = gg.getListItems() for k, v in pairs(t) do t[k]["freeze"] = false end return gg.addListItems(t) end function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end--静态配置 local function RUI(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value end 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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end local function readD ( a ) return gg.getValues ( { { address = a , flags = 4 } } ) [ 1 ].value end function huiz()---绘制必须放在这里面 end titlet = "波奇美化" stab = { --菜单名字,添加即可加页数,需要与结尾配置表对应 {"首页","safe"}, {"防封","bm_gM"}, {"功能","bm_gM"}, {"衣服","bm_gn"}, {"枪械","mh"}, {"音乐","bm_music"}, {"设置","bm_sz"}, } xfcpic = "https://wp.kayyw.com/f/bY4VUv/b1b0ed.png" --悬浮窗链接或路径 小户 = "https://wp.kayyw.com/f/Mb1PU6/ZDI1YQ.png" changan.menu( { {--1 luajava.loadlayout({ LinearLayout, layout_width="200dp", layout_height="125dp", background="https://wp.kayyw.com/f/L9pPCk/17619697647237.jpeg", }), changan.button("选择进程",-----首页 function() gg.setProcessX() string.toMusic("请选择游戏进程") end), }, {-------防 changan.box({ "PUBG防封", changan.switch("未更新]", function() end), }), }, { changan.box({ "安全功能", changan.check({ { "静态广角", function() local r = gg.prompt({'推荐1.35-1.45'}, {'1.4'}, {'text'}) --广角 --[1].地址:74384E1E48 数值:1.0 so=gg.getRangesList('libUE4.so')[1].start py=0x2F6A9A8 setvalue(so+py,16,r[1]) gg.alert("开启成功") string.toMusic("开启成功") end },{ "聚点", function() so=gg.getRangesList('libUE4.so')[1].start py=0x54FDF84 setvalue(so+py,16,8.47963525e-21) gg.toast("开启成功") string.toMusic("开启成功") end },{ "无后", function() if gg.getRangesList("libUE4.so")[1] then local t = {} t[1] = gg.getRangesList("libUE4.so")[1]["start"] + 0x5502724; -- 数值地址:0x6E6CDBE724 gg.addListItems({ [1] = { address = t[1], flags = 16, value = 8.841167304288883E-21, freeze = true, }, }) end gg.toast("开启成功") string.toMusic("开启成功") end },{ "锁帧", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5CB9D8, 0x0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 240, freeze = true}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5CB9D8, 0x4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 240, freeze = true}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1D98, 0x34} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 144}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1D98, 0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 144}}) gg.alert("开启成功") string.toMusic("开启成功") end }, }), }),--box结尾 }, {--第四页 changan.switch("清除冻结", function() gg.clearList() string.toMusic('清理成功') end, function() end), changan.box({ "快捷衣服美化", changan.check({ { "皇都帝女", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407323}})----衣服链条 gg.toast("开启成功") local t = {"libUE4.so:bss", "Cb"} local tt = {0x6D1820,0x30,0x438,0x2A80,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1410680}})----头发链条 string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407323}})----衣服链条 gg.toast("开启成功") local t = {"libUE4.so:bss", "Cb"} local tt = {0x6D1820,0x30,0x438,0x2A80,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1410680}})----头发链条 string.toMusic("美化成功")---语音 end }, { "机魂忍者", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407160}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407160}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "小丑鱼", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1405238}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1405238}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "指挥官", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400522}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400522}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "废墟猎手", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1405163}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1405163}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "玲珑白蛇", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407161}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407161}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "蚀魂冥王", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1406891}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1406891}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "零战斗服", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1406386}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1406386}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "真理", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1406388}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1406388}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "极乐愚者", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407079}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407079}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "神羽恋人", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407276}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407276}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "烈焰古神", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407277}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407277}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "赛博猫妖", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407286}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407286}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "琉璃仙灵", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407225}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407225}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "睡衣", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 40604012}})--头发 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1405208}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 40604012}})--头发 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1405208}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "黄金风衣", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400779}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400779}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "混搭一套", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 40604012}})--头发 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404207}})--衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404160}})--裤子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 405018}})--鞋子 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 40604012}})--头发 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404207}})--衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404160}})--裤子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 405018}})--鞋子 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "混搭二套", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 40605012}})--头发 local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404198}})--脸部 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404143}})--衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404050}})--裤子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 405018}})--鞋子 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 40605012}})--头发 local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404198}})--脸部 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404143}})--衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404050}})--裤子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 405018}})--鞋子 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "暗金舞者", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0}--头发 local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 40604012}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}--衣服 local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404133}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38}--裤子 local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404002}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8}--鞋子 local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400127}}) gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0}--头发 local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 40604012}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}--衣服 local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404133}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38}--裤子 local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404002}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8}--鞋子 local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400127}}) gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "俏丽兔尾", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}--衣服 local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1406598}}) gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}--衣服 local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1406598}}) gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "肾法哥套装", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0}--衣服 local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404367}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x1C0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404198}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400101}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 404001}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1501003053}}) gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0}--衣服 local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404367}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x1C0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404198}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400101}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 404001}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1501003053}}) gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "快捷圣装美化", changan.check({ { "风灵迦尔", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407366}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407366}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "血鸦", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1405870}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1405870}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "曙光芙洛拉", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407103}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407103}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "秘渊灵主", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1406971}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1406971}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "精灵王", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407142}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407142}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "寒冰", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407141}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1407141}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "法老", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1406469}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1406469}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "快捷背包美化", changan.check({ { "哥斯拉联名", function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003061)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003061)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "法老", function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003174)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003174)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "小猫背包", function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003050)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003050)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "朋克犀牛", function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003211)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003211)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "黄鲨鱼", function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003058)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003058)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "恐龙布朗熊", function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003261)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003261)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "龙包", function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003053)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003053)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "小黄鸭", function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003276)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(1501003276)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "隐藏背包", function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(0)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function bb(kjsm)--背包 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end bb(0)--这里填代码 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "快捷头盔美化", changan.check({ { "刺头", function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function tk(kjsm)--头盔 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=502116 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end tk(1502003014) gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function tk(kjsm)--头盔 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=502116 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end tk(1502003014) gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "冰头", function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function tk(kjsm)--头盔 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=502116 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end tk(1502003023) gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function tk(kjsm)--头盔 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=502116 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end tk(1502003023) gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "胖达", function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function tk(kjsm)--头盔 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=502116 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end tk(1502003027) gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end ue4=staticstart({"libUE4.so:bss", "Cb", 1}) nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}) function tk(kjsm)--头盔 for qckjsm=0x0,0x196,0x38 do if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=502116 then setvalue(nmsl+0x118+qckjsm,4,kjsm) end end end tk(1502003027) gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "人物混搭", changan.check({ { "重置人物", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 40601009}})----头发 local t = {"libUE4.so:bss", "Cb"} local tt = {0x6C0A70,0x30,0x440,0x2B08,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 401993}})----面部 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400129}})----衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 404000}})----裤子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 405000}})----鞋子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 0}})----头饰 local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x398,0x90,0x388,0x118} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 0}})----眼罩 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x1C0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 0}})----口罩 string.toMusic('重置成功')---语音 end, function() end }, { "狂沙舞者套装", function() function nacho(a, b)--a是地址,b是类型,c是返回值 local c = gg.getValues({{address = a, flags = b}})[1].value return c end local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) r={} r[1] = {} r[1].address = ttt r[1].name = "判断" r[1].flags = 4 gg.addListItems(r) if nacho(ttt,4)==1400129 then---不穿衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400127}})----鞋子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404207}})----衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404160}})----裤子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 40604012}})----头发 -- 获取地址值并返回 else --穿衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400127}})----鞋子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404207}})----衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404160}})----裤子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 40604012}})----头发 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1402218}})----头饰 local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x398,0x90,0x388,0x118} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404198}})----眼罩 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x1C0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400165}})----口罩 end string.toMusic("美化成功")---语音 ---语音 ---语音 end, function() end }, { "迷彩鲨鱼", function() function nacho(a, b)--a是地址,b是类型,c是返回值 local c = gg.getValues({{address = a, flags = b}})[1].value return c end local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) r={} r[1] = {} r[1].address = ttt r[1].name = "判断" r[1].flags = 4 gg.addListItems(r) if nacho(ttt,4)==1400129 then---不穿衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404051}})----鞋子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404049}})----衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404050}})----裤子 else --穿衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404049}})----衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404050}})----裤子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404051}})----鞋子 end string.toMusic("美化成功")---语音 ---语音 ---语音 end, function() end }, { "黑色风衣套装", function() function nacho(a, b)--a是地址,b是类型,c是返回值 local c = gg.getValues({{address = a, flags = b}})[1].value return c end local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) r={} r[1] = {} r[1].address = ttt r[1].name = "判断" r[1].flags = 4 gg.addListItems(r) if nacho(ttt,4)==1400129 then---不穿衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400127}})----鞋子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 403182}})----衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404002}})----裤子 else --穿衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 403182}})----衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404002}})----裤子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400127}})----鞋子 end string.toMusic("美化成功")---语音 end, function() end }, { "Bape套装", function() function nacho(a, b)--a是地址,b是类型,c是返回值 local c = gg.getValues({{address = a, flags = b}})[1].value return c end local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) r={} r[1] = {} r[1].address = ttt r[1].name = "判断" r[1].flags = 4 gg.addListItems(r) if nacho(ttt,4)==1400129 then---不穿衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400651}})----鞋子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404000}})----衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400650}})----裤子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1410085}})----头发 else --穿衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1410085}})----头发 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404000}})----衣服 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400650}})----裤子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400651}})----鞋子 local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x398,0x90,0x388,0x118} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404198}})----眼罩 end string.toMusic("美化成功")---语音 ---语音 ---语音 end, function() end }, }), }),--box结尾 changan.box({ "头发专区", changan.check({ { "重置头发", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 40601009}})----头发 string.toMusic('重置头发成功')---语音 end, function() end }, { "新发型2", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 40605011}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "双马尾白", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 40604012}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "武魂宗师", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1410299}})----头发 string.toMusic("美化成功")---语音 end, function() end }, }), }),--box结尾 changan.box({ "头饰专区", changan.check({ { "重置头饰", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 0}})----头饰 string.toMusic('重置头饰成功')---语音 end, function() end }, { "恶魔之翼", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1402218}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "天使之翼", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1402223}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "兔女郎泳衣头饰", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400328}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "俏皮小夜魔发带", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400594}})----头发 string.toMusic("美化成功")---语音 end, function() end }, }), }),--box结尾 changan.box({ "眼罩专区", changan.check({ { "重置眼罩", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x398,0x90,0x388,0x118} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 0}})----眼罩 string.toMusic('重置眼罩成功')---语音 end, function() end },{ "幻境骇客", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x398,0x90,0x388,0x118} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1403326}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "古堡爵士", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x398,0x90,0x388,0x118} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404198}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "终结战神", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x742A70,0x30,0x440,0x398,0x90,0x388,0x118} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1403201}})----头发 string.toMusic("美化成功")---语音 end, function() end }, }), }),--box结尾 changan.box({ "口罩专区", changan.check({ { "重置口罩", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x1C0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 0}})----口罩 string.toMusic('重置口罩成功')---语音 end, function() end },{ "小丑鼻子", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x1C0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400165}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "小丑面具", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x1C0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400168}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "豹皮蒙脸巾", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x1C0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 474031}})----头发 string.toMusic("美化成功")---语音 end, function() end }, }), }),--box结尾 changan.box({ "上衣专区", changan.check({ { "重置上衣", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400129}})----衣服 string.toMusic('重置上衣成功')---语音 end, function() end },{ "骷髅船长", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404053}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "战队服", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400708}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "白色游骑兵连帽夹克", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 403183}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "暗金舞者上衣", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404133}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "水银刺客大衣", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 403190}})----头发 string.toMusic("美化成功")---语音 end, function() end }, }), }),--box结尾 changan.box({ "裤子专区", changan.check({ { "重置裤子", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 404000}})----裤子 string.toMusic('重置裤子成功')---语音 end, function() end }, { "运动裤", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 404030}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "雪地潮人裤子", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404155}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "甜蜜菠萝裤子", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404152}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "战地飞驰裤子", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1404160}})----头发 string.toMusic("美化成功")---语音 end, function() end }, }), }),--box结尾 changan.box({ "鞋子专区", changan.check({ { "重置鞋子", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 405000}})----鞋子 string.toMusic('重置鞋子成功')---语音 end, function() end }, { "黑色帆布鞋", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400022}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "粉色天使凉鞋", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400127}})----头发 string.toMusic("美化成功")---语音 end, function() end }, { "飞鱼凉鞋(黑)", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1400371}})----头发 string.toMusic("美化成功")---语音 end, function() end }, }), }),--box结尾 }, { --第五页 changan.switch("清除冻结", function() gg.clearList() string.toMusic('清理成功') end, function() end), changan.switch("便利枪械", function() local time=os.clock() local function readD ( a ) return gg.getValues ( { { address = a , flags = 4 } } ) [ 1 ].value end 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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end local function RUI(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value end a=0x0 while(a <=0x1098) do a=a+0x10 mk=gg.getRangesList('libUE4.so:bss')[1].start add = RUI(RUI(RUI(RUI(RUI(mk + 0xC4CF8) + 0x558) + a) + 0x38) + 0x38)--动态DD900 adpd= RUI(RUI(RUI(RUI(RUI(RUI(mk + 0xC4CF8) + 0x558) +a) +0x38) + 0x38) +0x8) +0x18 --libUE4.so:bss+0xC4CF8+0x558+0x20+0x38+0x38+0x1098 print(adpd) if readD(adpd) == 1000 then print(adpd) addListltems(add,4,0,false) break add=add end end setvalue(RUI(add + 0x5510) + 0x18, 4, 1101004226)--经典M416 setvalue(RUI(add + 0x69E0) + 0x18, 4, 1010042215)--m4机瞄 setvalue(RUI(add + 0x6F50) + 0x18, 4, 1010042216)--m4枪托 setvalue(RUI(add + 0x84C8) + 0x18, 4, 1010042214)--m4弹夹 setvalue(RUI(add + 0x54C8) + 0x18, 4, 1101001242)--经典AKM setvalue(RUI(add + 0x54F8) + 0x18, 4, 1101003124)--经典SCAR setvalue(RUI(add + 0x5528) + 0x18, 4, 1101005025)--经典GROZA setvalue(RUI(add + 0x5540) + 0x18, 4, 1101006075)--经典AUG setvalue(RUI(add + 0x55D0) + 0x18, 4, 1101002009)--经典蜜獾 setvalue(RUI(add + 0x5570) + 0x18, 4, 1101008146)--经典M762 setvalue(RUI(add + 0x5618) + 0x18, 4, 1101102017)--经典ACE32 setvalue(RUI(add + 0x5768) + 0x18, 4, 1102002136)--经典UMP45 setvalue(RUI(add + 0x5780) + 0x18, 4, 1102003031)--经典vector setvalue(RUI(add + 0x5840) + 0x18, 4, 1102102087)--经典M24 setvalue(RUI(add + 0x5828) + 0x18, 4, 1103001179)--经典98K setvalue(RUI(add + 0x57E0) + 0x18, 4, 1102105012)--经典P90 setvalue(RUI(add + 0x58B8) + 0x18, 4, 1103007028)--经典MK14 setvalue(RUI(add + 0x5870) + 0x18, 4, 1103004058)--经典SKS setvalue(RUI(add + 0x5858) + 0x18, 4, 1103003087)--经典AWM setvalue(RUI(add + 0x5A50) + 0x18, 4, 1104003029)--经典S12K setvalue(RUI(add + 0x58E8) + 0x18, 4, 1103009037)--经典SLR setvalue(RUI(add + 0x5AE0) + 0x18, 4, 1105002018)--经典DP-28 setvalue(RUI(add + 0x5BA0) + 0x18, 4, 1105010019)--经典MG3 setvalue(RUI(add + 0x5AC8) + 0x18, 4, 1105001020)--经典M249 setvalue(RUI(add + 0x5A68) + 0x18, 4, 1104004012)--经典DBS setvalue(RUI(add + 0x5930) + 0x18, 4, 1103012010)--经典AMR setvalue(RUI(add + 0x6278) + 0x18, 4, 1108004160)--平底锅 setvalue(RUI(add + 0x6290) + 0x18, 4, 1108002059)--军用匕首 setvalue(RUI(add + 0x6260) + 0x18, 4, 1108001037)--镰刀 setvalue(RUI(add + 0x6248) + 0x18, 4, 1108002027)--撬棍 setvalue(RUI(add + 0x6230) + 0x18, 4, 1108001037)--大砍刀 -----------------------------------------------------------以下是地铁枪械 setvalue(RUI(add + 0x11E70) + 0x18, 4, 1101004046)--完好 setvalue(RUI(add + 0x11E88) + 0x18, 4, 1101004046)--改进 setvalue(RUI(add + 0x11EA0) + 0x18, 4, 1101004046)--精致 setvalue(RUI(add + 0x11EB8) + 0x18, 4, 1101004046)--独眼蛇 setvalue(RUI(add + 0x11ED0) + 0x18, 4, 1101004046)--钢铁--m416 setvalue(RUI(add + 0x12A58) + 0x18, 4, 1102102087)--完好 setvalue(RUI(add + 0x12A70) + 0x18, 4, 1102102087)--改进 setvalue(RUI(add + 0x12A88) + 0x18, 4, 1102102087)--精致 setvalue(RUI(add + 0x12AA0) + 0x18, 4, 1102102089)--独眼蛇 setvalue(RUI(add + 0x12AB8) + 0x18, 4, 1102102087)--钢铁--m24 setvalue(RUI(add + 0x129C8) + 0x18, 4, 1103001179)--完好 setvalue(RUI(add + 0x129E0) + 0x18, 4, 1103001179)--改进 setvalue(RUI(add + 0x129F8) + 0x18, 4, 1103001179)--精致--98k setvalue(RUI(add + 0x128C0) + 0x18, 4, 1102105001)--完好 setvalue(RUI(add + 0x128D8) + 0x18, 4, 1102105001)--改进 setvalue(RUI(add + 0x128F0) + 0x18, 4, 1102105001)--精致 setvalue(RUI(add + 0x12908) + 0x18, 4, 1102105001)--独眼蛇 setvalue(RUI(add + 0x12920) + 0x18, 4, 1102105001)--钢铁--p90 setvalue(RUI(add + 0x12668) + 0x18, 4, 1102003031)--完好 setvalue(RUI(add + 0x12680) + 0x18, 4, 1102003031)--改进 setvalue(RUI(add + 0x12698) + 0x18, 4, 1102003031)--精致 setvalue(RUI(add + 0x126B0) + 0x18, 4, 1102003031)--独眼蛇 setvalue(RUI(add + 0x126C8) + 0x18, 4, 1102003031)--钢铁--Vector setvalue(RUI(add + 0x125D8) + 0x18, 4, 1102002136)--完好 setvalue(RUI(add + 0x125F0) + 0x18, 4, 1102002136)--改进 setvalue(RUI(add + 0x12608) + 0x18, 4, 1102002136)--精致--UMP45 setvalue(RUI(add + 0x12470) + 0x18, 4, 1101102007)--完好 setvalue(RUI(add + 0x12488) + 0x18, 4, 1101102007)--改进 setvalue(RUI(add + 0x124A0) + 0x18, 4, 1101102007)--精致 setvalue(RUI(add + 0x124B8) + 0x18, 4, 1101102007)--独眼蛇 setvalue(RUI(add + 0x124D0) + 0x18, 4, 1101102007)--钢铁--ACE32 setvalue(RUI(add + 0x12320) + 0x18, 4, 1101012009)--完好 setvalue(RUI(add + 0x12338) + 0x18, 4, 1101012009)--改进 setvalue(RUI(add + 0x12350) + 0x18, 4, 1101012009)--精致 setvalue(RUI(add + 0x12368) + 0x18, 4, 1101012009)--独眼蛇 setvalue(RUI(add + 0x12380) + 0x18, 4, 1101012009)--钢铁--蜜獾 setvalue(RUI(add + 0x12140) + 0x18, 4, 1101008116)--完好 setvalue(RUI(add + 0x12158) + 0x18, 4, 1101008116)--改进 setvalue(RUI(add + 0x12170) + 0x18, 4, 1101008116)--精致 setvalue(RUI(add + 0x12188) + 0x18, 4, 1101008116)--独眼蛇 setvalue(RUI(add + 0x121A0) + 0x18, 4, 1101008116)--钢铁--M762 setvalue(RUI(add + 0x11F30) + 0x18, 4, 1101005038)--完好 setvalue(RUI(add + 0x11F48) + 0x18, 4, 1101005038)--改进 setvalue(RUI(add + 0x11F60) + 0x18, 4, 1101005038)--精致 setvalue(RUI(add + 0x11F78) + 0x18, 4, 1101005038)--独眼蛇 setvalue(RUI(add + 0x11F90) + 0x18, 4, 1101005038)--钢铁--Groza setvalue(RUI(add + 0x11DB0) + 0x18, 4, 1101003124)--完好 setvalue(RUI(add + 0x11DC8) + 0x18, 4, 1101003124)--改进 setvalue(RUI(add + 0x11DE0) + 0x18, 4, 1101003124)--精致 setvalue(RUI(add + 0x11DF8) + 0x18, 4, 1101003124)--独眼蛇 setvalue(RUI(add + 0x11E10) + 0x18, 4, 1101003124)--钢铁--SCAR-L setvalue(RUI(add + 0x11C78) + 0x18, 4, 1101001213)--完好 setvalue(RUI(add + 0x11C90) + 0x18, 4, 1101001213)--改进 setvalue(RUI(add + 0x11CA8) + 0x18, 4, 1101001213)--精致 setvalue(RUI(add + 0x11CC0) + 0x18, 4, 1101001213)--独眼蛇 setvalue(RUI(add + 0x11CD8) + 0x18, 4, 1101001213)--钢铁--akm setvalue(RUI(add + 0x12D88) + 0x18, 4, 1103007028)--完好 setvalue(RUI(add + 0x12DA0) + 0x18, 4, 1103007028)--改进 setvalue(RUI(add + 0x12DB8) + 0x18, 4, 1103007028)--精致 setvalue(RUI(add + 0x12DD0) + 0x18, 4, 1103007028)--独眼蛇 setvalue(RUI(add + 0x12DE8) + 0x18, 4, 1103007028)--钢铁--mk14 setvalue(RUI(add + 0x13610) + 0x18, 4, 1105010019)--完好 setvalue(RUI(add + 0x13628) + 0x18, 4, 1105010019)--改进 setvalue(RUI(add + 0x13640) + 0x18, 4, 1105010019)--精致 setvalue(RUI(add + 0x13658) + 0x18, 4, 1105010019)--独眼蛇 setvalue(RUI(add + 0x13670) + 0x18, 4, 1105010019)--钢铁--mg3 -----------------------------------------------------------以下是配件 setvalue(RUI(add + 0x6E30) + 0x18, 4, 1010042235)--快速弹匣 setvalue(RUI(add + 0x6E48) + 0x18, 4, 1010042236)--快速扩容 setvalue(RUI(add + 0x6E18) + 0x18, 4, 1010042234)--扩容弹匣 setvalue(RUI(add + 0x67B8) + 0x18, 4, 1010042239)--消音器 setvalue(RUI(add + 0x67A0) + 0x18, 4, 1010042238)--消焰器 setvalue(RUI(add + 0x6788) + 0x18, 4, 1010042237)--枪口补偿器 setvalue(RUI(add + 0x6878) + 0x18, 4, 1010042243)--垂直握把 setvalue(RUI(add + 0x6860) + 0x18, 4, 1010042241)--直角握把 setvalue(RUI(add + 0x68A8) + 0x18, 4, 1010042245)--轻型握把 setvalue(RUI(add + 0x68D8) + 0x18, 4, 1010042242)--拇指握把 setvalue(RUI(add + 0x68F0) + 0x18, 4, 1010042247)--激光握把 setvalue(RUI(add + 0x68C0) + 0x18, 4, 1010042246)--半截式握把 setvalue(RUI(add + 0x6F08) + 0x18, 4, 1010042244)--战术枪托 --弹夹 setvalue(RUI(add + 0x94670) + 0x18, 4, 1010042236)--快速扩容完好 setvalue(RUI(add + 0x94688) + 0x18, 4, 1010042236)--快速扩容改进 setvalue(RUI(add + 0x946A0) + 0x18, 4, 1010042236)--快速扩容精致 --枪口 setvalue(RUI(add + 0x937E8) + 0x18, 4, 1010042237)--枪口补偿器完好 setvalue(RUI(add + 0x93800) + 0x18, 4, 1010042237)--枪口补偿器改进 setvalue(RUI(add + 0x93818) + 0x18, 4, 1010042237)--枪口补偿器精致 --消音 setvalue(RUI(add + 0x938D8) + 0x18, 4, 1010042239)--消音器完好 setvalue(RUI(add + 0x938F0) + 0x18, 4, 1010042239)--消音器改进 setvalue(RUI(add + 0x93908) + 0x18, 4, 1010042239)--消音器精致 --握把 setvalue(RUI(add + 0x93BA8) + 0x18, 4, 1010042243)--垂直握把完好 setvalue(RUI(add + 0x93BC0) + 0x18, 4, 1010042243)--垂直握把改进 setvalue(RUI(add + 0x93BD8) + 0x18, 4, 1010042243)--垂直握把精致 --枪托 setvalue(RUI(add + 0x94940) + 0x18, 4, 1010042244)--战术枪托完好 setvalue(RUI(add + 0x94958) + 0x18, 4, 1010042244)--战术枪托改进 setvalue(RUI(add + 0x94970) + 0x18, 4, 1010042244)--战术枪托精致 gg.alert("遍历成功共耗时" .. time .. "秒") end), changan.box({ "m416(手持)", changan.check({ { "冰霜核心", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101004046}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101004046}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "愚人小丑", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101004062}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101004062}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "庇护之潮", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101004208}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101004208}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "封印幽冥", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101004225}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101004225}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "虎啸丹青", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101004236}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101004236}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "AKM(手持)", changan.check({ { "未来科技", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101001242}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101001242}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "死噶(手持)", changan.check({ { "愚者之拥", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101003181}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101003181}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "霓虹天后", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101003195}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101003195}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "狗杂(手持)", changan.check({ { "两面宿傩", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101005038}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101005038}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "M762(手持)", changan.check({ { "龙女魔后", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101008126}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101008126}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "妹控(手持)", changan.check({ { "龙吟国度", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1103007027}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1103007027}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "凌霄凤鸣", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1103007029}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1103007029}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "UMP45(手持)", changan.check({ { "eva联名", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1102002124}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1102002124}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "MG3(手持)", changan.check({ { "暗黑萝娘", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1105010012}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1105010012}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "风鸣神戟", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1105010019}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1105010019}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "AWM(手持)", changan.check({ { "玲珑白蛇", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1103003087}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1103003087}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "致命炎凤", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1103003062}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1103003062}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "AMR(手持)", changan.check({ { "嗜血龙魇", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1103012009}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1103012009}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "烈焰圣枪", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1103012019}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1103012019}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "维克托(手持)", changan.check({ { "掠空之翼", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1102003080}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1102003080}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "ace(手持)", changan.check({ { "终极对撞", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101102007}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101102007}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "神庭冰棘", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101102017}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1101102017}})----衣服链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "快捷枪械播报", changan.check({ { "决胜之日播报", function() gg.setConfig("冻结间隔", 0) gg.setConfig("快速冻结", 1) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1101001242, freeze = true}}) string.toMusic("美化成功")---语音 ---语音 end, function() end, },{ "破军狂鸣播报", function() gg.setConfig("冻结间隔", 0) gg.setConfig("快速冻结", 1) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1101006075, freeze = true}}) string.toMusic("美化成功")---语音 ---语音 end, function() end, }, { "龙呤国度播报", function() gg.setConfig("冻结间隔", 0) gg.setConfig("快速冻结", 1) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1103007028, freeze = true}}) string.toMusic("美化成功")---语音 ---语音 end, function() end, }, { "冰霜核心播报", function() gg.setConfig("冻结间隔", 0) gg.setConfig("快速冻结", 1) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1101004046, freeze = true}}) string.toMusic("美化成功")---语音 ---语音 end, function() end, }, { "庇护之朝播报", function() gg.setConfig("冻结间隔", 0) gg.setConfig("快速冻结", 1) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1101004209, freeze = true}}) string.toMusic("美化成功")---语音 ---语音 end, function() end, }, { "机魂忍神播报", function() gg.setConfig("冻结间隔", 0) gg.setConfig("快速冻结", 1) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1101004218, freeze = true}}) string.toMusic("美化成功")---语音 ---语音 end, function() end, }, { "冰川之触播报", function() gg.setConfig("冻结间隔", 0) gg.setConfig("快速冻结", 1) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1103006030, freeze = true}}) string.toMusic("美化成功")---语音 ---语音 end, function() end, }, { "禁区幻想播报", function() gg.setConfig("冻结间隔", 0) gg.setConfig("快速冻结", 1) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1102002061, freeze = true}}) string.toMusic("美化成功")---语音 ---语音 end, function() end, }, { "龙焰之怒播报", function() gg.setConfig("冻结间隔", 0) gg.setConfig("快速冻结", 1) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1102002043, freeze = true}}) string.toMusic("美化成功")---语音 ---语音 end, function() end, }, { "紫戮电极播报", function() gg.setConfig("冻结间隔", 0) gg.setConfig("快速冻结", 1) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1103001179, freeze = true}}) string.toMusic("美化成功")---语音 ---语音 end, function() end, }, { "黄金权杖播报", function() gg.setConfig("冻结间隔", 0) gg.setConfig("快速冻结", 1) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1103002030, freeze = true}}) string.toMusic("美化成功")---语音 ---语音 end, function() end, }, { "水晶冰刺播报", function() gg.setConfig("冻结间隔", 0) gg.setConfig("快速冻结", 1) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1102002136, freeze = true}}) string.toMusic("美化成功")---语音 ---语音 end, function() end, }, { "瑰绮灵姬播报", function() gg.setConfig("冻结间隔", 0) gg.setConfig("快速冻结", 1) local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1101007046, freeze = true}}) string.toMusic("美化成功")---语音 ---语音 end, function() end, }, }), }),--box结尾 changan.box({ "打击血雾美化", changan.check({ { "粉色", 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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=true gg.addListItems(t) end function RUI(address) return gg.getValues({ { ["address"] = address, flags = 32 } })[1]["value"] end function readD(address) return gg.getValues({ { ["address"] = address, flags = 4 } })[1]["value"] end function readF(address) return gg.getValues({ { ["address"] = address, flags = 16 } })[1]["value"] end -- 其余代码保持不变,0x261A8++++0x58+0x10 ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14 setvalue(addr,16,8) setvalue(addr+0x4,16,0.2) setvalue(addr+0x8,16,8) gg.toast("开启成功") string.toMusic("美化成功")---语音 end, 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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=true gg.addListItems(t) end function RUI(address) return gg.getValues({ { ["address"] = address, flags = 32 } })[1]["value"] end function readD(address) return gg.getValues({ { ["address"] = address, flags = 4 } })[1]["value"] end function readF(address) return gg.getValues({ { ["address"] = address, flags = 16 } })[1]["value"] end -- 其余代码保持不变,0x261A8++++0x58+0x10 ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14 setvalue(addr,16,8) setvalue(addr+0x4,16,0.2) setvalue(addr+0x8,16,8) gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "白色", 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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=true gg.addListItems(t) end function RUI(address) return gg.getValues({ { ["address"] = address, flags = 32 } })[1]["value"] end function readD(address) return gg.getValues({ { ["address"] = address, flags = 4 } })[1]["value"] end function readF(address) return gg.getValues({ { ["address"] = address, flags = 16 } })[1]["value"] end -- 其余代码保持不变,0x261A8++++0x58+0x10 ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14 setvalue(addr,16,0.1) setvalue(addr+0x4,16,0.8) setvalue(addr+0x8,16,1) gg.toast("开启成功") string.toMusic("美化成功")---语音 end, 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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=true gg.addListItems(t) end function RUI(address) return gg.getValues({ { ["address"] = address, flags = 32 } })[1]["value"] end function readD(address) return gg.getValues({ { ["address"] = address, flags = 4 } })[1]["value"] end function readF(address) return gg.getValues({ { ["address"] = address, flags = 16 } })[1]["value"] end -- 其余代码保持不变,0x261A8++++0x58+0x10 ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14 setvalue(addr,16,0.1) setvalue(addr+0x4,16,0.8) setvalue(addr+0x8,16,1) gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "蓝色", 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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=true gg.addListItems(t) end function RUI(address) return gg.getValues({ { ["address"] = address, flags = 32 } })[1]["value"] end function readD(address) return gg.getValues({ { ["address"] = address, flags = 4 } })[1]["value"] end function readF(address) return gg.getValues({ { ["address"] = address, flags = 16 } })[1]["value"] end -- 其余代码保持不变,0x261A8++++0x58+0x10 ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14 setvalue(addr,16,0.1) setvalue(addr+0x4,16,0.2) setvalue(addr+0x8,16,2) gg.toast("开启成功") string.toMusic("美化成功")---语音 end, 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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=true gg.addListItems(t) end function RUI(address) return gg.getValues({ { ["address"] = address, flags = 32 } })[1]["value"] end function readD(address) return gg.getValues({ { ["address"] = address, flags = 4 } })[1]["value"] end function readF(address) return gg.getValues({ { ["address"] = address, flags = 16 } })[1]["value"] end -- 其余代码保持不变,0x261A8++++0x58+0x10 ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14 setvalue(addr,16,0.1) setvalue(addr+0x4,16,0.2) setvalue(addr+0x8,16,2) gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "紫色", 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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=true gg.addListItems(t) end function RUI(address) return gg.getValues({ { ["address"] = address, flags = 32 } })[1]["value"] end function readD(address) return gg.getValues({ { ["address"] = address, flags = 4 } })[1]["value"] end function readF(address) return gg.getValues({ { ["address"] = address, flags = 16 } })[1]["value"] end -- 其余代码保持不变,0x261A8++++0x58+0x10 ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14 setvalue(addr,16,0.1) setvalue(addr+0x4,16,0.1) setvalue(addr+0x8,16,0.81) gg.toast("开启成功") string.toMusic("美化成功")---语音 end, 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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=true gg.addListItems(t) end function RUI(address) return gg.getValues({ { ["address"] = address, flags = 32 } })[1]["value"] end function readD(address) return gg.getValues({ { ["address"] = address, flags = 4 } })[1]["value"] end function readF(address) return gg.getValues({ { ["address"] = address, flags = 16 } })[1]["value"] end -- 其余代码保持不变,0x261A8++++0x58+0x10 ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14 setvalue(addr,16,0.1) setvalue(addr+0x4,16,0.1) setvalue(addr+0x8,16,0.81) gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "快捷倍镜美化", changan.check({ { "冰霜核心", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010040470}})----红点链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010040469}})----全息链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010040468}})----2倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010040467}})----3倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010040466}})----4倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010040481}})----6倍链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010040470}})----红点链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010040469}})----全息链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010040468}})----2倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010040467}})----3倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010040466}})----4倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010040481}})----6倍链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "机魂忍者", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042119}})----红点链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042118}})----全息链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042117}})----2倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042116}})----3倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042115}})----4倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042114}})----6倍链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042119}})----红点链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042118}})----全息链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042117}})----2倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042116}})----3倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042115}})----4倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042114}})----6倍链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "幽冥封印", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042233}})----红点链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042232}})----全息链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042231}})----2倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042219}})----3倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042218}})----4倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042217}})----6倍链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042233}})----红点链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042232}})----全息链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042231}})----2倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042219}})----3倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042218}})----4倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1010042217}})----6倍链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "龙吟国度", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030070218}})----红点链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030070217}})----全息链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030070216}})----2倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030070215}})----3倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030070214}})----4倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030070213}})----6倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6998,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030070212}})----8倍链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030070218}})----红点链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030070217}})----全息链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030070216}})----2倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030070215}})----3倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030070214}})----4倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030070213}})----6倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6998,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030070212}})----8倍链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "玲珑白蛇", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030030818}})----红点链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030030817}})----全息链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030030816}})----2倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030030815}})----3倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030030814}})----4倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030030813}})----6倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6998,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030030812}})----8倍链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030030818}})----红点链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030030817}})----全息链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030030816}})----2倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030030815}})----3倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030030814}})----4倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030030813}})----6倍链条 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6998,0x18} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 1030030812}})----8倍链条 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 changan.box({ "快捷配件美化(经典)", changan.check({ { "冰霜", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6C98,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040480, freeze = true}})--默认枪托 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6C50,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040463, freeze = true}})--战术枪托 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6B78,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040472, freeze = true}})--快速弹夹 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x8198,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040473, freeze = true}})--默认弹夹 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6B60,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040471, freeze = true}})--扩容弹夹 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6B90,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040473, freeze = true}})--快速扩容弹夹 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x64E8,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040474, freeze = true}})--消焰器 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6500,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040476, freeze = true}})--消音器 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x64D0,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040475, freeze = true}})--枪口补偿器 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x65C0,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040479, freeze = true}})--垂直握把 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6638,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040484, freeze = true}})--激光 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6728,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040461, freeze = true}})--鸡苗 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6C98,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040480, freeze = true}})--默认枪托 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6C50,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040463, freeze = true}})--战术枪托 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6B78,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040472, freeze = true}})--快速弹夹 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x8198,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040473, freeze = true}})--默认弹夹 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6B60,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040471, freeze = true}})--扩容弹夹 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6B90,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040473, freeze = true}})--快速扩容弹夹 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x64E8,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040474, freeze = true}})--消焰器 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6500,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040476, freeze = true}})--消音器 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x64D0,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040475, freeze = true}})--枪口补偿器 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x65C0,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040479, freeze = true}})--垂直握把 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6638,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040484, freeze = true}})--激光 local t = {"libUE4.so:bss", "Cb"} local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6728,0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010040461, freeze = true}})--鸡苗 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "幽冥封印", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x7C } local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010042244, freeze = true}})--枪脱 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x54 } local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010042236, freeze = true}})--弹夹 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x04 } local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010042237, freeze = true}})--枪口 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x2C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010042243, freeze = true}})--握把 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x7C } local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010042244, freeze = true}})--枪脱 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x54 } local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010042236, freeze = true}})--弹夹 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x04 } local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010042237, freeze = true}})--枪口 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x2C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1010042243, freeze = true}})--握把 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, { "龙吟国度", function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x7C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1030070236, freeze = true}})---枪托 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x54} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1030070251, freeze = true}})---弹夹 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x04} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1030070234, freeze = true}})---枪口 gg.toast("开启成功") string.toMusic("美化成功")---语音 end, function() local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x7C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1030070236, freeze = true}})---枪托 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x54} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1030070251, freeze = true}})---弹夹 local t = {"libUE4.so:bss", "Cb"} local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x04} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1030070234, freeze = true}})---枪口 gg.toast("开启成功") string.toMusic("美化成功")---语音 end }, }), }),--box结尾 },{ changan.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 = {"",""} 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) string.toMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3") end --停止播放 function stop() gg.toast("正在停止音乐") for i=1,100 do string.toMusic("stop") string.toMusic("stop") string.toMusic("stop") end end ---- function Play(gqlb,idb) SN = gg.choice(gqlb,nil,ts) if SN == nil then XGCK =-1 else sn=gg.choice({"播放歌曲","播放并下载"},nil,"歌曲:"..gqlb[SN]) if sn == nil then end if sn == 1 then play(idb[SN],gqlb[SN]) end if sn == 2 then local XEY=gg.makeRequest("http://music.163.com/song/media/outer/url?id="..idb[SN]..".mp3").content local XEY1=gg.getFile():gsub("[^/]+$","")..gqlb[SN]..".mp3" io.open(XEY1,"w"):write(XEY) gg.alert("提示:\n\n音乐已成功下载位置:\n\n"..XEY1) end XGCK=-1 end end function zjson(jsonr) local str = jsonr -- 匹配Json Key的正则表达式 local pattern = "\"[%w]+\":" string.gsub(str, pattern, function(v) if string.find(str, v) then str = string.gsub(str, v, string.gsub(v, "\"", "")) end end) str = string.gsub(str, ":", "=") str = string.gsub(str, "%[", "{") str = string.gsub(str, "%]", "}") local data = "-- WSG PRO 1.0.9(109)\nreturn " .. str local res = load(data)() return res end function json(con) res=zjson(con) zd=res.result.songCount pd=go3-zd if pd <= 0 then else go3=zd end ts="《"..go1.."》找到"..zd.."首歌曲,当前显示"..go3.."首" gqlb={} idb={} for i=1,go3 do gqlb[i]=res.result.songs[i].name idb[i]=res.result.songs[i].id end --print(idb) end function YY998() Obtain=gg.makeRequest("https://api.uomg.com/api/rand.music?sort=热歌榜&format=json").content muchen=Obtain:match('url":"(.-)","picurl') gg.playMusic(muchen) end --主页 search = gg.prompt({"输入要搜索的歌曲\n也可以加上歌手名字", "设置显示数量(数字)",},g.sel,{ "text",}) if not search then return end gg.saveVariable(search,g.config) bei() go1=search[1] go3=search[2] jg=start(go1,go3) if jg.code == 200 then fh=jg.content fh=json(fh) --print(fh) Play(gqlb,idb) else function inspect() gg.alert("访问网络异常,错误代码:\n\n"..jg.code) end if not pcall(inspect) then print("网络异常,请先连接上网络") os.exit() end end XGCK=-1 end), changan.switch("播放热歌", 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 ), changan.switch("江南", function() string.toMusic("http://music.163.com/song/media/outer/url?id=1958405457.mp3") end, function() end ), changan.switch("篝火旁", function() string.toMusic("http://music.163.com/song/media/outer/url?id=518725853.mp3") end, function() end ), changan.switch("心做", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2008921547.mp3") end, function() end ), changan.switch("爱如火", function() string.toMusic("http://music.163.com/song/media/outer/url?id=1999552137.mp3") end, function() end ), changan.switch("把回忆拼好给你", function() string.toMusic("http://music.163.com/song/media/outer/url?id=1403318151.mp3") end, function() end ), changan.switch("Normal NO More", function() string.toMusic("http://music.163.com/song/media/outer/url?id=1440570723.mp3") end ), changan.switch("Wannabe", function() string.toMusic("http://music.163.com/song/media/outer/url?id=501220770.mp3") end ), changan.switch("Bamba", function() string.toMusic("http://music.163.com/song/media/outer/url?id=1892409985.mp3") end ), changan.switch("Dead lnside", function() string.toMusic("http://music.163.com/song/media/outer/url?id=1890128737.mp3") end ), changan.switch("IKUN", function() string.toMusic("http://music.163.com/song/media/outer/url?id=2012977462.mp3") end ), changan.switch("停止播放音乐", function() for i=1,100 do string.toMusic("stop") string.toMusic("stop") string.toMusic("stop") string.toMusic("stop") string.toMusic("stop") string.toMusic("stop") end gg.alert("停止播放音乐开启成功") string.toMusic('停止播放音乐开启成功') end ), },{ changan.switch("音量键隐藏UI", function() 音量键=true end, function() 音量键=false end), changan.switch("悬浮窗转动", function() 转动=true end, function() 转动=true end), changan.text("\n\n\n"), changan.button("退出",function() luajava.setFloatingWindowHide(false) tuichu=1 end), },{ },{ },{ },{ },{ } }) --配置表添加表即可加页数,只需要与上边菜单标题数对应