local json = json do if type(getrlyunyz) ~= 'function' then gg.alert('请使用RLGG执行') os.exit() return end local info = { name = '哈哈全防', appid = '51624', appkey = 'gZsZaE0YqfFU686e', rc4key = 'ByxUYb8xLqxoI9u8', version = '1.0', mi_type = '3' } local rlyunyz = getrlyunyz(info) local function login(rlyunyz) local storage = rlyunyz.storage local result local km = storage.km local margin_dp = '5dp' -- 验证是否有更新 local ini = rlyunyz.checkUpdate() -- 公告 local notice = rlyunyz.notice() if isString(km) and rlyunyz.getAutoLogin() then local res = rlyunyz.login(km) if res then return res end end -- 用于同步的锁 local lock = luajava.getBlock() -- android.app.AlertDialog$Builder local alert = luajava.newAlert() luajava.post(function() -- android.app.AlertDialog alert = alert:create() end) -- 获取卡密 local function getkami() local name = 'RL云验证卡密' local editText = luajava.getIdView(name) if not isUserdata(editText) then gg.alert(string.format('%s-控件不存在', name)) return end return tostring(editText:getText()) end -- 没有返回值的线程回调 local function voidThread(callback) local threadfunc = functions.thread(callback) return function(...) threadfunc(...) end end -- 退出弹窗,并结束堵塞 local function exit() alert:dismiss() lock('end') end -- 工厂方式创建复用 GradientDrawable layout local function newGradientDrawableLayout(layout) local baseLayout = { GradientDrawable, cornerRadius = '15dp', color = 0x20000000 } return table.copy(baseLayout, layout) end -- 工厂方式创建复用 Button layout local function newButtonLayout(layout) local baseLayout = { Button, layout_width = 'match_parent', layout_margin = margin_dp, textSize = '20sp', background = newGradientDrawableLayout() } return table.copy(baseLayout, layout) end -- 工厂方式创建复用 TextView layout local function newTextViewLayout(layout) local baseLayout = { TextView, layout_width = 'match_parent', layout_margin = margin_dp, gravity = 'center', padding = '5dp' } return table.copy(baseLayout, layout) end -- 工厂方式创建复用 CheckBox layout local function newCheckBoxLayout(layout) local baseLayout = { CheckBox, layout_width = 'match_parent', layout_margin = margin_dp, } return table.copy(baseLayout, layout) end -- 回调事件不能直接执行堵塞函数,需要用线程执行 图片1 = "http://vip.kyun.top/view.php/ecac6dd58579398e4c2fe8ddcc01e0c6.png" local mainlayout = { LinearLayout, orientation = 'vertical', layout_width = 'match_parent', background = 图片1, padding = {'10dp', '20dp', '10dp', '20dp'}, newTextViewLayout({ -- 显示公告 text = tostring(notice or '::') }), newTextViewLayout({ text = string.format('全网累计使用次数:%s', (tonumber(ini.api_total) or 0) + 100000) }), { -- 卡密输入框 EditText, layout_width = 'match_parent', layout_margin = margin_dp, gravity = 'center', hint = '请输入您的卡密', text = isString(km) and km or '', -- 默认输入的卡密 id = luajava.newId('RL云验证卡密'), background = newGradientDrawableLayout() }, { LinearLayout, orientation = 'vertical', layout_width = 'match_parent', layout_margin = margin_dp, background = newGradientDrawableLayout(), newCheckBoxLayout({ text = '自动登录', onCheckedChange = voidThread(function(CompoundButton, state) rlyunyz.setAutoLogin(state) end) }), newCheckBoxLayout({ text = '购买卡密', onCheckedChange = voidThread(function(CompoundButton, state) -- 打开商品 -- 由于该功能属于堵塞功能,所以需要用 voidThread 创建线程回调,以线程来执行 rlyunyz.shop() end) }), newCheckBoxLayout({ text = '退出登录', onCheckedChange = function(CompoundButton, state) exit() end }) }, newButtonLayout({ text = '登录', onClick = voidThread(function(button) local km = getkami() if not km then return end -- 删除首尾空格 km = string.trim(km) local res = rlyunyz.login(km) if res then storage.km = km storage.save() result = res exit() end end) }), newButtonLayout({ text = '解绑', onClick = voidThread(function(button) local km = getkami() if not km then return end rlyunyz.unbind(km) end) }) } local view = luajava.loadlayout({ ScrollView, mainlayout }) alert:setView(view) -- 弹窗被取消 alert:setOnDismissListener(luajava.createProxy('android.content.DialogInterface$OnDismissListener', { onDismiss = function() exit() end })) -- 不可以取消 alert:setCancelable(false) gg.setVisible(false) -- 异步显示弹窗 luajava.showAlert(alert) -- 堵塞,等待异步弹窗结束 lock('join') gg.setVisible(true) return result end local ret = rlyunyz.start() if not ret or not isTable(ret) or ret.sign ~= 'da84c364bc7dc0e4bb63dd79035065be' then os.exit() return end end -- 把以上代码复制到你脚本最前面即可 So_X32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "1EFF2FE1r" } } ) gg.processResume ( ) end end function HGYYDS(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end function GB(FUNCTIONADD) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=4,value="~A MOV R0, #0"}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=4,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end function CYC(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end function yy1() search = gg.prompt({ "输入要搜索的歌曲\n可加上歌手名字", "设置显示数量(数字)", },g.sel,{ "text", }) if not search then return end gg.saveVariable(search,g.config) bei() go1=search[1] go3=search[2] jg=start(go1,go3) if jg.code == 200 then fh=jg.content fh=json(fh) --print(fh) Play(gqlb,idb) else function inspect() gg.alert("访问网络异常,错误代码:\n\n"..jg.code) end if not pcall(inspect) then print("网络异常,请先连接上网络") os.exit() end end XGCK=-1 end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x167ba0fe) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function readValue(address, flags) return gg.getValues({{address = address, flags = flags}})[1]["value"]end ms = { } function setvalue ( add , value , falgs , dj ) local WY = { } WY [ 1 ] = { } WY [ 1 ].address = add WY [ 1 ].value = value WY [ 1 ].flags = falgs if dj == true then WY [ 1 ].freeze = true gg.addListItems ( WY ) else gg.setValues ( WY ) end end function ms.ss ( num , ty , nc ) local GGNUMBER_1 = num local GGNUMBER_2 = ty local GGNUMBER_3 = false local GGNUMBER_4 = gg.SIGN_EQUAL local GGNUMBER_5 = 0x3000000 local GGNUMBER_6 = 0xFFFFFFFF local GGNUMBER_7 = 0 gg.clearResults ( ) gg.setRanges ( nc ) gg.searchNumber ( GGNUMBER_1 , GGNUMBER_2 , GGNUMBER_3 , GGNUMBER_4 , GGNUMBER_5 , GGNUMBER_6 , GGNUMBER_7 ) Result = gg.getResults ( gg.getResultCount ( ) ) end function ms.py ( num , py , ty ) if ( Result and # Result ~= 0 ) then t = { } for i , v in ipairs ( Result ) do t [ i ] = { } t [ i ].address = v.address + py t [ i ].flags = ty end t = gg.getValues ( t ) for i , v in ipairs ( t ) do if v.value ~= num then Result [ i ] = nil end end local MS = { } for i , v in pairs ( Result ) do MS [ # MS + 1 ] = v end Result = MS end end --hg function ms.bc ( ) data = { } if Result == nil or # Result == 0 then gg.alert ( "开启失败" ) else for i , v in pairs ( Result ) do data [ # data + 1 ] = v.address end end Result = nil end function ms.edit ( nn , off , ty , dj ) if ( Result ) then ms.bc ( ) end if # data > 0 then for i , v in ipairs ( data ) do setvalue ( v + off , nn , ty , dj or false ) end gg.toast ( Name.."成功" ) end end function stop() if play then play = false gg.toast("正在停止播放...") for i=1,100 do gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end gg.toast("播放已停止") else Rain="强制暂停" gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..Rain.."&spd=5&source=wise") gg.toast("无正在播放的音乐") end end wt = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end end --qq334255496 function CYC(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function _error() gg.alert([[ 开启失败 失败原因:进程存储太小! 解决方案:刷新进程后重启开启 ]]) end function Fs3Fs4(Fs1, Fs2, Fs3, Fs4, Fs5) gg.clearResults() gg.setRanges(Fs2) gg.setVisible(false) gg.searchNumber(Fs3[1][1], Fs3[1][3]) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Fs3[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Fs3 do local tmp = {} local offset = Fs3[k][2] - base local num = Fs3[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = Fs3[k][3] end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast(Fs1..'\n搜索到{'..#data..'}条数据') local t = {} local base = Fs3[1][2] if Fs5 == '' and Fs5 > 0 and Fs5 < #data then Fs5 = Fs5 else Fs5 = #data end for i=1, Fs5 do for k, w in ipairs(Fs4) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = w[3] t[#t].value = w[1] if (w[4] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Fs1..'️\n已修改{'..#t..'}条数据') else gg.toast(Fs1..'\n数据搜索失败', false) return false end else gg.toast(Fs1..'\n数据修改失败', false) return false end end function search(ss,lx,nc,dz1,dz2) if ss~=nil then if lx~=nil then if nc==nil then nc=32 end gg.setRanges(nc) if dz1==nil then dz1="-1" end if dz2==nil then dz1="0" end gg.searchNumber(ss,lx,false,536870912,dz1,dz2) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) gg.toast("搜索到 "..sl.." 个结果") gg.clearResults() else gg.toast("未搜索到结果") end else gg.toast("无搜索值类型") end else gg.toast("无需搜索值") end end function py1(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value==value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function xg1(value,lx,py,dj) if #sj~=nil then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end gg.toast("共修改 "..#z.." 个数据") else gg.toast("没有搜索数据") end end function xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end gg.toast("共修改 "..#z.." 个数据") else gg.toast("没有搜索数据") end end function bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("无数据") end end function BaAdd(add) t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end function set(dz,xg,lx,dj) if dj=="true" then gg.addListItems({{address=dz,flags=lx,value=xg,freeze=true}}) else gg.setValues({{address=dz,flags=lx,value=xg}}) end gg.toast("已修改完成~") end function nc_offset(addr,tablex,tt) for i,v in ipairs(tablex) do if v[4]==true then gg.addListItems({{address=addr+v[3],flags=v[2],value=v[1],freeze=v[4]}})else gg.setValues({{address=addr+v[3],flags=v[2],value=v[1]}}) end end gg.toast((tt or "").."开启成功") end function getso(So_name) return gg.getRangesList(So_name)[1].start end function readValue(address, flags) return gg.getValues({{address = address, flags = flags}})[1]["value"]end ms = { } function setvalue ( add , value , falgs , dj ) local WY = { } WY [ 1 ] = { } WY [ 1 ].address = add WY [ 1 ].value = value WY [ 1 ].flags = falgs if dj == true then WY [ 1 ].freeze = true gg.addListItems ( WY ) else gg.setValues ( WY ) end end function ms.ss ( num , ty , nc ) local GGNUMBER_1 = num local GGNUMBER_2 = ty local GGNUMBER_3 = false local GGNUMBER_4 = gg.SIGN_EQUAL local GGNUMBER_5 = 0x3000000 local GGNUMBER_6 = 0xFFFFFFFF local GGNUMBER_7 = 0 gg.clearResults ( ) gg.setRanges ( nc ) gg.searchNumber ( GGNUMBER_1 , GGNUMBER_2 , GGNUMBER_3 , GGNUMBER_4 , GGNUMBER_5 , GGNUMBER_6 , GGNUMBER_7 ) Result = gg.getResults ( gg.getResultCount ( ) ) end function ms.py ( num , py , ty ) if ( Result and # Result ~= 0 ) then t = { } for i , v in ipairs ( Result ) do t [ i ] = { } t [ i ].address = v.address + py t [ i ].flags = ty end t = gg.getValues ( t ) for i , v in ipairs ( t ) do if v.value ~= num then Result [ i ] = nil end end local MS = { } for i , v in pairs ( Result ) do MS [ # MS + 1 ] = v end Result = MS end end function ms.bc ( ) data = { } if Result == nil or # Result == 0 then gg.alert ( "开启失败" ) else for i , v in pairs ( Result ) do data [ # data + 1 ] = v.address end end Result = nil end function ms.edit ( nn , off , ty , dj ) if ( Result ) then ms.bc ( ) end if # data > 0 then for i , v in ipairs ( data ) do setvalue ( v + off , nn , ty , dj or false ) end gg.toast ( Name.."成功" ) end end function Get_Search(fname) 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 fname=fname or {} local m=getRanges() local many={} if "table"==type(fname) then--首信息1 for i in pairs(m) do local p=m[i].internalName:match("^.*/(.+)") if p==fname[1] and m[i].state==fname[2] then many={state=m[i].state,start=m[i].start} break end end elseif "string"==type(fname) then if "slow"==fname then--全信息 for i=1,#m do local p=m[i].internalName:match("^.*/(.+)") many[i]={name=p,state=m[i].state,start=m[i].start} end elseif "quick"==fname then--尾信息 for i=1,#m do local p=m[i].internalName:match("^.*/(.+)") many[p]={state=m[i].state,start=m[i].start} end else for i=1,#m do--首信息2 local p=m[i].internalName:match("^.*/(.+)") if p==fname then many={state=m[i].state,start=m[i].start} break end end if AddrInfoLen(many)~=2 then return false end end else error("填写'quick'或者'slow'或者文件名或者{文件名,状态}") end return many end function Get_Address(Head,Offset,Flag) local tinfom=gg.getTargetInfo() Flag=Flag or 32 local t={} local Addr if Head then t[1]={address=Head+Offset[1],flags=Flag} if not (#Offset==1) then for i=2,#Offset do local place=gg.getValues(t) t={} if not tinfom.x64 then place[1].value=place[1].value & 0xFFFFFFFF end t[1]={address=place[1].value+Offset[i],flags=Flag} end end Addr=t[1].address end return string.format("0x%X",Addr) end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else return false end else return false end end JFYx32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end end function readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true] = 32, [false] = 4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address = addr, flags = va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr + v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2] + 1] = value else Table1[1][#Table1[1] + 1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) end local json = json ms = { } function setvalue ( add , value , falgs) qx={} qx[#qx+1]={} qx[#qx].value=value qx[#qx].flags=falgs qx[#qx].freeze=true qx[#qx].address=add gg.addListItems (qx) end il2cpp_so_x32 = function ( Address , Value ) local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ] if Somod == nil then gg.alert ( '请重新选择地铁跑酷进程' ) else local So = Somod.start local Add = So + Address gg.processPause ( ) gg.setValues ( { { address = Add , flags = 4 , value = Value } } ) gg.setValues ( { { address = Add + 4 , flags = 4 , value = "~A BX LR" } } ) gg.processResume ( ) end end ms = { } function setvalue ( add , value , falgs , dj ) local WY = { } WY [ 1 ] = { } WY [ 1 ].address = add WY [ 1 ].value = value WY [ 1 ].flags = falgs if dj == true then WY [ 1 ].freeze = true gg.addListItems ( WY ) else gg.setValues ( WY ) end end function ms.ss ( num , ty , nc ) local GGNUMBER_1 = num local GGNUMBER_2 = ty local GGNUMBER_3 = false local GGNUMBER_4 = gg.SIGN_EQUAL local GGNUMBER_5 = 0x3000000 local GGNUMBER_6 = 0xFFFFFFFF local GGNUMBER_7 = 0 gg.clearResults ( ) gg.setRanges ( nc ) gg.searchNumber ( GGNUMBER_1 , GGNUMBER_2 , GGNUMBER_3 , GGNUMBER_4 , GGNUMBER_5 , GGNUMBER_6 , GGNUMBER_7 ) Result = gg.getResults ( gg.getResultCount ( ) ) end function ms.py ( num , py , ty ) if ( Result and # Result ~= 0 ) then t = { } for i , v in ipairs ( Result ) do t [ i ] = { } t [ i ].address = v.address + py t [ i ].flags = ty end t = gg.getValues ( t ) for i , v in ipairs ( t ) do if v.value ~= num then Result [ i ] = nil end end local MS = { } for i , v in pairs ( Result ) do MS [ # MS + 1 ] = v end Result = MS end end function ms.bc ( ) data = { } if Result == nil or # Result == 0 then gg.alert ( "开启失败" ) else for i , v in pairs ( Result ) do data [ # data + 1 ] = v.address end end Result = nil end function ms.edit ( nn , off , ty , dj ) if ( Result ) then ms.bc ( ) end if # data > 0 then for i , v in ipairs ( data ) do setvalue ( v + off , nn , ty , dj or false ) end gg.toast ( Name.."成功" ) end end function py1(value,lx,py) gg.setVisible(false) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].value==value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("偏移了 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function SearchWrite(Search, Write, Type, Name) local time=os.clock() gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("搜索到"..#data.."条数据") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) local time=string.sub(os.clock()-time,0,5) gg.toast("开启成功 已修改:"..#t.."条数据 本次启动耗时:"..time.."秒") gg.addListItems(t) else gg.toast("开启失败未搜索到任何数据", false) return false end else gg.toast("开启失败未搜索到任何数据") return false end end function WT(FUNCTIONADD,TYPE,VALUE) local SOMOD=gg.getRangesList("il2cpp.so") if SOMOD[1]==nil then _error() else gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=TYPE,value=VALUE}}) gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=TYPE,value="1EFF2FE1r"}}) end end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else return false end else return false end end j={} xgz={} ZY='Main' gg.toast('欢迎使用科技') gg.clearResults() sj={} xgz={} gg.toast("?欢迎进入?") function search(ss,lx,nc,dz1,dz2) if ss~=nil then if lx~=nil then if nc==nil then nc=32 end gg.setRanges(nc) if dz1==nil then dz1="-1" end if dz2==nil then dz1="0" end gg.searchNumber(ss,lx,false,gg.SIGN_EQUAL,dz1,dz2) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) gg.toast("??搜索到 "..sl.." 个结果??") gg.clearResults() else gg.toast("?未搜索到结果?") end else gg.toast("?无搜索值类型?") end else gg.toast("?无需搜索值?") end end function py1(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].value==value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("?共偏移 "..#sj.." 个数据?") else gg.toast("?没有搜索数据?") end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[1]={} z1[1].address=sj[i].address+py z1[1].flags=lx z1=gg.getValues(z1) if z1[1].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("?共偏移 "..#sj.." 个数据?") else gg.toast("?没有搜索数据?") end end function xg1(value,lx,py,dj) if #sj~=nil then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end gg.toast("??共修改 "..#z.." 个数据??") else gg.toast("?没有搜索数据?") end end function xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end gg.toast("??共修改 "..#z.." 个数据??") else gg.toast("??没有搜索数据??") end end function bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("?无数据?") end end function search(ss,lx,nc,dz1,dz2) gg.setVisible(false) if ss~=nil then if lx~=nil then if nc==nil then nc=32 end gg.setRanges(nc) if dz1==nil then dz1="-1" end if dz2==nil then dz1="0" end gg.searchNumber(ss,lx,false,536870912,dz1,dz2) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) gg.toast("搜索到 "..sl.." 个结果") gg.clearResults() else gg.toast("未搜索到结果") end else gg.toast("无搜索值类型") end else gg.toast("无需搜索值") end end function py1(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value==value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function xg1(value,lx,py,dj) if #sj~=nil then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end gg.toast("共修改 "..#z.." 个数据") else gg.toast("没有搜索数据") end end function editData(qmnb,qmxg)gg.setVisible(false)gg.clearResults()qmnbv=qmnb[3]["value"]or qmnb[3][1]qmnbt=qmnb[3]["type"]or qmnb[3][2]qmnbn=qmnb[2]["name"]or qmnb[2][1]gg.setRanges(qmnb[1]["memory"]or qmnb[1][1])gg.searchNumber(qmnbv,qmnbt)gg.refineNumber(qmnbv,qmnbt)sz=gg.getResultCount()if sz==0 then gg.toast(qmnbn.."开启失败")else sl=gg.getResults(999999)for i=1,sz do pdsz=true for v=4,#qmnb do if pdsz==true then pysz={{}}pysz[1].address=sl[i].address+(qmnb[v]["offset"]or qmnb[v][2])pysz[1].flags=qmnb[v]["type"]or qmnb[v][3]szpy=gg.getValues(pysz)tzszpd=tostring(qmnb[v]["lv"]or qmnb[v][1]):gsub(",","")pyszpd=tostring(szpy[1].value):gsub(",","")if tzszpd==pyszpd then pdjg=true pdsz=true else pdjg=false pdsz=false end end end if pdjg==true then szpy=sl[i].address for x=1,#qmxg do xgsz=qmxg[x]["value"]or qmxg[x][1]xgpy=szpy+(qmxg[x]["offset"]or qmxg[x][2])xglx=qmxg[x]["type"]or qmxg[x][3]xgdj=qmxg[x]["freeze"]or qmxg[x][4]xg={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xg[1].freeze=xgdj gg.addListItems(xg)else gg.setValues(xg)end end xgjg=true end end if xgjg==true then gg.toast(qmnbn.."开启成功")else gg.toast(qmnbn.."开启失败")end end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) if gg.searchNumber(qmnb[3]["value"],qmnb[3]["type"],false,gg.SIGN_EQUAL,0,-1)~=true then gg.searchAddress(qmnb[3]["value"],-1,qmnb[3]["type"]) end if gg.getResultCount()==0 then gg.toast(qmnb[2]["name"].."开启失败")return end szxx=gg.getResults(gg.getResultCount()) szpd={} a=0 for i=4,#qmnb do for s=1,#szxx do if szpd[s]~="false" then if gg.getValues({{address=szxx[s].address+qmnb[i]["offset"],flags=qmnb[i]["type"]}})[1].value+0~=qmnb[i]["lv"]then szpd[s]="false" a=a+1 end end end end if a==#szxx then gg.toast(qmnb[2]["name"].."开启失败")return end b=0 t={} for x=1,#qmxg do if qmxg[x]["freeze"]==true then a=1 end for i=1,#szxx do if szpd[i]==nil then b=b+1 table.insert(t,{address=szxx[i].address+qmxg[x]["offset"],flags=qmxg[x]["type"],freeze=qmxg[x]["freeze"],value=qmxg[x]["value"]}) end end end gg.setValues(t) gg.addListItems(t) gg.clearResults() if a~=1 then gg.clearList()else a=nil end gg.toast(qmnb[2]["name"].."开启成功,共修改了"..b.."条数据") end qmnb = function(daarr) local array = {} for i = 1, #daarr["搜索数组"] do local data = {["lv"] =daarr["搜索数组"][i][1], ["offset"] = daarr["搜索数组"][i][2], ["type"] = daarr["搜索类型"]} table.insert(array, i, data) end local isok, data = app.memorysearch(daarr["搜索内存"], array) if isok then for i = 1, #data do for x = 1, #daarr["修改数组"] do app.memorywrite(data[i] + daarr["修改数组"][x][2], daarr["搜索类型"], daarr["修改数组"][x][1]) end end gg.toast(daarr["功能名称"] .. "共修改" .. #data * #daarr["修改数组"] .. "条数据") else gg.toast(daarr["功能名称"] .. "开启失败") end end local sfz = [[ 高岩----130602198805140619 罗鸣----610404196906052017 陈建新----310108195904212017 邵春燕----130102198604181222 谢志强----37152219861110683X 张亚妮----622821198606071022 王葳----230103198610030623 朱震----610113197307071675 钱进----340823198008214410 顾洪如----320625197309123671 徐来兵----321027198506172419 祁文艳----230204197906051025 覃朋芬----612301195212260623 乔须平----612722196807200273 林成荫----310105198603103612 李蓉----510125196401220064 邓卫伟----430682197003270014 王国际----320321196306121033 蔡高鸣----330726198002262712 关琪----210881198712264248 季菁----310108198507282824 张焕秘----13080219491117003X 鲍善雯----310111196710281623 王萌----11010219800305235X 蔡卫芬----320582197712270323 陈静波----320981198711140471 郭献彬----412326198808160416 王婧----61060219871010066X 蔡立新----320811196610151055 李浩----342201198806100611 张亚军----140702199012287073 葛广勤----630103197211232025 张锦泉----350628197702094015 杨鑫磊----211322198708051526 宋博----220104198206131339 陈中栓----370811196204263018 滕远志----320882198001280016 陈臻玺----310115198408180113 郑俊华----350600198305141533 司纪升----370304198301132739 朱彦----320625197504077957 王晰----220102197006012629 严百能----330222197505151136 王化锋----110228198205050917 易道德----510113194812100417 杨早----120106198209160011 陈磊----430623198306038153 张盛鑫----441522198202153975 于文武----210281198208231719 何正有----422129196304141319 赵磊----120224198306217516 王兆武----370111196401152319 贾海新----320222197806270575 梁朝宏----440902198608223713 龚挺----330206198704124637 叶攀----330721199308230011 杨少华----370281197907223910 赵宏伟----220125197606012811 胡涛----310107198404207219 叶其旭----331081199101183050 迟淑梅----130206194907150020 史宇欣----110102198306273029 周鑫忆----330802199209082013 陈可迭----360104194810211012 王三荣----142326198809287413 沈长浩----320902198503087535 王顺莉----500101198608202126 王金娣----320922198802130324 唐湘君----370502198910311220 冯卫洪----330126196908170513 王全江----362101196005020610 张继森----370722196805172529 钟磊----320925198411275832 邓敬华----132934196409062516 李佳----130604198401111224 王海丰----150422197507190312 邢敬林----132128195807172619 兰海----51362119791020001X 程俊豪----352101196307161337 陈云良----350521197411287538 徐林兵----350722198011082615 周永建----320525197202167417 张琪----211103198706220023 肖龙----420106197006084414 翁绍鸿----440582198506275491 罗志龙----110108196804135795 李能艳----422432195611105529 赵琼----330103197010231324 王怀闽----350583198202273715 褚国芳----330105197712291922 付祥----370226196510137919 朱琦----320681199011236251 高凌----150102197504092029 商健----220104199708171319 李素敏----410782198907159729 吴俊威----420111197910165512 王学成----320624196402157031 朱庆春----321321197712172253 黄丹妮----640321199002140348 忻小刚----330203196704241819 毛龙----412829198204261634 王泽民----140203195307104319 张晨亮----370703196507160053 金建军----321024196407040033 郭生敏----410105196303220539 濮家兴----520222197812062411 彭伟----152105198203031842 周志余----210821197212291230 陈彦贞----330409195703060674 胡金涛----320302196803272431 于忠林----370225193707195610 孙国梁----410901197606102719 施天朝----513701198212231518 魏振东----37092119870324031X 张晖----321023198711173212 陈卫芳----33108219830322748X 方铁华----320421197703105432 许有倩----342401199201184723 刘方舟----610113198907280037 王俊平----152327196703263527 武明----152728198202074813 刘保康----130533199311250061 吴皱----362502198807250829 曹庆如----440802194306120846 徐永刚----310224197310106617 郑琪----330225198510053411 胡江笛----420111198312062315 姜晖----320722197609300832 刘鑫----620102197710092137 徐颖----150102197608082060 刘姣----61273219880209002X 李书方----321102196808081917 吴义波----342901199008086432 刘定一----413025198211105711 姜妍姣----370686198609272528 章佳佳----330382198603297127 司学家----370830198405097210 潘磊----420112198108061514 施春艳----32068119830320082X 倪嘉颢----513821198908179018 刘建军----340822198308172850 缪公俭----310109194809035210 郑振河----410502194706233530 李艳----362302197601220522 张学强----130634198312282011 张振----110101198604131516 江丽芬----350600195210210029 李倩----370725198703150423 王廷良----211323197801123717 郭美媛----37078319890919138X 熊伯英----360122196201024221 马卿琦----211403198808218043 王卫伟----140227198211280072 陈美桂----42232519491119462X 于静思----220104198912044427 燕雪妮----610429198907034765 蔡文霞----42010719720211252X 毕文芳----321323199003193328 郭建华----320623196002040014 吴平----130302196506031425 李伟----130281198512045611 刘旺君----430422198408145833 林青华----330326198809176020 纪蕾----320113198111220822 张益新----320625196910281879 李彦锋----610122197310074312 郭俊杰----370105198507062946 胡杰----341226198209301016 叶丹----520123198503091222 王坤----371502198701027830 于魁东----222403197302166010 杨昆----410901198903110517 唐凤霞----410402198307235603 冯泽东----372526198405022711 王云艳----421003197311142664 黄浩----510212198212280319 姚良----310224197011050713 郭国锋----142602198107161512 蔡铁饮----410302195212010015 郑广霖----360203198408221033 陈平----422722195806180055 邱志平----110106195511012196 蔡晓晨----320322198911188645 蒋益民----36060219711016003X 夏雪峰----232101197807133815 施庆芳----61020319860615462X 任爱珍----420528197004080022 郭庆祥----352602198001031014 魏金成----410104195412132510 商永峰----140102193012292016 赵志立----320103198711152015 贾永祯----142427194010246315 邹力----110102196008250014 董爽----210921198709298649 吴红兵----32062119820514141X 程道华----36230219621209007X 赵蒿----510108199104153018 孙源----610113197306050418 刘贤清----450521198402105569 鲁国良----320722199211305114 文爱艺----420606196603012518 田甜----152102199307243028 韩念非----310106197006250819 廖平伟----430421198902030218 穆平----210302195008061811 韩斌----36232219690221571X 曹璐----321202198304100613 王丙寅----370103198610278830 姜海霞----320922197712216322 薛涵之----320504197901033029 郝建斌----612722198511160056 马伟----120101197703265015 冯友义----420800197001286017 张松辉----442000198904065633 张曙光----130102198309172411 汝吉东----230119197804060317 鲍婕----231005198405170027 安亚杰----410602198704131518 彭文静----412924196605103244 戴丽萍----32128419871102742X 李志华----410183195805091022 马玉强----372928198510260812 吴文海----130902196402240612 单延龙----230102198212224610 孙文----320520197811172412 巩凯----342225197908240558 马腾----370786199005026932 潘正飞----330719197902013035 陈贤岳----320104197311062418 崔译文----320923198911100067 张春文----620202196012080025 陈友旺----330326195008292212 张万军----420205196906106134 赵新燕----13070319691024122X 吴正龙----321003194710096610 陈程----510283198011064674 胡荣----341124197708101446 景圣琪----320602196202202530 郭威----22050219740304081X 翁建和----310101196203293635 王寅敏----320821198607201519 许杰----330183198507283310 李玉----320721198309241824 郝鑫----211224198002070327 李文----420983198508249574 樊长宝----321124197012313236 张瑞----42062119880920741X 谢荣佳----350625197705191524 冷艺----320103198404171785 陆晓雷----321083197804270339 林立----350122198810142116 王淑丽----230606198802063629 魏国华----130202196805220319 朱玲----510902198511159506 朱德云----413027195304171127 陈娟----371521198409220720 侯晋青----370402197512064455 冯嵘----352122197609153718 刘璇----371521198606040040 顾红霞----310102196904044849 薛绍乾----132231195111116217 赵长锁----132421197908170015 陈玉尧----372321195002020037 黄洁----341022197304050023 王竹莲----452702196511050020 钟致为----430624199812290029 朱志平----422129197709210559 蓝勇----659001197711245918 杨华兴----332601196603250311 郑春梅----431122199203083666 魏鸿飞----110108198108154916 宣宏颖----130324199012040622 王林----510623198510044219 吴英----330822197106151828 郑仁昶----31010219561208203X 马运梅----43280219450405136X 李溪凝----420105199003290426 孙波----220104197905280013 郭骏----320104198206120457 张应禄----510103196708216619 王冬雪----220182198408061120 孙慧----370204196702103141 诸葛倩----440227199105197799 王明明----342625198407200474 昝淑玉----110108194212211425 李莉华----120104196409262926 曹星洋----352622197204073637 程礼正----360281198007287014 王昌林----342201198210282418 刘少庆----140102196309172035 吴昌燕----320827197801202420 马海生----230104196211303417 古维奇----510602197307026334 李晓婧----440307198303061521 孙桂兰----232102197201130544 楼健----370102197406112138 史龙----320520197611142235 张斌----120113198707172019 沈琳----440203198902252441 郭爽----130205197510300921 侯志民----370421197203241816 王成红----37032119710217003X 梁恒源----420111196907264179 逯阳----510228198210184236 秦占川----230902196909120656 王岳文----332526197311086114 韩胜龙----342225198912084476 刘康----320102198702202432 陈抒怡----310230198105301482 金瑛瑛----310230197510220462 陆慧----310115198607030943 李发明----422202196310195212 陈林----330102198212023011 卜永刚----410526196712015337 曹建亭----370521197901292819 王寅恺----140109198611073015 韩飞春----310110198712115111 ]] local tab = {} for index in string.gmatch(sfz, "[^\n]+") do table.insert(tab, index) end function xg1(value,lx,py,dj) if sj~=nil and #sj>0 then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx if value == nil then value = readValue(z[i].address, lx) end z[i].value= value z[i].freeze = dj and true or false end if dj == true or dj == false then gg.addListItems(z) else gg.setValues(z) end gg.toast('') else gg.toast('') end end function xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end gg.toast('') else gg.toast('') end end function bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast('') end end gg.clearResults() sj={} xgz={} gg.toast("欢迎使用豪哥脚本") function search(ss,lx,nc,dz1,dz2) if ss~=nil then if lx~=nil then if nc==nil then nc=32 end gg.setRanges(nc) if dz1==nil then dz1="-1" end if dz2==nil then dz1="0" end gg.searchNumber(ss,lx,false,gg.SIGN_EQUAL,dz1,dz2) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) gg.toast("搜索到 "..sl.." 个结果") gg.clearResults() else gg.toast("未搜索到结果") end else gg.toast("无搜索值类型") end else gg.toast("无需搜索值") end end function py1(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value==value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function xg1(value,lx,py,dj) if #sj~=nil then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end gg.toast("共修改 "..#z.." 个数据") else gg.toast("没有搜索数据") end end function xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end gg.toast("共修改 "..#z.." 个数据") else gg.toast("没有搜索数据") end end function bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("无数据") end end function BaAdd(add) if gg.getTargetInfo().x64==true then t=gg.getValues({[1]={address=add,flags=32}}) return t[1].value else t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end end function set(dz,xg,lx,dj) if dj=="true" then gg.addListItems({{address=dz,flags=lx,value=xg,freeze=true}}) else gg.setValues({{address=dz,flags=lx,value=xg}}) end gg.toast("已修改完成~") end DWORD=gg.TYPE_DWORD DOUBLE=gg.TYPE_DOUBLE FLOAT=gg.TYPE_FLOAT WORD=gg.TYPE_WORD BYTE=gg.TYPE_BYTE XOR=gg.TYPE_XOR QWORD=gg.TYPE_QWORD D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD -------------不懂勿动------------ ------------道具赛配置--------------- ms = { } function setvalue ( add , value , falgs , dj ) local WY = { } WY [ 1 ] = { } WY [ 1 ].address = add WY [ 1 ].value = value WY [ 1 ].flags = falgs if dj == true then WY [ 1 ].freeze = true gg.addListItems ( WY ) else gg.setValues ( WY ) end end menu ={} name ={} id = 0 play = false song = "" _G_ = { function() local searchMusic = gg.prompt({ "歌曲•歌手", "列表•限制", },{"","10"},{ "text", "text", }) if not searchMusic then gg.setVisible(false) Main() elseif searchMusic[1] == "" then gg.alert("请输入歌曲/歌手!") _G_[1]() else local results = gg.makeRequest("http://music.163.com/api/search/get?s="..searchMusic[1].."&type=1&offset=0&total=true&limit="..searchMusic[2]) if results.code == 200 then n=1 for v,k in results.content:gmatch('"id":(.-),"name":"(.-)"') do if n%4 == 1 then menu[n/4+1] = v..";"..k end if n%4 == 2 then menu[n/4+1] = menu[n/4+1]..";"..k end n=n+1 end _G_[2]() else local s = gg.alert("请求异常,请检查网络……","返回","退出") if not s then gg.setVisible(false) Main() end if s == 1 then os.exit() end if s == 2 then _G_[1]() end end end end, function() if #menu == 0 then gg.alert("没有搜索记录") Main() else for n=1,#menu do name[n] = menu[n]:gsub("[0-9]+;",""):gsub(";","\n歌手:") end local mu = gg.choice(name,0,"歌单") if not mu then _G_[1]() else song = name[mu] local sn=gg.choice({"播放","查看歌词"},nil,"歌曲:"..name[mu]) if not sn then _G_[1]() end if sn == 1 then id = menu[mu]:match("(.-);") gg.toast("正在播放音乐:"..name[mu],true) gg.playMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3") play = true end if sn == 2 then id = menu[mu]:match("(.-);") song = name[mu] _G_[3]() end end end end, function() if id == 0 then gg.alert("未有播放记录") Main() else local results = gg.makeRequest("http://music.163.com/api/song/media?id="..id).content rs = results:match('"lyric":"(.-)","code'):gsub("\\n","\n"):gsub("[[!-z]+]","") gg.alert("\n《"..song:gsub("\n","》\n").."\n\n"..rs) gg.setVisible(false) end end, function() if play then play = false gg.toast("正在停止播放...") for i=1,100 do gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end gg.toast("播放已停止") else gg.toast("无正在播放的音乐") end end, function() gg.setVisible(false) if play then _G_[4]() end LSP() end } function WTYY() local emo = gg.choice({ "搜索歌曲", "搜索列表", "显示歌词", "暂停播放", },nil,"温特音乐功能") if not emo then gg.setVisible(false) end if emo then _G_[emo]() end end function JN() UI ="JN" local menu = gg.multiChoice({ "折扇跳跃聚能", "相机跳跃聚能", "校服跳跃聚能", "卫衣跳跃聚能", "耳机跳跃聚能", "眼镜跳跃聚能", "夹克跳跃聚能", "圣诞帽跳跃聚能", },nil,"全部都是跳跃聚能") if menu then for i in pairs(menu) do _ENV[({"a","b","c","d","e","f","g","h",})[i]]() end end end function a() function readValue(address, flags) return gg.getValues({{address = address, flags = flags}})[1]["value"]end ms = { } function setvalue ( add , value , falgs , dj ) local WY = { } WY [ 1 ] = { } WY [ 1 ].address = add WY [ 1 ].value = value WY [ 1 ].flags = falgs if dj == true then WY [ 1 ].freeze = true gg.addListItems ( WY ) else gg.setValues ( WY ) end end function ms.ss ( num , ty , nc ) local GGNUMBER_1 = num local GGNUMBER_2 = ty local GGNUMBER_3 = false local GGNUMBER_4 = gg.SIGN_EQUAL local GGNUMBER_5 = 0x3000000 local GGNUMBER_6 = 0xFFFFFFFF local GGNUMBER_7 = 0 gg.clearResults ( ) gg.setRanges ( nc ) gg.searchNumber ( GGNUMBER_1 , GGNUMBER_2 , GGNUMBER_3 , GGNUMBER_4 , GGNUMBER_5 , GGNUMBER_6 , GGNUMBER_7 ) Result = gg.getResults ( gg.getResultCount ( ) ) end function ms.py ( num , py , ty ) if ( Result and # Result ~= 0 ) then t = { } for i , v in ipairs ( Result ) do t [ i ] = { } t [ i ].address = v.address + py t [ i ].flags = ty end t = gg.getValues ( t ) for i , v in ipairs ( t ) do if v.value ~= num then Result [ i ] = nil end end local MS = { } for i , v in pairs ( Result ) do MS [ # MS + 1 ] = v end Result = MS end end function ms.bc ( ) data = { } if Result == nil or # Result == 0 then gg.alert ( "开启失败" ) else for i , v in pairs ( Result ) do data [ # data + 1 ] = v.address end end Result = nil end function ms.edit ( nn , off , ty , dj ) if ( Result ) then ms.bc ( ) end if # data > 0 then for i , v in ipairs ( data ) do setvalue ( v + off , nn , ty , dj or false ) end gg.toast ( Name.."成功" ) end end Name = "折扇跳跃聚能" ms.ss ( "2910" , 4 , 32 ) ms.py ( 1 , 4 , 4 ) ms.py ( 1 , -4 , 4 ) ms.edit ( 0 , 0x5c , 4 ) ms.edit ( 0 , 0x50 , 4 ) ms.edit ( 4 , 0x4c , 4 ) ms.edit ( 0 , 0x74 , 4 ) ms.edit ( 0 , 0x6c , 4 ) ms.edit ( 0 , 0xa8 , 4 ) ms.edit ( 0 , 0x98 , 4 ) ms.edit ( 999 , 0x94 , 4 ) gg.alert("开启成功") end function b() function readValue(address, flags) return gg.getValues({{address = address, flags = flags}})[1]["value"]end ms = { } function setvalue ( add , value , falgs , dj ) local WY = { } WY [ 1 ] = { } WY [ 1 ].address = add WY [ 1 ].value = value WY [ 1 ].flags = falgs if dj == true then WY [ 1 ].freeze = true gg.addListItems ( WY ) else gg.setValues ( WY ) end end function ms.ss ( num , ty , nc ) local GGNUMBER_1 = num local GGNUMBER_2 = ty local GGNUMBER_3 = false local GGNUMBER_4 = gg.SIGN_EQUAL local GGNUMBER_5 = 0x3000000 local GGNUMBER_6 = 0xFFFFFFFF local GGNUMBER_7 = 0 gg.clearResults ( ) gg.setRanges ( nc ) gg.searchNumber ( GGNUMBER_1 , GGNUMBER_2 , GGNUMBER_3 , GGNUMBER_4 , GGNUMBER_5 , GGNUMBER_6 , GGNUMBER_7 ) Result = gg.getResults ( gg.getResultCount ( ) ) end function ms.py ( num , py , ty ) if ( Result and # Result ~= 0 ) then t = { } for i , v in ipairs ( Result ) do t [ i ] = { } t [ i ].address = v.address + py t [ i ].flags = ty end t = gg.getValues ( t ) for i , v in ipairs ( t ) do if v.value ~= num then Result [ i ] = nil end end local MS = { } for i , v in pairs ( Result ) do MS [ # MS + 1 ] = v end Result = MS end end function ms.bc ( ) data = { } if Result == nil or # Result == 0 then gg.alert ( "开启失败" ) else for i , v in pairs ( Result ) do data [ # data + 1 ] = v.address end end Result = nil end function ms.edit ( nn , off , ty , dj ) if ( Result ) then ms.bc ( ) end if # data > 0 then for i , v in ipairs ( data ) do setvalue ( v + off , nn , ty , dj or false ) end gg.toast ( Name.."成功" ) end end Name = "相机跳跃聚能" ms.ss ( "3210" , 4 , 32 ) ms.py ( 1 , 4 , 4 ) ms.py ( 1 , -4 , 4 ) ms.edit ( 0 , 0x5c , 4 ) ms.edit ( 0 , 0x50 , 4 ) ms.edit ( 4 , 0x4c , 4 ) ms.edit ( 0 , 0x74 , 4 ) ms.edit ( 0 , 0x6c , 4 ) ms.edit ( 0 , 0xa8 , 4 ) ms.edit ( 0 , 0x98 , 4 ) ms.edit ( 999 , 0x94 , 4 ) gg.alert("开启成功") end function c() function readValue(address, flags) return gg.getValues({{address = address, flags = flags}})[1]["value"]end ms = { } function setvalue ( add , value , falgs , dj ) local WY = { } WY [ 1 ] = { } WY [ 1 ].address = add WY [ 1 ].value = value WY [ 1 ].flags = falgs if dj == true then WY [ 1 ].freeze = true gg.addListItems ( WY ) else gg.setValues ( WY ) end end function ms.ss ( num , ty , nc ) local GGNUMBER_1 = num local GGNUMBER_2 = ty local GGNUMBER_3 = false local GGNUMBER_4 = gg.SIGN_EQUAL local GGNUMBER_5 = 0x3000000 local GGNUMBER_6 = 0xFFFFFFFF local GGNUMBER_7 = 0 gg.clearResults ( ) gg.setRanges ( nc ) gg.searchNumber ( GGNUMBER_1 , GGNUMBER_2 , GGNUMBER_3 , GGNUMBER_4 , GGNUMBER_5 , GGNUMBER_6 , GGNUMBER_7 ) Result = gg.getResults ( gg.getResultCount ( ) ) end function ms.py ( num , py , ty ) if ( Result and # Result ~= 0 ) then t = { } for i , v in ipairs ( Result ) do t [ i ] = { } t [ i ].address = v.address + py t [ i ].flags = ty end t = gg.getValues ( t ) for i , v in ipairs ( t ) do if v.value ~= num then Result [ i ] = nil end end local MS = { } for i , v in pairs ( Result ) do MS [ # MS + 1 ] = v end Result = MS end end function ms.bc ( ) data = { } if Result == nil or # Result == 0 then gg.alert ( "开启失败" ) else for i , v in pairs ( Result ) do data [ # data + 1 ] = v.address end end Result = nil end function ms.edit ( nn , off , ty , dj ) if ( Result ) then ms.bc ( ) end if # data > 0 then for i , v in ipairs ( data ) do setvalue ( v + off , nn , ty , dj or false ) end gg.toast ( Name.."成功" ) end end Name = "校服跳跃聚能" ms.ss ( "3110" , 4 , 32 ) ms.py ( 1 , 4 , 4 ) ms.py ( 1 , -4 , 4 ) ms.edit ( 0 , 0x5c , 4 ) ms.edit ( 0 , 0x50 , 4 ) ms.edit ( 4 , 0x4c , 4 ) ms.edit ( 0 , 0x74 , 4 ) ms.edit ( 0 , 0x6c , 4 ) ms.edit ( 0 , 0xa8 , 4 ) ms.edit ( 0 , 0x98 , 4 ) ms.edit ( 999 , 0x94 , 4 ) gg.alert("开启成功") end function d() function readValue(address, flags) return gg.getValues({{address = address, flags = flags}})[1]["value"]end ms = { } function setvalue ( add , value , falgs , dj ) local WY = { } WY [ 1 ] = { } WY [ 1 ].address = add WY [ 1 ].value = value WY [ 1 ].flags = falgs if dj == true then WY [ 1 ].freeze = true gg.addListItems ( WY ) else gg.setValues ( WY ) end end function ms.ss ( num , ty , nc ) local GGNUMBER_1 = num local GGNUMBER_2 = ty local GGNUMBER_3 = false local GGNUMBER_4 = gg.SIGN_EQUAL local GGNUMBER_5 = 0x3000000 local GGNUMBER_6 = 0xFFFFFFFF local GGNUMBER_7 = 0 gg.clearResults ( ) gg.setRanges ( nc ) gg.searchNumber ( GGNUMBER_1 , GGNUMBER_2 , GGNUMBER_3 , GGNUMBER_4 , GGNUMBER_5 , GGNUMBER_6 , GGNUMBER_7 ) Result = gg.getResults ( gg.getResultCount ( ) ) end function ms.py ( num , py , ty ) if ( Result and # Result ~= 0 ) then t = { } for i , v in ipairs ( Result ) do t [ i ] = { } t [ i ].address = v.address + py t [ i ].flags = ty end t = gg.getValues ( t ) for i , v in ipairs ( t ) do if v.value ~= num then Result [ i ] = nil end end local MS = { } for i , v in pairs ( Result ) do MS [ # MS + 1 ] = v end Result = MS end end function ms.bc ( ) data = { } if Result == nil or # Result == 0 then gg.alert ( "开启失败" ) else for i , v in pairs ( Result ) do data [ # data + 1 ] = v.address end end Result = nil end function ms.edit ( nn , off , ty , dj ) if ( Result ) then ms.bc ( ) end if # data > 0 then for i , v in ipairs ( data ) do setvalue ( v + off , nn , ty , dj or false ) end gg.toast ( Name.."成功" ) end end Name = "卫衣跳跃聚能" ms.ss ( "3010" , 4 , 32 ) ms.py ( 1 , 4 , 4 ) ms.py ( 1 , -4 , 4 ) ms.edit ( 0 , 0x5c , 4 ) ms.edit ( 0 , 0x50 , 4 ) ms.edit ( 4 , 0x4c , 4 ) ms.edit ( 0 , 0x74 , 4 ) ms.edit ( 0 , 0x6c , 4 ) ms.edit ( 0 , 0xa8 , 4 ) ms.edit ( 0 , 0x98 , 4 ) ms.edit ( 999 , 0x94 , 4 ) gg.alert("开启成功") end function e() function readValue(address, flags) return gg.getValues({{address = address, flags = flags}})[1]["value"]end ms = { } function setvalue ( add , value , falgs , dj ) local WY = { } WY [ 1 ] = { } WY [ 1 ].address = add WY [ 1 ].value = value WY [ 1 ].flags = falgs if dj == true then WY [ 1 ].freeze = true gg.addListItems ( WY ) else gg.setValues ( WY ) end end function ms.ss ( num , ty , nc ) local GGNUMBER_1 = num local GGNUMBER_2 = ty local GGNUMBER_3 = false local GGNUMBER_4 = gg.SIGN_EQUAL local GGNUMBER_5 = 0x3000000 local GGNUMBER_6 = 0xFFFFFFFF local GGNUMBER_7 = 0 gg.clearResults ( ) gg.setRanges ( nc ) gg.searchNumber ( GGNUMBER_1 , GGNUMBER_2 , GGNUMBER_3 , GGNUMBER_4 , GGNUMBER_5 , GGNUMBER_6 , GGNUMBER_7 ) Result = gg.getResults ( gg.getResultCount ( ) ) end function ms.py ( num , py , ty ) if ( Result and # Result ~= 0 ) then t = { } for i , v in ipairs ( Result ) do t [ i ] = { } t [ i ].address = v.address + py t [ i ].flags = ty end t = gg.getValues ( t ) for i , v in ipairs ( t ) do if v.value ~= num then Result [ i ] = nil end end local MS = { } for i , v in pairs ( Result ) do MS [ # MS + 1 ] = v end Result = MS end end function ms.bc ( ) data = { } if Result == nil or # Result == 0 then gg.alert ( "开启失败" ) else for i , v in pairs ( Result ) do data [ # data + 1 ] = v.address end end Result = nil end function ms.edit ( nn , off , ty , dj ) if ( Result ) then ms.bc ( ) end if # data > 0 then for i , v in ipairs ( data ) do setvalue ( v + off , nn , ty , dj or false ) end gg.toast ( Name.."成功" ) end end Name = "耳机跳跃聚能" ms.ss ( "3310" , 4 , 32 ) ms.py ( 1 , 4 , 4 ) ms.py ( 1 , -4 , 4 ) ms.edit ( 0 , 0x5c , 4 ) ms.edit ( 0 , 0x50 , 4 ) ms.edit ( 4 , 0x4c , 4 ) ms.edit ( 0 , 0x74 , 4 ) ms.edit ( 0 , 0x6c , 4 ) ms.edit ( 0 , 0xa8 , 4 ) ms.edit ( 0 , 0x98 , 4 ) ms.edit ( 999 , 0x94 , 4 ) gg.alert("开启成功") end function f() function readValue(address, flags) return gg.getValues({{address = address, flags = flags}})[1]["value"]end ms = { } function setvalue ( add , value , falgs , dj ) local WY = { } WY [ 1 ] = { } WY [ 1 ].address = add WY [ 1 ].value = value WY [ 1 ].flags = falgs if dj == true then WY [ 1 ].freeze = true gg.addListItems ( WY ) else gg.setValues ( WY ) end end function ms.ss ( num , ty , nc ) local GGNUMBER_1 = num local GGNUMBER_2 = ty local GGNUMBER_3 = false local GGNUMBER_4 = gg.SIGN_EQUAL local GGNUMBER_5 = 0x3000000 local GGNUMBER_6 = 0xFFFFFFFF local GGNUMBER_7 = 0 gg.clearResults ( ) gg.setRanges ( nc ) gg.searchNumber ( GGNUMBER_1 , GGNUMBER_2 , GGNUMBER_3 , GGNUMBER_4 , GGNUMBER_5 , GGNUMBER_6 , GGNUMBER_7 ) Result = gg.getResults ( gg.getResultCount ( ) ) end function ms.py ( num , py , ty ) if ( Result and # Result ~= 0 ) then t = { } for i , v in ipairs ( Result ) do t [ i ] = { } t [ i ].address = v.address + py t [ i ].flags = ty end t = gg.getValues ( t ) for i , v in ipairs ( t ) do if v.value ~= num then Result [ i ] = nil end end local MS = { } for i , v in pairs ( Result ) do MS [ # MS + 1 ] = v end Result = MS end end function ms.bc ( ) data = { } if Result == nil or # Result == 0 then gg.alert ( "开启失败" ) else for i , v in pairs ( Result ) do data [ # data + 1 ] = v.address end end Result = nil end function ms.edit ( nn , off , ty , dj ) if ( Result ) then ms.bc ( ) end if # data > 0 then for i , v in ipairs ( data ) do setvalue ( v + off , nn , ty , dj or false ) end gg.toast ( Name.."成功" ) end end Name = "眼镜跳跃聚能" ms.ss ( "3410" , 4 , 32 ) ms.py ( 1 , 4 , 4 ) ms.py ( 1 , -4 , 4 ) ms.edit ( 0 , 0x5c , 4 ) ms.edit ( 0 , 0x50 , 4 ) ms.edit ( 4 , 0x4c , 4 ) ms.edit ( 0 , 0x74 , 4 ) ms.edit ( 0 , 0x6c , 4 ) ms.edit ( 0 , 0xa8 , 4 ) ms.edit ( 0 , 0x98 , 4 ) ms.edit ( 999 , 0x94 , 4 ) gg.alert("开启成功") end function g() function readValue(address, flags) return gg.getValues({{address = address, flags = flags}})[1]["value"]end ms = { } function setvalue ( add , value , falgs , dj ) local WY = { } WY [ 1 ] = { } WY [ 1 ].address = add WY [ 1 ].value = value WY [ 1 ].flags = falgs if dj == true then WY [ 1 ].freeze = true gg.addListItems ( WY ) else gg.setValues ( WY ) end end function ms.ss ( num , ty , nc ) local GGNUMBER_1 = num local GGNUMBER_2 = ty local GGNUMBER_3 = false local GGNUMBER_4 = gg.SIGN_EQUAL local GGNUMBER_5 = 0x3000000 local GGNUMBER_6 = 0xFFFFFFFF local GGNUMBER_7 = 0 gg.clearResults ( ) gg.setRanges ( nc ) gg.searchNumber ( GGNUMBER_1 , GGNUMBER_2 , GGNUMBER_3 , GGNUMBER_4 , GGNUMBER_5 , GGNUMBER_6 , GGNUMBER_7 ) Result = gg.getResults ( gg.getResultCount ( ) ) end function ms.py ( num , py , ty ) if ( Result and # Result ~= 0 ) then t = { } for i , v in ipairs ( Result ) do t [ i ] = { } t [ i ].address = v.address + py t [ i ].flags = ty end t = gg.getValues ( t ) for i , v in ipairs ( t ) do if v.value ~= num then Result [ i ] = nil end end local MS = { } for i , v in pairs ( Result ) do MS [ # MS + 1 ] = v end Result = MS end end function ms.bc ( ) data = { } if Result == nil or # Result == 0 then gg.alert ( "开启失败" ) else for i , v in pairs ( Result ) do data [ # data + 1 ] = v.address end end Result = nil end function ms.edit ( nn , off , ty , dj ) if ( Result ) then ms.bc ( ) end if # data > 0 then for i , v in ipairs ( data ) do setvalue ( v + off , nn , ty , dj or false ) end gg.toast ( Name.."成功" ) end end Name = "夹克跳跃聚能" ms.ss ( "2610" , 4 , 32 ) ms.py ( 1 , 4 , 4 ) ms.py ( 1 , -4 , 4 ) ms.edit ( 0 , 0x5c , 4 ) ms.edit ( 0 , 0x50 , 4 ) ms.edit ( 4 , 0x4c , 4 ) ms.edit ( 0 , 0x74 , 4 ) ms.edit ( 0 , 0x6c , 4 ) ms.edit ( 0 , 0xa8 , 4 ) ms.edit ( 0 , 0x98 , 4 ) ms.edit ( 999 , 0x94 , 4 ) gg.alert("开启成功") end function h() function readValue(address, flags) return gg.getValues({{address = address, flags = flags}})[1]["value"]end ms = { } function setvalue ( add , value , falgs , dj ) local WY = { } WY [ 1 ] = { } WY [ 1 ].address = add WY [ 1 ].value = value WY [ 1 ].flags = falgs if dj == true then WY [ 1 ].freeze = true gg.addListItems ( WY ) else gg.setValues ( WY ) end end function ms.ss ( num , ty , nc ) local GGNUMBER_1 = num local GGNUMBER_2 = ty local GGNUMBER_3 = false local GGNUMBER_4 = gg.SIGN_EQUAL local GGNUMBER_5 = 0x3000000 local GGNUMBER_6 = 0xFFFFFFFF local GGNUMBER_7 = 0 gg.clearResults ( ) gg.setRanges ( nc ) gg.searchNumber ( GGNUMBER_1 , GGNUMBER_2 , GGNUMBER_3 , GGNUMBER_4 , GGNUMBER_5 , GGNUMBER_6 , GGNUMBER_7 ) Result = gg.getResults ( gg.getResultCount ( ) ) end function ms.py ( num , py , ty ) if ( Result and # Result ~= 0 ) then t = { } for i , v in ipairs ( Result ) do t [ i ] = { } t [ i ].address = v.address + py t [ i ].flags = ty end t = gg.getValues ( t ) for i , v in ipairs ( t ) do if v.value ~= num then Result [ i ] = nil end end local MS = { } for i , v in pairs ( Result ) do MS [ # MS + 1 ] = v end Result = MS end end function ms.bc ( ) data = { } if Result == nil or # Result == 0 then gg.alert ( "开启失败" ) else for i , v in pairs ( Result ) do data [ # data + 1 ] = v.address end end Result = nil end function ms.edit ( nn , off , ty , dj ) if ( Result ) then ms.bc ( ) end if # data > 0 then for i , v in ipairs ( data ) do setvalue ( v + off , nn , ty , dj or false ) end gg.toast ( Name.."成功" ) end end Name = "圣诞帽跳跃聚能" ms.ss ( "2510" , 4 , 32 ) ms.py ( 1 , 4 , 4 ) ms.py ( 1 , -4 , 4 ) ms.edit ( 0 , 0x5c , 4 ) ms.edit ( 0 , 0x50 , 4 ) ms.edit ( 4 , 0x4c , 4 ) ms.edit ( 0 , 0x74 , 4 ) ms.edit ( 0 , 0x6c , 4 ) ms.edit ( 0 , 0xa8 , 4 ) ms.edit ( 0 , 0x98 , 4 ) ms.edit ( 999 , 0x94 , 4 ) gg.alert("开启成功") end function dm() UI = "dm" local menu = gg.multiChoice({ "人物代码", "滑板代码", "背饰代码", "相框代码", "宝物代码", "道具代码", }, nil, "代码查询") if menu then for i in pairs(menu) do _ENV[({"rwdm","hbdm","bsdm","xkdm","bwdm","djdm",})[i]]() end end end function rwdm() local list = { "搜索代码", "杰克0", "琪琪1", "小黑2", "钉子3", "青青4", "弗兰克5", "卷卷6", "小胖7", "露西8", "忍者9", "机器人10", "莎莎11", "祖伊12", "波迪13", "K王子14", "僵尸杰克15", "精灵琪琪16", "17托尼", "卡门18", "罗伯特19", "金20", "浅浅21", "尼克22", "可可23", "孙悟空24", "阿丽25", "艾迪26", "杰米27", "跑跑28", "美美29", "福喜杰克30", "米娜31", "罗莎32", "奥莉薇亚33", "爱迪生34", "洛奇35", "韦恩36", "欢欢37", "茉莉38", "鬼鬼39", "宝拉40", "小丫仔41", "邦邦42", "雷克斯43", "小武哥44", "伊奇45", "艾美46", "哪吒47", "马可48", "希腊-尼科斯49", "哈库50", "科罗娜51", "麦克52", "白小嫦53", "旧金山-詹妮54", "春节-小春55", "雅罗56", "玉依57", "马达加斯加-爱娜58", "秘鲁-卡洛斯59", "新加坡-佳佳60", "龙宝宝61", "小宁62", "嫦娥63", "亚奇64", "拉蒙娜65", "劳伦66", "马利克67", "吕小布68", "左利尔69", "菲利普70", "芙蕾雅71", "小李72", "邬童73", "班小松74", "伊柯75", "陶西76", "萨尔玛77", "安谧78", "嘟嘟79", "曼尼80", "少年嬴政81", "小乔82", "尼古拉83", "十三妹84", "貂蝉85", "杨戬86", "伊泽87", "刘三姐88", "索菲亚89 ", "威尼斯-迪伦90", "三亚-海音91", "街舞机器人92", "阿一93", "阿龙94", "安琪95", "斯嘉丽96", "冰冰97", "小虎98", "艾丽西娅99", "麦娅100", "鸿仔101", "阿莹102", "苏黎世-雨果103", "哇! 兔子机器人104", "卡里姆105", "素贞106", "糖心107", "梅108", "淮安109", "飞天110", "迪戈111", "圣诞小黑112", "铁甲武僧113", "鼠小易114", "阿尔巴115", "未来杰克116", "时光少年117", "蓝骑士118", "艾波索119", "甜心少女120", "卡勒姆121", "小石城-洛克122", "太空人123", "冰雪杰克124", "冰雪弗兰克125", "冰雪钉子126", "冰雪琪琪127", "冰雪青青128", "许愿神龙129", "穿越华夏-小雅130", "穿越华夏-牛犇犇131", "穿越华夏-鼠萌萌132", "开学季-元气少年133", "柏林-妮娜134", "柏林-泽恩135", "纽约-达瑞尔136", "纽约-拉娜137", "小狐狸138", "牛津-邦妮139", "哥本哈根版本-维京人140", "空间站版本-机械弗兰克141", "空间站版本-电音机器人142", "艾嘉桦143", "柠檬妹妹144", "米娅145", "武田146", "环儿147", "科拉尔148", "杰森149", "塔哈150", "菲尼克斯151", "艾斯152", "福气琪琪153", "克莱门汀154", "姜博155", "克莱奥156", "哈西娜157", "查理158", "雅美159", "假面机器人160", "夜莺161", "玛雅162", "超级琪琪163", "超级小黑164", "超级杰克165", "喵千金166", "幻觉167", "番薯仔168", "鹿少爷169", "超级青青170", "精灵杰克171", "精灵小黑172", "精灵琪琪173", "虎冲冲174", "妲己175", "迪迦杰克176", "巴尔坦杰克177", "超级费尔南多178", "宋毅179", "奥斯汀180", "大眼仔181", "乔治182", "骑士183", "兔跳跳184", "隐秘小子185", "机械兔186", "假面机器人187", "乌兰188", "巴兹189", "保安190", "欧布小黑191", "哥莫拉青青192", "电玩番薯仔193", "隐秘女孩194", "喷雾机器人195", "兔小萌196", "FBL16245", } local name = {} --- 功能函数表 local UI = gg.choice(list, nil, '人物代码') if UI then if UI == 1 then local prompt = gg.prompt({ '请输入关键词进行搜索' }, { '' }, { 'text' }) if prompt then local str = prompt[1] local t = {} local t1 = {} for i = 2, #list - 1 do if string.find(list[i], str) then table.insert(t, list[i]) table.insert(t1, name[i - 1]) end end if #t == 0 then gg.toast('无搜索结果') else local c = gg.choice(t, nil, '关键词:['.. str .. '],共搜索到' .. #t .. '条结果') if c then end end end else end if UI == 2 then os.exit()end end FX1=0 end function hbdm() local list = { "搜索代码", "默认滑板0", "大跳板1", "卧板2", "街头滑板3", "滑浪板4", "超级英雄5", "星星6", "迈阿密7", "怪兽8", "火焰9", "自由女神10", "风之子11", "犀鸟12", "木板13", "小鸡14", "机车15", "足球16", "腹地17", "大白鲨18", "樱花19", "猫咪20", "狂热21", "弗拉明戈22", "玫瑰23", "熊猫24", "龙25", "泰迪26", "南瓜27", "铃铛28", "雪花29", "孟加拉30", "泡泡糖31", "仙人掌32", "麋鹿33", "香蕉34", "逐风35", "传送器36", "巡逻车37", "鳄鱼38", "乌龟39", "红鼻子40", "劳莱斯41", "狮王42", "提基43", "飞毯44", "龙舟45", "贡多拉46", "风火轮47", "飞羽48", "浪花49", "雷电50", "筋斗云51", "玛塔塔52", "影子53", "圣诞火车54", "花朵55", "独角兽56", "变色龙57", "魔鬼鱼58", "图米59", "超级跑车60", "狮子61", "金牌62", "奥尼63", "鲸鱼64", "合金跑车65", "灵符66", "雄鹰67", "冰川68", "赤兔69", "踏板70", "秘宝71", "疯狂赛车72", "尤克里里73", "纪念日74", "音槌75", "黄包车76", "眼镜蛇77", "太空飞船78", "桂花扇79", "骷髅80", "招魂幡81", "南瓜扫帚82", "竹简83", "风韵84", "水晶雪橇85", "海盗船86", "圣甲虫87", "羊88", "羞花89", "哮天犬90", "热狗91", "浪漫甜心92", "竹筏93", "琉璃94", "喷射飞行器95", "多彩云96", "蓝莓滑板97", "低音炮98", "冲浪滑板99", "平底锅100", "黄色的士101", "帆船滑板102", "音符103", "魔毯104", "锦鲤105", "龙王炮106", "金猪107", "烟花火箭108", "唱片109", "像素爱心110", "黄色闪电111", "发条112", "蓝色风暴113", "油纸伞114", "梦幻蝴蝶115", "海蛇116", "青铜战马117", "莲台118", "落叶119", "皇家战马120", "七色彩虹121", "极速光轮122", "电音风暴123", "TapTAp滑板124", "小米滑板125", "星际巡洋舰126", "时光涡轮127", "无人机128", "飞影129", "朋克滑板130", "老爷车131", "旅行者一号132", "马头琴133", "电音熊134", "自由涂鸦135", "迷你兔136", "维京战船137", "旋风138", "秘密139", "开拓者140", "幻影141", "调色板142", "樱之花143", "神龙144", "海浪145", "骆驼146", "海滩板147", "冰雪奥义148", "姜饼149", "红桃皇后150", "原子瓦151", "星盘152", "向阳153", "测速仪154", "括普155", "月羽156", "浮夸157", "萌妹飞车158", "液体159", "番薯电动车160", "小鹿板161", "磁铁162", "超级冲浪板163", "高音号滑板164", "雪云滑板165", "寅虎滑板166", "狐狸滑板167", "胜利飞燕168", "电测仪169", "夜琵琶170", "彩虹炸弹171", "微博滑板172", "兔兔气垫船173", "盾牌飞行器174", "年年有余175", "赛博摩托176", "枫叶177", "战斗机178", "鸡动机179", } local name = {} --- 功能函数表 local UI = gg.choice(list, nil, '滑板代码') if UI then if UI == 1 then local prompt = gg.prompt({ '请输入关键词进行搜索' }, { '' }, { 'text' }) if prompt then local str = prompt[1] local t = {} local t1 = {} for i = 2, #list - 1 do if string.find(list[i], str) then table.insert(t, list[i]) table.insert(t1, name[i - 1]) end end if #t == 0 then gg.toast('无搜索结果') else local c = gg.choice(t, nil, '关键词:['.. str .. '],共搜索到' .. #t .. '条结果') if c then end end end else end if UI == 2 then os.exit()end end FX1=0 end function bsdm() local list = { "搜索代码", "幸运星背包1", "圣诞雪人2", "机械之翼3", "天使之翼4", "绿野风车5", "愚乐气球6", "迷蝶之翼7", "甜心花环8", "时光之翼9", "玲珑秋月10", "星辰11", "圣诞树12", "许愿神龙背饰13", "元气书包14", "帆布克15", "琵琶16", "神光棒17", "狗狗背饰18", "大眼泡泡19", "超能氧气瓶20", "闪电篮球21", "吸铁石22", "欧布之光23", "游戏机24", "小兔书包25", } local name = {} --- 功能函数表 local UI = gg.choice(list, nil, '背饰代码') if UI then if UI == 1 then local prompt = gg.prompt({ '请输入关键词进行搜索' }, { '' }, { 'text' }) if prompt then local str = prompt[1] local t = {} local t1 = {} for i = 2, #list - 1 do if string.find(list[i], str) then table.insert(t, list[i]) table.insert(t1, name[i - 1]) end end if #t == 0 then gg.toast('无搜索结果') else local c = gg.choice(t, nil, '关键词:['.. str .. '],共搜索到' .. #t .. '条结果') if c then end end end else end if UI == 2 then os.exit()end end FX1=0 end function xkdm() local list = { "搜索代码", "2019年春节限定头像框1", "情人节限定头像框2", "角色达人头像框3", "滑板达人头像框4", "愚人节限定头像框5", "毅力达人限定头像框6", "劳动节限定头像框7", "端午节限定头像框8", "夏日清凉头像框9", "钻石璀璨头像框10", "七夕限定头像框11", "中秋节限定头像框12", "飞天头像框13", "万圣节头像框14", "万圣霓虹头像框15", "秋日头像框代码16", "6周年头像框代码17", "冰雪节头像框代码18", "2020春节限定头像框代码19", "我爱饺子头像框代码20", "我爱汤圆头像框代码21", "去春游吧头像框代码22", "中国加油头像框代码23", "愚乐一下头像框代码24", "纯真记忆头像框代码25", "爱心传递头像框代码26", "7周年头像框代码27", "圣诞迎新头像框代码28", "许愿神龙头像框代码29", "2021年春节限定头像框代码30", "春日芳华头像框代码31", "愚人节恶搞头像框代码32", "2021劳动节头像框代码33", "牛津头像框代码34", "2021端午头像框代码35", "2021暑假头像框代码36", "2021巴厘岛像框代码37", "2021中秋头像框代码38", "长安限定头像框代码39", "一起来捣蛋头像框代码40", "8周年限定头像框代码41", "创作达人头像框代码42", "大神头像框代码43", "双旦快乐头像框代码44", "2022春节头像框代码45", "春意盎然头像框代码46", "愚你同乐头像框代码47", "劳动快乐头像框代码48", "端午快乐头像框代码49", "摩纳哥限定头像框代码50", "暑假快乐头像框代码51", "冰岛限定头像框代码52", "武汉限定头像框代码53", "社团S1赛季冠军头像框代码54", "社团S1赛季亚军头像框代码55", "社团S1赛季季军头像框代码56", "社团S1赛季精英头像框代码57", "社团S1赛季勇者头像框代码58", "万圣节限定头像框59", "9周年限定头像框60", "深圳限定头像框61", "社团S2赛季冠军头像框代码62", "社团S2赛季亚军头像框代码63", "社团S2赛季季军头像框代码64", "社团S2赛季精英头像框代码65", "社团S2赛季勇者头像框代码66", "新城洛阳头像框67", "奥特曼限定68", "微博专属头像框69", "Fanbook头像框70", "哥本哈根专属头像框71", "社团S3赛季冠军头像框代码72", "社团S3赛季亚军头像框代码73", "社团S3赛季季军头像框代码74", "社团S3赛季精英头像框代码75", "社团S3赛季勇者头像框代码76", "跑神杯S3冠军社团头像框77", "跑神杯S3亚军社团头像框78", "跑神杯S3季军社团头像框79", "跑神杯S3纪念头像框80", "呼和浩特版本头像框81", "劳动最光荣头像框82", "大神作者头像框83", "人气作者头像框84", "新秀作者头像框85", "欧布头像框86", "大朋友头像框87", "小朋友头像框88", "电玩番薯仔头像框89", "校园时光头像框90", } local name = {} --- 功能函数表 local UI = gg.choice(list, nil, '头像框代码') if UI then if UI == 1 then local prompt = gg.prompt({ '请输入关键词进行搜索' }, { '' }, { 'text' }) if prompt then local str = prompt[1] local t = {} local t1 = {} for i = 2, #list - 1 do if string.find(list[i], str) then table.insert(t, list[i]) table.insert(t1, name[i - 1]) end end if #t == 0 then gg.toast('无搜索结果') else local c = gg.choice(t, nil, '关键词:['.. str .. '],共搜索到' .. #t .. '条结果') if c then end end end else end if UI == 2 then os.exit()end end FX1=0 end function bwdm() local list = { "搜索代码", "1小丑面具", "2露西耳环", "3紫色花球", "4金属发条", "5火焰纹章", "6星星项链", "7机械手表", "8金色耳环", "9黄金皇冠", "10摩托头盔", "11狼牙项链", "12纯金手表", "13金箍", "14乾坤圈", "15水手猫", "16积木", "17灵符", "18黄金盔甲", "19令牌", "20龙蛋", "21南瓜", "22月兔", "23舞狮头", "24甜心项链", "25圣诞帽", "26夹克", "27红色战衣", "28火红灯笼", "29美人折扇", "30卫衣", "31校服", "32相机", "33耳机", "34眼镜", } local name = {} --- 功能函数表 local UI = gg.choice(list, nil, '宝物代码') if UI then if UI == 1 then local prompt = gg.prompt({ '请输入关键词进行搜索' }, { '' }, { 'text' }) if prompt then local str = prompt[1] local t = {} local t1 = {} for i = 2, #list - 1 do if string.find(list[i], str) then table.insert(t, list[i]) table.insert(t1, name[i - 1]) end end if #t == 0 then gg.toast('无搜索结果') else local c = gg.choice(t, nil, '关键词:['.. str .. '],共搜索到' .. #t .. '条结果') if c then end end end else end if UI == 2 then os.exit()end end FX1=0 end function djdm() local list = { "搜索代码", "1导弹", "2蓝色魔鬼炸弹", "4护盾", "8香蕉皮", "16颜料炸弹", "32恶魔", "64粘液罐子", "128小狗", "256滑板", "225云雾", "272减速乌龟", "320净化饮料", "384磁铁", } local name = {} --- 功能函数表 local UI = gg.choice(list, nil, '查询') if UI then if UI == 1 then local prompt = gg.prompt({ '请输入关键词进行搜索' }, { '' }, { 'text' }) if prompt then local str = prompt[1] local t = {} local t1 = {} for i = 2, #list - 1 do if string.find(list[i], str) then table.insert(t, list[i]) table.insert(t1, name[i - 1]) end end if #t == 0 then gg.toast('无搜索结果') else local c = gg.choice(t, nil, '关键词:['.. str .. '],共搜索到' .. #t .. '条结果') if c then end end end else end if UI == 2 then os.exit()end end FX1=0 end ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- htl={} function panduan(rec ) fille , err = io.open(rec ) if fille == nil then return false else return true end end function pdcf(lujing ) rec = "/storage/emulated/0/HG-heaog/配置文件/"..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/HG-heaog/配置文件/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/HG-heaog/配置文件/"..lujing , neirong ) end function rdcf(lujing ) return read("/storage/emulated/0/HG-heaog/配置文件/"..lujing ) end function checkimg(tmp) if panduan("/sdcard/HG-heaog/图片/"..tmp) ~= true then gg.toast("正在下载资源"..tmp.."\n请耐心等待") download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..tmp , "/sdcard/HG-heaog/图片/"..tmp ) end end htl = { } local htl = htl local android = import('android.*' ) function write(fileName , content ) -- f = assert( io.open( fileName, 'w')) f:write( content ) f:close() if file.write(fileName , content ) == false then gg.alert("请给框架和修改器 文件储存权限\n否则无法正常运行" ) os.exit() end end function panduan(rec ) fille , err = io.open(rec ) if fille == nil then return false else return true end end function pdcf(lujing ) rec = "/sdcard/HG-heaog/配置文件/"..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/HG-heaog/配置文件/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/HG-heaog/配置文件/"..lujing , neirong ) end function rdcf(lujing ) return read("/sdcard/HG-heaog/配置文件/"..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/HG-heaog/音频/"..ress ) == true then pmusic("/sdcard/HG-heaog/音频/"..ress ) tmp1 = 1 else download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..ress , "/sdcard/HG-heaog/音频/"..ress ) pmusic("/sdcard/HG-heaog/音频/"..ress ) tmp1 = 1 end end end function checkimg(tmp) if panduan("/sdcard/HG-heaog/图片/"..tmp) ~= true then gg.toast("正在下载资源"..tmp.."\n请耐心等待") download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..tmp , "/sdcard/HG-heaog/图片/"..tmp ) download("http://wp.gglua.cc/view.php/9e1cbdeef0c149e652100f63e43cf1e7.png","/storage/emulated/0/HG-heaog/图片/hg-xfc") download("http://wp.gglua.cc/view.php/d2672553d7858506bed057feb3ac74cc.png","/storage/emulated/0/HG-heaog/图片/cdj") download("http://wp.gglua.cc/view.php/97bf5c1d79f5332f505e46dac838f7e4.png","/storage/emulated/0/HG-heaog/图片/cds") download("http://wp.gglua.cc/view.php/2569312c453c8e469a8da02236e21119.png","/storage/emulated/0/HG-heaog/图片/xsj") download("http://wp.gglua.cc/view.php/7d969ed814699db3711dd7011e5398d5.png","/storage/emulated/0/HG-heaog/图片/xsa") download("http://wp.gglua.cc/view.php/34c14758b5f120a20a63652dda43a723.png","/storage/emulated/0/HG-heaog/图片/taiji") download("http://wp.gglua.cc/view.php/0a89b0fa909b23af3a24f16c620d84cd.png","/storage/emulated/0/HG-heaog/图片/cdmc") download("http://wp.gglua.cc/view.php/87b74cfeff7ab4e6f7bebb89bd47fe6d.png","/storage/emulated/0/HG-heaog/图片/cban") download("http://wp.gglua.cc/view.php/6d5f0828c2a580dd69d045dcd3f9188a.png","/storage/emulated/0/HG-heaog/图片/yctb") download("http://wp.gglua.cc/view.php/0eca7d19c2ad9382c5e805fcd419e8ac.png","/storage/emulated/0/HG-heaog/图片/aobk") download("http://wp.gglua.cc/view.php/d387fc7c2c76ee0978dc40d0df0b9292.png","/storage/emulated/0/HG-heaog/图片/aoj") download("http://wp.gglua.cc/view.php/5f4bd2f59ec00fb914e2d1cb26c5b8f1.png","/storage/emulated/0/HG-heaog/图片/aos") download("http://wp.gglua.cc/view.php/2569312c453c8e469a8da02236e21119.png","/storage/emulated/0/HG-heaog/图片/hgxz") download("http://wp.gglua.cc/view.php/2fe707531304328e5de2904714ee6f3a.png","/storage/emulated/0/HG-heaog//图片/hg-logo") download("http://vip.kyun.top/view.php/8a46cea6df1e7dc450d5ab89785f7abe.jpeg","/storage/emulated/0/HG-heaog//图片/dsm") end end ckimg = { "hg-xfc", "cdj", "cds", "xsj", "xsa", "taiji", "cdmc", "cban", "yctb", "aobk", "aoj", "aos", "hgxz", "dsm", "hg-logo", } for i = 1 , # ckimg do jindu = i checkimg(ckimg [ i ] ) end local context = app.context local window = context : getSystemService("window" ) -- 获取窗口管理器 function getLayoutParams() LayoutParams = WindowManager.LayoutParams layoutParams = luajava.new(LayoutParams ) if(Build.VERSION.SDK_INT >= 26 ) then -- 设置悬浮窗方式 layoutParams.type = LayoutParams.TYPE_APPLICATION_OVERLAY else layoutParams.type = LayoutParams.TYPE_PHONE end layoutParams.format = PixelFormat.RGBA_8888 -- 设置背景 layoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE layoutParams.gravity = Gravity.TOP | Gravity.LEFT -- 重力设置 layoutParams.width = LayoutParams.WRAP_CONTENT -- 布局宽度 layoutParams.height = LayoutParams.WRAP_CONTENT -- 布局高度 return layoutParams end htl.controlRotation2 = function(control, time) luajava.runUiThread(function() import "android.view.animation.Animation" import "android.animation.ObjectAnimator" xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotation", { 0, 360 }) xuanzhuandonghua:setRepeatCount(0) xuanzhuandonghua:setRepeatMode(Animation.RESTART) xuanzhuandonghua:setDuration(time) xuanzhuandonghua:start() end) end slctb = luajava.loadlayout { GradientDrawable , color = "#00000000" , cornerRadius = 0 } jianbian6 = luajava.new(GradientDrawable) jianbian6:setCornerRadius(20) jianbian6:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian6:setColors({0x908E9798,0xff7986CB,0xff00FFF4}) jianbian6:setStroke(2,"0xFFCCCCCC")--边框宽度和颜色 htl.controlFlip = function(control,time) luajava.runUiThread(function() import "android.view.animation.Animation" import "android.animation.ObjectAnimator" xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotationY", {0, 360}) xuanzhuandonghua:setRepeatCount(0) xuanzhuandonghua:setRepeatMode(Animation.REVERSE) xuanzhuandonghua:setDuration(time) xuanzhuandonghua:start() end) end htl.controlWater = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX",{1, 0.8, 0.9, 1}):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY",{1,0.8,0.9,1}):setDuration(time):start() end) end htl.controlSmall = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX",{1, 0.7, 0.4, 0}):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY",{1, 0.7, 0.4, 0}):setDuration(time):start() end) end htl.controlBig = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX",{0, 0.4, 0.7, 1}):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY",{0, 0.4, 0.7, 1}):setDuration(time):start() end) end function getseekgra1() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(20) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setStroke(0,"0xFFCCCCCC")--边框宽度和颜色 return jianbians end slctb = getseekgra1() slcta = jianbian6 slctc = luajava.loadlayout { GradientDrawable , color = "#11ffffff" , cornerRadius = 30 } slctd = luajava.loadlayout { GradientDrawable , color = "#55ffffff" , cornerRadius = 30 } slcte = luajava.loadlayout { GradientDrawable , color = "#11ffffff" , cornerRadius = 30 } slctf = luajava.loadlayout { GradientDrawable , color = "#dd000000" , cornerRadius = 30, } function getSelector3() selector = luajava.getStateListDrawable() selector : addState({ android.R.attr.state_pressed } , slcte ) -- 点击时候的背景 selector : addState({ - android.R.attr.state_pressed } , slctf ) -- 没点击的背景 return selector end function getSelector4() selector = luajava.getStateListDrawable() selector : addState({ android.R.attr.state_checked } , slcte ) -- 点击时候的背景 selector : addState({ - android.R.attr.state_checked } , slctf ) -- 没点击的背景 return selector end function getSelector() selector = luajava.getStateListDrawable() selector : addState({ android.R.attr.state_pressed } , slcta ) -- 点击时候的背景 selector : addState({ - android.R.attr.state_pressed } , slctb ) -- 没点击的背景 return selector end function getSelector2() selector = luajava.getStateListDrawable() selector : addState({ android.R.attr.state_pressed } , slctd ) -- 点击时候的背景 selector : addState({ - android.R.attr.state_pressed } , slctc ) -- 没点击的背景 return selector end function getcolor(cl ) cl [ 1 ] = tonumber(math.ceil(cl [ 1 ] * 2.6 , 0 , 5 ) ) if cl [ 1 ] > 255 then cl [ 1 ] = "0xff" else cl [ 1 ] = "0x"..string.format("%x" , cl [ 1 ] ) end for i = 1 , 3 do cl [ i + 1 ] = string.format("%x" , cl [ i + 1 ] ) if string.len(cl [ i + 1 ] ) == 1 then cl [ i + 1 ] = "0"..cl [ i + 1 ] end end cl = cl [ 1 ]..cl [ 2 ]..cl [ 3 ]..cl [ 4 ] return cl end function getrgb(cl ) if string.sub(cl , 1 , 1 ) == "#" then cl = "0x"..string.sub(cl , 2 , -1 ) end cl = { tonumber(string.sub(cl , 0 , 4 ) ) , tonumber("0x"..string.sub(cl , 5 , 6 ) ) , tonumber("0x"..string.sub(cl , 7 , 8 ) ) } return cl end 侧边按钮背景2="/storage/emulated/0/HG-heaog/图片/cban" function 获取图片(txt) ntxt=string.sub(string.gsub(txt,"/","."),-10,-1) if string.find(tostring(txt),"http")~=nil then if panduan("/sdcard/heaog/图片/"..ntxt)==false then download(txt,"/sdcard/heaog/图片/"..ntxt) end txt="/sdcard/heaog/图片/"..ntxt end return luajava.getBitmapDrawable(txt) end slcta = 获取图片(侧边按钮背景2) jianbian = luajava.new(GradientDrawable ) jianbian : setCornerRadius(30 ) jianbian : setGradientType(GradientDrawable.LINEAR_GRADIENT ) local isswitch YoYoImpl = luajava.getYoYoImpl() htl.menu = function(stxt , sview ) if # sview < # stab then gg.alert("错误:菜单配置表少于菜单导航栏数量" ) return false end isswitch = true cebian = { LinearLayout , id = "侧边" , visibility = "gone" , layout_height = "fill_parent" , layout_width = "wrap_content" , padding = "2dp" , orientation = "vertical" , background = luajava.loadlayout { GradientDrawable , color = "#FFFFFFFF" , cornerRadius = 8 } , } for i = 1 , # stab do _ENV["jm"..i]=luajava.loadlayout({ LinearLayout , --id = "jm"..i , layout_height = "32dp" , layout_width = "76dp" , background = getSelector(), onClick = function() 切换(i ) luajava.newThread(function() pcall(func ) end ) : start() end , gravity = "center" , { TextView , id = "jm"..i.."tu" , text = stab [ i ] , gravity = "center" , textColor="#78909C", layout_height = "wrap_content" , layout_width = "wrap_content" , } }) cebian [ # cebian + 1 ] = _ENV["jm"..i] end cebian[#cebian+1]={ ImageView, id = "control", src = "/storage/emulated/0/HG-heaog/图片/taiji", layout_width = "70dp", layout_height = "70dp", layout_marginTop = "40dp", layout_marginBottom = "40dp" , layout_marginLeft = "5dp", } cebian = luajava.loadlayout(cebian ) for i = 1 , # stab do _ENV [ "layout"..i ] = luajava.loadlayout({ ScrollView , fillViewport = "true" , id = "layout"..i , visibility = "gone" , layout_width = "239dp" , layout_height = "wrap_content" , orientation = "horizontal" , { LinearLayout , id = "layoutm"..i , gravity = "top" , padding = "8dp" , layout_width = 'fill_parent' , layout_height = "wrap_content" , orientation = "vertical" , } } ) end title = luajava.loadlayout({ LinearLayout , id = "titl" , visibility = "gone" , layout_width = "239dp" , layout_height = "30dp" , gravity = "center" , background = "/storage/emulated/0/HG-heaog/图片/cdmc" , { LinearLayout , layout_marginLeft = "70dp" , layout_width = "120dp" , gravity = "center" , orientation="vertical", {TextView, layout_width = "170dp" , layout_height = "40dp" , text = stitle , textColor="#ffffff", textSize = "15sp" , gravity = "center" , layout_marginTop = "0dp" , layout_marginRight = "14dp" , }, } , { ImageView , id = "exit" , src = "/storage/emulated/0/HG-heaog/图片/yctb" , layout_width = "25dp" , layout_height = "25dp" , layout_marginTop = "0dp" , layout_marginLeft = "0dp" , layout_marginRight = "15dp" , } } ) gnlist = { LinearLayout , orientation = "vertical" , title , } for i = 1 , # stab do gnlist [ # gnlist + 1 ] = _ENV [ "layout"..i ] end ckou = luajava.loadlayout({ LinearLayout , id = "chuangk" , visibility = "gone" , layout_width = "match_parent" , layout_height = "match_parent" , orientation = "horizontal" , background = luajava.loadlayout { GradientDrawable , color = "#FFFAFAFA" , cornerRadius = 8 } , cebian , gnlist , } ) control1=luajava.loadlayout({ ImageView , id = "control" , background = 悬浮窗图片 ,----arlogo layout_width = "44dp" , layout_height = "44dp" , }) floatWindow = { LinearLayout , id = "motion" , layout_width = "250dp" , orientation = "vertical" , gravity = "center_vertical" , layout_height = "wrap_content" , { LinearLayout , layout_width = "match_parent" , layout_height = "48dp" , id = "xfc" , orientation = "horizontal" , -- background = jianbian2, gravity = "center_vertical" , { LinearLayout , layout_width = "48dp" , layout_height = "48dp" , gravity = "center" , control1 } , } , ckou } floatWindow = luajava.loadlayout(floatWindow ) local function invoke() local ok local RawX , RawY , x , y mainLayoutParams = getLayoutParams() -- floatWindow = luajava.loadlayout(floatWindow) local function invoke2() block('start' ) for k = 1 , # stab do for i = 1 , # sview [ k ] do _ENV [ "layoutm"..k ] : addView(sview [ k ] [ i ] ) end end window : addView(floatWindow , mainLayoutParams ) block('end' ) end local runnable = luajava.getRunnable(invoke2 ) local handler = luajava.getHandler() handler : post(runnable ) block('join' ) control.onClick = function() 隐藏() end exit.onClick = function() 隐藏() end local isMove control.onLongClick = function(v ) if isMove then return false end gg.toast("悬浮窗已退出" ) window : removeView(floatWindow ) isswitch = nil end hanshu = function(v , event ) local Action = event : getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event : getRawX() RawY = event : getRawY() x = mainLayoutParams.x y = mainLayoutParams.y elseif Action == MotionEvent.ACTION_MOVE then isMove = true mainLayoutParams.x = tonumber(x ) +(event : getRawX() - RawX ) mainLayoutParams.y = tonumber(y ) +(event : getRawY() - RawY ) window : updateViewLayout(floatWindow , mainLayoutParams ) end end motion.onTouch = hanshu control.onTouch = hanshu exit.onTouch = hanshu for i = 1 , # stab do _ENV [ "jm"..i ].onTouch = hanshu end end return invoke(swib1 , swib2 ) end 当前ui = 1 function 切换(x ) 当前ui = x luajava.runUiThread(function() for i = 1 , # stab do _ENV [ "jm"..i ] : setBackground(slctb ) _ENV [ "layout"..i ] : setVisibility(View.GONE ) end _ENV [ "layout"..当前ui ] : setVisibility(View.VISIBLE ) _ENV [ "jm"..当前ui ] : setBackground(slcta ) YoYoImpl : with("FadeIn" ) : duration(600 ) : playOn(_ENV [ "layout"..当前ui ] ) end ) end 显示 = 0 beij = luajava.loadlayout({ GradientDrawable , color = "#00000000" , cornerRadius = 30 } ) beij2 = luajava.loadlayout({ GradientDrawable , color = "#00000000" , cornerRadius = 30 } ) 显示=0 function 隐藏() luajava.runUiThread(function() if tonumber(tostring(cebian : getVisibility() ) ) == 8.0 then 显示=1 chuangk : setVisibility(View.VISIBLE ) cebian : setVisibility(View.VISIBLE ) xfc : setVisibility(View.GONE ) mainLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL window : updateViewLayout(floatWindow , mainLayoutParams ) title : setVisibility(View.VISIBLE ) _ENV [ "layout"..当前ui ] : setVisibility(View.VISIBLE ) floatWindow : setBackground(beij ) htl.controlBig(floatWindow,100) else 显示=0 mainLayoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE window : updateViewLayout(floatWindow , mainLayoutParams ) titl : setVisibility(View.GONE ) floatWindow : setBackground(beij2 ) chuangk : setVisibility(View.GONE ) cebian : setVisibility(View.GONE ) _ENV [ "layout"..当前ui ] : setVisibility(View.GONE ) xfc : setVisibility(View.VISIBLE ) htl.controlFlip(floatWindow,400) end end ) end function guid() seed = { 'e' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , 'a' , 'b' , 'c' , 'd' , 'e' , 'f' } tb = { } for i = 1 , 32 do table.insert(tb , seed [ math.random(1 , 16 ) ] ) end sid = table.concat(tb ) return string.format('%s%s%s%s%s' , string.sub(sid , 1 , 8 ) , string.sub(sid , 10 , 12 ) , string.sub(sid , 21 , 22 ) ) .. string.format('%s%s%s%s%s' , string.sub(sid , 1 , 6 ) , string.sub(sid , 21 , 25 ) ) end function htl.radio(radio ) firadio = { LinearLayout , layout_width = 'fill_parent' , layout_height = "wrap_content" , orientation = "vertical" } if type(radio [ 1 ] ) == "string" or type(radio [ 1 ] ) == "number" then firadio [ # firadio + 1 ] = { TextView , text = radio [ 1 ] , textColor = "#ffffff" , textSize = "10sp" , } end radios = { RadioGroup , background = luajava.loadlayout({ GradientDrawable , color = "#11000000" , cornerRadius = 30 } ) , layout_width = 'fill_parent' , layout_height = "wrap_content" , } for i = 2 , # radio do radios [ # radios + 1 ] = { RadioButton , layout_width = 'fill_parent' , text = radio [ i ] [ 1 ] , textColor = "#ffffff" , textSize = "12sp" , onClick = function() luajava.newThread(function() radio [ i ] [ 2 ]() end ) : start() end , } end firadio [ # firadio + 1 ] = radios return luajava.loadlayout(firadio ) end function htl.button(txt , func ) if not txt then txt = "未设置" end local tid=guid()..guid() _ENV[tid]=luajava.loadlayout ( { LinearLayout , layout_width = 'fill_parent' , layout_hight = "fill_parent" , { LinearLayout , layout_width = "fill_parent" , gravity = "center_horizontal" , layout_marginTop = "3dp" , layout_marginBottom = "3dp" , background = luajava.loadlayout { GradientDrawable , color = "#FF000000" , cornerRadius = 8 } , onClick = function() luajava.newThread(function() pcall(func ) end ) : start() end , { TextView , text = txt , textSize = "19sp" , layout_width = "wrap_content" , } , } } ) return _ENV[tid] end function htl.text(txt , color , size ) if not txt then txt = "未设置文字" end if not color then color = "#ffffff" end if not size then size = "18sp" end return luajava.loadlayout ( { TextView , text = txt , textSize = size , gravity = "center" , textColor = color , layout_width = "fill_parent" , } ) end function htl.text2(txt , color , size ) if not txt then txt = "未设置文字" end if not color then color = "#ffffff" end if not size then size = "18sp" end return luajava.loadlayout ( { TextView , text = txt , textSize = size , textColor = color , layout_width = "fill_parent" , } ) end function htl.switch(name,func1,func2,yans) nid = name..guid() if not yans then yans="#FFFFFF" end local func = 开关9(name,func1,func2,nid) if not name then name = "未设置" end rest = luajava.loadlayout({ LinearLayout, layout_width = '229dp', layout_height = "31dp", gravity = "center_vertical", { LinearLayout, layout_width = 'fill_parent', layout_height = "fill_parent", layout_marginLeft = "10dp", layout_marginRight = "10dp", gravity = "center_vertical", { TextView, gravity = "top", text = name, textColor = "#000000" , textSize="15sp", layout_weight=1, layout_width = 'match_parent', layout_marginLeft = "0dp", layout_marginRight = "0dp", }, { FrameLayout, id = luajava.newId(nid), background ="/storage/emulated/0/HG-heaog/图片/aobk", onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '60dp', layout_marginRight="10dp", layout_marginLeft="-10dp", layout_height = '30dp', padding="0dp", { LinearLayout, layout_gravity = "left|center", id = luajava.newId(nid.."k"), background ="/storage/emulated/0/HG-heaog/图片/aoj", onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '17dp', layout_height = '17dp', layout_marginRight="0dp", layout_marginLeft="10dp", },{ LinearLayout, visibility="gone", layout_gravity = "right|center", id = luajava.newId(nid.."g"), background ="/storage/emulated/0/HG-heaog/图片/aos", onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '19dp', layout_height = '19dp', layout_marginRight="10dp", layout_marginLeft="0dp", } }} }) return rest end function 开关9(name,func1,func2,nid) name = name..guid() _ENV[name] = "关" if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then luajava.runUiThread(function() luajava.getIdValue(nid.."k"):setVisibility(View.GONE) luajava.getIdValue(nid.."g"):setVisibility(View.VISIBLE) end) _ENV[name] = "开" --vibra:vibrate(10) pcall(func1) else luajava.runUiThread(function() luajava.getIdValue(nid.."g"):setVisibility(View.GONE) luajava.getIdValue(nid.."k"):setVisibility(View.VISIBLE) end) _ENV[name] = "关" --vibra:vibrate(10) pcall(func2) end end end end jianbian2 = luajava.new(GradientDrawable ) jianbian2 : setCornerRadius(30 ) jianbian2 : setGradientType(GradientDrawable.LINEAR_GRADIENT ) jianbian2 : setColors({ 0xdd20FF9B , 0xdd32A2FF } ) function htl.edit(name , hint ) if not hint then local hint = "" end _ENV [ name ] = name..guid() if not name then name = "点击输入文字" end rest = luajava.loadlayout({ LinearLayout , layout_width = 'fill_parent' , layout_hight = "fill_parent" , { LinearLayout , layout_width = 'fill_parent' , layout_hight = "fill_parent" , layout_marginTop = "1dp" , layout_marginBottom = "1dp" , layout_marginLeft = "0dp" , layout_marginRight = "0dp" , gravity = "center_vertical" , background = luajava.loadlayout { GradientDrawable , color = "#ff191A1D" , cornerRadius = 12 } , { EditText , gravity = "top" , hint = hint , textSize = 10 , id = luajava.newId(_ENV [ name ] ) , layout_width = 'fill' , layout_marginLeft = "10dp" , layout_marginRight = "10dp" , } } } ) return rest end function htl.getedit(name ) edit = tostring(luajava.getIdValue(_ENV [ name ] ) : getText() ) return edit end function htl.setedit(name , txt ) txt = tostring(txt ) luajava.runUiThread(function() luajava.getIdValue(_ENV [ name ] ) : setText(txt ) end ) end chazhi = { } chajv = { } function htl.seek(name , bian , smin , smax , nows ) _ENV [ bian ] = nows smin = tonumber(smin ) smax = tonumber(smax ) chajv [ bian ] = smax - smin chazhi [ bian ] = 1 - smin if smin == nil then smin = 1 smax = 10 end truesmin = 1 truesmax = truesmin + chajv [ bian ] if not nows then nows = smin tnows =(smin - nows ) else tnows =(nows - smin ) + 1 end if _ENV [ bian ] == nil then _ENV [ bian ] = nows end if not name then name = "未设置" end local names = name..guid() rest = luajava.loadlayout({ LinearLayout , layout_width = 'fill_parent' , gravity = "center" , layout_height = "wrap_content" , { LinearLayout , layout_width = 'fill_parent' , layout_height = "fill_parent" , layout_marginTop = "5dp" , layout_marginBottom = "5dp" , layout_marginLeft = "0dp" , layout_marginRight = "0dp" , gravity = "center_vertical" , background = luajava.loadlayout { GradientDrawable , color = "#ff191A1D" , cornerRadius = 8 } , { TextView , gravity = "top" , text = name..":"..nows , id = luajava.newId(names ) , layout_width = '70dp' , layout_marginLeft = "5dp" , layout_marginRight = "0dp" , } , { SeekBar , layout_width = '140dp' , min = truesmin , max = truesmax , progress = tnows , onSeekBarChange = { onProgressChanged = function(SeekBar , var2 , var3 ) if not var3 then return end local resultvar = tonumber(string.sub(var2 , 0 , -3 ) ) - chazhi [ bian ] luajava.runUiThread(function() luajava.getIdValue(names ) : setText(name..":"..resultvar ) end ) _ENV [ bian ] = resultvar end } } } } ) return rest end function visi(tid , ttid ) local tview = luajava.getIdValue(tid ) local ttview = luajava.getIdValue(ttid ) if not tview then return 0 end if tonumber(tostring(tview : getVisibility() ) ) == 8.0 then tview : setVisibility(View.VISIBLE ) ttview : setBackground(luajava.getBitmapDrawable("/storage/emulated/0/HG-heaog/图片/cds" ) ) else tview : setVisibility(View.GONE ) ttview : setBackground(luajava.getBitmapDrawable("/storage/emulated/0/HG-heaog/图片/cdj" ) ) end end function htl.box(views ) local tid = "box"..guid() local ttid = tid.."6" local t1id=guid() firadio = { LinearLayout , layout_width = 'fill_parent' , layout_height = "wrap_content" , layout_marginTop = "2dp" , layout_marginBottom = "2dp" , orientation = "vertical" , background = luajava.loadlayout { GradientDrawable , color = "#0018191C" , cornerRadius = 8 } , } if type(views [ 1 ] ) == "string" or type(views [ 1 ] ) == "number" then firadio [ # firadio + 1 ] = { LinearLayout , layout_width = 'fill_parent' , layout_height = "33dp" , gravity = "center_vertical" , layout_marginTop = "2dp" , layout_marginBottom = "2dp" , onClick = function() visi(tid , ttid ) end , background = luajava.loadlayout { GradientDrawable , color = "#FF000000" , cornerRadius = 8 } , { ImageView , layout_marginLeft = "10dp" , id = luajava.newId(ttid ) , background = "/storage/emulated/0/HG-heaog/图片/cdj" , layout_width = "25dp" , layout_height = "25dp" , layout_marginTop = "0dp" , } , { TextView , text = views [ 1 ] , textSize = "16sp" , layout_marginLeft = "15dp" , layout_width = "100dp" , textColor = "#ffffff" , gravity = "left" , } } else gg.alert("htl.box第一个参数必须是string" ) os.exit() end radios = { LinearLayout , layout_marginLeft = "0dp" , layout_marginRight = "0dp" , orientation = "vertical" , visibility = "gone" , id = luajava.newId(tid ) , padding = "0dp" , layout_width = 'fill_parent' , } for i = 2 , # views do radios [ # radios + 1 ] = views [ i ] end firadio [ # firadio + 1 ] = radios _ENV[t1id]=luajava.loadlayout(firadio ) return _ENV[t1id] end function htl.check(cklist ) rest = { LinearLayout , layout_width = 'match_parent' , layout_height = "wrap_content" , layout_marginTop = "10dp" , gravity = "top" , orientation = "vertical" , } if type(cklist [ 1 ] ) == "string" then rest [ # rest + 1 ] = { TextView , gravity = "left" , text = cklist [ 1 ] , textSize = "16sp" , textColor = "#000000" , layout_width = 'wrap_content' , layout_height = 'wrap_content' , layout_marginLeft = "4dp" , layout_marginRight = "5dp" , layout_marginTop = "0dp" , layout_marginBottom = "0dp" , } end for i = 2 , # cklist do local name = cklist [ i ] [ 1 ] local func1 = cklist [ i ] [ 2 ] local func2 = cklist [ i ] [ 3 ] local nid = cklist [ i ] [ 4 ] if type(func1 ) == "table" then os.exit() end if not name then name = "未设置" end nid = name..guid() local func = 开关3(nid , func1 , func2 , nid ) local tid=nid..guid() _ENV[tid] = luajava.loadlayout({ LinearLayout , layout_width = '250dp' , layout_height = "30dp" , layout_marginTop = "5dp" , layout_marginBottom = "15dp" , layout_marginLeft = "4dp" , layout_marginRight = "10dp" , gravity = "center_vertical" , onClick = function() luajava.newThread(function() func() end ) : start() end , { ImageView , id = luajava.newId(nid ) , layout_width = '30dp' , layout_height = "30dp" , layout_marginLeft = "10dp" , layout_marginRight = "10dp" , background = "/storage/emulated/0/HG-heaog/图片/hgxz" , } , { TextView , gravity = "top" , text = name , textColor = "#000000" , layout_width = 'wrap_content' , layout_height = 'wrap_content' , layout_marginLeft = "4dp" , layout_marginRight = "5dp" , } } ) rest [ # rest + 1 ] = _ENV[tid] end return luajava.loadlayout(rest ) end function 开关3(name , func1 , func2 , nid ) _ENV [ name ] = "关" if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1 ) == "function" then return function() namers = _ENV [ name ] if namers ~= "开" then luajava.runUiThread(function() luajava.getIdValue(nid ) : setBackground(luajava.getBitmapDrawable("/sdcard/HG-heaog/图片/xsa" ) ) end ) _ENV [ name ] = "开" pcall(func1 ) else luajava.runUiThread(function() luajava.getIdValue(nid ) : setBackground(luajava.getBitmapDrawable("/sdcard/HG-heaog/图片/xsj" ) ) end ) _ENV [ name ] = "关" pcall(func2 ) end end end end function 悬浮窗图片(txt ) ntxt = string.sub(string.gsub(txt , "/" , "." ) , -10 , -1 ) if string.find(tostring(txt ) , "http" ) ~= nil then if panduan("/sdcard/HG-heaog/图片/"..ntxt ) == false then download(txt , "/sdcard/HG-heaog/图片/"..ntxt ) end txt = "/sdcard/HG-heaog/图片/"..ntxt end luajava.runUiThread(function() control : setBackgroundDrawable(luajava.getBitmapDrawable(txt ) ) end ) ---例子 end function tuichu() window:removeView(floatWindow) luajava.setFloatingWindowHide(false) luajava.newThread(function() os.exit() end):start() bloc("end") end draw3 = require('draw3') text1 = draw3.text("豪哥", 175,215) text2 = draw3.text("科技", 175,265) text3 = draw3.circle(223, 223, 80) text4 = draw3.circle(223, 223, 110) text5 = draw3.text("快手:是豪哥不是张豪", 350,215) text6 = draw3.text("🐧:334255496", 340,265) text7 = draw3.text("官方群:941050600", 350,320) local color1 = ("#FF00FFFF") local color2 = ("#FFFF0000") local color3 = ("#FF00FF00") local color4 = ("#FFFFFF00") local color5 = ("#FFB000FF") local color6 = ("#FF0000FF") local color7 = ("#FFFF902C") text1.setColor(color1)-- 设置随机颜色 text2.setColor(color2)-- 设置随机颜色 text3.setColor(color3)-- 设置随机颜色 text4.setColor(color4)-- 设置随机颜色 text5.setColor(color5)-- 设置随机颜色 text6.setColor(color6)-- 设置随机颜色 text7.setColor(color7)-- 设置随机颜色 draw.scaled("/storage/emulated/0/HG-heaog/图片/hg-logo", 760, 130, 200, 200) local hgqdl=gg.makeRequest("https://taimw.cn/open.php?appid=10589").content function xzbkm() hg=gg.alert("是否下载到相册","是","否") if hg==1 then download("http://vip.kyun.top/view.php/8a46cea6df1e7dc450d5ab89785f7abe.jpeg","/storage/emulated/0/Pictures/Screenshots/Screenshot_20991231_114514_com.tencent.mobileqq.jpg") gg.toast("下载成功") stab() end if hg==2 then gg.alert("不是你什么意思啊") stab() end end 悬浮窗图片="/storage/emulated/0/HG-heaog/图片/hg-xfc" stab = { "主页" , "防封" , "刷号" , "竞赛" , "娱乐" , } stitle="HG heaog" htl.menu(stxt, { { htl.text2("主页\n———————————","#000000","16sp"), htl.text("全网启动次数:"..hgqdl.."","#000000","15sp"), htl.text("通知①群:941050600(未满)","#000000","15sp"), htl.button("选择进程",gg.setProcessX),--同理 htl.button('加入我们', function() qq.joinGroup("941050600") end), htl.button('身份证号', function() local S = math.random(1, #tab) local c = tab[S] local cc = gg.alert(c, "复制名字", "复制号码", "复制全部") if cc then if cc == 1 then local hm = c:match("(.-)%-") gg.copyText(hm) end if cc == 2 then local name = c:match("%-([^%-]+)") gg.copyText(name) end if cc == 3 then gg.copyText(c, false) end end end), htl.button('打赏作者', function() while true do qd=image("/sdcard/HG-heaog/图片/dsm") gg.toast("请点确定") if qd==1 then xzbkm() end end end), htl.button('代码查询', function() dm() end), htl.button("退出项目", function() tuichu() end) },{ htl.text2("防封\n———————————","#000000","16sp"), htl.switch("超级防闪[加载]", function() gg.setRanges(8) gg.searchNumber("778923875", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("778923875", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0,-1) 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 = -1}}) end gg.toast("防闪开启成功!") gg.clearResults() string.toMusic('防闪开启成功') end), htl.switch("防止环境[大厅]", function() io.open("/sdcard/.xa","w+"):write([[ Var #B5BE3A4C|b5be3a4c|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-0hELJtaovcy4HXQBV7kqmA==/lib/arm/libtersafe2.so:bss|4a4c Var #B5BE3A70|b5be3a70|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-0hELJtaovcy4HXQBV7kqmA==/lib/arm/libtersafe2.so:bss|4a70 Var #B5BE3AC8|b5be3ac8|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-0hELJtaovcy4HXQBV7kqmA==/lib/arm/libtersafe2.so:bss|4ac8 Var #B5BE3AD4|b5be3ad4|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-0hELJtaovcy4HXQBV7kqmA==/lib/arm/libtersafe2.so:bss|4ad4 Var #B5BE3B30|b5be3b30|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-0hELJtaovcy4HXQBV7kqmA==/lib/arm/libtersafe2.so:bss|4b30 Var #B5BE3B58|b5be3b58|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-0hELJtaovcy4HXQBV7kqmA==/lib/arm/libtersafe2.so:bss|4b58 Var #B5BE3B68|b5be3b68|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-0hELJtaovcy4HXQBV7kqmA==/lib/arm/libtersafe2.so:bss|4b68 Var #B5BE3B74|b5be3b74|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-0hELJtaovcy4HXQBV7kqmA==/lib/arm/libtersafe2.so:bss|4b74 Var #B5BE3B90|b5be3b90|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-0hELJtaovcy4HXQBV7kqmA==/lib/arm/libtersafe2.so:bss|4b90 Var #B5BF0EB4|b5bf0eb4|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-0hELJtaovcy4HXQBV7kqmA==/lib/arm/libtersafe2.so:bss|11eb4 Var #B5BF0EBC|b5bf0ebc|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-0hELJtaovcy4HXQBV7kqmA==/lib/arm/libtersafe2.so:bss|11ebc ]]) gg.loadList("/sdcard/.xa",gg.LOAD_VALUES) os.remove("/sdcard/.xa") gg.toast(" 防环境成功") string.toMusic('开启成功') end), htl.switch("过滤行为[加载]", function() local t = {"libtersafe2.so", "Cd"} local tt = {0x3F030} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3F080} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3F090} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3F1A8} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3F400} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3F4DC} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE14} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE1C} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so", "Cd"} local tt = {0x3FE3C} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so:bss", "Cb"} local tt = {0x30} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so:bss", "Cb"} local tt = {0x37CC} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so:bss", "Cb"} local tt = {0x37D0} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libtersafe2.so:bss", "Cb"} local tt = {0x4A1C} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) string.toMusic ( '已为您过滤行为' ) end), htl.switch("去封号窗[加载]", function() HGYYDS(0x14c5010,4,"~A MOV R0, #0") -- ~A MOV R0, #1 -- ~A MOVW R0, #"520" -- ~AB +0x -- ~AB -0x end), htl.switch("去除检测[大厅]", function() _ENV["文件"] = "/sdcard/log" io.open(_ENV["文件"],"w+"):write([[10372 Var #B875A0AC|b875a0ac|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|10ac Var #B875A0B0|b875a0b0|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|10b0 Var #B875A0B8|b875a0b8|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|10b8 Var #B875A0C8|b875a0c8|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|10c8 Var #B875A0CC|b875a0cc|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|10cc Var #B875A0D0|b875a0d0|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|10d0 Var #B875A0F0|b875a0f0|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|10f0 Var #B875A0F8|b875a0f8|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|10f8 Var #B875A100|b875a100|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|1100 Var #B875A120|b875a120|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|1120 Var #B875A220|b875a220|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|1220 Var #B875A22C|b875a22c|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|122c Var #B875A238|b875a238|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|1238 Var #B875A66C|b875a66c|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|166c Var #B875A678|b875a678|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|1678 Var #B875A73C|b875a73c|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|173c Var #B875A748|b875a748|4|0|1|0|0|0|rw-p|/data/app/com.kiloo.subwaysurf-5iBr-6DCYKKCuroo5SSOqg==/lib/arm/libtersafe2.so:bss|1748 ]]) gg.loadList(_ENV["文件"], gg.LOAD_VALUES) os.remove(_ENV["文件"]) gg.toast( '已为您去除检测' ) end), htl.switch("防止行为[大厅]", function() io.open("/sdcard/.xa","w+"):write([[ 16027 Var #BA1520E0|ba1520e0|4|ffffffff|1|0|0|0|rw-p|/data/data/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10e0 Var #BA1547C8|ba1547c8|4|ffffffff|1|0|0|0|rw-p|/data/data/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|37c8 Var #BA1559FC|ba1559fc|4|ffffffff|1|0|0|0|rw-p|/data/data/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|49fc Var #BA155B1C|ba155b1c|4|ffffffff|1|0|0|0|rw-p|/data/data/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4b1c gg.loadList("/sdcard/.防行为",gg.LOAD_VALUES) os.remove("/sdcard/.防行为") ]]) string.toMusic('已为你开启防行为') end), htl.switch("过滤环境[大厅]" , function() io.open("/sdcard/.xa","w+"):write([[ 26979 Var #BB65E914|bb65e914|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libm4399OperateSDKNative.so|8914 Var #BDD8C2CC|bdd8c2cc|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|3072cc Var #BDD8C2F4|bdd8c2f4|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|3072f4 Var #BDD8C328|bdd8c328|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|307328 Var #BDD8C350|bdd8c350|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|307350 Var #BDD8C38C|bdd8c38c|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|30738c Var #BDD8C3C8|bdd8c3c8|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|3073c8 Var #BDD8C40C|bdd8c40c|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|30740c Var #BDD8C428|bdd8c428|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|307428 Var #BDD8C434|bdd8c434|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|307434 Var #BDD8C45C|bdd8c45c|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|30745c Var #BDD8C4B4|bdd8c4b4|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|3074b4 Var #BDD8CC04|bdd8cc04|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|307c04 Var #BDD8CC10|bdd8cc10|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|307c10 Var #BDD8D114|bdd8d114|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|308114 Var #BDD8D130|bdd8d130|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|308130 Var #BDD8DEEC|bdd8deec|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtersafe2.so|308eec Var #BFAE02CC|bfae02cc|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libunity.so|b202cc Var #BFB1F0BC|bfb1f0bc|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libunity.so|b5f0bc Var #BFB79018|bfb79018|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libunity.so|bb9018 Var #BFB793B4|bfb793b4|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libunity.so|bb93b4 Var #BFB7B608|bfb7b608|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libunity.so|bbb608 Var #BFB8AEBC|bfb8aebc|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libunity.so|bcaebc Var #BFB8C01C|bfb8c01c|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libunity.so|bcc01c Var #BFB91E0C|bfb91e0c|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libunity.so|bd1e0c Var #BFB99E2C|bfb99e2c|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libunity.so|bd9e2c Var #BFBA111C|bfba111c|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libunity.so|be111c Var #BFBA1130|bfba1130|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libunity.so|be1130 Var #BFBAB5F8|bfbab5f8|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libunity.so|beb5f8 Var #DCDFFEB0|dcdffeb0|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtprt.so|daeb0 Var #DCDFFEC0|dcdffec0|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtprt.so|daec0 Var #DCDFFED0|dcdffed0|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtprt.so|daed0 Var #DCDFFEE0|dcdffee0|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtprt.so|daee0 Var #DCE00574|dce00574|4|17187|1|0|0|0|r-xp|/data/app/~~6nG0Db7xQsHdzmCYrUL-iw==/com.kiloo.subwaysurf-aAyk94rAsf0gJPjfxcjc6A==/lib/arm/libtprt.so|db574 gg.loadList("/sdcard/.行为",gg.LOAD_VALUES) os.remove("/sdcard/.行为") ]]) string.toMusic ( '已为您去除检测' ) end), },{ htl.text2("刷号\n———————————","#000000","16sp"), htl.box({"一键解锁", htl.switch("人物全解", function() HGYYDS(0xa7d4d8,4,"~A MOV R0, #1")--人物 end), htl.switch("滑板全解", function() HGYYDS(0xa7e4d8,4,"~A MOV R0, #1")--滑板 end), htl.switch("背饰全解", function() HGYYDS(0xaa7948,4,"~A MOV R0, #1")--背饰 end), htl.switch("像框全解", function() HGYYDS(0x16108a4,4,"~A MOV R0, #1")--头像框 end), htl.switch("角色装扮", function() HGYYDS(0xa6ff88,4,"~A MOV R0, #1")--皮肤 end), htl.switch("滑板技能", function() HGYYDS(0xfe4c34,4,"~A MOV R0, #1") end), htl.switch("解锁微博", function() HGYYDS( 0x1160cc4,4, "~A MOV R0, #1" ) end), htl.switch("十倍得分", function() BYCYA(0x26ef8c0,4,"30482DE9r") end), htl.switch("宝物直接获取", function() HGYYDS(0x10a5790,4,"~AB +0x5DE0") end), }), htl.box({"保存解锁", htl.switch("破解内购", function() HGYYDS(0xf3aba8,4,"~A B +0x102CC") end), htl.switch("荣耀之路", function() search(2283,4,32) py1(65536,4,-0x708) xg1(1500,4,0xA84) xg1(0,4,0xA88) xg1(0,4,0xA94) end), htl.switch("宝物直接获取", function() HGYYDS(0x10a5790,4,"~AB +0x5DE0") end), htl.switch("宝物直接备份", function() HGYYDS(0x10a5790,4,"~AB +0x21DC") end), htl.switch("十抽全饰", function() HGYYDS(0x10a9d7c,4,"~A B -0x62BFEC") end), htl.switch("十抽半饰", function() HGYYDS(0x10a9d7c,4,"~A B -0x62B03C") end), htl.switch("角色装扮", function() HGYYDS(0xa6ff88,4,"~A MOV R0, #1")--皮肤 end), htl.switch("滑板技能", function() HGYYDS(0xfe4c34,4,"~A MOV R0, #1") end), htl.switch("备份数据", function() HGYYDS(0x26e591c,4,"~A MOV R0, #1") end), htl.switch("修改等级", function() XC = gg.prompt({'请输入需要的人物等级,改太高会进不去游戏'},{[1]=30},{[1]='number'})[1] if not XC then return end CYC(0xa6cc44,4,"~A MOVW R0, #"..XC.."") end), htl.switch("人物价格", function() local a=gg.prompt({"建议520"},{"520"},{"text"}) gg.setRanges(32) gg.clearResults() gg.clearList() gg.searchNumber('166',4) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) end py1(166,4,0x8) py1(95000,4,0x28) py1(256,4,0x4c) xg={} jbjg={} xr1={} xr2={} jb1={} for i=-165,70 do xg[#xg+1]={} jbjg[#jbjg+1]={} xr1[#xr1+1]={} xr2[#xr2+1]={} jb1[#jb1+1]={} xg[#xg].value=0 jbjg[#jbjg].value=2 xr1[#xr1].value=0 xr2[#xr2].value=0 jb1[#jb1].value=a[1] xg[#xg].flags=4 jbjg[#jbjg].flags=4 xr1[#xr1].flags=4 xr2[#xr2].flags=4 jb1[#jb1].flags=4 xg[#xg].freeze=true jbjg[#jbjg].freeze=true xr1[#xr1].freeze=true xr2[#xr2].freeze=true jb1[#jb1].freeze=true xg[#xg].address=sj[1].address+0x4c+i*0xB0 jbjg[#jbjg].address=sj[1].address+0x34+i*0xB0 xr1[#xr1].address=sj[1].address+0x2c+i*0xB0 xr2[#xr2].address=sj[1].address+0x20+i*0xB0 jb1[#jb1].address=sj[1].address+0x1c+i*0xB0 end gg.addListItems(xr1) gg.addListItems(xr2) gg.addListItems(xg) gg.addListItems(jbjg) gg.addListItems(jb1) gg.clearResults() gg.clearList() string.toMusic('已修改人物价格') end), htl.switch("滑板价格", function() local a=gg.prompt({"建议520"},{"520"},{"text"}) gg.setRanges(32) gg.clearResults() gg.clearList() gg.searchNumber('161',4) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) end py1(161,4,0x8) py1(50000,4,0x24) py1(256,4,0x54) xg={} jbjg={} xr1={} xr2={} jb1={} for i=-166,60 do xg[#xg+1]={} jbjg[#jbjg+1]={} xr1[#xr1+1]={} xr2[#xr2+1]={} jb1[#jb1+1]={} xg[#xg].value=0 jbjg[#jbjg].value=2 xr1[#xr1].value=0 xr2[#xr2].value=0 jb1[#jb1].value=a[1] xg[#xg].flags=4 jbjg[#jbjg].flags=4 xr1[#xr1].flags=4 xr2[#xr2].flags=4 jb1[#jb1].flags=4 xg[#xg].freeze=true jbjg[#jbjg].freeze=true xr1[#xr1].freeze=true xr2[#xr2].freeze=true jb1[#jb1].freeze=true xg[#xg].address=sj[1].address+0x54+i*0x90 jbjg[#jbjg].address=sj[1].address+0x40+i*0x90 xr1[#xr1].address=sj[1].address+0x28+i*0x90 xr2[#xr2].address=sj[1].address+0x1c+i*0x90 jb1[#jb1].address=sj[1].address+0x18+i*0x90 end gg.addListItems(xr1) gg.addListItems(xr2) gg.addListItems(xg) gg.addListItems(jbjg) gg.addListItems(jb1) gg.clearResults() gg.clearList() string.toMusic('已修改滑板价格') end), htl.switch("背饰价格", function() local a=gg.prompt({"建议520没效果多改几次"},{"520"},{"text"}) gg.setRanges(32) gg.clearResults() gg.clearList() gg.searchNumber(3347,4) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) end py1(7,4,-0x8) py1(2,4,0xc) py1(120,4,0x8) py1(7,4,-0x10) xg={} jbjg={} xr1={} for i=-7,40 do xg[#xg+1]={} jbjg[#jbjg+1]={} xr1[#xr1+1]={} xg[#xg].value=0 jbjg[#jbjg].value=1 xr1[#xr1].value=a[1] xg[#xg].flags=4 jbjg[#jbjg].flags=4 xr1[#xr1].flags=4 xg[#xg].freeze=true jbjg[#jbjg].freeze=true xr1[#xr1].freeze=true xg[#xg].address=sj[1].address+0x14+i*0x48 jbjg[#jbjg].address=sj[1].address+0xc+i*0x48 xr1[#xr1].address=sj[1].address+0x8+i*0x48 end gg.addListItems(xr1) gg.addListItems(xg) gg.addListItems(jbjg) string.toMusic('已修改背饰价格') end), }), htl.box({"宝物商店", htl.switch("自定义修改", function() local a=gg.prompt ( { '宝物商城替换物品序号\n1钥匙 2滑板数量 3-4得分喷射\n9头像框 10人物 12滑板 21宝物','宝物商城替换物品代码或者数量','购买方式改负数','开启修改', } , { 1,1 },{'number','number','checkbox','checkbox', } ) if a==nil then gg.toast("未选择") else if a [4] == true then search(3000,4,32) py1(1,4,0x1C8) py1(1,4,0x1D0) py1(7,4,0x8C) xg1(0,4,-0x10) xg1(0,4,-0x1c) xg1(a[1],4,-0x20) search(3000,4,32) py1(1,4,0x1C8) py1(1,4,0x1D0) py1(7,4,0x8C) xg1(0,4,0x5c) xg1(0,4,0x50) xg1(a[2],4,0x4c) xg1(0,4,0x4) xg1(0,4,-0x8) xg1(a[2],4,-0xc) xg1(0,4,0x30) xg1(0,4,0x24) xg1(a[2],4,0x20) xg1(0,4,0x18) xg1(0,4,0xc) xg1(a[2],4,0x8) gg.toast("开启成功") end if a [3] == true then search(120,4,32) py1(1,4,0x24) py1(1,4,0x2C) xg1(0,4,0x2C) xg1(0,4,0x20) xg1(-1,4,0x1C) gg.toast("篮球") end end end), }), htl.box({"配置奖项", htl.check({"替换", {"锁定人物", function() WT(0xe8b0bc,4,"~A MOV R0, #10") end }, { "锁定滑板", function() WT(0xe8b0bc,4,"~A MOV R0, #12") end }, { "锁定背饰", function() WT(0xe8b0bc,4,"~A MOV R0, #14") end }, { "锁定滑板数量", function() WT(0xe8b0bc,4,"~A MOV R0, #2") end }, { "锁定像框", function() WT(0xe8b0bc,4,"~A MOV R0, #9") end }, }), htl.edit("输入代码","代码/数量"), htl.button("确认更改", function() WT(0xe8b270,4,"~A MOVW R0, #"..htl.getedit("输入代码").."") WT(0xe8b424,4,"~A MOVW R0, #"..htl.getedit("输入代码").."") WT(0xe8b5d8,4,"~A MOVW R0, #"..htl.getedit("输入代码").."") WT(0xe8b6b0,4,"~A MOVW R0, #"..htl.getedit("输入代码").."") toMusic('替换开启成功') end), }), htl.box({"修改数据", htl.edit("输入代码等级","等级"), htl.button("确认更改", function() CYC(0xa6cc44,4,"~A MOVW R0, #"..htl.getedit("输入代码等级").."") end), htl.edit("输入代码金币","金币"), htl.button("确认更改", function() search(2283,4,32) py1(65536,4,-0x708) xg1(0,4,-0x6F4,true) xg1(0,4,-0x700,true) xg1(""..htl.getedit("输入代码金币"),4,-0x704,true) end), htl.edit("输入代码钥匙","钥匙"), htl.button("确认更改", function() search(2283,4,32) py1(65536,4,-0x708) xg1(0,4,-0x6EC,true) xg1(0,4,-0x6E0,true) xg1(""..htl.getedit("输入代码钥匙"),4,-0x6F0,true) end), htl.edit("宝钥" , "宝钥数量" ) , ---输入框名字,输入框提示 htl.button("开启锁定" , function() search({ {"2283",4}, {"65536",-1800,4} }, { {""..htl.getedit("宝钥"),732,4},},"宝物钥匙",32,true) string.toMusic ( '已修改宝物钥匙' ) end) , }), htl.box({"其他功能", htl.check({ { "调出所有奖励",------第一种按钮 function()--加功能 HGYYDS(0x26e576c,4,"~A MOV R0, #1") gg.toast("退出重进两次可保存") gg.toast('开启成功')---语音 end, function() gg.toast('无法关闭')---语音 end },{ "自定义道具无CD", function() local a=gg.prompt ( { '输入宝物代码\n宝物代码 1小丑面具 2露西耳环 3紫色花球 4金属发条 5火焰纹章 6星星项链 7机械手表 8金色耳环 9黄金皇冠 10摩托头盔 11狼牙项链 12纯金手表 13金箍 14乾坤圈 15水手猫 16积木 17灵符 18黄金盔甲 19令牌 20龙蛋 21南瓜 22月兔 23舞狮头 24甜心项链 25圣诞帽 26夹克 27红色战衣 28火红灯笼 29美人折扇 30卫衣 31校服 32相机 33耳机 34眼镜\n后面加上10','确定开启', } , { 11,1 },{'number','checkbox',} ) if a==nil then gg.toast("未选择") else if a [2] == true then Name = "无CD" ms.ss ( a[1] , 4 , 32 ) ms.py ( 1 , 4 , 4 ) ms.py ( 1 , -4 , 4 ) ms.edit ( 0 , 0x5c , 4 ) ms.edit ( 0 , 0x50 , 4 ) ms.edit ( 2 , 0x4c , 4 ) ms.edit ( 0 , 0x74 , 4 ) ms.edit ( 0 , 0x6c , 4 ) ms.edit ( 0 , 0xa8 , 4 ) ms.edit ( 0 , 0x98 , 4 ) ms.edit ( 999 , 0x94 , 4 ) gg.toast("开启成功") end end end }, {"0钥匙复活", function() search(18888,4,32) py1(8,4,-4) py1(3,4,16) xg1(9999,4,12,true) toMusic("开启成功") end, function() end}, {"修改段位", function() WT(0x120ca6c,4,"~A MOV R0, #"..gg.prompt({"段位"},{""},{"text"})[1]) WT(0x120cb9c,4,"~A MOVW R0, #"..gg.prompt({"星数"},{""},{"text"})[1]) gg.alert("开启成功") end, function() end } }), }), htl.text2("","#000000","14sp"),-- },{ htl.text2("竞赛\n———————————","#000000","16sp"), htl.box({"道具赛", htl.edit("锁定道具","锁定道具id"), htl.button("开启锁定", function() HGYYDS(0x24378b4,4,"~A MOVW R0, #"..htl.getedit("锁定道具").."") -- ~A MOV R0, #1 -- ~A MOVW R0, #"520" -- ~AB +0x -- ~AB -0x end), htl.edit("宝物等级","自定义宝物等级前面加上宝物代码"), htl.button("开启修改", function() HGYYDS(0x10a0818,4,"~A MOV R0, #"..htl.getedit("宝物等级").."") -- ~A MOV R0, #1 -- ~A MOVW R0, #"520" -- ~AB +0x -- ~AB -0x end), htl.switch("聚能配置", function() bf = gg.prompt({"扇子","卫衣","校服","相机","宝物等级[1;10]","冷却时间(0则默认)[1;20]","时间聚能","跳跃聚能","下滑聚能","自动聚能","撞墙聚能"}, {}, {"checkbox","checkbox","checkbox","checkbox","number","number","checkbox","checkbox","checkbox","checkbox","checkbox"}) if bf == nil then gg.alert("没有修改") end if bf[1] == true then if bf[7] == true then if bf[5] == "10" then search(2910,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(3,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('时间聚能开启成功') else search("290"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(3,4,0x4C) string.toMusic('时间聚能开启成功') gg.clearResults() gg.clearList() end end end if bf[1] == true then if bf[8] == true then if bf[5] == "10" then search(2910,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(4,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('跳跃聚能开启成功') else search("290"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(4,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('跳跃聚能开启成功') end end end if bf[1] == true then if bf[9] == true then if bf[5] == "10" then search(2910,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(5,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('下滑聚能开启成功') else search("290"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(5,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('下滑聚能开启成功') end end end if bf[1] == true then if bf[10] == true then if bf[5] == "10" then search(2910,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(2,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('自动聚能开启成功') else search("290"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(2,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('自动聚能开启成功') end end end if bf[1] == true then if bf[11] == true then if bf[5] == "10" then search(2910,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(6,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('撞墙聚能开启成功') else search("290"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(6,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('撞墙聚能开启成功') end end end if bf[2] == true then if bf[7] == true then if bf[5] == "10" then search(3010,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(3,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('时间聚能开启成功') else search("300"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(3,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('时间聚能开启成功') end end end if bf[2] == true then if bf[8] == true then if bf[5] == "10" then search(3010,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(4,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('跳跃聚能开启成功') else search("300"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(4,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('跳跃聚能开启成功') end end end if bf[2] == true then if bf[9] == true then if bf[5] == "10" then search(3010,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(5,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('下滑聚能开启成功') else search("300"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(5,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('下滑聚能开启成功') end end end if bf[2] == true then if bf[10] == true then if bf[5] == "10" then search(3010,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(2,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('自动聚能开启成功') else search("300"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(2,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('自动聚能开启成功') end end end if bf[2] == true then if bf[11] == true then if bf[5] == "10" then search(3010,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(6,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('撞墙聚能开启成功') else search("300"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(6,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('撞墙聚能开启成功') end end end if bf[3] == true then if bf[7] == true then if bf[5] == "10" then search(3110,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(3,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('时间聚能开启成功') else search("310"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(3,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('时间聚能开启成功') end end end if bf[3] == true then if bf[8] == true then if bf[5] == "10" then search(3110,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(4,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('跳跃聚能开启成功') else search("310"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(4,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('跳跃聚能开启成功') end end end if bf[3] == true then if bf[9] == true then if bf[5] == "10" then search(3110,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(5,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('下滑聚能开启成功') else search("310"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(5,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('下滑聚能开启成功') end end end if bf[3] == true then if bf[10] == true then if bf[5] == "10" then search(3110,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(2,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('自动聚能开启成功') else search("310"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(2,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('自动聚能开启成功') end end end if bf[3] == true then if bf[11] == true then if bf[5] == "10" then search(3110,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(6,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('撞墙聚能开启成功') else search("310"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(6,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('撞墙聚能开启成功') end end end if bf[4] == true then if bf[7] == true then if bf[5] == "10" then search(3210,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(3,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('时间聚能开启成功') else search("320"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(3,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('时间聚能开启成功') end end end if bf[4] == true then if bf[8] == true then if bf[5] == "10" then search(3210,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(4,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('跳跃聚能开启成功') else search("320"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(4,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('跳跃聚能开启成功') end end end if bf[4] == true then if bf[9] == true then if bf[5] == "10" then search(3210,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(5,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('下滑聚能开启成功') else search("320"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(5,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('下滑聚能开启成功') end end end if bf[4] == true then if bf[10] == true then if bf[5] == "10" then search(3210,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(2,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('自动聚能开启成功') else search("320"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(2,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('自动聚能开启成功') end end end if bf[4] == true then if bf[11] == true then if bf[5] == "10" then search(3210,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(6,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('撞墙聚能开启成功') else search("320"..bf[5],4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x74) xg1(0,4,0x64) xg1(0,4,0x60) xg1(0,4,0xA8) xg1(0,4,0x98) xg1(bf[6],16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(6,4,0x4C) gg.clearResults() gg.clearList() string.toMusic('撞墙聚能开启成功') end end end end), htl.switch("免疫道具", function() HGYYDS( 0x25aad48,4, "E3A00001h" ) end), htl.switch("pvp定人", function() So_X32 ( 0x108c424, "~A MOV R0, #1" ) So_X32 ( 0x108c424+4 , "~A BX LR" ) end, function() So_X32 ( 0x108c424, "~A MOV R0, #0" ) So_X32 ( 0x108c424+4 , "~A BX LR" ) string.toMusic("已关闭定人") end) , htl.switch("滑板零速", function() search(300,16,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x34) xg1(0,4,0x24) xg1(0,16,0x20) toMusic('滑板定人开启成功') gg.alert("滑板定人开启成功") end, function() search(300,16,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x34) xg1(0,4,0x24) xg1(2000,16,0x20) gg.toast("关闭成功") toMusic('关闭成功') end), htl.switch("时间聚能\n(扇子 卫衣 校服)", function() search(2910,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(1,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(8,16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(3,4,0x4C) py1(1,4,0x4) py1(1,4,-0x4) xg1(1,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(8,16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(3,4,0x4C) search(3010,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(1,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(8,16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(3,4,0x4C) py1(1,4,0x4) py1(1,4,-0x4) xg1(1,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(8,16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(3,4,0x4C) search(3110,4,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(1,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(16,16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(3,4,0x4C) py1(1,4,0x4) py1(1,4,-0x4) xg1(1,16,0x74) xg1(0,16,0x64) xg1(0,16,0x60) xg1(0,16,0xA8) xg1(0,16,0x98) xg1(16,16,0x94) xg1(0,4,0x5C) xg1(0,4,0x50) xg1(3,4,0x4C) end), htl.switch("滑板无限", function() search(300,16,32) py1(1,4,0x4) py1(1,4,-0x4) xg1(0,4,0x1c) xg1(0,4,0xc) xg1(9999999,16,0x8) gg.alert('️滑板无限时长开启成功') toMusic('滑板无限时间开启成功') end), }), htl.box({"分数赛", htl.switch("跳跃起飞", function() So_X32 ( 0x2738f80, "~A BX LR" ) end), htl.switch("分数倍增", function() CYC(0xa6e3f8,4,"~A MOVW R0, #"..gg.prompt({""},{""},{"text"})[1]) end), }), htl.box({"通用区", htl.switch("连续跳跃(二段)", function() WT(0x12532c0,4,"0100A0E3r") gg.alert('开启成功') end), htl.switch( "超级连跳(连段)", function() WT(0x27381b0,4,"0100A0E3r") gg.alert('开启成功') end), htl.switch( "滑板滑翔", function() WT(0x12535a8,4,"0100A0E3r") gg.alert('开启成功') end), htl.switch( "滑板跳高", function() WT(0x12531c8,4,"0100A0E3r") gg.alert('开启成功') end), htl.switch( "滑板瞬移", function() WT(0x1253718,4,"0100A0E3r") gg.alert('开启成功') end), htl.switch( "无尽免死", function() WT(0xb3c1ac,4,"0100A0E3r") gg.alert('开启成功') end), htl.switch( "双倍得分",--7 function() WT(0x25e1ff8,4,"0100A0E3r") gg.alert('开启成功') end), }), htl.text("\n\n\n\n","#000000","15sp"), htl.text("","#000000","15sp"), },{ htl.text2("娱乐\n———————————","#000000","16sp"), htl.text2("音乐","#000000","20sp"), htl.button("下载本地音乐文件", function() download("http://wp.gglua.cc/view.php/ee2513c506a5e39a6e82e5021863a756.mp3","/sdcard/hg-yy/nq1") end), htl.button("暂停音乐", function() stop() end), htl.box({"推荐列表", htl.radio({"Music",--栏目名 { "你看到了我",--小功能名 function() gg.playMusic('http://music.163.com/song/media/outer/url?id=1377530437.mp3') end }, { "Neeva", function() gg.playMusic("https://out.zxglife.top/view.php/16fa44c6165f5828dff9cfd7cecb84d9.mp3") end }, { "Maple暖枫-时落叶影", function() gg.playMusic("https://out.zxglife.top/down.php/718197266dd3bad8fc0c59182beb6017.mid") end }, { "nightcruising", function() gg.playMusic("https://out.zxglife.top/view.php/f22c860d17cbb2f5718cbd5a9b68ae42.mp3") end }, { "不问别离", function() gg.playMusic("https://out.zxglife.top/view.php/c92f3eb063ae9ee9ff28018bb3b8f847.mp3") end }, { "清空", function() gg.playMusic("https://out.zxglife.top/view.php/8745c4542def50d29e8c9a63b330ed2a.mp3") end }, { "压迫感", function() gg.playMusic("https://out.zxglife.top/view.php/f923557b0bb36ab3968503202964db1b.mp3") end },{ "Walk", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=1873321491.mp3') end }, { "catch", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=26286214.mp3') end }, { "Me", function() gg.playMusic('https://music.163.com/song/media/outer/url?id=1990363532.mp3') end }, { "心做", function() gg.playMusic('http://music.163.com/song/media/outer/url?id=2008921547.mp3') end }, { "拉个勾说永远爱我", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1969373959.mp3") end }, { "心如止水", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1928002636.mp3") end }, { "篝火旁", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=518725853.mp3") end }, { "凭什么觉得 I LOVE YOU", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2020310968.mp3") end }, { "月亮之矢", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=419375250.mp3") end }, { "回忆拼好", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1403318151.mp3") end }, { "爱人错过", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1972445487") end }, { "旧金山", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2024109979.mp3") end },{"侧脸DJ",--小功能名 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1830745762&uct2.mp3") end},{"月亮之失",--小功能名 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=419375250&uct2.mp3") end},{"心做DJ",--小功能名 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2005190306&uct2.mp3") end},{"你看到的我",--小功能名 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1377530437&uct2.mp3") end},{"海阔天空",--小功能名 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1357375695&uct2.mp3") end },{"兄弟们晚上好",--功能名字 不可重复 function() gg.playMusic("http://vip.wskig.top/view.php/5b8fd749f02f0dba9bb9813294abda58.mp3") end},{"少羽战歌",--功能名字 不可重复 function() gg.playMusic("http://ayangwp.icu/view.php/60cff163bdbadd24308628d00804dd7a.mp3") end},{"心做",--功能名字 不可重复 function() gg.playMusic("http://ayangwp.icu/view.php/941841d6be10e0450d71a8af19d21cd0.mp3") end},{"旋律6.0",--功能名字 不可重复 function() gg.playMusic("http://vip.wskig.top/view.php/7b18c0cee95533da5da8096209fd6990.mp3") end},{"口水旋律",--功能名字 不可重复 function() gg.playMusic("http://vip.wskig.top/view.php/5b8fd749f02f0dba9bb9813294abda58.mp3") end},{"夜色DJ",--功能名字 不可重复 function() gg.playMusic("http://vip.wskig.top/view.php/8642b2d8bcb9b1a18a6337ce7eaac070.mp3") end},{"BABYDOLL", function() gg.playMusic("http://ayangwp.icu/view.php/e223994abf0ba2e7f73730952b28727f.mp3") end},{"我可以走我选择的路", function() gg.playMusic("http://vip.wskig.top/view.php/83f312142ab9d532b0a4a2ba3ad1605e.mp3") end},{"绝对空虚", function() gg.playMusic("http://vip.wskig.top/view.php/8472f3249dd884ff32bc5f82bc3933e7.mp3") end},{"背起了行囊", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1972918129.mp3") end},{"岁月无声", function() gg.playMusic("http://vip.wskig.top/view.php/568b73906c212b7089940772b8051b64.mp3") end},{"苏六旋律", function() gg.playMusic("http://vip.wskig.top/view.php/e1f18f2c9fc5b27dcd8fe71a6ce3f72d.mp3") end},{"硬曲旋律", function() gg.playMusic("http://vip.wskig.top/view.php/7fa88fbdb53d97c3e405103dfbf2daa1.mp3") end},{"旋律硬曲", function() gg.playMusic("http://vip.wskig.top/view.php/6a379584c7bb6f350b6fc6d727594fc6.mp3") end},{"脚踩魔怔b", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2027640152") end},{"我宝贝", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1859660047") end},{"雾里",--功能名字 不可重复 function() gg.playMusic("http://ayangwp.icu/view.php/8433d67ab4c8654c2b2a477e8df23a6d.mp3") end },{"哪里都是你",--功能名字 不可重复 function() gg.playMusic("http://music.163.com/song/media/outer/url?id=488249475.mp3") end},{"户籍还是道歉", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2036791477") end},{"很任性", function() gg.playMusic("http://ayangwp.icu/view.php/2af18c999aea543347c7726a5999a06d.mp3") end},{"懒得回信息", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2025482493") end},{"说好的幸福呢", function() gg.playMusic("https://t1.kugou.com/song.html?id=6iQKO83BcV3") end},{"雪DJ", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2034352565") end},{"无限月读", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1947125887") end },{"可不可以", function() gg.playMusic("https://tc.1haodh.com/view.php/b62320eca1a8df9958fd26773d499105.mp3") end --334255496qq },{"已魔怔求打压", function() gg.playMusic("https://tc.1haodh.com/view.php/81685e1fe940f87d9b03f5e831dfe5e2.mp3") end },{"魔怔了老弟🤓", function() gg.playMusic("https://tc.1haodh.com/view.php/be40342567bfef8d0a69056ca0cdddc0.mp3") end },{"烧酒歌", function() gg.playMusic("https://tc.1haodh.com/view.php/0f6ae6a555ad6e1869208e7b81ad9804.mp3") end },{"不是哥们你有啥实力", function() gg.playMusic("https://tc.1haodh.com/view.php/7a56ed4a29b425d731ea54c0e114fec4.mp3") end },{"大角牛", function() gg.playMusic("https://tc.1haodh.com/view.php/9b0b120850a34286277412c472c5a720.mp3") end },{"煮咖啡", function() gg.playMusic("https://tc.1haodh.com/view.php/fe2b7387cd00abe858ed9c1fee5c8434.mp3") end },{"心做", function() gg.playMusic("https://tc.1haodh.com/view.php/941841d6be10e0450d71a8af19d21cd0.mp3") end },{"时势造英雄", function() gg.playMusic("https://p5.a.yximgs.com/ufile/atlas/NTIwMTA5NDcxMzU4NTYwNjUzOF8xNjczNjc3MDYyNzg2.m4a") end },{"原来你玩原神🤓", function() gg.playMusic("https://txmov2.a.kwimgs.com/upic/2023/05/29/14/BMjAyMzA1MjkxNDQwMzlfMzI1NTAxNzY0NF8xMDQyNTc0Nzk5NzJfMl8z_b_Bd7bf9e37ec556137a11d60830b82cfeb.mp4?clientCacheKey=3x7dihem88z47ku_b.mp4&tt=b&di=df684890&bp=10000") end },{"烦恼进入我的耳朵里", function() gg.playMusic("https://alimov2.a.kwimgs.com/upic/2023/05/01/21/BMjAyMzA1MDEyMTI1MTBfOTA5MjYxMTIwXzEwMjAxNTI0NzM2MF8yXzM=_b_B60b73c9da51b555868a83ce07134ea41.mp4?clientCacheKey=3xmcv5venzsvmv4_b.mp4&tt=b&di=df684894&bp=10000") end },{"听完把你奶吊起来打", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1892409985.mp3") end },{"你让我怎么荔枝😡", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=2012977462.mp3") end },{"Normal NO More", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1440570723.mp3") end }, { "难却1", function() gg.playMusic("/storage/hg-yy/nq1") end },{"一笑江湖", function() gg.playMusic("https://api.99778.cn/wp/view.php/7c19d4bdf4d3a85204d83f19da010bfb.mp3") end }, }), }), htl.button("搜索音乐", function() local ss = gg.prompt({"资源来源于 -网易云音乐\n输入歌名","输入显示数量"},{},{"text","text"}) if ss == nil then os.exit() end local ss1 = gg.makeRequest("http://music.163.com/api/search/get?s="..ss[1].."&type=1&offset=0&total=true&limit="..ss[2].."").content local gd = {} for x in string.gmatch(ss1,'.."id".%d-,"name"."'..ss[1]..'","artists"') do for x1 in string.gmatch(x,'"id":(%d-),') do for x2 in string.gmatch(x,'"name":"(.-)","artists"') do gd['"'..x1..'"'] = x2 end end end local id = {} local gm = {} local x = 1 for x1,x2 in pairs(gd) do id[x] = x1 gm[x] = x.."."..x2 x = x+1 end k = gg.choice(gm) gv = string.match(id[k],'"(.-)"') if gv == nil then os.exit() end if k == nil then else gg.playMusic("http://music.163.com/song/media/outer/url?id="..gv..".mp3") end end), htl.text("\n\n\n\n","#000000","15sp"), htl.text("","#000000","17sp"), }, }) function proo() htl.controlRotation2(control1,3000) end luajava.newThread(function()--更新逻辑 while true do gg.sleep(3000) if 显示==0 then proo() end end end):start() jm1 : setBackground(slcta ) gg.setVisible(false ) luajava.setFloatingWindowHide(true ) ---bloc不要动 动了脚本功能会失效 bloc = luajava.getBlock() bloc("join" )