gg.alert("欢迎使用逸泽内置\n规则自己配\n合作人:小沁") toMusic("欢迎使用逸泽内置") draw.text(" 逸泽", 200,145)--字体 draw.text(' 顶尖', 200,220) draw.circle(300, 160, 120)--圆1 draw.circle(300, 160, 150)--圆2 draw.setColor('#FF4672FF') do if type(getrlyunyz) ~= 'function' then gg.alert('请使用RLGG执行') os.exit() return end function balert(bltxt,bltxt1,bltxt2) result=0 if not bltxt then bltxt='这里写正文\n测试\n测试' end if not bltxt1 then bltxt1='取消' end if not bltxt2 then bltxt2='确定' end bltxt=tostring(bltxt) bltxt1=tostring(bltxt1) bltxt2=tostring(bltxt2) local dialog = luajava.new(AlertDialog.Builder, app.context) local block = luajava.getBlock() local result local function exit() block('end') end layoutabc=luajava.loadlayout({ScrollView, {LinearLayout, background="#00000000", orientation="vertical", layout_width="match_parent", layout_height="match_parent", gravity = 'center', {ScrollView, gravity="center", layout_height="230dp", layout_width="fill_parent", padding="25dp", {LinearLayout, layout_marginTop="20dp", gravity="center", layout_height="220dp", layout_width="fill_parent", padding="25dp", {TextView, id = luajava.newId('弹窗文字'), textSize="18sp", text = bltxt, layout_height="wrap_content", layout_width="fill_parent", layout_gravity="center", gravity="center", },}}, {LinearLayout, gravity="center", layout_height="90dp", layout_width="fill_parent", orientation="horizontal", {Button, id="balt1", gravity="center", background=jianbian7, text=bltxt1, layout_height="40dp", layout_width="wrap_content", layout_marginRight="70dp", }, {Button, id="balt2", gravity="center", background=jianbian8, text=bltxt2, layout_height="40dp", layout_width="wrap_content", layout_marginLeft="70dp", } }}}) balt1.onClick = function() result = 1 dialog:dismiss() exit() end balt2.onClick = function() result = 2 dialog:dismiss() exit() end dialog:setView(layoutabc) dialog:setOnDismissListener(luajava.createProxy('android.content.DialogInterface$OnDismissListener', { onDismiss = function(view) exit() end})) local function invoke() dialog = dialog:create() local window = dialog:getWindow() window:setType(Build.VERSION.SDK_INT >= 26 and 2038 or 2002) window:setBackgroundDrawable(jianbian6) window:getDecorView():setPadding(0,0,0,0) dialog:show() --window:setLayout(1400,1000) YoYoImpl:with("FadeIn"):duration(300):playOn(layoutabc) end luajava.handlerPost(invoke) block('join') return result end function 花神提示(text) text = tostring(text) local block = luajava.getBlock() local layout = luajava.loadlayout({ LinearLayout, background=jianbian7, gravity='center', layout_height='match_parent', layout_width='match_parent', layout_wight='1', { TextView, id = luajava.newId('TextView'), text = text, textSize = '18sp', textColor = "#ffffffff", margins = {'20dp', '10dp', '20dp', '10dp'} } }) local function invoke() if toaa==nil then toaa = Toast:makeText(app.context, '', 1) end toaa:setView(layout) toaa:show() end luajava.handlerPost(invoke) end ----------------------------------------------------------------------------------------- function panduan(rec) fille,err = io.open(rec) if fille == nil then return false else return true end end function pdcf(lujing) rec = "/storage/emulated/0/sgly/配置文件/"..lujing fille,err = io.open(rec) if fille == nil then return false else return true end end sleep = gg.sleep --if gg.isHTTPdump()==true and panduan("/storage/emulated/0/sgly/配置文件/vpn.txt") == false then gg.alert("\n抓包?") os.exit() end function read(fileName) f = assert(io.open(fileName, 'r')) content = f:read("*all") f:close() return content end function wtcf(lujing,neirong) write("/storage/emulated/0/sgly/配置文件/"..lujing,neirong) end function rdcf(lujing) return read("/storage/emulated/0/sgly/配置文件/"..lujing) end function checkimg(tmp) if panduan("/sdcard/sgly/图片/"..tmp) ~= true then gg.toast("正在下载资源"..tmp.."\n请耐心等待") download("https://wf980627-512739054-1317447113.cos.ap-nanjing.myqcloud.com/"..tmp,"/sdcard/sgly/图片/"..tmp) end end -----------功能放上面或者放哪都行只要不在menu后面 layoutcolor = "#aa000000" sgly = {} local sgly = sgly local android = import('android.*') function write(fileName, content) --f = assert( io.open( fileName, 'w')) f:write( content ) f:close() if file.write(fileName, content) == false then gg.alert("请给框架和修改器 文件储存权限\n否则无法正常运行") os.exit() end end function panduan(rec) fille,err = io.open(rec) if fille == nil then return false else return true end end function pdcf(lujing) rec = "/sdcard/sgly/配置文件/"..lujing fille,err = io.open(rec) if fille == nil then return false else return true end end sleep = gg.sleep --if gg.isHTTPdump()==true and panduan("/sdcard/sgly/配置文件/vpn.txt") == false then gg.alert("\n抓包?") os.exit() end function read(fileName) f = assert(io.open(fileName, 'r')) content = f:read("*all") f:close() return content end function wtcf(lujing,neirong) write("/sdcard/sgly/配置文件/"..lujing,neirong) end function rdcf(lujing) return read("/sdcard/sgly/配置文件/"..lujing) end function pmusic(x) if audiokg == "开" then tmp1 = 0 gg.playMusic(x) tmp1 = 1 end end if pdcf("audio") ~= true then wtcf("audio","开") end audiokg = rdcf("audio") function camusic(ress) tmp1 = 0 if audiokg == "开" then if panduan("/sdcard/sgly/音频/"..ress) == true then pmusic("/sdcard/sgly/音频/"..ress) tmp1 = 1 else download("https://wf980627-512739054-1317447113.cos.ap-nanjing.myqcloud.com/"..ress ,"/sdcard/sgly/音频/"..ress) pmusic("/sdcard/sgly/音频/"..ress) tmp1 = 1 end end end 开 = "开" 关 = "关" function checkimg(tmp) if panduan("/sdcard/sgly/图片/"..tmp) ~= true then gg.toast("正在下载资源"..tmp.."\n请耐心等待") download("https://wf980627-512739054-1317447113.cos.ap-nanjing.myqcloud.com/"..tmp,"/sdcard/sgly/图片/"..tmp) end end file.getdirs("/sdcard/sgly/状态读取/") ckimg = { "imgui", "pink", "blue", "check2", "check1", "exit", "qq2", "ditf3", "checkon2", "checkof", "qiufeng", } for i = 1,#ckimg do jindu = i checkimg(ckimg[i]) end gg.toast("资源下载完毕,祝你稳定奔放") local context = app.context local window = context:getSystemService("window") -- 获取窗口管理器 function getLayoutParams() LayoutParams = WindowManager.LayoutParams layoutParams = luajava.new(LayoutParams) if (Build.VERSION.SDK_INT >= 26) then -- 设置悬浮窗方式 layoutParams.type = LayoutParams.TYPE_APPLICATION_OVERLAY else layoutParams.type = LayoutParams.TYPE_PHONE end layoutParams.format = PixelFormat.RGBA_8888 -- 设置背景 layoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE -- 焦点设置Finish layoutParams.gravity = Gravity.TOP|Gravity.RIGHT -- 重力设置 layoutParams.width = LayoutParams.WRAP_CONTENT -- 布局宽度 layoutParams.height = LayoutParams.WRAP_CONTENT -- 布局高度 return layoutParams end slctb = luajava.loadlayout { GradientDrawable, color = "#bb000000", cornerRadius = 12 } slcta = luajava.loadlayout { GradientDrawable, color = "#ff333e", cornerRadius = 12 } 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 = "#aa272327", cornerRadius = 12 } function getSelector3() selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, luajava.loadlayout { GradientDrawable, color = "#bbffffff", cornerRadius = 12 }) -- 点击时候的背景 selector:addState({ -android.R.attr.state_pressed }, luajava.loadlayout { GradientDrawable, color = "#feff333e", cornerRadius = 12 }) -- 没点击的背景 return selector end function getSelector() selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, slcta) -- 点击时候的背景 selector:addState({ -android.R.attr.state_pressed }, slctb) -- 没点击的背景 return selector end function getSelector6() selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, luajava.loadlayout { GradientDrawable, color = "#bbffffff", cornerRadius = 12 }) -- 点击时候的背景 selector:addState({ -android.R.attr.state_pressed }, luajava.loadlayout { GradientDrawable, color = "#ff333e", cornerRadius = 12 }) -- 没点击的背景 return selector end function getSelector7() selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, luajava.loadlayout { GradientDrawable, color = "#000000", cornerRadius = 12 }) -- 点击时候的背景 selector:addState({ -android.R.attr.state_pressed }, luajava.loadlayout { GradientDrawable, color = "#ff333e", cornerRadius = 12 }) -- 没点击的背景 return selector end function getSelector2() selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, slctd) -- 点击时候的背景 selector:addState({ -android.R.attr.state_pressed }, slctc) -- 没点击的背景 return selector end jianbian = luajava.new(GradientDrawable) jianbian:setCornerRadius(30) jianbian:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian2 = luajava.new(GradientDrawable) jianbian2:setCornerRadius(30) jianbian2:setGradientType(GradientDrawable.LINEAR_GRADIENT) local isswitch YoYoImpl = luajava.getYoYoImpl() menu = function(stext,sview) if isswitch then return false end isswitch = true cebian = luajava.loadlayout({ LinearLayout, id = "侧边", visibility = "gone", layout_height = "200dp", layout_width = "88dp", orientation = "vertical", background = { GradientDrawable, color = "#00ffffff", cornerRadius = 10 }, { LinearLayout, id = "jm1", layout_height = "28dp", layout_width = "88dp", gravity = "center", layout_marginTop = "2dp", layout_marginBottom = "2dp", { TextView, text = stab[1], gravity = "center", layout_height = "28dp", layout_width = "88dp", layout_marginLeft = "10dp", layout_marginRight = "10dp", }}, { LinearLayout, id = "jm2", gravity = "center", layout_height = "28dp", layout_width = "88dp", layout_marginTop = "2dp", layout_marginBottom = "2dp", background = getSelector(), { TextView, text = stab[2], layout_height = "28dp", layout_width = "88dp", gravity = "center", layout_marginLeft = "10dp", layout_marginRight = "10dp", }}, { LinearLayout, id = "jm3", gravity = "center", layout_height = "28dp", layout_width = "88dp", layout_marginTop = "2dp", layout_marginBottom = "2dp", background = getSelector(), onClick = function() end, { TextView, text = stab[3], layout_height = "28dp", layout_width = "68dp", gravity = "center", layout_marginLeft = "10dp", layout_marginRight = "10dp", }}, { LinearLayout, id = "jm4", gravity = "center", layout_height = "28dp", layout_width = "88dp", layout_marginTop = "2dp", layout_marginBottom = "2dp", onClick = function() end, background = getSelector(), { TextView, text = stab[4], layout_height = "28dp", layout_width = "68dp", gravity = "center", layout_marginLeft = "10dp", layout_marginRight = "10dp", }},{ LinearLayout, id = "jm5", gravity = "center", layout_height = "28dp", layout_width = "88dp", layout_marginTop = "4dp", layout_marginBottom = "4dp", onClick = function() end, background = getSelector(), { TextView, text = stab[5], layout_height = "28dp", layout_width = "68dp", gravity = "center", layout_marginLeft = "10dp", layout_marginRight = "10dp", }}, { LinearLayout, id = "exit", gravity = "center", layout_height = "28dp", layout_width = "88dp", layout_marginTop = "2dp", layout_marginBottom = "0dp", onClick = function() end, background = getSelector(), { TextView, text = "退出逸泽", layout_height = "28dp", layout_width = "68dp", gravity = "center", layout_marginLeft = "10dp", layout_marginRight = "10dp", }}, }) layout1 = luajava.loadlayout({ ScrollView, fillViewport = "true", padding = "7dp", id = "layout1", visibility = "gone", layout_width = "230dp", layout_height = "250dp", orientation = "horizontal", { LinearLayout, id = "layouta", background = luajava.loadlayout({ GradientDrawable, color = layoutcolor, cornerRadius = 20 }), gravity = "top", layout_width = "210dp", orientation = "vertical", gravity = "center_horizontal", } }) layout2 = luajava.loadlayout({ ScrollView, fillViewport = "true", padding = "7dp", id = "layout2", visibility = "gone", layout_width = "230dp", layout_height = "250dp", orientation = "horizontal", { LinearLayout, id = "layoutb", background = luajava.loadlayout({ GradientDrawable, color = layoutcolor, cornerRadius = 20 }), layout_width = "210dp", orientation = "vertical", gravity = "center_horizontal", } }) layout3 = luajava.loadlayout({ ScrollView, fillViewport = "true", padding = "7dp", id = "layout3", visibility = "gone", layout_width = "230dp", layout_height = "250dp", orientation = "horizontal", { LinearLayout, id = "layoutc", background = luajava.loadlayout({ GradientDrawable, color = layoutcolor, cornerRadius = 20 }), layout_width = "210dp", orientation = "vertical", gravity = "center_horizontal", } }) layout4 = luajava.loadlayout({ ScrollView, fillViewport = "true", padding = "7dp", id = "layout4", visibility = "gone", layout_width = "230dp", layout_height = "250dp", orientation = "horizontal", { LinearLayout, id = "layoutd", background = luajava.loadlayout({ GradientDrawable, color = layoutcolor, cornerRadius = 20 }), layout_width = "210dp", orientation = "vertical", gravity = "center_horizontal", } }) layout5 = luajava.loadlayout({ ScrollView, fillViewport = "true", padding = "7dp", id = "layout5", visibility = "gone", layout_width = "230dp", layout_height = "250dp", orientation = "horizontal", { LinearLayout, id = "layoute", background = luajava.loadlayout({ GradientDrawable, color = layoutcolor, cornerRadius = 20 }), layout_width = "210dp", orientation = "vertical", gravity = "center_horizontal", } }) title = luajava.loadlayout({ LinearLayout, layout_width = "wrap_content", layout_height = "48dp", id = "title", gravity = "center", { TextView, id = "titlet", layout_width = "90dp", layout_height = "wrap_content", text = stitle, textColor = "#ff333e", gravity = "center", textSize = "13sp", }}) ckou = luajava.loadlayout({ LinearLayout, id = "chuangk", visibility = "visible", layout_width = "wrap_content", layout_height = "match_parent", orientation = "horizontal", background = { GradientDrawable, color = "#00272327", cornerRadius = 10 }, layout1,layout2,layout3,layout4,layout5, { LinearLayout, layout_width = "wrap_content", layout_height = "wrap_content", orientation = "vertical", { LinearLayout, layout_width = "wrap_content", layout_height = "wrap_content", orientation = "horizontal", background = { GradientDrawable, color = "#aa000000", cornerRadius = 16 }, gravity = "center_vertical", { LinearLayout, id = "control", layout_width = "wrap_content", layout_height = "wrap_content", layout_marginLeft = "0dp", layout_marginTop = "2dp", layout_marginBottom = "2dp", gravity = "center", title, }, }, cebian, } }) floatWindow = { LinearLayout, id = "motion", layout_width = "230dp", orientation = "vertical", gravity = "center_vertical", layout_height = "wrap_content", ckou } local function invoke() local ok local RawX, RawY, x, y mainLayoutParams = getLayoutParams() floatWindow = luajava.loadlayout(floatWindow) local function invoke2() block('start') for i = 1,#sview[1] do layouta:addView(sview[1][i]) end for i = 1,#sview[2] do layoutb:addView(sview[2][i]) end for i = 1,#sview[3] do layoutc:addView(sview[3][i]) end for i = 1,#sview[4] do layoutd:addView(sview[4][i]) end window:addView(floatWindow, mainLayoutParams) block('end') end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) block('join') control.onClick = function() 隐藏() end jm1.onClick = function() luajava.newThread(function() end):start() 切换(1) end jm2.onClick = function() 切换(2) end jm3.onClick = function() 切换(3) end jm4.onClick = function() 切换(4) end jm5.onClick = function() 切换(5) end exit.onClick = function() for k,v in pairs(floattable) do if v~=0 then rmvfloat(k) floattable[k]=0 end end gg.toast("已退出逸泽") for k,v in pairs(titletable) do if v~=0 then rmvtitle(k) titletable[k]=0 end end window:removeView(floatWindow) luajava.setFloatingWindowHide(false) luajava.newThread(function() os.exit() end):start() bloc("end") end local isMove hanshu = function(v, event) local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event:getRawX() RawY = event:getRawY() x = mainLayoutParams.x y = mainLayoutParams.y elseif Action == MotionEvent.ACTION_MOVE then isMove = true mainLayoutParams.x = tonumber(x) - (event:getRawX() - RawX) mainLayoutParams.y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(floatWindow, mainLayoutParams) end end motion.onTouch = hanshu control.onTouch = hanshu exit.onTouch = hanshu jm1.onTouch = hanshu jm2.onTouch = hanshu jm3.onTouch = hanshu jm4.onTouch = hanshu jm5.onTouch = hanshu end invoke(swib1,swib2) jm1:setBackground(slcta) gg.setVisible(false) luajava.setFloatingWindowHide(true) runnable = luajava.getRunnable(function() layoute:addView(wyylog,getLayoutParams2()) end) handler = luajava.getHandler() handler:post(runnable) end corbk = true 当前ui = 1 function 切换(x) 当前ui = x luajava.runUiThread(function() if 当前ui == 1 then jm1:setBackground(slcta) jm2:setBackground(getSelector()) jm3:setBackground(getSelector()) jm4:setBackground(getSelector()) jm5:setBackground(getSelector()) layout1:setVisibility(View.VISIBLE) layout2:setVisibility(View.GONE) layout3:setVisibility(View.GONE) layout4:setVisibility(View.GONE) layout5:setVisibility(View.GONE) elseif 当前ui == 2 then jm1:setBackground(getSelector()) jm2:setBackground(slcta) jm3:setBackground(getSelector()) jm4:setBackground(getSelector()) jm5:setBackground(getSelector()) layout1:setVisibility(View.GONE) layout2:setVisibility(View.VISIBLE) layout3:setVisibility(View.GONE) layout4:setVisibility(View.GONE) layout5:setVisibility(View.GONE) elseif 当前ui == 3 then jm1:setBackground(getSelector()) jm2:setBackground(getSelector()) jm3:setBackground(slcta) jm4:setBackground(getSelector()) jm5:setBackground(getSelector()) layout1:setVisibility(View.GONE) layout2:setVisibility(View.GONE) layout3:setVisibility(View.VISIBLE) layout4:setVisibility(View.GONE) layout5:setVisibility(View.GONE) elseif 当前ui == 4 then jm1:setBackground(getSelector()) jm2:setBackground(getSelector()) jm3:setBackground(getSelector()) jm4:setBackground(slcta) jm5:setBackground(getSelector()) layout1:setVisibility(View.GONE) layout2:setVisibility(View.GONE) layout3:setVisibility(View.GONE) layout4:setVisibility(View.VISIBLE) layout5:setVisibility(View.GONE) elseif 当前ui == 5 then jm1:setBackground(getSelector()) jm2:setBackground(getSelector()) jm3:setBackground(getSelector()) jm4:setBackground(getSelector()) jm5:setBackground(slcta) layout1:setVisibility(View.GONE) layout2:setVisibility(View.GONE) layout3:setVisibility(View.GONE) layout4:setVisibility(View.GONE) layout5:setVisibility(View.VISIBLE) end end) luajava.runUiThread(function() if 当前ui == 1 then layout1:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(200):playOn(layout1) elseif 当前ui == 2 then layout2:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(200):playOn(layout2) elseif 当前ui == 3 then layout3:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(200):playOn(layout3) elseif 当前ui == 4 then layout4:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(200):playOn(layout4) elseif 当前ui == 5 then layout5:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(200):playOn(layout5) end --floatWindow:setBackground(beij) end) end 显示 = 0 beij = luajava.loadlayout({ GradientDrawable, color = "#99000000", cornerRadius = 10 }) beij2 = luajava.loadlayout({ GradientDrawable, color = "#00272327", cornerRadius = 10 }) 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 function 隐藏() luajava.runUiThread(function() --control:setBackground(luajava.getBitmapDrawable("/sdcard/sgly/图片/imgui")) if tonumber(tostring(cebian:getVisibility())) == 8.0 then --chuangk:setVisibility(View.VISIBLE) cebian:setVisibility(View.VISIBLE) --title:setVisibility(View.VISIBLE) luajava.runUiThread(function() mainLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL window:updateViewLayout(floatWindow, mainLayoutParams) end) YoYoImpl:with("FadeIn"):duration(200):playOn(cebian) luajava.runUiThread(function() YoYoImpl:with("FadeIn"):duration(800):playOn(title) if 当前ui == 1 then layout1:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(800):playOn(layout1) elseif 当前ui == 2 then layout2:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(800):playOn(layout2) elseif 当前ui == 3 then layout3:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(800):playOn(layout3) elseif 当前ui == 4 then layout4:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(800):playOn(layout4) elseif 当前ui == 5 then layout5:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(800):playOn(layout5) end floatWindow:setBackground(beij) end) else luajava.runUiThread(function()mainLayoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE window:updateViewLayout(floatWindow, mainLayoutParams) end) --control:setBackground(luajava.getBitmapDrawable("/sdcard/sgly/图片/imgui")) --title:setVisibility(View.GONE) floatWindow:setBackground(beij2) --chuangk:setVisibility(View.GONE) cebian:setVisibility(View.GONE) layout1:setVisibility(View.GONE) layout2:setVisibility(View.GONE) layout3:setVisibility(View.GONE) layout4:setVisibility(View.GONE) layout5:setVisibility(View.GONE) end end) end function guid() seed = { 'e','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' } tb = {} for i = 1,32 do table.insert(tb,seed[math.random(1,16)]) end sid = table.concat(tb) return string.format('%s%s%s%s%s', string.sub(sid,1,8), string.sub(sid,10,12), string.sub(sid,21,22)) ..string.format('%s%s%s%s%s', string.sub(sid,1,6), string.sub(sid,21,25) ) end function getLayoutParams2() local prm = luajava.new(WindowManager.LayoutParams) layoutParams1 = prm if (Build.VERSION.SDK_INT >= 26) then -- 设置悬浮窗方式 layoutParams1.type = prm.TYPE_APPLICATION_OVERLAY else layoutParams1.type = prm.TYPE_PHONE end layoutParams1.format = PixelFormat.RGBA_8888 -- 设置背景 layoutParams1.flags = prm.FLAG_NOT_FOCUSABLE -- 焦点设置Finish layoutParams1.gravity = Gravity.CENTER -- 重力设置 layoutParams1.width = prm.WRAP_CONTENT -- 布局宽度 layoutParams1.height = prm.WRAP_CONTENT -- 布局高度 return layoutParams1 end chazhi = {} chajv = {} function seek(name,bian,smin,smax,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 = 'wrap_content', layout_height = "wrap_content", { LinearLayout, layout_width = 'fill_parent', layout_height = "fill_parent", layout_marginTop = "5dp", layout_marginBottom = "5dp", layout_marginLeft = "10dp", layout_marginRight = "10dp", gravity = "center_vertical", background = luajava.loadlayout { GradientDrawable, color = "#33ffffff", cornerRadius = 12 }, { TextView, gravity = "top", text = name..":"..nows, id = luajava.newId(names), layout_width = '70dp', layout_marginLeft = "5dp", layout_marginRight = "0dp", }, { SeekBar, layout_width = '120dp', min = truesmin, max = truesmax, progress = tnows, onSeekBarChange = { onProgressChanged = function(SeekBar, var2, var3) if not var3 then return end local resultvar = tonumber(string.sub(var2,0,-3))-chazhi[bian] luajava.runUiThread(function() luajava.getIdValue(names):setText(name..":".. resultvar) end) _ENV[bian] = resultvar end }} }}) return rest end paramt = {} titletable={} function newtitle(name) titletable[name]=1 local function invoke(name) if not name then name = "未设置" end nameid = name..guid() local ok local RawX, RawY, x, y paramt[name] = getLayoutParams2() _ENV[name] = luajava.loadlayout( { LinearLayout, layout_width = "wrap_content", layout_height = "50dp", background = luajava.loadlayout { GradientDrawable, color = "#00000000", cornerRadius = 30 }, onClick = function() end, onTouch = function(v, event) local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event:getRawX() RawY = event:getRawY() x = paramt[name].x y = paramt[name].y elseif Action == MotionEvent.ACTION_MOVE then isMove = true paramt[name].x = tonumber(x) + (event:getRawX() - RawX) paramt[name].y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(_ENV[name], paramt[name]) end end, { TextView, text = name, id=luajava.newId(name.."xfc"), gravity = "center", layout_width = "wrap_content", layout_height = "30dp", textSize = "17sp", } }) local function invoke2() window:addView(_ENV[name], paramt[name]) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) end invoke(name) end function rmvtitle(name) titletable[name]=0 local function invoke2() window:removeView(_ENV[name], paramt[name]) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) end function box(views) local tid = "box"..guid() local ttid = tid.."6" firadio = { LinearLayout, gravity = "center", layout_width = 'fill_parent', layout_height = "wrap_content", orientation = "vertical", } if type(views[1]) == "string" or type(views[1]) == "number" then firadio[#firadio+1] = { LinearLayout, layout_height = "20dp", layout_width = "fill_parent", onClick = function() visi(tid,ttid) end, background = getSelector3(), { ImageView, layout_marginLeft = "10dp", id = luajava.newId(ttid), background = "/sdcard/穆麟/图片/hsanjiao", layout_width = "10dp", layout_height = "10dp", layout_marginTop = "5dp", }, { TextView, text = views[1], textSize = "11sp", id = luajava.newId("box"..views[1]), layout_marginLeft = "2dp", textColor = "#00000", gravity = "center_horizontal", }} else gg.alert("box第一个参数必须是string") os.exit() end radios = { LinearLayout, layout_marginLeft = "0dp", layout_marginRight = "0dp", orientation = "vertical", visibility = "gone", id = luajava.newId(tid), padding = "0dp", layout_width = 'fill_parent', } for i = 2,#views do radios[#radios+1] = views[i] end firadio[#firadio+1] = radios return luajava.loadlayout(firadio) end function anniu(radio) local tid = "radio"..guid() local ttid = tid.."6" firadio = { LinearLayout, layout_width = 'fill_parent', layout_height = "wrap_content", orientation = "vertical", background = luajava.loadlayout({ GradientDrawable, color = "#00615E66", cornerRadius = 30 }), } radios = { LinearLayout, layout_marginLeft = "0dp", layout_marginRight = "0dp", orientation = "horizontal", visibility = "visible", padding = "0dp", layout_width = 'fill_parent', } for i = 2,#radio do radios[#radios+1] = { LinearLayout, layout_marginTop = "3dp", layout_marginBottom = "3dp", layout_marginLeft = "0dp", layout_marginRight = "8dp", background = getSelector2(), layout_width = 'wrap_content', layout_height = "25dp", gravity = "center", { TextView, layout_width = 'wrap_content', layout_height = "30dp", text = radio[i][1], layout_marginLeft = "8dp", layout_marginRight = "8dp", gravity = "center", textColor = "#00000", textSize = "10sp", }, onClick = function() luajava.newThread(function() radio[i][2]() end):start() end, } end firadio[#firadio+1] = radios return luajava.loadlayout(firadio) end function getseekgra3() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({ 0x6600FF76,0x9900A5FF }) jianbians:setStroke(0,"0xff456ff00")--边框宽度和颜色 return jianbians end function getseekgra() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(8) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({0x6600FF76,0x9900A5FF}) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(4,"0x663fff000")--边框宽度和颜色 return jianbians end function getseekgra2() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(0) jianbians:setShape(GradientDrawable.RECTANGLE) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({ 0x6600FF76,0x9900A5FF }) jianbians:setStroke(0,"0x778fff66")--边框宽度和颜色 return jianbians end function switch(name,func1,func2) if type(func1) == "table" then gg.alert("出现错误")os.exit() end local func = 开关(name,func1,func2) if not name then name = "未设置" end rest = luajava.loadlayout({ LinearLayout, layout_width = 'fill_parent', layout_height = "wrap_content", { LinearLayout, layout_width = 'fill_parent', layout_height = "fill_parent", layout_marginTop = "5dp", layout_marginBottom = "5dp", layout_marginLeft = "10dp", layout_marginRight = "10dp", gravity = "center_vertical", background = luajava.loadlayout { GradientDrawable, color = "#88615E66", cornerRadius = 12 }, { TextView, gravity = "top", text = name, layout_width = '100dp', layout_marginLeft = "10dp", layout_marginRight = "10dp", }, { Switch, gravity = "top", layout_width = 'match_parent', layout_height = "10dp", showText = "true", textOn = "开", textOff = "关", --id=luajava.newId(tid), switchMinWidth = "20dp", onCheckedChange = function(Switch,var2,var3) if var2 == true then var2 = "开" else var2 = "关" end luajava.newThread(function() func() end):start() end, }} }) return rest end function edit(name) _ENV[name] = name..guid() if not name then name = "点击输入文字" end rest = luajava.loadlayout({ LinearLayout, layout_width = 'wrap_content', layout_height = "wrap_content", { LinearLayout, layout_width = 'fill_parent', layout_height = "wrap_content", layout_marginTop = "5dp", layout_marginBottom = "5dp", layout_marginLeft = "10dp", layout_marginRight = "10dp", gravity = "center_vertical", background = luajava.loadlayout { GradientDrawable, color = "#88615E66", cornerRadius = 12 }, { EditText, gravity = "center", hintText = name, textSize = "13sp", id = luajava.newId(_ENV[name]), layout_width = 'fill', layout_marginLeft = "10dp", layout_marginRight = "10dp", }} }) return rest end function radio(radio) firadio = { LinearLayout, layout_width = 'fill_parent', layout_height = "fill_parent", orientation = "vertical", layout_marginLeft = "10dp", layout_marginRight = "10dp", } if type(radio[1]) == "string" or type(radio[1]) == "number" then firadio[#firadio+1] = { TextView,text = radio[1],layout_marginLeft = "10dp", layout_marginRight = "10dp", } end radios = { RadioGroup, layout_marginLeft = "10dp", layout_marginRight = "10dp", background = luajava.loadlayout({ GradientDrawable, color = "#88615E66", cornerRadius = 30 }),layout_width = 'fill_parent', } for i = 2,#radio do radios[#radios+1] = { RadioButton, layout_width = 'fill_parent', text = radio[i][1], onClick = function() luajava.newThread(function() pcall(radio[i][2]) end):start() end, } end firadio[#firadio+1] = radios return luajava.loadlayout(firadio) end function radio2(radio) firadio = { LinearLayout, layout_width = 'fill_parent', layout_height = "wrap_content", orientation = "vertical", layout_marginLeft = "10dp", layout_marginRight = "10dp", } radios = { LinearLayout, orientation = "vertical", layout_marginLeft = "10dp", layout_marginRight = "10dp", layout_width = 'fill_parent', } for i = 1,#radio do radios[#radios+1] = { LinearLayout, gravity = "center", layout_height = "30dp", layout_width = 'fill_parent', orientation = "horizontal", layout_marginBottom = "5dp", layout_marginTop = "5dp", background = luajava.loadlayout({ GradientDrawable, color = "#dd000000", cornerRadius = 13 }), { ImageView, layout_width = "20dp", layout_height = "20dp", background = "/sdcard/sgly/图片/"..radio[i][2] }, { TextView, text = radio[i][1], }, onClick = function() luajava.newThread(function() pcall(radio[i][3]) end):start() end, } end firadio[#firadio+1] = radios return luajava.loadlayout(firadio) end function check(cklist) rest = { LinearLayout, layout_width = 'wrap_content', layout_height = "30dp", layout_marginTop = "10dp", gravity = "left" } for i = 1,#cklist do local name = cklist[i][1] local func1 = cklist[i][2] local func2 = cklist[i][3] local nid = cklist[i][4] if type(func1) == "table" then gg.alert("出现错误") os.exit() end if not name then name = "未设置" end nid = name..guid() local func = 开关2(nid,func1,func2,nid) rstt = luajava.loadlayout({ LinearLayout, layout_width = 'wrap_content', layout_height = "30dp", layout_marginTop = "5dp", layout_marginBottom = "5dp", layout_marginLeft = "5dp", layout_marginRight = "5dp", gravity = "center_vertical", onClick = function() luajava.newThread(function() func() end):start() end, { ImageView, id = luajava.newId(nid), layout_width = '20dp', layout_height = "20dp", layout_marginLeft = "8dp", layout_marginRight = "0dp", background = "/sdcard/sgly/图片/check1", }, { TextView, gravity = "top", text = name, textColor = "#ffffff", layout_width = 'wrap_content', layout_height = 'wrap_content', layout_marginLeft = "4dp", layout_marginRight = "5dp", }}) rest[#rest+1] = rstt end return luajava.loadlayout(rest) end function button(txt,func) if not txt then txt = "未设置" end return luajava.loadlayout( { LinearLayout, layout_width = '210dp', layout_height = "wrap_content", { LinearLayout, layout_width = "fill_parent", gravity = "center_horizontal", layout_marginTop = "5dp", layout_marginBottom = "5dp", layout_marginLeft = "10dp", layout_marginRight = "10dp", background = getSelector3(), onClick = function() luajava.newThread(function() pcall(func) end):start() end, { TextView, --id = luajava.newId(tid), text = txt, textColor = "#000000", textSize = "14sp", layout_width = "wrap_content", }, }}) end function text(txt,color,size) if not txt then txt = "未设置文字" end if not color then color = "#ffffff" end if not size then size = "18sp" end return luajava.loadlayout( { TextView, text = txt, textSize = size, gravity = "center", textColor = color, layout_width = "wrap_content", }) end corb = true function getLayoutParams2() local prm = luajava.new(WindowManager.LayoutParams) layoutParams1 = prm if (Build.VERSION.SDK_INT >= 26) then -- 设置悬浮窗方式 layoutParams1.type = prm.TYPE_APPLICATION_OVERLAY else layoutParams1.type = prm.TYPE_PHONE end layoutParams1.format = PixelFormat.RGBA_8888 -- 设置背景 layoutParams1.flags = prm.FLAG_NOT_FOCUSABLE -- 焦点设置Finish layoutParams1.gravity = Gravity.CENTER -- 重力设置 layoutParams1.width = prm.WRAP_CONTENT -- 布局宽度 layoutParams1.height = prm.WRAP_CONTENT -- 布局高度 return layoutParams1 end function 开关6(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.getIdValue(nid):setBackground(luajava.getBitmapDrawable("/sdcard/sgly/图片/checkon2")) _ENV[name] = "开" pcall(func1) else luajava.getIdValue(nid):setBackground(luajava.getBitmapDrawable("/sdcard/sgly/图片/checkof")) _ENV[name] = "关" pcall(func2) end end end end function check2(cklist) rest = { LinearLayout, layout_width = 'match_parent', layout_hight = "match_parent", layout_marginTop = "10dp", gravity = "center_horizontal" } for i = 1,#cklist do local name = cklist[i][1] local func1 = cklist[i][2] local func2 = cklist[i][3] local nid = cklist[i][4] if type(func1) == "table" then gg.alert("出现错误\n如果你是用的是旧版\n请将开头第一个switch改成menu") gg.copyText("") os.exit() end if not name then name = "未设置" end nid = name..guid() local func = 开关6(nid,func1,func2,nid) rstt = luajava.loadlayout({ LinearLayout, id = luajava.newId(nid), layout_width = '63dp', layout_height = "30dp", layout_marginTop = "5dp", layout_marginBottom = "5dp", layout_marginLeft = "10dp", layout_marginRight = "10dp", gravity = "center_vertical", background = "/sdcard/sgly/图片/checkof", onClick = function() luajava.newThread(function() func() end):start() end, { TextView, gravity = "top", text = name, layout_width = '80dp', layout_hight = '80dp', layout_marginLeft = "20dp", layout_marginRight = "10dp", }}) rest[#rest+1] = rstt end return luajava.loadlayout(rest) end namelist={} param1 = {} floattable={} function newfloat(name,func1,func2) floattable[name]=1 local func = 开关(name.."k",func1,func2) local function invoke(name,func1,func2) if not name then name = "未设置" end nameid = name..guid() local ok local RawX, RawY, x, y nameid1 = name..guid() if not namelist[name] then namelist[name]=false end if namelist[name]~=false then clclcl="#75ff0000" else clclcl="#88000000" end param1[name] = getLayoutParams2() _ENV[name] = luajava.loadlayout( { LinearLayout, layout_width = "40dp", id = luajava.newId(nameid1), layout_height = "40dp", background = luajava.loadlayout { GradientDrawable, color = clclcl, cornerRadius = 30 }, onClick = function() if namelist[name]==false then _ENV[name]:setBackground(luajava.loadlayout { GradientDrawable, color = "#75ff0000", cornerRadius = 30 }) namelist[name]=true elseif namelist[name]==true then _ENV[name]:setBackground(luajava.loadlayout { GradientDrawable, color = "#88000000", cornerRadius = 30 }) namelist[name]=false end luajava.newThread(function() pcall(func) end):start() end, onTouch = function(v, event) local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event:getRawX() RawY = event:getRawY() x = param1[name].x y = param1[name].y elseif Action == MotionEvent.ACTION_MOVE then isMove = true param1[name].x = tonumber(x) + (event:getRawX() - RawX) param1[name].y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(_ENV[name], param1[name]) end end, { TextView, text = name, gravity = "center", layout_width = "50dp", layout_height = "50dp", } }) local function invoke2() window:addView(_ENV[name], param1[name]) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) end invoke(name,func1,func2) end function rmvfloat(name) floattable[name]=0 local function invoke2() window:removeView(_ENV[name], param1[name]) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) end function getedit(name) --gg.alert(edit) edit = tostring(luajava.getIdValue(_ENV[name]):getText()) return edit end function setedit(name,txt) txt = tostring(txt) luajava.runUiThread(function() luajava.getIdValue(_ENV[name]):setText(txt) end) end function 开关(name,func1,func2) name=name.."开关1" if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then _ENV[name] = "开" pcall(func1) else _ENV[name] = "关" pcall(func2) end end end end 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/sgly/图片/check2")) end) _ENV[name] = "开" func1() else luajava.runUiThread(function() luajava.getIdValue(nid):setBackground(luajava.getBitmapDrawable("/sdcard/sgly/图片/check1")) end) _ENV[name] = "关" func2() end end end end function visi(tid,ttid) local tview = luajava.getIdValue(tid) local ttview = luajava.getIdValue(ttid) if not tview then return 0 end if tonumber(tostring(tview:getVisibility())) == 8.0 then tview:setVisibility(View.VISIBLE) ttview:setBackground(luajava.getBitmapDrawable("/sdcard/sgly/图片/hsj")) else tview:setVisibility(View.GONE) ttview:setBackground(luajava.getBitmapDrawable("/sdcard/sgly/图片/sj")) end end wyyget="http://120.24.160.246:3000/" function huoqu(txt) return table.json(gg.makeRequest(wyyget.."song/url/v1?id="..txt.."").content) end function souyy(txt) tbttt=gg.makeRequest(wyyget.."search?keywords="..txt.."&limit=10") if tbttt==nil or type(tbttt)=="string" then gg.alert("网络异常") luajava.runUiThread(function() luajava.getIdView("jzz"):setVisibility(View.GONE) luajava.getIdView("stxt"):setVisibility(View.VISIBLE) end) end return table.json(tbttt.content) end function develo(tabb) gg.alert(tostring(tabb)) end function develo2(tabb) gg.copyText(tostring(tabb)) end function tablekIn(tbl, key) if tbl == nil then return false end for k, v in pairs(tbl) do if k == key then return true end end return false end function searchmusic() if not lasttm then lasttm=os.time() else if os.time()-lasttm<=5 then gg.alert("请在"..(5-(os.time()-lasttm)).."秒冷却后搜索") return 0 end end if not wryt then else runnable = luajava.getRunnable(function() luajava.getIdView("搜索列表"):removeView(wyr) end) handler = luajava.getHandler() handler:post(runnable) end mustxt=luajava.getIdView("搜索"):getText() if string.len(tostring(mustxt))<=2 or tostring(mustxt)==nil then gg.alert("至少输入2个字符") return 0 end mustxt=tostring(mustxt) luajava.runUiThread(function() luajava.getIdView("jzz"):setVisibility(View.VISIBLE) luajava.getIdView("stxt"):setVisibility(View.GONE) end) lasttm=os.time() mustable=souyy(mustxt) mustable=mustable.result.songs musnames={} musids={} musarts={} musictable={} for k,v in pairs(mustable) do if tonumber(v.fee)==0 or tonumber(v.fee)==8 then musictable[#musictable+1]=v end end --gg.alert(tostring(mustable)) --gg.alert(tostring(musictable)) --gg.copyText(tostring(mustable)) --gg.alert(#musictable) wrfun={} wryt={LinearLayout, id=luajava.newId("搜索结果"), layout_marginTop="5dp", layout_marginBottom="5dp", orientation="vertical", } for i=1,#musictable do musid=musictable[i].id musids[#musids+1]=musid musname=musictable[i].name if tablekIn(musictable[i], "transNames")~=false then musname=musname .."\n(".. musictable[i].transNames[0]..")" end musnames[#musnames+1]=musname musart=musictable[i].artists[0].name musarts[#musarts+1]=musart wryt[#wryt+1]={LinearLayout, orientation="vertical", layout_marginTop="2dp", layout_marginBottom="2dp", background=getSelector7(), id=luajava.newId("音"..musid), onClick=function() thread = luajava.getPThread(function() bofang(musname,musid) end) thread:start() end, { TextView, layout_marginTop="5dp", textSize="16sp", textColor="#000000", layout_marginBottom="0dp", text = musname, layout_hight="10dp", layout_width = "210dp", gravity="center", },{ TextView, layout_marginTop="0dp", textColor="#ffffff", textSize="12sp", layout_marginBottom="5dp", text = musart, layout_hight="10dp", layout_width = "210dp", gravity="center", } } --gg.sleep(50) wryt[#wryt].onClick=function() luajava.getPThread(function() bofang(musnames[i]..musarts[i],musids[i]) end):start() end end wyr=luajava.loadlayout(wryt) runnable = luajava.getRunnable(function() luajava.getIdView("搜索列表"):addView(wyr) end) handler = luajava.getHandler() handler:post(runnable) luajava.runUiThread(function() luajava.getIdView("jzz"):setVisibility(View.GONE) luajava.getIdView("stxt"):setVisibility(View.VISIBLE) end) --gg.alert(tostring(wrfun)) end function bofang(gqmz,gdmn) luajava.runUiThread(function() luajava.getIdView("搜索结果"):setVisibility(View.GONE) luajava.getIdView("加载"):setVisibility(View.VISIBLE) end) if panduan("/sdcard/sgly/音频/"..gqmz..".mp3")==true then gg.playMusic("/sdcard/sgly/音频/"..gqmz..".mp3") else gg.toast("下载中..."..gqmz) musurl=huoqu(gdmn).data[0].url if musurl=="" or musurl=="null" then gg.alert("由于版权问题\n这首歌不能播放","你干嘛哈哈哎呦","呀啊哈哈嘛干") else download(musurl,"/sdcard/sgly/音频/"..gqmz..".mp3") gg.playMusic("/sdcard/sgly/音频/"..gqmz..".mp3") gg.sleep(1000) end end luajava.runUiThread(function() luajava.getIdView("加载"):setVisibility(View.GONE) luajava.getIdView("搜索结果"):setVisibility(View.VISIBLE) end) end stxt={LinearLayout, visibility="visible", id=luajava.newId("stxt"), gravity="center", layout_hight="70dp", layout_width="70dp", gravity="center", orientation="vertical", {TextView, text="搜索", background=luajava.loadlayout({ GradientDrawable, color = "#ddFF4A6F", cornerRadius = 12 }), gravity="center", layout_hight="30dp", layout_width="70dp", textSize="15sp", onClick=function() thread = luajava.getPThread(function() searchmusic() end) thread:start() end, }, {TextView, text="停止", background=luajava.loadlayout({ GradientDrawable, color = "#dd3FD198", cornerRadius = 12 }), gravity="center", layout_hight="30dp", layout_width="70dp", textSize="15sp", onClick=function() thread = luajava.getPThread(function() gg.playMusic("stop") end) thread:start() end, } } jzz={TextView, text="加载中", visibility="gone", id=luajava.newId("jzz"), layout_marginLeft="10dp", textSize="15sp", } jiaz={TextView,text="正在加载歌曲资源", visibility="gone", id=luajava.newId("加载"), textSize="17sp", gravity="center" } wyylog=luajava.loadlayout({LinearLayout, layout_hight="180dp", {ScrollView, layout_hight="180dp", {LinearLayout, id=luajava.newId("搜索列表"), layout_hight="180dp", orientation="vertical", layout_width = "wrap_content", {LinearLayout,orientation="horizontal", layout_width = "wrap_content", { EditText, hint = "请输入歌名", id=luajava.newId("搜索"), background=luajava.loadlayout({ GradientDrawable, color = "#dd000000", cornerRadius = 12 }), focusableInTouch="false", focusable="false", selectAllOnFocus="true", singleLine="true", layout_width = "140dp", layout_hight = "60dp", }, stxt, jzz },jiaz}} }) ----------------------------------------配置 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 fastsearch(search, write,we) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then if we~=nil then gg.toast(we.." -> 主特征码不存在") end return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) if we~=nil then gg.toast(we.." -> 共修改" .. (#tb[1] + #tb[2]) .. "条数值") end else if we~=nil then gg.toast(we.." -> 开启失败,没有符合条件的值") end end 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(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 setvalue(addr, flag, value) gg.setValues({{address = addr, flags = flag, value = value}}) end function SearchWrite(Search,Modification) gg.clearResults() gg.searchNumber(Search[1][1],Search[1][2],false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum=0 for i=2,#Search do for index=1,#Result do if gg.getValues({{address=Result[index].address+Search[i][3],flags=Search[i][2]}})[1].value~=Search[i][1]then Result[index].Usable=true sum=sum+1 end end end if sum==#Result then gg.toast(Name..'开启失败') return end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in pairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value[3],flags=value[2],value=value[1],freeze=true} sum=sum+1 if value[4]then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end end end end gg.setValues(Data) gg.addListItems(Freeze) if Freeze==0 then gg.toast(Name..'开启成功,共修改'..sum..'条数据.') else gg.toast(Name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据.') end end local function Mswrite(search) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("搜索失败") else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2,#search do local mtp = {} for w,r in ipairs(result) do mtp[#mtp+1] = {address = r.address + search[i][2], flags = search[i][3]} end mtp = gg.getValues(mtp) local hook = {} for w,r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end for i = 1, #result do result[i] = result[i].address end return result end end function xtnb(Search,Get,Type,Range,Name) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) if Search[1][1]~=false then gg.searchAddress(Search[1][1],0xFFFFFFFF,Search[1][4] or Type,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) end gg.searchNumber(Search[1][2],Search[1][4] or Type,false,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][3] 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=Search[k][3] or Type end tmp=gg.getValues(tmp) for i,v in ipairs(tmp) do if v.flags==16 or v.flags==64 then values=tostring(v.value):sub(1,6) num=tostring(num):sub(1,6) else values=v.value end if tostring(values)~=tostring(num) then result[i].isUseful=false end end end for i,v in ipairs(result) do if (v.isUseful) then data[#data+1]=v.address end end if (#data > 0) then local t,t_={},{} local base=Search[1][3] for i=1,#data do for k,w in ipairs(Get) do offset=w[2] - base if w[1]==false then t_[#t_+1]={} t_[#t_].address=data[i]+offset t_[#t_].flags=Type th_=(th_) and th_+1 or 1 else t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=w[3] or Type t[#t].value=w[1] tg_=(tg_) and tg_+1 or 1 if (w[4]==true) then local item={} item[#item+1]=t[#t] item[#item].freeze=w[4] gg.addListItems(item) end end end end tg=(tg_) and "\n已修改"..tg_.."条数据" or "" th=(th_) and "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end local gg = gg --优化gg.getValues搜索列表值过多时,导致gg卡死 function Get_value() local result = {} local Table = {} while true do local get = gg.getResults(100000) result[#result + 1] = get gg.removeResults(get)--然后移除列表,避免gg卡死 if not get or #get == 0 then break end end for k = 1, #result do for k, v in pairs(result[k]) do Table[#Table + 1] = v end end return Table end function LSQ_pointer(search, write) if search[5] or search[6] then local region_start = search[5] local region_end = search[6] else local region_start = 0 local region_end = -1 end gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2], false, gg.SIGN_EQUAL, region_start, region_end) gg.refineNumber(search[1][1], search[1][2], false, gg.SIGN_EQUAL, region_start, region_end)--优化搜索的数据 if gg.getResultsCount() == 0 then gg.toast("没有搜索到指针数据") return false else local result = Get_value()--获取搜索到的所有数据 gg.clearResults() for i = 2, #search do--遍历副特征码数据 local offset_array = {}--存放偏移数组的表 for k, v in ipairs(result) do offset_array[#offset_array + 1] = { ["address"] = v["address"] + search[i][2],--把所有搜索出来的结果, 加上偏移量 ["flags"] = search[i][3] } end offset_array = gg.getValues(offset_array)--获取所有副特征数据 local verify_array = {}--验证数组表 for k, v in ipairs(offset_array) do--遍历偏移后的数据 if v["value"] == search[i][1] then--如果值等于主特征 verify_array[#verify_array + 1] = result[k] end end result = verify_array end if #result > 0 then local Table = { {}, {} } for k, v in ipairs(result) do for kk, vv in ipairs(write) do local Modifythe_array = { ["address"] = v["address"] + vv[2], ["flags"] = vv[3], ["value"] = vv[1], ["freeze"] = vv[4] } if vv[4] then Table[2][#Table[2] + 1] = Modifythe_array else Table[1][#Table[1] + 1] = Modifythe_array end end end gg.addListItems(Table[2]) gg.setValues(Table[1]) gg.toast("宝: [" .. search[1][4] .. "]开启成功共修改" .. (#Table[1] + #Table[2]) .. "条数据") else gg.toast("未找到偏移数据") end end end stitle = "逸泽🔥" 图片1 = "/sdcard/sgly/图片/sgly" 公告 = "自己配规则" stab = { "主页","角色","好玩","音乐","没用" } menu("自用", { { text("防闪防封登录开","#FF2A3F","15sp"), text("逸泽顶尖","#FFFFFFFF","10sp"), text("#FF2A3F","10sp"), button('防闪', function() function readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true] = 32, [false] = 4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address = addr, flags = va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr + v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2] + 1] = value else Table1[1][#Table1[1] + 1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) gg.toast((name or "") .. "开启成功, 共修改" .. #Table .. "个值") end local addr = readPointer("libtersafe2.so", {261692}, 5) gg.edits(addr, {{0, 4, 0, true}}) local addr = readPointer("libtersafe2.so", {168}, 5) gg.edits(addr, {{-1, 4, 0, true}},'防闪') end), button('选择进程', function() gg.setProcessX() end), button('初始化', function() so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressD(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '~A BX LR' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressQ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030820' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressB(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030842' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressA(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030840' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressC(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030824' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressAA(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030832' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressF(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 16 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressZZZ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 32 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressY(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value gg.setValues(tt) end gg.toast("已初始化") end), button("全杀检测一定要开", function() local t = {} t[1] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1304; t[2] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1308; t[3] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1344; t[4] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1364; t[5] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1388; t[6] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x13E8; t[7] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x13FC; t[8] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x145C; t[9] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x14B8; t[10] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x14DC; t[11] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x14F4; t[12] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1554; t[13] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1568; t[14] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x157C; t[15] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1580; t[16] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x160C; t[17] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1618; t[18] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1648; t[19] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1654; t[20] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x165C; t[21] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1688; t[22] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x169C; t[23] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x16B4; t[24] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x16D8; t[25] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x16F0; t[26] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1704; t[27] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1728; t[28] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1758; t[29] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x176C; t[30] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1790; t[31] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1794; t[32] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x17A8; t[33] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x17AC; t[34] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x17B8; t[35] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x17D0; t[36] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x17E8; t[37] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x17FC; t[38] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1824; t[39] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x182C; t[40] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1840; t[41] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1858; t[42] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x18A0; t[43] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x18A8; t[44] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x18D0; t[45] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1914; t[46] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1918; t[47] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1960; t[48] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1974; t[49] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x19D8; t[50] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x19E0; t[51] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1A0C; t[52] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1A3C; t[53] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1A44; t[54] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1A4C; t[55] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1A90; t[56] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1A9C; t[57] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1B1C; t[58] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1B2C; t[59] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1B44; t[60] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1B54; t[61] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1B64; t[62] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1BB4; t[63] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1BBC; t[64] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1BD0; t[65] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1CCC; t[66] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1D20; t[67] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1DBC; t[68] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1DC4; t[69] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1DFC; t[70] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1E10; t[71] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1EBC; t[72] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1EC8; t[73] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1EF8; t[74] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1F04; t[75] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1F1C; t[76] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1F2C; t[77] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1F34; t[78] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1F3C; t[79] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1F6C; t[80] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1F74; t[81] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1FDC; t[82] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x1FE4; t[83] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x3390D8; t[84] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x3391B0; t[85] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x3392B0; t[86] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x3392C0; t[87] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x339B1C; t[88] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x339B20; t[89] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x339B24; t[90] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x339B3C; t[91] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x339CD8; t[92] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x339CDC; t[93] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x339D30; t[94] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x339D4C; t[95] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x339FCC; t[96] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x339FD0; t[97] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x339FD4; t[98] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x339FD8; t[99] = gg.getRangesList("libtersafe2.so")[1]["start"] + 0x339FDC; gg.addListItems({ [1] = { address = t[1], flags = 4, value = 0, freeze = true, }, [2] = { address = t[2], flags = 4, value = 0, freeze = true, }, [3] = { address = t[3], flags = 4, value = 0, freeze = true, }, [4] = { address = t[4], flags = 4, value = 0, freeze = true, }, [5] = { address = t[5], flags = 4, value = 0, freeze = true, }, [6] = { address = t[6], flags = 4, value = 0, freeze = true, }, [7] = { address = t[7], flags = 4, value = 0, freeze = true, }, [8] = { address = t[8], flags = 4, value = 0, freeze = true, }, [9] = { address = t[9], flags = 4, value = 0, freeze = true, }, [10] = { address = t[10], flags = 4, value = 0, freeze = true, }, [11] = { address = t[11], flags = 4, value = 0, freeze = true, }, [12] = { address = t[12], flags = 4, value = 0, freeze = true, }, [13] = { address = t[13], flags = 4, value = 0, freeze = true, }, [14] = { address = t[14], flags = 4, value = 0, freeze = true, }, [15] = { address = t[15], flags = 4, value = 0, freeze = true, }, [16] = { address = t[16], flags = 4, value = 0, freeze = true, }, [17] = { address = t[17], flags = 4, value = 0, freeze = true, }, [18] = { address = t[18], flags = 4, value = 0, freeze = true, }, [19] = { address = t[19], flags = 4, value = 0, freeze = true, }, [20] = { address = t[20], flags = 4, value = 0, freeze = true, }, [21] = { address = t[21], flags = 4, value = 0, freeze = true, }, [22] = { address = t[22], flags = 4, value = 0, freeze = true, }, [23] = { address = t[23], flags = 4, value = 0, freeze = true, }, [24] = { address = t[24], flags = 4, value = 0, freeze = true, }, [25] = { address = t[25], flags = 4, value = 0, freeze = true, }, [26] = { address = t[26], flags = 4, value = 0, freeze = true, }, [27] = { address = t[27], flags = 4, value = 0, freeze = true, }, [28] = { address = t[28], flags = 4, value = 0, freeze = true, }, [29] = { address = t[29], flags = 4, value = 0, freeze = true, }, [30] = { address = t[30], flags = 4, value = 0, freeze = true, }, [31] = { address = t[31], flags = 4, value = 0, freeze = true, }, [32] = { address = t[32], flags = 4, value = 0, freeze = true, }, [33] = { address = t[33], flags = 4, value = 0, freeze = true, }, [34] = { address = t[34], flags = 4, value = 0, freeze = true, }, [35] = { address = t[35], flags = 4, value = 0, freeze = true, }, [36] = { address = t[36], flags = 4, value = 0, freeze = true, }, [37] = { address = t[37], flags = 4, value = 0, freeze = true, }, [38] = { address = t[38], flags = 4, value = 0, freeze = true, }, [39] = { address = t[39], flags = 4, value = 0, freeze = true, }, [40] = { address = t[40], flags = 4, value = 0, freeze = true, }, [41] = { address = t[41], flags = 4, value = 0, freeze = true, }, [42] = { address = t[42], flags = 4, value = 0, freeze = true, }, [43] = { address = t[43], flags = 4, value = 0, freeze = true, }, [44] = { address = t[44], flags = 4, value = 0, freeze = true, }, [45] = { address = t[45], flags = 4, value = 0, freeze = true, }, [46] = { address = t[46], flags = 4, value = 0, freeze = true, }, [47] = { address = t[47], flags = 4, value = 0, freeze = true, }, [48] = { address = t[48], flags = 4, value = 0, freeze = true, }, [49] = { address = t[49], flags = 4, value = 0, freeze = true, }, [50] = { address = t[50], flags = 4, value = 0, freeze = true, }, [51] = { address = t[51], flags = 4, value = 0, freeze = true, }, [52] = { address = t[52], flags = 4, value = 0, freeze = true, }, [53] = { address = t[53], flags = 4, value = 0, freeze = true, }, [54] = { address = t[54], flags = 4, value = 0, freeze = true, }, [55] = { address = t[55], flags = 4, value = 0, freeze = true, }, [56] = { address = t[56], flags = 4, value = 0, freeze = true, }, [57] = { address = t[57], flags = 4, value = 0, freeze = true, }, [58] = { address = t[58], flags = 4, value = 0, freeze = true, }, [59] = { address = t[59], flags = 4, value = 0, freeze = true, }, [60] = { address = t[60], flags = 4, value = 0, freeze = true, }, [61] = { address = t[61], flags = 4, value = 0, freeze = true, }, [62] = { address = t[62], flags = 4, value = 0, freeze = true, }, [63] = { address = t[63], flags = 4, value = 0, freeze = true, }, [64] = { address = t[64], flags = 4, value = 0, freeze = true, }, [65] = { address = t[65], flags = 4, value = 0, freeze = true, }, [66] = { address = t[66], flags = 4, value = 0, freeze = true, }, [67] = { address = t[67], flags = 4, value = 0, freeze = true, }, [68] = { address = t[68], flags = 4, value = 0, freeze = true, }, [69] = { address = t[69], flags = 4, value = 0, freeze = true, }, [70] = { address = t[70], flags = 4, value = 0, freeze = true, }, [71] = { address = t[71], flags = 4, value = 0, freeze = true, }, [72] = { address = t[72], flags = 4, value = 0, freeze = true, }, [73] = { address = t[73], flags = 4, value = 0, freeze = true, }, [74] = { address = t[74], flags = 4, value = 0, freeze = true, }, [75] = { address = t[75], flags = 4, value = 0, freeze = true, }, [76] = { address = t[76], flags = 4, value = 0, freeze = true, }, [77] = { address = t[77], flags = 4, value = 0, freeze = true, }, [78] = { address = t[78], flags = 4, value = 0, freeze = true, }, [79] = { address = t[79], flags = 4, value = 0, freeze = true, }, [80] = { address = t[80], flags = 4, value = 0, freeze = true, }, [81] = { address = t[81], flags = 4, value = 0, freeze = true, }, [82] = { address = t[82], flags = 4, value = 0, freeze = true, }, [83] = { address = t[83], flags = 4, value = 0, freeze = true, }, [84] = { address = t[84], flags = 4, value = 0, freeze = true, }, [85] = { address = t[85], flags = 4, value = 0, freeze = true, }, [86] = { address = t[86], flags = 4, value = 0, freeze = true, }, [87] = { address = t[87], flags = 4, value = 0, freeze = true, }, [88] = { address = t[88], flags = 4, value = 0, freeze = true, }, [89] = { address = t[89], flags = 4, value = 0, freeze = true, }, [90] = { address = t[90], flags = 4, value = 0, freeze = true, }, [91] = { address = t[91], flags = 4, value = 0, freeze = true, }, [92] = { address = t[92], flags = 4, value = 0, freeze = true, }, [93] = { address = t[93], flags = 4, value = 0, freeze = true, }, [94] = { address = t[94], flags = 4, value = 0, freeze = true, }, [95] = { address = t[95], flags = 4, value = 0, freeze = true, }, [96] = { address = t[96], flags = 4, value = 0, freeze = true, }, [97] = { address = t[97], flags = 4, value = 0, freeze = true, }, [98] = { address = t[98], flags = 4, value = 0, freeze = true, }, [99] = { address = t[99], flags = 4, value = 0, freeze = true, }, }) gg.toast("开启成功") gg.alert("开好了") end), button("过所有检测一定要开", function() setvalue(0x1DC,4,0) setvalue(0x1364,4,0) setvalue(0x138C,4,0) setvalue(0x139C,4,0) setvalue(0x13FC,4,0) setvalue(0x1458,4,0) setvalue(0x1214,4,0) setvalue(0x122C,4,0) setvalue(0x1258,4,0) setvalue(0x1280,4,0) setvalue(0x1284,4,0) setvalue(0x1298,4,0) setvalue(0x30620C,4,0) setvalue(0x33E3F8,4,0) setvalue(0x36695C,4,0) setvalue(0x64,4,0) setvalue(0x68,4,0) setvalue(0x78,4,0) setvalue(0x7C,4,0) setvalue(0x80,4,0) setvalue(0x88,4,0) setvalue(0x104,4,0) setvalue(0x108,4,0) setvalue(0x118,4,0) setvalue(0x11C,4,0) setvalue(0x120,4,0) setvalue(0xEE4,4,0) setvalue(0x14C,4,0) setvalue(0xFC4,4,0) setvalue(0x1184,4,0) setvalue(0x1334,4,0) setvalue(0x1358,4,0) setvalue(0x137C,4,0) setvalue(0x140C,4,0) setvalue(0x1674,4,0) setvalue(0x16C0,4,0) setvalue(0x1848,4,0) setvalue(0x1888,4,0) setvalue(0x1934,4,0) setvalue(0x1938,4,0) setvalue(0x194C,4,0) setvalue(0x1964,4,0) setvalue(0x1984,4,0) setvalue(0x1988,4,0) setvalue(0x19F4,4,0) setvalue(0x1A24,4,0) setvalue(0x1AB8,4,0) setvalue(0x1AD8,4,0) setvalue(0x1B5C,4,0) setvalue(0x1BAC,4,0) setvalue(0x1BD4,4,0) setvalue(0x1C24,4,0) setvalue(0x1C70,4,0) setvalue(0x1D34,4,0) setvalue(0x1D68,4,0) setvalue(0x1DB8,4,0) setvalue(0x1E54,4,0) setvalue(0x1F20,4,0) setvalue(0x1F50,4,0) setvalue(0x1FD8,4,0) setvalue(0x124,4,0) setvalue(0x1134,4,0) setvalue(0x12F4,4,0) setvalue(0x131C,4,0) setvalue(0x13B4,4,0) setvalue(0x13B8,4,0) setvalue(0x13D0,4,0) setvalue(0x13F8,4,0) setvalue(0x1444,4,0) setvalue(0x146C,4,0) setvalue(0x14CC,4,0) setvalue(0x1504,4,0) setvalue(0x150C,4,0) setvalue(0x1518,4,0) setvalue(0x153C,4,0) setvalue(0x1574,4,0) setvalue(0x15BC,4,0) setvalue(0x15C4,4,0) setvalue(0x1600,4,0) setvalue(0x1614,4,0) setvalue(0x1628,4,0) setvalue(0x162C,4,0) setvalue(0x1698,4,0) setvalue(0x16C0,4,0) setvalue(0x1710,4,0) setvalue(0x1720,4,0) setvalue(0x1724,4,0) setvalue(0x1734,4,0) setvalue(0x1738,4,0) setvalue(0x173C,4,0) setvalue(0x174C,4,0) setvalue(0x1754,4,0) setvalue(0x1764,4,0) setvalue(0x1768,4,0) setvalue(0x1778,4,0) setvalue(0x177C,4,0) setvalue(0x1780,4,0) setvalue(0x17E0,4,0) setvalue(0x17E4,4,0) setvalue(0x17F0,4,0) setvalue(0x17F8,4,0) setvalue(0x1874,4,0) setvalue(0x1888,4,0) setvalue(0x18C8,4,0) setvalue(0x1910,4,0) setvalue(0x192C,4,0) setvalue(0x1934,4,0) setvalue(0x1940,4,0) setvalue(0x194C,4,0) setvalue(0x1950,4,0) setvalue(0x1954,4,0) setvalue(0x197C,4,0) setvalue(0x1980,4,0) setvalue(0x1984,4,0) setvalue(0x199C,4,0) setvalue(0x19AC,4,0) setvalue(0x19C0,4,0) setvalue(0x19C8,4,0) setvalue(0x19DC,4,0) setvalue(0x19E4,4,0) setvalue(0x19F0,4,0) setvalue(0x19F4,4,0) setvalue(0x1A08,4,0) setvalue(0x1A24,4,0) setvalue(0x1A60,4,0) setvalue(0x1A64,4,0) setvalue(0x1A88,4,0) setvalue(0x1A8C,4,0) setvalue(0x1AA4,4,0) setvalue(0x1ABC,4,0) setvalue(0x1AC0,4,0) setvalue(0x1AD8,4,0) setvalue(0x1AE8,4,0) setvalue(0x1AF4,4,0) setvalue(0x1AF8,4,0) setvalue(0x1B00,4,0) setvalue(0x1B04,4,0) setvalue(0x1B20,4,0) setvalue(0x1B24,4,0) setvalue(0x1B28,4,0) setvalue(0x1B30,4,0) setvalue(0x1B48,4,0) setvalue(0x1B58,4,0) setvalue(0x1B74,4,0) setvalue(0x1B84,4,0) setvalue(0x1B94,4,0) setvalue(0x1B9C,4,0) setvalue(0x1BC8,4,0) setvalue(0x1BD8,4,0) setvalue(0x1BDC,4,0) setvalue(0x1BE4,4,0) setvalue(0x1C10,4,0) setvalue(0x1C34,4,0) setvalue(0x1C50,4,0) setvalue(0x1C84,4,0) setvalue(0x1CF0,4,0) setvalue(0x1D08,4,0) setvalue(0x1D14,4,0) setvalue(0x1D40,4,0) setvalue(0x1DA8,4,0) setvalue(0x1DCC,4,0) setvalue(0x1DEC,4,0) setvalue(0x1E00,4,0) setvalue(0x1E1C,4,0) setvalue(0x1E20,4,0) setvalue(0x1E2C,4,0) setvalue(0x1E4C,4,0) setvalue(0x1E54,4,0) setvalue(0x1EA8,4,0) setvalue(0x1ED8,4,0) setvalue(0x1EE0,4,0) setvalue(0x1F00,4,0) setvalue(0x1F48,4,0) setvalue(0x1F7C,4,0) setvalue(0x1F84,4,0) setvalue(0x1F90,4,0) setvalue(0x2FA0,4,0) setvalue(0x1E40,4,0) setvalue(0x1E48,4,0) setvalue(0x1E50,4,0) setvalue(0x1E58,4,0) setvalue(0x1E60,4,0) setvalue(0x1E68,4,0) setvalue(0x1E70,4,0) setvalue(0x1E78,4,0) setvalue(0x1E80,4,0) setvalue(0x1E88,4,0) setvalue(0x1E90,4,0) setvalue(0x1E98,4,0) setvalue(0x1EA0,4,0) setvalue(0x1EA8,4,0) setvalue(0x1EB0,4,0) setvalue(0x1EB8,4,0) setvalue(0x1EC0,4,0) setvalue(0x1EC8,4,0) setvalue(0x1ED0,4,0) setvalue(0x1ED8,4,0) setvalue(0x1F40,4,0) setvalue(0x1F48,4,0) setvalue(0x1F50,4,0) setvalue(0x1F58,4,0) setvalue(0x1F60,4,0) setvalue(0x1F68,4,0) setvalue(0x1F70,4,0) setvalue(0x1F78,4,0) setvalue(0x1F80,4,0) setvalue(0x1F88,4,0) setvalue(0x1F90,4,0) setvalue(0x1F98,4,0) setvalue(0x1FA0,4,0) setvalue(0x1FA8,4,0) setvalue(0x1FB0,4,0) setvalue(0x1FB8,4,0) setvalue(0x1FC0,4,0) setvalue(0x1FC8,4,0) setvalue(0x1FD0,4,0) setvalue(0x1FD8,4,0) setvalue(so+0x20,4,0) setvalue(so+0x64,4,0) setvalue(so+0x68,4,0) setvalue(so+0x78,4,0) setvalue(so+0x7C,4,0) setvalue(so+0x80,4,0) setvalue(so+0x88,4,0) setvalue(so+0xFC4,4,0) setvalue(so+0x104,4,0) setvalue(so+0x108,4,0) setvalue(so+0x118,4,0) setvalue(so+0x11C,4,0) setvalue(so+0x120,4,0) setvalue(so+0x2E40,4,0) setvalue(so+0x2E48,4,0) setvalue(so+0x2E50,4,0) setvalue(so+0x2E58,4,0) setvalue(so+0x2E60,4,0) setvalue(so+0x2E68,4,0) setvalue(so+0x2E70,4,0) setvalue(so+0x2E78,4,0) setvalue(so+0x2E80,4,0) setvalue(so+0x2E88,4,0) setvalue(so+0x2E90,4,0) setvalue(so+0x2E98,4,0) setvalue(so+0x2EA0,4,0) setvalue(so+0x2EA8,4,0) setvalue(so+0x2EB0,4,0) setvalue(so+0x2EB8,4,0) setvalue(so+0x2EC0,4,0) setvalue(so+0x2EC8,4,0) setvalue(so+0x2ED0,4,0) setvalue(so+0x2ED8,4,0) setvalue(so+0x2F40,4,0) setvalue(so+0x2F48,4,0) setvalue(so+0x2F50,4,0) setvalue(so+0x2F58,4,0) setvalue(so+0x2F60,4,0) setvalue(so+0x2F68,4,0) setvalue(so+0x2F70,4,0) setvalue(so+0x2F78,4,0) setvalue(so+0x2F80,4,0) setvalue(so+0x2F88,4,0) setvalue(so+0x2F90,4,0) setvalue(so+0x2F98,4,0) setvalue(so+0x2FA0,4,0) setvalue(so+0x2FA8,4,0) setvalue(so+0x2FB0,4,0) setvalue(so+0x2FB8,4,0) setvalue(so+0x2FC0,4,0) setvalue(so+0x2FC8,4,0) setvalue(so+0x2FD0,4,0) setvalue(so+0x2FD8,4,0) setvalue(so+0x1134,4,0) setvalue(so+0x12F4,4,0) setvalue(so+0x131C,4,0) setvalue(so+0x1368,4,0) setvalue(so+0x136C,4,0) setvalue(so+0x1370,4,0) setvalue(so+0x1378,4,0) setvalue(so+0x13B4,4,0) setvalue(so+0x13F8,4,0) setvalue(so+0x1444,4,0) setvalue(so+0x146C,4,0) setvalue(so+0x148C,4,0) setvalue(so+0x150C,4,0) setvalue(so+0x1518,4,0) setvalue(so+0x153C,4,0) setvalue(so+0x1574,4,0) setvalue(so+0x15BC,4,0) setvalue(so+0x1614,4,0) setvalue(so+0x1710,4,0) setvalue(so+0x1720,4,0) setvalue(so+0x1724,4,0) setvalue(so+0x1764,4,0) setvalue(so+0x1768,4,0) setvalue(so+0x17C8,4,0) setvalue(so+0x17E4,4,0) setvalue(so+0x17F0,4,0) setvalue(so+0x17F8,4,0) setvalue(so+0x18C8,4,0) setvalue(so+0x192C,4,0) setvalue(so+0x1934,4,0) setvalue(so+0x1940,4,0) setvalue(so+0x194C,4,0) setvalue(so+0x1950,4,0) setvalue(so+0x1954,4,0) setvalue(so+0x197C,4,0) setvalue(so+0x1984,4,0) setvalue(so+0x199C,4,0) setvalue(so+0x1A88,4,0) setvalue(so+0x1A8C,4,0) setvalue(so+0x1AA4,4,0) setvalue(so+0x1ABC,4,0) setvalue(so+0x1AC0,4,0) setvalue(so+0x1AD8,4,0) setvalue(so+0x1AE8,4,0) setvalue(so+0x1AF4,4,0) setvalue(so+0x1AF8,4,0) setvalue(so+0x1B00,4,0) setvalue(so+0x1B04,4,0) setvalue(so+0x1B30,4,0) setvalue(so+0x1B48,4,0) setvalue(so+0x1B58,4,0) setvalue(so+0x1B74,4,0) setvalue(so+0x1B84,4,0) setvalue(so+0x1B94,4,0) setvalue(so+0x1BD8,4,0) setvalue(so+0x1BDC,4,0) setvalue(so+0x1BE4,4,0) setvalue(so+0x1CD0,4,0) setvalue(so+0x1CF0,4,0) setvalue(so+0x1D08,4,0) setvalue(so+0x1D14,4,0) setvalue(so+0x1D40,4,0) setvalue(so+0x1DA8,4,0) setvalue(so+0x1DCC,4,0) setvalue(so+0x1EA8,4,0) setvalue(so+0x1EC4,4,0) setvalue(so+0x1ED8,4,0) setvalue(so+0x1EE0,4,0) setvalue(so+0x1EEC,4,0) setvalue(so+0x1EF0,4,0) setvalue(so+0x1F00,4,0) setvalue(so+0x1F50,4,0) setvalue(so+0x1F7C,4,0) setvalue(so+0x1F84,4,0) setvalue(so+0x1F90,4,0) setvalue(so+0x1FA0,4,0) setvalue(so+0x1FD0,4,0) setvalue(so+0x137C,4,0) setvalue(so+0x140C,4,0) setvalue(so+0x1674,4,0) setvalue(so+0x16C0,4,0) setvalue(so+0x1888,4,0) setvalue(so+0x1934,4,0) setvalue(so+0x1964,4,0) setvalue(so+0x1984,4,0) setvalue(so+0x1988,4,0) setvalue(so+0x1A24,4,0) setvalue(so+0x1AB8,4,0) setvalue(so+0x1AD8,4,0) setvalue(so+0x1B04,4,0) setvalue(so+0x1B34,4,0) setvalue(so+0x1B5C,4,0) setvalue(so+0x1B7C,4,0) setvalue(so+0x1DA4,4,0) setvalue(so+0x1DB8,4,0) setvalue(so+0x1E54,4,0) setvalue(so+0x1F20,4,0) setvalue(so+0x1FD8,4,0) setvalue(so+0x1600,4,0) setvalue(so+0x1608,4,0) setvalue(so+0x1610,4,0) setvalue(so+0x1628,4,0) setvalue(so+0x1630,4,0) setvalue(so+0x1640,4,0) setvalue(so+0x1648,4,0) setvalue(so+0x1650,4,0) setvalue(so+0x1690,4,0) setvalue(so+0x1698,4,0) setvalue(so+0x16A0,4,0) setvalue(so+0x16A8,4,0) setvalue(so+0x16B0,4,0) setvalue(so+0x16D0,4,0) setvalue(so+0x16D8,4,0) setvalue(so+0x16E0,4,0) setvalue(so+0x16E8,4,0) setvalue(so+0x16F0,4,0) setvalue(so+0x17B0,4,0) setvalue(so+0x17B8,4,0) setvalue(so+0x17C0,4,0) setvalue(so+0x17D8,4,0) setvalue(so+0x17E0,4,0) setvalue(so+0x17F0,4,0) setvalue(so+0x3800,4,0) setvalue(so+0x3808,4,0) setvalue(so+0x3810,4,0) setvalue(so+0x3830,4,0) setvalue(so+0x3838,4,0) setvalue(so+0x3840,4,0) setvalue(so+0x3850,4,0) setvalue(so+0x3860,4,0) setvalue(so+0x3868,4,0) setvalue(so+0x3870,4,0) setvalue(so+0x3880,4,0) setvalue(so+0x3890,4,0) setvalue(so+0x3898,4,0) setvalue(so+0x38A0,4,0) setvalue(so+0x3050,4,0) setvalue(so+0x3058,4,0) setvalue(so+0x3060,4,0) setvalue(so+0x3068,4,0) setvalue(so+0x3070,4,0) setvalue(so+0x3078,4,0) setvalue(so+0x3080,4,0) setvalue(so+0x3088,4,0) setvalue(so+0x3090,4,0) setvalue(so+0x3098,4,0) setvalue(so+0x30A0,4,0) setvalue(so+0x30A8,4,0) setvalue(so+0x30B0,4,0) setvalue(so+0x30B8,4,0) setvalue(so+0x30C0,4,0) setvalue(so+0x30C8,4,0) setvalue(so+0x30D0,4,0) setvalue(so+0x30D8,4,0) setvalue(so+0x3140,4,0) setvalue(so+0x3148,4,0) setvalue(so+0x3150,4,0) setvalue(so+0x3158,4,0) setvalue(so+0x3160,4,0) setvalue(so+0x3168,4,0) setvalue(so+0x3170,4,0) setvalue(so+0x3178,4,0) setvalue(so+0x3180,4,0) setvalue(so+0x3188,4,0) setvalue(so+0x3190,4,0) setvalue(so+0x3198,4,0) setvalue(so+0x31A0,4,0) setvalue(so+0x31A8,4,0) setvalue(so+0x31B0,4,0) setvalue(so+0x31B8,4,0) setvalue(so+0x31C0,4,0) setvalue(so+0x31C8,4,0) setvalue(so+0x31D0,4,0) setvalue(so+0x31D8,4,0) setvalue(so+0x3240,4,0) setvalue(so+0x3248,4,0) setvalue(so+0x3250,4,0) setvalue(so+0x3258,4,0) setvalue(so+0x3260,4,0) setvalue(so+0x3268,4,0) setvalue(so+0x3270,4,0) setvalue(so+0x3278,4,0) setvalue(so+0x3280,4,0) setvalue(so+0x3288,4,0) setvalue(so+0x3290,4,0) setvalue(so+0x3298,4,0) setvalue(so+0x32A0,4,0) setvalue(so+0x32A8,4,0) setvalue(so+0x32B0,4,0) setvalue(so+0x32B8,4,0) setvalue(so+0x32C0,4,0) setvalue(so+0x32C8,4,0) setvalue(so+0x32D0,4,0) setvalue(so+0x32D8,4,0) setvalue(so+0x3340,4,0) setvalue(so+0x3348,4,0) setvalue(so+0x3350,4,0) setvalue(so+0x3358,4,0) setvalue(so+0x3360,4,0) setvalue(so+0x3368,4,0) setvalue(so+0x3370,4,0) setvalue(so+0x3378,4,0) setvalue(so+0x3380,4,0) setvalue(so+0x3388,4,0) setvalue(so+0x3390,4,0) setvalue(so+0x3398,4,0) setvalue(so+0x33A0,4,0) setvalue(so+0x33A8,4,0) setvalue(so+0x33B0,4,0) setvalue(so+0x33B8,4,0) setvalue(so+0x33C0,4,0) setvalue(so+0x33C8,4,0) setvalue(so+0x33D0,4,0) setvalue(so+0x33D8,4,0) setvalue(so+0x3440,4,0) setvalue(so+0x3448,4,0) setvalue(so+0x3450,4,0) setvalue(so+0x3458,4,0) setvalue(so+0x3460,4,0) setvalue(so+0x3468,4,0) setvalue(so+0x3470,4,0) setvalue(so+0x3478,4,0) setvalue(so+0x3480,4,0) setvalue(so+0x3488,4,0) setvalue(so+0x3490,4,0) setvalue(so+0x3498,4,0) setvalue(so+0x34A0,4,0) setvalue(so+0x34A8,4,0) setvalue(so+0x34B0,4,0) setvalue(so+0x34C0,4,0) setvalue(so+0x34C8,4,0) setvalue(so+0x34D0,4,0) setvalue(so+0x34E0,4,0) setvalue(so+0x34E8,4,0) setvalue(so+0x34F0,4,0) setvalue(so+0x3500,4,0) setvalue(so+0x3508,4,0) setvalue(so+0x3510,4,0) setvalue(so+0x3520,4,0) setvalue(so+0x3528,4,0) setvalue(so+0x1530,4,0) so = gg.getRangesList('libApkPatchLibrary.so')[1].start setvalue(0x24,4,0) setvalue(0x2D4,4,0) setvalue(0x424,4,0) setvalue(0x544,4,0) setvalue(0x574,4,0) setvalue(0xA04,4,0) setvalue(0xA28,4,0) setvalue(0xA2C,4,0) setvalue(0xA40,4,0) setvalue(0xA4C,4,0) setvalue(0xA5C,4,0) setvalue(0xA6C,4,0) setvalue(0xAA0,4,0) setvalue(0xB38,4,0) setvalue(0xB44,4,0) setvalue(0xB58,4,0) setvalue(0xB64,4,0) setvalue(0xBAC,4,0) setvalue(0xBF0,4,0) setvalue(0xC00,4,0) setvalue(0xC04,4,0) setvalue(0xC08,4,0) setvalue(0xC0C,4,0) setvalue(0xC14,4,0) setvalue(0xC20,4,0) setvalue(0xC28,4,0) setvalue(0xC38,4,0) setvalue(0xC5C,4,0) setvalue(0xC6C,4,0) setvalue(0xC74,4,0) setvalue(0xCA8,4,0) setvalue(0xCB4,4,0) setvalue(0xCC0,4,0) setvalue(0xCCC,4,0) setvalue(0xCE8,4,0) setvalue(0xCFC,4,0) setvalue(0xD2C,4,0) setvalue(0xD34,4,0) setvalue(0xD3C,4,0) setvalue(0xD40,4,0) setvalue(0xD60,4,0) setvalue(0xDB0,4,0) setvalue(0xDF4,4,0) setvalue(0xDFC,4,0) setvalue(0xE04,4,0) setvalue(0xE10,4,0) setvalue(0xF74,4,0) setvalue(0xFE8,4,0) setvalue(0x464,4,0) setvalue(0x9EC,4,0) setvalue(0xA50,4,0) setvalue(0xAA0,4,0) setvalue(0xBC8,4,0) setvalue(0xC04,4,0) setvalue(0xD3C,4,0) setvalue(0xF74,4,0) setvalue(0xFFC,4,0) so = gg.getRangesList('libtprt.so')[1].start setvalue(0x14C,4,0) setvalue(0xC68,4,0) setvalue(0xC6C,4,0) setvalue(0xC94,4,0) setvalue(0xCC0,4,0) setvalue(0xD20,4,0) setvalue(0xD84,4,0) setvalue(0xD8C,4,0) setvalue(0xDF4,4,0) setvalue(0xE48,4,0) setvalue(0xF00,4,0) setvalue(0xFAC,4,0) setvalue(0x24,4,0) setvalue(0xB0C,4,0) setvalue(0xB38,4,0) setvalue(0xB88,4,0) setvalue(0xBB0,4,0) setvalue(0xBB8,4,0) setvalue(0xBBC,4,0) setvalue(0xBC8,4,0) setvalue(0xBD4,4,0) setvalue(0xBE4,4,0) setvalue(0xBEC,4,0) setvalue(0xC20,4,0) setvalue(0xC2C,4,0) setvalue(0xC30,4,0) setvalue(0xC78,4,0) setvalue(0xCD4,4,0) setvalue(0xCD8,4,0) setvalue(0xCE4,4,0) setvalue(0xCF8,4,0) setvalue(0xD1C,4,0) setvalue(0xD44,4,0) setvalue(0xD48,4,0) setvalue(0xD54,4,0) setvalue(0xD5C,4,0) setvalue(0xD78,4,0) setvalue(0xDA0,4,0) setvalue(0xDB4,4,0) setvalue(0xDB8,4,0) setvalue(0xDBC,4,0) setvalue(0xDD0,4,0) setvalue(0xE0C,4,0) setvalue(0xE14,4,0) setvalue(0xE20,4,0) setvalue(0xE30,4,0) setvalue(0xE38,4,0) setvalue(0xE3C,4,0) setvalue(0xE7C,4,0) setvalue(0xE90,4,0) setvalue(0xEC0,4,0) setvalue(0xEC4,4,0) setvalue(0xF10,4,0) setvalue(0xF58,4,0) setvalue(0xF7C,4,0) setvalue(0xF80,4,0) setvalue(0xF94,4,0) setvalue(0xF98,4,0) setvalue(0xF9C,4,0) setvalue(0xFA8,4,0) setvalue(0xFC0,4,0) setvalue(0xFF0,4,0) setvalue(0x104,4,0) setvalue(0x108,4,0) setvalue(0x1054,4,0) setvalue(0x105C,4,0) setvalue(0x1038,4,0) setvalue(0x1060,4,0) setvalue(0x1094,4,0) so = gg.getRangesList('libunity.so')[1].start setvalue(0x24,4,0) setvalue(0xBF4,4,0) setvalue(0xC34,4,0) setvalue(0xC44,4,0) setvalue(0xC64,4,0) setvalue(0xC94,4,0) setvalue(0x64,4,0) setvalue(0x68,4,0) setvalue(0xC54,4,0) setvalue(0x2004,4,0) setvalue(0x2138,4,0) setvalue(0x21DC,4,0) setvalue(0x21F8,4,0) setvalue(0x2244,4,0) setvalue(0x2248,4,0) setvalue(0x2254,4,0) setvalue(0x2258,4,0) setvalue(0x225C,4,0) setvalue(0x22A4,4,0) setvalue(0x22AC,4,0) setvalue(0x22B0,4,0) setvalue(0x22C0,4,0) setvalue(0x22E4,4,0) setvalue(0x22EC,4,0) setvalue(0x2318,4,0) setvalue(0x23E8,4,0) setvalue(0x240C,4,0) setvalue(0x2410,4,0) setvalue(0x2430,4,0) setvalue(0x2440,4,0) setvalue(0x24BC,4,0) setvalue(0x2500,4,0) setvalue(0x25EC,4,0) setvalue(0x2634,4,0) setvalue(0x268C,4,0) setvalue(0x26EC,4,0) setvalue(0x2700,4,0) setvalue(0x273C,4,0) setvalue(0x278C,4,0) setvalue(0x2790,4,0) setvalue(0x28F8,4,0) setvalue(0x2954,4,0) setvalue(0x299C,4,0) setvalue(0x2A30,4,0) setvalue(0x2A9C,4,0) setvalue(0x2ACC,4,0) setvalue(0x2AE4,4,0) setvalue(0x2B28,4,0) setvalue(0x2B5C,4,0) setvalue(0x2B84,4,0) setvalue(0x2C38,4,0) setvalue(0x2C74,4,0) setvalue(0x2C8C,4,0) setvalue(0x2CF0,4,0) setvalue(0x2CFC,4,0) setvalue(0x2EA0,4,0) setvalue(0x2EF0,4,0) setvalue(0x2F04,4,0) setvalue(0x2FA8,4,0) setvalue(0x2FB0,4,0) setvalue(0x2FE4,4,0) setvalue(0x2FE8,4,0) setvalue(0x2FF0,4,0) setvalue(0x3028,4,0) setvalue(0x3070,4,0) setvalue(0x30D4,4,0) setvalue(0x30EC,4,0) setvalue(0x30F8,4,0) setvalue(0x3110,4,0) setvalue(0x3370,4,0) setvalue(0x33C0,4,0) setvalue(0x33E0,4,0) setvalue(0x33F4,4,0) setvalue(0x33F8,4,0) setvalue(0x3404,4,0) setvalue(0x340C,4,0) setvalue(0x341C,4,0) setvalue(0x3420,4,0) setvalue(0x3448,4,0) setvalue(0x344C,4,0) setvalue(0x3458,4,0) setvalue(0x34B0,4,0) setvalue(0x34C8,4,0) setvalue(0x34CC,4,0) setvalue(0x34D0,4,0) setvalue(0x3530,4,0) setvalue(0x357C,4,0) setvalue(0x3580,4,0) setvalue(0x3598,4,0) setvalue(0x35C4,4,0) setvalue(0x35CC,4,0) setvalue(0x3600,4,0) setvalue(0x3620,4,0) setvalue(0x3790,4,0) setvalue(0x3840,4,0) setvalue(0x3844,4,0) setvalue(0x3860,4,0) setvalue(0x3864,4,0) setvalue(0x3880,4,0) setvalue(0x389C,4,0) setvalue(0x38A0,4,0) setvalue(0x38BC,4,0) setvalue(0x3910,4,0) setvalue(0x3A80,4,0) setvalue(0x3A84,4,0) setvalue(0x3AD0,4,0) setvalue(0x3AEC,4,0) setvalue(0x3B30,4,0) setvalue(0x3B44,4,0) setvalue(0x3BF4,4,0) setvalue(0x3C64,4,0) setvalue(0x3CB8,4,0) setvalue(0x3CD8,4,0) setvalue(0x3CDC,4,0) setvalue(0x3CE8,4,0) setvalue(0x3D04,4,0) setvalue(0x3D28,4,0) setvalue(0x3D34,4,0) setvalue(0x3D38,4,0) setvalue(0x3D48,4,0) setvalue(0x3D54,4,0) setvalue(0x3D58,4,0) setvalue(0x3D68,4,0) setvalue(0x3D70,4,0) setvalue(0x3DC4,4,0) setvalue(0x3F5C,4,0) setvalue(0x3F64,4,0) setvalue(0x3F8C,4,0) setvalue(0x3FD0,4,0) setvalue(0x3FD8,4,0) setvalue(0x3000,4,0) setvalue(0x3048,4,0) setvalue(0x3060,4,0) setvalue(0x312C,4,0) setvalue(0x3180,4,0) setvalue(0x31A0,4,0) setvalue(0x3240,4,0) setvalue(0x32B0,4,0) setvalue(0x32B8,4,0) setvalue(0x3354,4,0) setvalue(0x335C,4,0) setvalue(0x336C,4,0) setvalue(0x3394,4,0) setvalue(0x34D8,4,0) setvalue(0x3540,4,0) setvalue(0x3548,4,0) setvalue(0x357C,4,0) setvalue(0x36FC,4,0) setvalue(0x3740,4,0) setvalue(0x3750,4,0) setvalue(0x37A8,4,0) setvalue(0x37B0,4,0) setvalue(0x38A0,4,0) setvalue(0x38A8,4,0) setvalue(0x3904,4,0) setvalue(0x3A00,4,0) setvalue(0x3B18,4,0) setvalue(0x3B50,4,0) setvalue(0x3C3C,4,0) setvalue(0x3CE8,4,0) setvalue(0x3CEC,4,0) setvalue(0x3CFC,4,0) setvalue(0x3D1C,4,0) setvalue(0x3E9C,4,0) setvalue(0x3EA4,4,0) setvalue(0x3EB0,4,0) setvalue(0x3EF0,4,0) setvalue(0x3F28,4,0) setvalue(0x3F84,4,0) setvalue(0x3F88,4,0) setvalue(0x3F90,4,0) setvalue(0x3FA0,4,0) setvalue(0x3FA4,4,0) setvalue(0x3FA8,4,0) setvalue(0x3FAC,4,0) setvalue(0x3FBC,4,0) setvalue(0x3FC0,4,0) setvalue(0x3FC8,4,0) setvalue(0x1FD0,4,0) gg.alert("成功") end), button('大厅', function() local Table,Table2,Table3 = {'libbrms.so',},{'Xa',},{{0x145B54,0x145B60,0x145B64,0x145B68,0x145B70,0x145B78,0x145B7C,0x145B84,0x145B94,0x145B98,0x145B9C,0x145BAC,0x145BB0,0x145BC0,0x145BC4,0x145BC8,0x145BDC,0x145BE8,0x145BF4,0x145BFC,0x145C00,0x145C04,0x145C08,0x145C10,0x145C18,0x145C20,0x145C24,0x145C28,0x145C2C,0x145C34,0x145C4C,0x145C50,0x145C54,0x145C58,0x145C60,0x145C64,0x145C6C,0x145C74,0x145C80,0x145C88,0x145C8C,0x145C9C,0x145CA8,0x145CB0,0x145CB4,0x145CC0,0x145CCC,0x145CD0,0x145CD4,0x145CDC,0x145CE4,0x145CF0,0x145CF8,0x145CFC,0x145D04,0x145D08,0x145D10,0x145D18,0x145D20,},} local L0_02,L0_03 = {},{} local r = gg.getRangesList('.so') for k,v in pairs(Table) do for kk, vv in pairs(r) do if v == vv.internalName:gsub('^.*/', '') and Table2[1] == vv.state then for i = 1, #Table3[k] do L0_02[#L0_02+1] = vv.start + Table3[k][i] end break end end end for k=1,#L0_02 do L0_03[#L0_03+1] = { ['address'] = L0_02[k], ['flags'] = 4, ['value'] = 0, ['freeze'] = true } end gg.addListItems(L0_03) gg.toast('开启成功') end), button('防高风险[登录]', function() so=gg.getRangesList('libUE4.so')[1].start setvalue(so + "0x66EC384 ", 4, "h 00 00 80 D2 C0 03 5F D6") gg.alert("开启成功") end), button("a内存防封", function() qmnb = { {["memory"] = 32}, {["name"] = "a内存防"}, {["value"] = 17563649, ["type"] = 4}, {["lv"] = 17563649, ["offset"] = 192, ["type"] = 4}, {["lv"] = 17563649, ["offset"] = 384, ["type"] = 4}, {["lv"] = 17563649, ["offset"] = 576, ["type"] = 4}, {["lv"] = 17694721, ["offset"] = 12320, ["type"] = 4}, {["lv"] = 17694721, ["offset"] = 12608, ["type"] = 4}, {["lv"] = 17694721, ["offset"] = 12832, ["type"] = 4}, {["lv"] = 17891329, ["offset"] = 12992, ["type"] = 4}, {["lv"] = 17891329, ["offset"] = 13280, ["type"] = 4}, {["lv"] = 17891329, ["offset"] = 13568, ["type"] = 4}, {["lv"] = 18087937, ["offset"] = 13824, ["type"] = 4}, } qmxg = { {["value"] = 0, ["offset"] = 0, ["type"] = 4, ["freeze"] = true}, {["value"] = 0, ["offset"] = 192, ["type"] = 4, ["freeze"] = true}, {["value"] = 0, ["offset"] = 384, ["type"] = 4, ["freeze"] = true}, {["value"] = 0, ["offset"] = 576, ["type"] = 4, ["freeze"] = true}, {["value"] = 0, ["offset"] = 768, ["type"] = 4, ["freeze"] = true}, {["value"] = 0, ["offset"] = 12608, ["type"] = 4, ["freeze"] = true}, {["value"] = 0, ["offset"] = 12832, ["type"] = 4, ["freeze"] = true}, {["value"] = 0, ["offset"] = 12992, ["type"] = 4, ["freeze"] = true}, {["value"] = 0, ["offset"] = 13280, ["type"] = 4, ["freeze"] = true}, {["value"] = 0, ["offset"] = 13568, ["type"] = 4, ["freeze"] = true}, {["value"] = 0, ["offset"] = 13824, ["type"] = 4, ["freeze"] = true}, } xqmnb(qmnb) end), button('顶尖防封', function() local qmnb= { {['memory']=8}, {['name']='逃跑过检测'}, {['value']=234881024, ['type']=4}, {['lv']=1478430208,['offset']=24, ['type']=4}, {['lv']=1565934162,['offset']=32, ['type']=4}, } local qmxg= { {['value']=8320,['offset']=44,['type']=4}, {['value']=8320,['offset']=216,['type']=4}, {['value']=8320,['offset']=4356,['type']=4}, } xqmnb(qmnb,qmxg) local qmnb= { {['memory']=8}, {['name']='逃跑过检测'}, {['value']=-1918738857, ['type']=4}, {['lv']=1498003603,['offset']=24, ['type']=4}, {['lv']=1057784729,['offset']=264, ['type']=4}, } local qmxg= { {['value']=1883,['offset']=-5300,['type']=4}, {['value']=1883,['offset']=-5296,['type']=4}, {['value']=1883,['offset']=-5264,['type']=4}, {['value']=1883,['offset']=-5256,['type']=4}, {['value']=1883,['offset']=-5164,['type']=4}, {['value']=1883,['offset']=-4808,['type']=4}, {['value']=1883,['offset']=-4804,['type']=4}, {['value']=1883,['offset']=-4800,['type']=4}, {['value']=1883,['offset']=-4796,['type']=4}, {['value']=1883,['offset']=-4276,['type']=4}, {['value']=1883,['offset']=-2052,['type']=4}, {['value']=1883,['offset']=-2048,['type']=4}, {['value']=1883,['offset']=-1160,['type']=4}, {['value']=1883,['offset']=-988,['type']=4}, {['value']=1883,['offset']=0,['type']=4}, {['value']=1883,['offset']=24,['type']=4}, {['value']=1883,['offset']=44,['type']=4}, {['value']=1883,['offset']=68,['type']=4}, {['value']=1883,['offset']=80,['type']=4}, {['value']=1883,['offset']=92,['type']=4}, {['value']=1883,['offset']=104,['type']=4}, {['value']=1883,['offset']=116,['type']=4}, {['value']=1883,['offset']=128,['type']=4}, {['value']=1883,['offset']=140,['type']=4}, {['value']=1883,['offset']=152,['type']=4}, {['value']=1883,['offset']=164,['type']=4}, {['value']=1883,['offset']=176,['type']=4}, {['value']=1883,['offset']=188,['type']=4}, {['value']=1883,['offset']=212,['type']=4}, {['value']=1883,['offset']=260,['type']=4}, {['value']=1883,['offset']=264,['type']=4}, {['value']=1883,['offset']=284,['type']=4}, {['value']=1883,['offset']=288,['type']=4}, {['value']=1883,['offset']=296,['type']=4}, {['value']=1883,['offset']=308,['type']=4}, {['value']=1883,['offset']=320,['type']=4}, {['value']=1883,['offset']=332,['type']=4}, {['value']=1883,['offset']=344,['type']=4}, {['value']=1883,['offset']=356,['type']=4}, {['value']=1883,['offset']=368,['type']=4}, {['value']=1883,['offset']=380,['type']=4}, {['value']=1883,['offset']=392,['type']=4}, {['value']=1883,['offset']=404,['type']=4}, {['value']=1883,['offset']=428,['type']=4}, {['value']=1883,['offset']=452,['type']=4}, {['value']=1883,['offset']=476,['type']=4}, {['value']=1883,['offset']=500,['type']=4}, {['value']=1883,['offset']=524,['type']=4}, {['value']=1883,['offset']=548,['type']=4}, {['value']=1883,['offset']=620,['type']=4}, {['value']=1883,['offset']=644,['type']=4}, {['value']=1883,['offset']=668,['type']=4}, {['value']=1883,['offset']=680,['type']=4}, {['value']=1883,['offset']=1040,['type']=4}, {['value']=1883,['offset']=1056,['type']=4}, {['value']=1883,['offset']=1148,['type']=4}, {['value']=1883,['offset']=1172,['type']=4}, {['value']=1883,['offset']=1328,['type']=4}, {['value']=1883,['offset']=1352,['type']=4}, {['value']=1883,['offset']=1376,['type']=4}, {['value']=1883,['offset']=1400,['type']=4}, {['value']=1883,['offset']=1416,['type']=4}, {['value']=1883,['offset']=1580,['type']=4}, {['value']=1883,['offset']=1604,['type']=4}, {['value']=1883,['offset']=1700,['type']=4}, {['value']=1883,['offset']=1768,['type']=4}, {['value']=1883,['offset']=1792,['type']=4}, {['value']=1883,['offset']=1800,['type']=4}, {['value']=1883,['offset']=1816,['type']=4}, {['value']=1883,['offset']=1840,['type']=4}, {['value']=1883,['offset']=1848,['type']=4}, {['value']=1883,['offset']=1864,['type']=4}, {['value']=1883,['offset']=1968,['type']=4}, {['value']=1883,['offset']=2096,['type']=4}, {['value']=1883,['offset']=2116,['type']=4}, {['value']=1883,['offset']=2128,['type']=4}, {['value']=1883,['offset']=2136,['type']=4}, {['value']=1883,['offset']=2152,['type']=4}, {['value']=1883,['offset']=2176,['type']=4}, {['value']=1883,['offset']=2200,['type']=4}, {['value']=1883,['offset']=2224,['type']=4}, {['value']=1883,['offset']=2232,['type']=4}, {['value']=1883,['offset']=2336,['type']=4}, {['value']=1883,['offset']=2360,['type']=4}, {['value']=1883,['offset']=2384,['type']=4}, {['value']=1883,['offset']=2660,['type']=4}, {['value']=1883,['offset']=2684,['type']=4}, {['value']=1883,['offset']=2708,['type']=4}, {['value']=1883,['offset']=2732,['type']=4}, {['value']=1883,['offset']=2756,['type']=4}, {['value']=1883,['offset']=2776,['type']=4}, {['value']=1883,['offset']=2800,['type']=4}, {['value']=1883,['offset']=2824,['type']=4}, {['value']=1883,['offset']=2848,['type']=4}, {['value']=1883,['offset']=3320,['type']=4}, {['value']=1883,['offset']=3344,['type']=4}, {['value']=1883,['offset']=3572,['type']=4}, {['value']=1883,['offset']=3596,['type']=4}, {['value']=1883,['offset']=3620,['type']=4}, {['value']=1883,['offset']=3644,['type']=4}, {['value']=1883,['offset']=3668,['type']=4}, {['value']=1883,['offset']=3692,['type']=4}, {['value']=1883,['offset']=3716,['type']=4}, {['value']=1883,['offset']=6506980,['type']=4}, } xqmnb(qmnb,qmxg) end), button('全防', function() gg.setRanges(4) gg.searchNumber("3042160", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(99999, nil, nil, nil, nil, nil, nil, nil, nil) local t = gg.getResults(99999, nil, nil, nil, nil, nil, nil, nil, nil) for i, v in ipairs(t) do if v.flags == gg.TYPE_DWORD then v.value = "-1400017232" v.freeze = true end end gg.addListItems(t) t = nil gg.clearResults() gg.setRanges(4) gg.searchNumber("1599227979", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(99999, nil, nil, nil, nil, nil, nil, nil, nil) local t = gg.getResults(99999, nil, nil, nil, nil, nil, nil, nil, nil) for i, v in ipairs(t) do if v.flags == gg.TYPE_DWORD then v.value = "-292136832" v.freeze = true end end gg.addListItems(t) t = nil gg.clearResults() gg.setRanges(4) gg.searchNumber("1,987,539,786", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 0}}) end gg.toast("进度15%") gg.clearResults() gg.clearResults() gg.setRanges(4) gg.searchNumber("1,398,036,289", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 0}}) end gg.toast("进度30%") gg.clearResults() gg.clearResults() gg.setRanges(4) gg.searchNumber("1,631,207,205", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 0}}) end gg.toast("进度55%") gg.clearResults() gg.clearResults() gg.setRanges(4) gg.searchNumber("574,169,904", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 0}}) end gg.toast("进度60%") gg.clearResults() gg.clearResults() gg.setRanges(4) gg.searchNumber("1,629,954,853", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 0}}) end gg.toast("进度65%") gg.clearResults() gg.clearResults() gg.setRanges(4) gg.searchNumber("1,463,904,086", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 0}}) end gg.toast("进度70%") gg.clearResults() gg.clearResults() gg.setRanges(4) gg.searchNumber("639,645,488", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 0}}) end gg.toast("进度85%") gg.clearResults() gg.clearResults() gg.setRanges(4) gg.searchNumber("588,650,008", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 0}}) end gg.toast("进度90%") gg.clearResults() gg.clearResults() gg.setRanges(4) gg.searchNumber("959,784,737", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 0}}) end gg.toast("进度100%") gg.clearResults() gg.clearResults() gg.searchAddress("842,084,353", -1, gg.TYPE_DWORD, gg.SIGN_EQUAL, 0, -1) gg.getResults(1) gg.editAll("842,084,353", gg.TYPE_DWORD) gg.toast("一套全防开启成功") end), button("断开服务器", function() qc=gg.alert("登录注入防封","开启","关闭") if qc==1 then fastsearch({{69068812,4,16384},{69068728,4,4},{-382908368,8,4},{-494030840,12,4}},{{-476053503,8,4},{-516948194,12,4}},'服务器断开') end if qc==2 then fastsearch({{69068812,4,16384},{69068728,4,4},{-476053503,8,4},{-516948194,12,4}},{{-382908368,8,4},{-494030840,12,4}},'服务器断开') end end), button("清理追封", function() gg.alert("必须在大厅开启") gg.toast("获取文件中") gg.searchNumber("131,072;65536;65536;917504;131,072", gg["TYPE_DWORD"], false, gg["SIGN_EQUAL"], 0, -1) gg.setRanges(32) gg.sleep(1500) gg.toast("获取成功,文件名为game_log.txt") os.remove("/storage/emulated/0/Android/data/com.bairimeng.dmmdzz.m4399/files/VirtualUniqueDeviceID.txt") gg.sleep(800) gg.toast("删除封号残留文件成功") gg.sleep(500) gg.toast("获取追封文件中") gg.searchNumber("131,072;65536;65536;917504;131,072", gg["TYPE_DWORD"], false, gg["SIGN_EQUAL"], 0, -1) gg.setRanges(32) os.remove("/storage/emulated/0/Android/data/com.bairimeng.dmmdzz.m4399") gg.toast("获取成功,已删除追封文件") gg.clearResults() gg.setRanges(32) gg.searchNumber("131,072;65536;65536;917504;131,072", gg["TYPE_DWORD"], false, gg["SIGN_EQUAL"], 0, -1) gg.searchNumber("65536", gg["TYPE_DWORD"], false, gg["SIGN_EQUAL"], 0, -1) jg=gg.getResults(100) sl=gg.getResultCount() if sl>100 then sl=100 end for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg["TYPE_DWORD"],freeze = true,value = 0}}) end gg.toast("清理防追封成功") end), button("局内防封", function() gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('926,154,804;1,835,401,264;131,072;65,537;131,072;65,537;196,608;1,120,403,456;1,751,654,912;1,065,353,216;1,065,353,216;1,065,353,216;1,065,353,216;1,120,403,456;1,239,753,728;2,143,289,344;1,175,331,332;1,065,353,216;1,065,353,216;1,065,353,216;637,543,424;1,132,396,544;654,321,152;1,119,692,032;1,118,775,040;1,116,480,000;1,116,480,000:6429',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('926,154,804;1,835,401,264;131,072;65,537;131,072;65,537;196,608;1,120,403,456;1,751,654,912;1,065,353,216;1,065,353,216;1,065,353,216;1,065,353,216;1,120,403,456;1,239,753,728;2,143,289,344;1,175,331,332;1,065,353,216;1,065,353,216;1,065,353,216;637,543,424;1,132,396,544;654,321,152;1,119,692,032;1,118,775,040;1,116,480,000;1,116,480,000',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) jg=gg.getResults(100) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 0,}}) end gg.toast("开启成功") end), button('大厅注入防', function() local addr = readPointer("libunity.so", {3108}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3044}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3052}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3180}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3684}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3140}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3188}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3092}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3068}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3084}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3172}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3164}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3060}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3204}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3156}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3100}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3212}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3228}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3124}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3220}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3148}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3076}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3132}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3116}, 1) gg.edits(addr, {{-1, 4, 0, true}}) local addr = readPointer("libunity.so", {3196}, 1) gg.edits(addr, {{-1, 4, 0, true}}) gg.toast(" ") gg.clearResults() gg.setRanges(16384) gg.searchNumber("01035230h;00120021h;010351C0h", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(9999, nil, nil, nil, nil, nil, nil, nil, nil) local t = gg.getResults(9999, nil, nil, nil, nil, nil, nil, nil, nil) for i, v in ipairs(t) do if v.flags == gg.TYPE_DWORD then v.value = "0" -- v.value = "这里是修改值" v.freeze = true end end gg.addListItems(t) t = nil gg.toast(" ") gg.clearResults() gg.setRanges(16384) gg.searchNumber("6E6F6365h", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(9999, nil, nil, nil, nil, nil, nil, nil, nil) local t = gg.getResults(9999, nil, nil, nil, nil, nil, nil, nil, nil) for i, v in ipairs(t) do if v.flags == gg.TYPE_DWORD then v.value = "0" -- v.value = "这里是修改值" v.freeze = true end end gg.addListItems(t) t = nil gg.toast("") gg.clearResults() gg.setRanges(16384) gg.searchNumber("6E6F6365h;54007364h;76206568h", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(9999, nil, nil, nil, nil, nil, nil, nil, nil) local t = gg.getResults(9999, nil, nil, nil, nil, nil, nil, nil, nil) for i, v in ipairs(t) do if v.flags == gg.TYPE_DWORD then v.value = "0" -- v.value = "这里是修改值" v.freeze = true end end end), button('屏蔽检测{大厅局内}', function() gg.toast("开始杀检测") gg.searchNumber("131,072;65536;65536;917504;131,072", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.setRanges(32) gg.sleep(1500) gg.toast("系统检测数据105") os.remove("/storage/emulated/0/Android/data/com.bfire.da.xinh/gameplugins/"..ac.."/files/VirtualUniqueDeviceID.txt") gg.sleep(800) gg.toast(" ") gg.sleep(500) gg.toast(" ") gg.searchNumber("131,072;65536;65536;917504;131,072", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.setRanges(32) os.remove("/storage/emulated/0/Android/data/com.bfire.da.xinh/gameplugins/"..ac.."") gg.toast("成功通杀检测") gg.alert('开启成功') end), }, --到此为止 ------------------------------------ --UI2 { text("角色区域","#FF2A3F","20sp"), switch("魔术进化", function() local tb1= { {17.0,16,0}, {50,4,-116}, {2.2420775429197073E-44,16,-52}, {20.0,16,-4}, } local tb2= { {0,4,-176}, {0,4,-172}, {0,4,-132}, {3000,4,-116}, {1500,4,-104}, } SearchWrite(tb1,tb2,dataType) fastsearch({{55.0, 16, 32}, {65.0, 4, 16}, {75.0, 8, 16}, {100.0, 12, 16}}, {{9999, 0, 16, false}, {9999, 4, 16, false}, {9999, 8, 16, false}, {9999, 12, 16, false}}) gg.toast("木偶持续时间") end), button("艾可数量", function() fastsearch({ {-934560717,4,32}, {1581114487,0x4,4}, {0,0x8,4}, {3,0xC,4}, {-1,0x28,4}, },{ {9999,-0x28,4}, {10509,140,4}, },"艾可数量") end, function() end), button("战斗少女一套", function() local xt=gg.prompt({"艾克技能范围"}, {[1] = 2.5}) local xt1=gg.prompt({"艾克技能伤害"}, {[1] = 50}) xtnb({{false,5.647232811229013E-43,4,16,nil,nil},{3.5,8,16},{0.125,24,16},{0.20000000298023224,28,16},{4.0,32,16}},{{xt[1],0,16,false},{xt1[1],12,16,false}},16,32,"艾克技能伤害+范围") local xt=gg.prompt({"艾克技能释放范围"}, {[1] = 6}, {[1] = "text"}) end), button("艾可进化2", function() function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("Not Found") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("修改成功, 共修改" .. (#tb[1] + #tb[2]) .. "条结果") else gg.toast("Not Found") end end end fastsearch({{-934560717,4,32},{1581114487,4,4}},{{0,-40,4},{0,12,4},{0,240,16,true}}) end), button("艾可进化", function() gg.clearResults() gg.setRanges(262207) gg.searchNumber("1", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("2", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("999", gg.TYPE_DWORD) gg.toast("修改成功") gg.clearResults() end, function() end), button("云朵吸人", function() readWrite({{false,40.0,352,16,nil,nil},{5.0,364,16},{16.0,368,16}},{{0,0,16,false},{0,4,16,false},{1.39989717e-42,120,16,false},{0,124,16,false},{0,128,16,false},{1314520,324,16,false}},16,32,"云朵吸人") end), button("奥博技能范围", function() gg.clearResults() gg.setRanges(32) gg.searchNumber("0.5;1.0;3.0;0.30000001192;3.79999995232;2.5;0.5;0.5;0.5::", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("3", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("160", gg.TYPE_FLOAT) gg.toast("汽车人技能全图闪电") gg.clearResults() end), switch('梦魇进化', function() fastsearch({{150.0, 16, 32}, {135.0, 4, 16}, {120.0, 8, 16}, {100.0, 12, 16}}, {{1, 0, 16, false}, {1, 4, 16, false}, {1, 8, 16, false}, {1, 12, 16, false}})--泡泡技能钱数 fastsearch({{3.0, 16, 32}, {4.0, 4, 16}, {5.0, 8, 16}, {7.0, 12, 16}}, {{999, 0, 16, false}, {999, 4, 16, false}, {999, 8, 16, false}, {999, 12, 16, false}})--梦魇吴迪持续时间 fastsearch({{5.0, 16, 32}, {10.0, 4, 16}, {15.0, 8, 16}, {20.0, 12, 16}}, {{999, 0, 16, false}, {999, 4, 16, false}, {999, 8, 16, false}, {999, 12, 16, false}})--梦魇泡泡伤害 end), switch("茶郎范围", function() qmnb = { {["memory"] = 32}, {["name"] = "茶气郎范围"}, {["value"] = 1082130431, ["type"] = 4}, {["lv"] = 2147483052, ["offset"] = -12, ["type"] = 4}, {["lv"] = 1090519039, ["offset"] = 16, ["type"] = 4}, } qmxg = { {["value"] = 0.00001, ["offset"] = 84, ["type"] = 16}, } xqmnb(qmnb) end), switch('茶郎进化', function() fastsearch({{-934560717,4,32},{1581114487,0x4,4},{-1,0x28,4},},{{9999,436,16}}) end), switch('火箭筒美化', function() local I6=gg.prompt({"——————火箭筒皮肤——————\n初始:500010\n青鸟M2:600076\n丛林迷彩:600081\n雷神:600016\n火焰龙头鲨:600286\n焰:600011\n梦想鲤鱼王:600441\n猎枪:600736\n猎枪-噬火:650241\n无垠星能:600816\n夜骑士:601266\n蒸汽火车:601401\n蒸汽火车-童话:650521\n迪迦之力:601491\n流星彩虹:601946\n流星彩虹-桃桃:650701\n烈焰龙魂:602046\n烈焰龙魂-龙啸:650756\n\n输入要改的皮肤↓"},{[1] = 600816}) if I6==nil then ID9() end fastsearch({{500010,4,32},},{{I6[1],0,4,false}}) fastsearch({{500011,4,32},},{{I6[1],0,4,false}}) fastsearch({{500012,4,32},},{{I6[1],0,4,false}},"火箭筒美化") end), switch("疾跑美化", function() gg.clearResults() gg.setRanges(32) gg.searchNumber("500001", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("500001", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) fw= gg.prompt({i='4级\n600051\n7级\n600056\n10级\n600061\n13级\n600066\n秋枫\n600661\n蝙蝠\n600761\n心之痕\n600981\n蜜蜂\n601126\n彩带\n601181\n青龙\n601211\n蝶舞\n601681'}, {i='0'}) gg.editAll(fw["i"], gg.TYPE_DWORD) gg.toast("修改成功") gg.clearResults() end), switch("医疗箱美化", function() gg.clearResults() gg.setRanges(32) gg.searchNumber("500005", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("500005", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) fw= gg.prompt({i='网红同款:600086\nDMM彩豆蛋糕:600091\n自制爱心便当:600096\n圣光之箱:600271\n外卖盒:600366\n月饼盒:600411\n新春礼盒600486\n春日野菜篮600516\nDMM掌机:600966\nD胜客披萨:600996\n3周年蛋糕:601271\n千星攻略:600576'}, {i='0'}) gg.editAll(fw["i"], gg.TYPE_DWORD) gg.toast("修改成功") gg.clearResults() end), switch("手榴弹美化", function() gg.clearResults() gg.setRanges(32) gg.searchNumber("500004", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("500004", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) fw= gg.prompt({i='新款:600071\n大棵菠萝:600041\n小猪储钱罐:600046\n氪金石脉冲弹:600226\n粽子:600336\n2019新春爆竹:600221\n圣诞雪球:600196\n单但瓦斯600521\n幸福捧花600576\n量子星星600756\n棉花枕头600781\n星能源石600906\n娃娃闹钟600931\n萌萌河豚601201\n金币爆弹601276'}, {i='0'}) gg.editAll(fw["i"], gg.TYPE_DWORD) gg.toast("修改成功") gg.clearResults() end), switch("跳高美化", function() gg.clearResults() gg.setRanges(32) gg.searchNumber("500006", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("500006", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) fw= gg.prompt({i='活泼:600101\n花式跑酷:600106\n恶搞之舞:600111\n完美空翻:600116'}, {i='0'}) gg.editAll(fw["i"], gg.TYPE_DWORD) gg.toast("修改成功") gg.clearResults() end), switch("皮卡美化", function() gg.clearResults() gg.setRanges(32) gg.searchNumber("500002", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("500002", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) fw= gg.prompt({i='热销款:600121\n购物车:600001\n摇滚小黄鸭:600006\nDMM-R超跑:600231\n星猪骑士:600266\n幻影流星跑车600416\n皇家马车600466\n3周年皮肤601286\n浪漫花车:600561\n浪漫花车[梦幻]:650071\n小花喵:600776\n小花喵[噶呜]650251\n驯鹿礼物车:600851\n方程式赛车:600971\n夏洛克车:601486\n德拉木巡逻车:650581\n摇滚小黄鸭[甜心]:650061'}, {i='0'}) gg.editAll(fw["i"], gg.TYPE_DWORD) gg.toast("修改成功") gg.clearResults() end), switch("酒桶美化", function() gg.clearResults() gg.setRanges(32) gg.searchNumber("500400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("500400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) fw= gg.prompt({i='白橡木:600126\n陈年老坛酒:600131\n女巫的魔药:600136\n幻想伏特加:600311\n超能水600371\n烟花桶600391\n冰镇鸡尾酒600451\n爆米花:600791\n爆米花[草莓]:650281\n乌贼:601071\n像素炼药锅:601236\n腰鼓:601356\n压力罐:601411\n压力罐[危险品]\n考拉滚滚:601436\n晶源之星:601691'}, {i='0'}) gg.editAll(fw["i"], gg.TYPE_DWORD) gg.toast("修改成功") gg.clearResults() end), switch("自走球美化", function() gg.clearResults() gg.setRanges(32) gg.searchNumber("500700", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("500700", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) fw= gg.prompt({i='环保款:600301\n光能双环:600306\n魔力紫球:600316\n闪闪飞轮:600321\n风火轮600476\n蝴蝶泡泡:600566\n蝴蝶泡泡[甜心]:650081\n星能时计:600811\n水流术:601066\n庆典彩球:601226\n小鸡扭蛋:601311\n小鸡扭蛋[成年]:650491'}, {i='0'}) gg.editAll(fw["i"], gg.TYPE_DWORD) gg.toast("修改成功") gg.clearResults() end ), switch("阻挡箱美化", function() gg.clearResults() gg.setRanges(32) gg.searchNumber("500008", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("500008", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) fw= gg.prompt({i='DMM快递箱:600141\n老式游戏机:600026\n熊猫表情包:600021\n真龙之印:600281\n2019元旦快乐:600201\n周年蛋糕:600386\n快乐豆娃:600401\n未来音箱:600406\n大冰块:600456\n聚能魔方601366'}, {i='0'}) gg.editAll(fw["i"], gg.TYPE_DWORD) gg.toast("修改成功") gg.clearResults() end), switch("飞爪美化", function() gg.clearResults() gg.setRanges(32) gg.searchNumber("500500", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("500500", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) fw= gg.prompt({i='科技款:600151\n马桶抽:600156\n超凡蜘蛛网:600161\n神龙金爪:600276\n食人花:600341\n猫抓冰棒:600446\n量子飞爪600531\n量子飞爪风格650021\n布谷鸟:600716\n布谷鸟[桃粉]:650221\n星握:601386\n深海船锚:601186\n深海船锚[镀金]:650421\n捷德之爪:601466\n鲨鱼咬咬:601551'}, {i='0'}) gg.editAll(fw["i"], gg.TYPE_DWORD) gg.toast("修改成功") gg.clearResults() end), }, -------------------------------------- --UI3 { text("娱乐区域","#FF55AAFF","20sp"), switch("人物悬浮", function() gg.clearResults() gg.setRanges(16384) gg.searchNumber("6.16297729e-33;0.07999999821:13", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("0.07999999821", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("10", gg.TYPE_FLOAT) gg.clearResults() end, function() end), switch("疾跑改无敌", function() qmnb = { {["memory"] = 32}, {["name"] = "疾跑改无敌"}, {["value"] = 106147, ["type"] = 4}, {["lv"] = 6750208, ["offset"] = 4, ["type"] = 4}, {["lv"] = 0, ["offset"] = 8, ["type"] = 4}, {["lv"] = -65536, ["offset"] = 12, ["type"] = 4}, {["lv"] = 65535, ["offset"] = 16, ["type"] = 4}, {["lv"] = -65536, ["offset"] = 20, ["type"] = 4}, } qmxg = { {["value"] = 19660800, ["offset"] = 4, ["type"] = 4}, } xqmnb(qmnb) end), button("秒上白银", function() --方法名:public Single get_GameTime() { } BaseAddressD(0xBD54D0,'-482082000') BaseAddressD(0x16C6C98,'-476053496') BaseAddressY(0x1FD5744,'-369094356') BaseAddressY(0xBE9854,'-369092481') toMusic("秒上白银成功") end), button("子弹数量", function() function gotoPointer(addr) return gg.getValues({{address=addr, flags=4}})[1].value & 0xFFFFFFFF end a = function(Address, length, useChineseLoad) local jump = 0 local chars, char = {}, { address = Address, flags = gg.TYPE_BYTE } if not length then repeat local _nextchar, _2nextchar _char = gg.getValues({char})[1].value if (useChineseLoad) then if (_char > -28 and _char < -23) then _nextchar = gg.getValues({{address = char.address + 0x1, flags=gg.TYPE_BYTE}})[1].value if (_nextchar > -128 and _nextchar < -65) then _2nextchar = gg.getValues({{address = char.address + 0x2, flags=gg.TYPE_BYTE}})[1].value jump = 3 chars[#chars + 1] = string.char(_char & 0xFF, _nextchar & 0xFF, _2nextchar & 0xFF) end end end if (jump > 0) then jump = jump - 1 goto continue end chars[#chars + 1] = string.char(_char & 0xFF) ::continue:: char.address = char.address + 0x1 until _char == 0 return table.concat(chars, "", 1, #chars - 1), char.address else for i = 1, length do local _nextchar, _2nextchar local _char = gg.getValues({char})[1].value if (useChineseLoad) then if (_char > -28 and _char < -23) then _nextchar = gg.getValues({address = char.address + 0x1, flags=gg.TYPE_BYTE}) if (_nextchar > -128 and _nextchar < -65) then _2nextchar = gg.getValues({address = char.address + 0x2, flags=gg.TYPE_BYTE}) jump = 3 chars[i] = utf8.char(_char & 0xFF, _nextchar & 0xFF, _2nextchar & 0xFF) end end end if (jump > 0) then jump = jump - 1 goto continue end chars[i] = utf8.char(_char & 0xFF) ::continue:: char.address = char.address + 0x1 end return table.concat(chars), char.address end end function classSearch(className, offset) gg.clearResults() gg.setRanges(gg.REGION_OTHER | gg.REGION_C_ALLOC) gg.searchNumber("Q 00 '" .. className .. "' 00", gg.TYPE_BYTE) if (gg.getResultsCount() == 0) then print('没有发现类\n请确认是否初始化') end gg.searchPointer(0) gg.setRanges(32) local object = {} for k, v in pairs(gg.getResults(gg.getResultsCount())) do if (a(gotoPointer(gotoPointer(v.address - 8))):match(string.char(46, 100, 108, 108))) then v.address = v.address - 8 object[1] = v gg.loadResults(object) break end end gg.searchPointer(0) gg.searchPointer(0) local item = gg.getResults(gg.getResultsCount()) for k, v in pairs(item) do v.address = gotoPointer(v.address) + offset end return item end function editerObject(valObject, editerVal) for k, v in pairs(valObject) do v.value = editerVal[1] v.flags = editerVal[2] v.freeze = editerVal[3] end gg.setValues(valObject) gg.toast('开启成功\n共修改: ' .. gg.getResultsCount() .. '个结果') gg.clearResults() end --星宿 --交流群:468353868 field = classSearch("WcmASjYxcqayAcOGWBN", 0x80) editerObject(field, {300, 4, true}) end), button("无间隔", function() fastsearch({ {0.05000000074505806,16,32}, {1067869798,-52,4}, {1067869798,-56,4}, {2.5,320,16}, },{ {0,324,4}, },"无间隔") end), button("换弹夹速度", function() field = classSearch("WcmASjYxcqayAcOGWBN", 0x60) editerObject(field, {0, 16, true}) end), button("子弹穿墙射程", function() BaseAddressD(0x1454574,'-476053503') end), button("变身攻击", function() kq1_offset(getso("libil2cpp.so"),{{-476053504,4,0x155c15c},}) end), button("稳定迫击炮射程", function() ztu=gg.prompt({"填写你想要修改的迫击炮射程↓"}) fastsearch({{1031127695, 4, 32}, {1008981770, 12, 4}, {1008981770, 16, 4}, {1008981770, 20, 4}, {1028443341, 28, 4}, {0, 40, 4}, {0, 48, 4}, {0, 60, 4}}, {{ztu[1], -4, 16, false}}) end), button("实体锁血", function() BaseAddressD(0x1C1F1B8,'-516948194') end), switch('渲染透视', function() fastsearch({{500.0,16,32},{180.0,4,16},{1800.0,8,16},{648.0,12,16}},{{1,48,4}}) end), button("强制开锁", function() BaseAddressD(0x1cfd32c,'-476053503') end), switch("强制开锁2",--没用用这个BaseAddressD(0x1cfd32c,'-476053503') function() so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressD(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '~A BX LR' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressQ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030820' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressB(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030842' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressA(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030840' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressC(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030824' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressAA(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030832' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressF(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 16 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressZZZ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 32 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressY(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value gg.setValues(tt) end end), --}),--1 switch('刷新武器【优化】', function() NH=gg.prompt({"武器代码\n 火箭筒100 迫击炮110 冲锋枪130 能量剑140 蹦蹦枪150 能量炮180 霰弹枪190 换风镖200 聚合弓210 霸天斧220 能量球10160 滋水枪11130 像素剑10140 霰弹枪10130 回旋镖10150 加血枪10100 热破枪90100 威震天90200 红蜘蛛90300 自动手枪12130 毁灭手炮50008"},{[1]=""}) gg.setRanges(32) Name='改武器' local tb1= { {1929379841,4,32}, {100,4,100}, } local tb2= { {NH[1],4,100}, } SearchWrite(tb1,tb2,dataType) local t = {"libil2cpp.so", "Cd"} local tt = {0xE71AC, 0x5C, 0x68, 0x5C, 0x90} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 1}}) end), button('仿xs间隔', function() q=gg.prompt({"输入你的想改的间隔"},{},{"number"}) qmnb = { {["memory"] = 32}, {["name"] = "武器间隔"}, {["value"] = 0.20000000298023224, ["type"] = 16}, {["lv"] = 1.2999999523162842, ["offset"] = 8, ["type"] = 16}, } qmxg = { {["value"] = q[1], ["offset"] = -372, ["type"] = 16}, } xqmnb(qmnb) end), button('仿xs间隔2', function() qmnb={ {['memory']=32}, {['name']='A内存无间隔'}, {['value']=1061158912, ['type']=4}, {['lv']=1045220557,['offset']=4, ['type']=4}, {['lv']=1067869798,['offset']=8, ['type']=4}, {['lv']=1067869798,['offset']=12, ['type']=4}, } qmxg={ {['value']=0.0,['offset']=-352,['type']=16,['freeze']=true}, } xqmnb(qmnb) end), button('锁定子弹', function() local t = {"libil2cpp.so", "Cd"} local tt = {0x20CC6C, 0x5C, 0x8, 0x84, 0x89} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libil2cpp.so", "Cd"} local tt = {0x20CC6C, 0x5C, 0x8, 0x84, 0x90} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) end), button("迫击炮射程", function() NH=gg.prompt({"输入迫击炮射程(可进行多次修改)↓"},{[1]=""}) fastsearch({{1031127695, 4, 32}, {1008981770, 12, 4}, {1008981770, 16, 4}, {1008981770, 20, 4}, {1028443341, 28, 4}, {0, 40, 4}, {0, 48, 4}, {0, 60, 4}}, {{NH[1], -4, 16, false}}) end, function() end), button("道具冷却", function() nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x1c6271c},}) end), button("跳跃开物", function() gg.clearResults() gg.setRanges(16384) gg.searchNumber("-5.90756979e21;-7.15087112e24;-1.25143e23;-7.16031585e24;-1.30945135e25;-1.3068399e21;-9.40827903e22;-3.69511342e20;-3.69655493e20;-8.26501131e19;-1.26323303e23;-3.83692277e21;-9.38612132e22;-1.50171254e24::", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("-1.30945135e25;-1.3068399e21", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("-5.9029581e21;-2.02910209e20", gg.TYPE_FLOAT) gg.toast("移动开物") gg.clearResults() end), button("倒地购物", function() BaseAddressD(0x18b7b1c,'-476053504') end), button("破盾", function() xh = gg.alert("破盾", "开", "关") if xh == 1 then fastsearch({ { -128.00001525879, 16, 16384 }, { -382908368, 20, 4 }, { -494030840, 24, 4 }, { 167772163, -32, 4 }, { 167772164, -68, 4 } }, { { -486539264, 20, 4 }, { -516948194, 24, 4, false } }) end if xh == 2 then xtnb({ { false, 227805720, 0, 4, nil, nil }, { -481296384, 1540, 4 }, { 436207620, 1544, 4 }, { -442564508, 1548, 4 } }, { { -382908368, 1516, 4, false }, { -494030840, 1520, 4, false } }, 4, 16384, "追捕破盾[关]") end toMusic("开启成功") gg.alert("开启成功") end), switch('吼吼号全图', function() so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressD(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '~A BX LR' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressQ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030820' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressB(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030842' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressA(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030840' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressC(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030824' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressAA(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030832' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressF(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 16 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressZZZ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 32 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressY(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value gg.setValues(tt) end BaseAddressD(0x1FBD864,'-516948194') --关闭BaseAddressD(0x1FBD864,'-382906384') end, function() BaseAddressY(0x32e8d00,'-382908368') end), button('屏蔽转盘', function() qmnb = { {["memory"] = 32}, {["name"] = "0概率触发开锁"}, {["value"] = 59.0, ["type"] = 16}, {["lv"] = 2.0,["offset"] =20, ["type"] = 16}, } qmxg = { {["value"] = 999,["offset"] =20, ["type"] = 16}, } xqmnb(qmnb)local addr=gg.getRangesList("libil2cpp.so")[1].start+0x21F495C setvalue(addr,-352321597,4) local addr=gg.getRangesList("libil2cpp.so")[1].start+0x21F495C+4 setvalue(addr,-516948194,4) gg.toast("屏蔽指针开启成功") end), switch("腕炮自调", function() a=gg.prompt({"这里修改范围"}) fastsearch({ {5,16,32}, {1,4,16}, {0,8,16}}, {{a[1],4,16, false}}) end, function() end), button('新武器无间【打一发再开】', function() fastsearch({{1065017672,4,32},{0,-8,4},{1075838976,-4,4}},{{0,-8,4,true}}) end), button('新实体子弹', function() local t = {"libil2cpp.so", "Cd"} local tt = {0x1FD570, 0x5C, 0xA8, 0x84, 0x94} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 2, freeze = true}}) toMusic("添子弹开启成功") end), button('普通实体子弹', function() fastsearch({{1065017672,4,32},{1075838976,-4,4},{1,28,4}},{{-1,20,4,true},{0,24,4,true},{550,28,4,true}}) end), switch('移动开物『魔术师稳』', function() so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressD(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '~A BX LR' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressQ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030820' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressB(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030842' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressA(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030840' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressC(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030824' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressAA(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030832' gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressF(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 16 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressZZZ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 32 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList('libil2cpp.so')[1].start function BaseAddressY(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value gg.setValues(tt) end BaseAddressD(0x1AD94A8,'-476053504') --关闭BaseAddressD(0x1AD94A8,'-382907408') --方法YmAeNImnUOxVm end), switch("全局移速【稳】", function() fastsearch({{7.0,16,32},{-0.75,8,16}},{{0.3,8,16,false}}) gg.FUNC("\n\n三倍速") end), switch("无视夹子", function() gg.clearResults() gg.setRanges(16384) gg.searchNumber("1320196683\n", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 0}}) end gg.toast("开启成功") gg.clearResults() end), switch("无视爆炸", function() BaseAddressD(0x1AD9C54,'-516948194') gg.toast("开启成功") end), button("无后座", function() gg.clearResults() gg.setRanges(16384) gg.searchNumber("-2.02910614e20;0.00100000005;-1.30940708e25;-1.30683878e21::", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("0.00100000005", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("1", gg.TYPE_FLOAT) gg.toast("无后座") gg.clearResults() end), button("无视夹子", function() fastsearch({{25.0, 16, 32},{1.0, -4, 16},{0.5, -8, 16}, {2.5, -12, 16}}, {{0.0, -4, 16, false}})--无视夹子 end), button("无视开锁", function() nc_offset(getso("libil2cpp.so"),{{-352321597,4,0xc5abfc},}) end), button("移动开物", function() nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x1B93CF4},}) end), switch("开锁加速[独家]", function() function gotoPointer(addr) return gg.getValues({{address=addr, flags=4}})[1].value & 0xFFFFFFFF end a = function(Address, length, useChineseLoad) local jump = 0 local chars, char = {}, { address = Address, flags = gg.TYPE_BYTE } if not length then repeat local _nextchar, _2nextchar _char = gg.getValues({char})[1].value if (useChineseLoad) then if (_char > -28 and _char < -23) then _nextchar = gg.getValues({{address = char.address + 0x1, flags=gg.TYPE_BYTE}})[1].value if (_nextchar > -128 and _nextchar < -65) then _2nextchar = gg.getValues({{address = char.address + 0x2, flags=gg.TYPE_BYTE}})[1].value jump = 3 chars[#chars + 1] = string.char(_char & 0xFF, _nextchar & 0xFF, _2nextchar & 0xFF) end end end if (jump > 0) then jump = jump - 1 goto continue end chars[#chars + 1] = string.char(_char & 0xFF) ::continue:: char.address = char.address + 0x1 until _char == 0 return table.concat(chars, "", 1, #chars - 1), char.address else for i = 1, length do local _nextchar, _2nextchar local _char = gg.getValues({char})[1].value if (useChineseLoad) then if (_char > -28 and _char < -23) then _nextchar = gg.getValues({address = char.address + 0x1, flags=gg.TYPE_BYTE}) if (_nextchar > -128 and _nextchar < -65) then _2nextchar = gg.getValues({address = char.address + 0x2, flags=gg.TYPE_BYTE}) jump = 3 chars[i] = utf8.char(_char & 0xFF, _nextchar & 0xFF, _2nextchar & 0xFF) end end end if (jump > 0) then jump = jump - 1 goto continue end chars[i] = utf8.char(_char & 0xFF) ::continue:: char.address = char.address + 0x1 end return table.concat(chars), char.address end end function classSearch(className, offset) gg.clearResults() gg.setRanges(gg.REGION_OTHER | gg.REGION_C_ALLOC) gg.searchNumber("Q 00 '" .. className .. "' 00", gg.TYPE_BYTE) if (gg.getResultsCount() == 0) then print('没有发现类\n请确认是否初始化') end gg.searchPointer(0) gg.setRanges(32) local object = {} for k, v in pairs(gg.getResults(gg.getResultsCount())) do if (a(gotoPointer(gotoPointer(v.address - 8))):match(string.char(46, 100, 108, 108))) then v.address = v.address - 8 object[1] = v gg.loadResults(object) break end end gg.searchPointer(0) gg.searchPointer(0) local item = gg.getResults(gg.getResultsCount()) for k, v in pairs(item) do v.address = gotoPointer(v.address) + offset end return item end function editerObject(valObject, editerVal) for k, v in pairs(valObject) do v.value = editerVal[1] v.flags = editerVal[2] v.freeze = editerVal[3] end gg.setValues(valObject) gg.toast('开启成功\n共修改: ' .. gg.getResultsCount() .. '个结果') gg.clearResults() end field = classSearch("TalentProperties", 0x20) editerObject(field, {1.8, 16, false}) end, function() end), switch("人物穿墙", function() fastsearch({ {-10, 16, 32}, {49.0, 20, 16}, }, {{999999, 0, 16},}, "人物穿墙") end, function() fastsearch({ {999999, 16, 32}, {49.0, 20, 16}, }, {{-10, 0, 16},}, "人物穿墙") end), switch("解锁锁位", function() local addr = readPointer("libil2cpp.so", {25474520}, 1) gg.edits(addr, {{-476053503, 4, 0, false}, {-516948194, 4, 4, false}}) end, function() end), switch('超级吸人『可关』', function() BaseAddressD(0x31D8858,'-516948194') --public Vector3 get_position第1个 end, function() BaseAddressD(0x31D8858,'-382908368') end), switch('解锁模式', function() BaseAddressD(0x16CB4B8,'-476053503') --public static Boolean GetGameModeIsGradeLimit end), }, -------------------------------------- --UI4 { text("音乐区域","#FF55AAFF","20sp"), text("音乐","#FF2A3F","15sp"), switch("必备(认真操作)",--小功能名 function() gg.playMusic('http://music.163.com/song/media/outer/url?id=1377530437.mp3') end), switch("最好的安排(伤感中)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1905004937.mp3") end), switch("予你(开心听)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1895330088.mp3") end), switch("唯一(伤感)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1960170435.mp3") end), switch("悬溺(伤感中)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1397345903.mp3") end), switch("心墙(伤感中)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1834268297.mp3") end), switch("最后一页(0.8)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2051630296.mp3") end), switch("凄美地(推荐)", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=436346833.mp3') end), switch("Letting GO(伤感0.8)", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=1983501304.mp3') end), switch("尊嘟假嘟(伤感中)", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=2073511910.mp3') end), switch("听悲伤的情歌(必听)", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=2051929548.mp3') end), switch("心做(伤感了)", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=2008921547.mp3') end), switch("天若有情(DJ)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2072378677.mp3") end), switch("白山茶(群里某人推荐)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1454415688.mp3") end), switch("我太笨 0.9x(已伤感)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2070704040.mp3") end), switch("多远都要在一起(伤感)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=432698302.mp3") end), switch("我走后(伤感后)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1370047789.mp3") end), switch("侧脸(开心)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=534542079.mp3") end), switch("向云端(自由)", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=2049512697.mp3') end), switch("哪里都是你(伤感)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=488249475.mp3") end), switch("还是分开(伤感后)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=465921195.mp3") end), switch("遗失的心跳 0.8x ", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1954223039.mp3") end), switch("若把你(开心)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=865632948.mp3") end), switch("空城(片段)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1423712898.mp3") end), switch("雾里", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1855953289.mp3") end), switch("把回忆拼好给你(0.8速)", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1931410909.mp3") end), switch("停止音乐", function() gg.toast("已停止音乐") end), }, -------------------------------------- --UI5 }) -------------------------------------- bloc = luajava.getBlock() bloc('join') end