-- 寒心
-- 拜师+3472977190
--随便拿去二改可执行(*`へ´*)
function dy_wt (ry_wt )
local File = io.open ( '/sdcard/_wt' , 'w+' ) : write ( ry_wt )
gg.processResume ( )
gg.loadList ( "/sdcard/_wt" , gg.LOAD_VALUES )
os.remove ( "/sdcard/_wt" )
gg.clearList ( )
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 BL(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 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
Sy_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
function SO_FLPTXG(FUNCTIONADD,TYPE,VALUE)
local SOMOD=gg.getRangesList("il2cpp.so")
if SOMOD[1]==nil then gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━") else
local SOMOD1=gg.getRangesList("libil2cpp.so")[1].start
gg.setValues({{address=SOMOD1+FUNCTIONADD,flags=TYPE,value=VALUE}})
gg.setValues({{address=SOMOD1+FUNCTIONADD+4,flags=TYPE,value="100A00EEr"}})
gg.setValues({{address=SOMOD1+FUNCTIONADD+8,flags=TYPE,value="C00AB8EEr"}})
gg.setValues({{address=SOMOD1+FUNCTIONADD+12,flags=TYPE,value="100A10EEr"}})
gg.setValues({{address=SOMOD1+FUNCTIONADD+16,flags=TYPE,value="1EFF2FE1r"}})
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
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
Qr_UIP2FazG='Main'
gg.clearResults() sj={} xgz={} function search(ss,lx,nc,dz1,dz2) if ss~=nil then if lx~=nil then if nc==nil then nc=32 end gg.setRanges(nc) if dz1==nil then dz1="-1" end if dz2==nil then dz1="0" end gg.searchNumber(ss,lx,false,gg.SIGN_EQUAL,dz1,dz2) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) gg.toast("搜索到 "..sl.." 个结果") gg.clearResults() else gg.toast("未搜索到结果") end else gg.toast("无搜索值类型") end else gg.toast("无需搜索值") end end function py1(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[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
-------------不懂勿动------------
------------道具赛配置---------------
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 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 readWrite(Search,Get,Type,Range,Name) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) if Search[1][1]~=false then gg.searchAddress(Search[1][1],0xFFFFFFFF,Search[1][4] or Type,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) end gg.searchNumber(Search[1][2],Search[1][4] or Type,false,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][3] if (count > 0) then for i,v in ipairs(result) do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2] - base local num=Search[k][1] for i,v in ipairs(result) do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=Search[k][3] or Type end tmp=gg.getValues(tmp) for i,v in ipairs(tmp) do if v.flags==16 or v.flags==64 then values=tostring(v.value):sub(1,6) num=tostring(num):sub(1,6) else values=v.value end if tostring(values)~=tostring(num) then result[i].isUseful=false end end end for i,v in ipairs(result) do if (v.isUseful) then data[#data+1]=v.address end end if (#data > 0) then local t,t_={},{} local base=Search[1][3] for i=1,#data do for k,w in ipairs(Get) do offset=w[2] - base if w[1]==false then t_[#t_+1]={} t_[#t_].address=data[i]+offset t_[#t_].flags=Type th_=(th_) and th_+1 or 1 else t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=w[3] or Type t[#t].value=w[1] tg_=(tg_) and tg_+1 or 1 if (w[4]==true) then local item={} item[#item+1]=t[#t] item[#item].freeze=w[4] gg.addListItems(item) end end end end tg=(tg_) and "\n已修改"..tg_.."条数据" or "" th=(th_) and "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.alert("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.alert("\n"..Name.."开启失败",false) return false end else gg.alert(Name.."开启失败") return false end end
----以上为指针搜索模块
function SO_PT(FUNCTIONADD,TYPE,VALUE)
local SOMOD=gg.getRangesList("il2cpp.so")
if SOMOD[1]==nil then gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━") 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
---SO模块.可修改
function SO_ST(FUNCTIONADD,VALUE,JZXB)
local SOMOD=gg.getRangesList("il2cpp.so")
if SOMOD[1]==nil then gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━") else
gg.setValues({{address=SOMOD[1].start+FUNCTIONADD,flags=4,value=VALUE}})
gg.setValues({{address=SOMOD[1].start+FUNCTIONADD+4,flags=4,value=JZXB}})
end
end
-----基址指针模块
function S_Pointer(t_So, t_Offset, _bit)
local function getRanges()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v.type:sub(2, 2) == 'w' then
table.insert(ranges, v)
end
end
return ranges
end
local function Get_Address(N_So, Offset, ti_bit)
local ti = gg.getTargetInfo()
local S_list = getRanges()
local 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 readPointer(name, offset, i)
local re = gg.getRangesList(name)
local x64 = gg.getTargetInfo().x64
local va = {[true] = 32, [false] = 4}
if re[i or 1] then
local addr = re[i or 1].start + offset[1]
for i = 2, #offset do
addr = gg.getValues({{address = addr, flags = va[x64]}})
if not x64 then
addr[1].value = addr[1].value & 0xFFFFFFFF
end
addr = addr[1].value + offset[i]
end
return addr
end
end
function gg.edits(addr, Table, name)
local Table1 = {{}, {}}
for k, v in ipairs(Table) do
local value = {address = addr + v[3], value = v[1], flags = v[2], freeze = v[4]}
if v[4] then
Table1[2][#Table1[2] + 1] = value
else
Table1[1][#Table1[1] + 1] = value
end
end
gg.addListItems(Table1[2])
gg.setValues(Table1[1])
gg.toast((name or "") .. "开启成功, 共修改" .. #Table .. "个值")
end
----搜索且冻结模块
function Searssjc(FUNCTIONADD,VALUE,SETRANGES)
local SOMOD=gg.getRangesList("il2cpp.so")
if SOMOD[1]==nil then gg.toast("开启失败") else
gg.setRanges(SETRANGES)
gg.searchNumber(FUNCTIONADD, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
gg.searchNumber(FUNCTIONADD, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
local jg=gg.getResults(100)
local sl=gg.getResultCount()
for i=1, sl do
dzy=jg[i].address
gg.clearResults()
gg.addListItems({[1]={address=dzy,flags=gg.TYPE_DWORD,freeze=true,value=VALUE}})
end
gg.toast("开启成功")
end
end
----秒开基址模块
function YX_MkPointer(SONC,NCFW,PYL,TYPE,VALUE,NAME,DJ)
local Somod=gg.getRangesList(SONC)[1]
if Somod==nil then
gg.alert(NAME..'开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━')
else
function S_Pointer(t_So, t_Offset, _bit)
local function getRanges()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v.type:sub(2, 2) == 'w' then
table.insert(ranges, v)
end
end
return ranges
end
local function Get_Address(N_So, Offset, ti_bit)
local ti = gg.getTargetInfo()
local S_list = getRanges()
local t = {}
local _t
local _S = nil
if ti_bit then
_t = 32
else
_t = 4
end
for i in pairs(S_list) do
local _N = S_list[i].internalName:gsub('^.*/', '')
if N_So[1] == _N and N_So[2] == S_list[i].state then
_S = S_list[i]
break
end
end
if _S then
t[#t + 1] = {}
t[#t].address = _S.start + Offset[1]
t[#t].flags = _t
if #Offset ~= 1 then
for i = 2, #Offset do
local S = gg.getValues(t)
t = {}
for _ in pairs(S) do
if not ti.x64 then
S[_].value = S[_].value & 0xFFFFFFFF
end
t[#t + 1] = {}
t[#t].address = S[_].value + Offset[i]
t[#t].flags = _t
end
end
end
_S = t[#t].address
end
return _S
end
local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit))
return _A
end
time=os.clock()
local DZT = S_Pointer({SONC, NCFW},{0x0})
local PY_offsets = PYL
for _,YX in pairs(PY_offsets) do
gg.addListItems({{address = DZT+YX, flags = TYPE, value = VALUE, freeze = DJ}})
end
local time=string.sub(os.clock()-time,0,5)
gg.alert(NAME..'️开启成功\n当前进程名称:'..gg.getTargetInfo().label..'\n当前进程包名:'..gg.getTargetPackage()..'\n总共耗时:'..time..'秒')
end
end
function BL(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}})
end
end
function _error()
gg.alert([[
开启失败
失败原因:进程存储太小!
解决方案:刷新进程后重启开启
]])
end
function ByFQ(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 ByF(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 ByYL(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
UnKnown_il2Cpp=function(Change,Offset,type)--修改 偏移量 类型
local x32Bit = gg.getTargetInfo().x32
local x64Bit = gg.getTargetInfo().x64
local il2Cpp_Mod=gg.getRangesList('il2cpp.so'or'libil2cpp.so')
local Py=il2Cpp_Mod[1]
if il2Cpp_Mod == nil then
mods=gg.alert('未存在il2cpp.so\n\n请检查你的进程','继续','Exit')
if mods == 2 then
os.exit()
end
end
gg.processPause ( )
if x32Bit == gg.getTargetInfo().x32 then
gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A MOVT R0, #0'}})
gg.setValues({{address=Py.start+Offset+8,flags=type,value='~A bx lr'}})
gg.processResume ( )
--gg.toast(name..'\nOpenedSuccessfully')
else
if x64Bit == gg.getTargetInfo().x64 then
gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A ret'}})
gg.processResume ( )
--gg.toast(name..'\nOpenedSuccessfully')
end
end
gg.sleep(100)
gg.setValues({{address=Py.start+Offset,flags=type,value=Change}})
end
function cnm(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}})
end
end
function _error()
gg.alert([[
开启失败
失败原因:进程存储太小!
解决方案:刷新进程后重启开启
]])
end
function BL(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 LQx32(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}})
end
end
function _error()
gg.alert([[
开启失败
失败原因:进程存储太小!
解决方案:刷新进程后重启开启
]])
end
function ByXm(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}})
end
end
function _error()
gg.alert([[
开启失败
失败原因:进程存储太小!
解决方案:刷新进程后重启开启
]])
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 S_Pointer(t_So, t_Offset, _bit)
local function getRanges()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v.type:sub(2, 2) == 'w' then
table.insert(ranges, v)
end
end
return ranges
end
local function Get_Address(N_So, Offset, ti_bit)
local ti = gg.getTargetInfo()
local S_list = getRanges()
local t = {}
local _t
local _S = nil
if ti_bit then
_t = 32
else
_t = 4
end
for i in pairs(S_list) do
local _N = S_list[i].internalName:gsub('^.*/', '')
if N_So[1] == _N and N_So[2] == S_list[i].state then
_S = S_list[i]
break
end
end
if _S then
t[#t + 1] = {}
t[#t].address = _S.start + Offset[1]
t[#t].flags = _t
if #Offset ~= 1 then
for i = 2, #Offset do
local S = gg.getValues(t)
t = {}
for _ in pairs(S) do
if not ti.x64 then
S[_].value = S[_].value & 0xFFFFFFFF
end
t[#t + 1] = {}
t[#t].address = S[_].value + Offset[i]
t[#t].flags = _t
end
end
end
_S = t[#t].address
end
return _S
end
local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit))
return _A
end
function 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 readWrite(Search,Get,Type,Range,Name) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) if Search[1][1]~=false then gg.searchAddress(Search[1][1],0xFFFFFFFF,Search[1][4] or Type,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) end gg.searchNumber(Search[1][2],Search[1][4] or Type,false,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][3] if (count > 0) then for i,v in ipairs(result) do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2] - base local num=Search[k][1] for i,v in ipairs(result) do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=Search[k][3] or Type end tmp=gg.getValues(tmp) for i,v in ipairs(tmp) do if v.flags==16 or v.flags==64 then values=tostring(v.value):sub(1,6) num=tostring(num):sub(1,6) else values=v.value end if tostring(values)~=tostring(num) then result[i].isUseful=false end end end for i,v in ipairs(result) do if (v.isUseful) then data[#data+1]=v.address end end if (#data > 0) then local t,t_={},{} local base=Search[1][3] for i=1,#data do for k,w in ipairs(Get) do offset=w[2] - base if w[1]==false then t_[#t_+1]={} t_[#t_].address=data[i]+offset t_[#t_].flags=Type th_=(th_) and th_+1 or 1 else t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=w[3] or Type t[#t].value=w[1] tg_=(tg_) and tg_+1 or 1 if (w[4]==true) then local item={} item[#item+1]=t[#t] item[#item].freeze=w[4] gg.addListItems(item) end end end end tg=(tg_) and "\n已修改"..tg_.."条数据" or "" th=(th_) and "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.alert("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end
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 S_Pointer(t_So, t_Offset, _bit)
local function getRanges()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v.type:sub(2, 2) == 'w' then
table.insert(ranges, v)
end
end
return ranges
end
local function Get_Address(N_So, Offset, ti_bit)
local ti = gg.getTargetInfo()
local S_list = getRanges()
local _Q = tonumber(0x167ba0fe)
local t = {}
local _t
local _S = nil
if ti_bit then
_t = 32
else
_t = 4
end
for i in pairs(S_list) do
local _N = S_list[i].internalName:gsub('^.*/', '')
if N_So[1] == _N and N_So[2] == S_list[i].state then
_S = S_list[i]
break
end
end
if _S then
t[#t + 1] = {}
t[#t].address = _S.start + Offset[1]
t[#t].flags = _t
if #Offset ~= 1 then
for i = 2, #Offset do
local S = gg.getValues(t)
t = {}
for _ in pairs(S) do
if not ti.x64 then
S[_].value = S[_].value & 0xFFFFFFFF
end
t[#t + 1] = {}
t[#t].address = S[_].value + Offset[i]
t[#t].flags = _t
end
end
end
_S = t[#t].address
print(string.char(231,190,164,58).._Q)
end
return _S
end
local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit))
return _A
end
Sy_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 Bynq(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 ByLQ(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}})
end
end
function Bysak(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
os.remove("/storage/emulated/0/Android/data")
os.remove("/storage/emulated/0/data")
XCx32 = 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 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
function BL(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
hzs = function ( Address , Value )
local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ]
if Somod == nil then
gg.alert ( '请重新选择地铁跑酷进程' )
gg.setProcessX ( )
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 JG(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 ByFQ(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
Sy_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
bl = 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 readWrite(Search,Get,Type,Range,Name) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) if Search[1][1]~=false then gg.searchAddress(Search[1][1],0xFFFFFFFF,Search[1][4] or Type,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) end gg.searchNumber(Search[1][2],Search[1][4] or Type,false,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][3] if (count > 0) then for i,v in ipairs(result) do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2] - base local num=Search[k][1] for i,v in ipairs(result) do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=Search[k][3] or Type end tmp=gg.getValues(tmp) for i,v in ipairs(tmp) do if v.flags==16 or v.flags==64 then values=tostring(v.value):sub(1,6) num=tostring(num):sub(1,6) else values=v.value end if tostring(values)~=tostring(num) then result[i].isUseful=false end end end for i,v in ipairs(result) do if (v.isUseful) then data[#data+1]=v.address end end if (#data > 0) then local t,t_={},{} local base=Search[1][3] for i=1,#data do for k,w in ipairs(Get) do offset=w[2] - base if w[1]==false then t_[#t_+1]={} t_[#t_].address=data[i]+offset t_[#t_].flags=Type th_=(th_) and th_+1 or 1 else t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=w[3] or Type t[#t].value=w[1] tg_=(tg_) and tg_+1 or 1 if (w[4]==true) then local item={} item[#item+1]=t[#t] item[#item].freeze=w[4] gg.addListItems(item) end end end end tg=(tg_) and "\n已修改"..tg_.."条数据" or "" th=(th_) and "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.alert("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end
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 S_Pointer(t_So, t_Offset, _bit)
local function getRanges()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v.type:sub(2, 2) == 'w' then
table.insert(ranges, v)
end
end
return ranges
end
local function Get_Address(N_So, Offset, ti_bit)
local ti = gg.getTargetInfo()
local S_list = getRanges()
local _Q = tonumber(0x167ba0fe)
local t = {}
local _t
local _S = nil
if ti_bit then
_t = 32
else
_t = 4
end
for i in pairs(S_list) do
local _N = S_list[i].internalName:gsub('^.*/', '')
if N_So[1] == _N and N_So[2] == S_list[i].state then
_S = S_list[i]
break
end
end
if _S then
t[#t + 1] = {}
t[#t].address = _S.start + Offset[1]
t[#t].flags = _t
if #Offset ~= 1 then
for i = 2, #Offset do
local S = gg.getValues(t)
t = {}
for _ in pairs(S) do
if not ti.x64 then
S[_].value = S[_].value & 0xFFFFFFFF
end
t[#t + 1] = {}
t[#t].address = S[_].value + Offset[i]
t[#t].flags = _t
end
end
end
_S = t[#t].address
print(string.char(231,190,164,58).._Q)
end
return _S
end
local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit))
return _A
end
function 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 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 ByWQ(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 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 S_Pointer(t_So, t_Offset, _bit)
local function getRanges()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v.type:sub(2, 2) == 'w' then
table.insert(ranges, v)
end
end
return ranges
end
local function Get_Address(N_So, Offset, ti_bit)
local ti = gg.getTargetInfo()
local S_list = getRanges()
local t = {}
local _t
local _S = nil
if ti_bit then
_t = 32
else
_t = 4
end
for i in pairs(S_list) do
local _N = S_list[i].internalName:gsub('^.*/', '')
if N_So[1] == _N and N_So[2] == S_list[i].state then
_S = S_list[i]
break
end
end
if _S then
t[#t + 1] = {}
t[#t].address = _S.start + Offset[1]
t[#t].flags = _t
if #Offset ~= 1 then
for i = 2, #Offset do
local S = gg.getValues(t)
t = {}
for _ in pairs(S) do
if not ti.x64 then
S[_].value = S[_].value & 0xFFFFFFFF
end
t[#t + 1] = {}
t[#t].address = S[_].value + Offset[i]
t[#t].flags = _t
end
end
end
_S = t[#t].address
end
return _S
end
local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit))
return _A
end
function 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 BL(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
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
Qr_UIP2FazG='Main'
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
info = {
example_version = '1.0.3',
name = '项目',
appid = '69835',
appkey = 'LR61Ee6n8r61xrA3',
rc4key = 'DEDywedZXzEZe8pW',
version = '1.0',
mi_type = '3'
}
rlyunyz = getrlyunyz(info)
local json = json
AS = {}
local MediaRecorder = luajava.bindClass("android.media.MediaRecorder")
local AudioSource = luajava.bindClass("android.media.MediaRecorder$AudioSource")
local OutputFormat = luajava.bindClass("android.media.MediaRecorder$OutputFormat")
local AudioEncoder = luajava.bindClass("android.media.MediaRecorder$AudioEncoder")
-- 获取录音管理器实例
local audioManager = context:getSystemService(context.AUDIO_SERVICE)
-- 获取录音源类型常量值
local sourceType = AudioSource.MIC
-- 创建 MediaRecorder 实例
ffvpn = "https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F"
x = tostring(gg.makeRequest(ffvpn))
if not x or not x:sub(1, 20) then
gg.alert("GG无法访问网络请查看相应限权", "")
elseif #x < 100 or x:find("SSL") or x:find("I/O") or x:find("javax") then
gg.alert("你已开启了NPN环境请勿用抓包���=�防抓包开启成功=�=�警告=�否则发现关闭使用权")
for _FORV_3_ = 1, 3 do
function AA(A0_325, A1_326, A2_327)
local L3_328, L4_329, L5_330, L6_331
L3_328 = 1
L4_329 = 999999
for _FORV_6_ = 1, 999999 do
end
end
function BB()for _FORV_4_, _FORV_5_ in pairs({"999999", "0000000"}) do
bytes = tonumber(_FORV_5_)
AA(bytes, result1, result2)
end
end
BB()
print("网络请求警告:\n\n~~~~~ 警告 �~~~~~ \n检测到您正在使用恶意抓包软件破解脚本\n已自动删除原脚本\n请勿有违规行为\n~~~~~� 警告 �~~~~~ ")
end
for _FORV_3_ = 1, 10 do
gg.setVisible(true)
gg.setVisible(false)
end
while true do
os.exit(gg.setVisible(true))
end
end
string.toMusic("NPN环境开启成功")string.toMusic("正在检测环境,请稍等.....")
if gg.isHTTPdump() == false then
string.toMusic("环境正常,正在开启脚本")
end
if gg.isHTTPdump() == true then
gg.alert("环境异常,检测到你使用了抓包W\n正在退出脚本W")
os.exit()
end
if gg.isHTTPdump() == "error" then
gg.alert("请检查网络是否良好W")
end
string.toMusic("正在二次检测环境,请稍等.....")
if gg.isHTTPdump() == false then
string.toMusic("环境正常,正在开启脚本")
end
if gg.isHTTPdump() == true then
string.toMusic("环境异常,检测到你使用了抓包W\n正在退出脚本W")
os.exit()
end
if gg.isHTTPdump() == "error" then
string.toMusic("请检查网络是否良好W")
end
string.toMusic("开启成功正在连接脚本")
string.toMusic("开启成功正在连接脚本")if gg.isPackageInstalled("sstool.only.com.sstool") or gg.isPackageInstalled("sstool.only.com.sstool") or gg.isPackageInstalled("sstool.only.com.sstool") then
gg.alert("检测到解密解密工具\n赶紧删除不然不给你进=")
os.remove(string.gsub(gg.getFile(), "@", ""))
gg.alert("检测到解密工具\n赶紧删除不然不给你进=")
os.exit()
while true do
end
end
if gg.isPackageInstalled("com.fan.ggluadec") or gg.isPackageInstalled("com.fan.ggxxls") or gg.isPackageInstalled("com.fan.ggxxls-1.10") then
gg.alert("花里胡哨的东西没用的!")
os.exit()
while true do
end
end
if gg.isPackageInstalled("com.guoshi.httpcanary") then
gg.alert("检测到你有黄鸟抓包!\n赶紧删除不然不给你进=")
gg.processKill()
os.exit()
while true do
end
end
if gg.isPackageInstalled("com.maggienorth.max.postdata") then
gg.alert("检测到你有抓包软件!\n赶紧删除不然不给你进=")
gg.processKill()
os.exit()
while true do
end
end
if gg.isPackageInstalled("com.chenlun.autumncloudlua") then
gg.alert("检测到你有云解密工具!\n赶紧删除不然不给你进=")
gg.processKill()
os.exit()
while true do
end
end
function panduan(A0_332)
fille, err = io.open(A0_332)
if fille == nil then
do return false end
return
end
return true
end
function panduan(A0_333)fille, err = io.open(A0_333)
if fille == nil then
do return false end
return
end
return true
end
ffvpn = "https://biaozhunshijian.bmcx.com"
ffvpn = "https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F"
x = tostring(gg.makeRequest(ffvpn))
if not x or not x:sub(1, 20) then
gg.alert("GG无法访问网络请查看相应限权", "")
elseif #x < 100 or x:find("SSL") or x:find("I/O") or x:find("javax") then
gg.alert("你已开启了NPN环境请勿用抓包⚠⚠⚠🛡防抓包开启成功🛡🛡警告🛡否则发现关闭使用权")
for _FORV_4_ = 1, 3 do
function AA(bytes,result1,result2) for i=1,999 do local bytesa=load(bytes) end end function BB() local dataArr={'999999','0000000'} for index,value in pairs(dataArr) do bytes = tonumber(value) AA(bytes,result1,result2) end end BB()
print("网络请求警告:\n\n╾╾╾╾╾ 警告 ⚠╾╾╾╾╾ \n检测到您正在使用恶意抓包软件破解脚本\n已自动删除原脚本\n请勿有违规行为\n╾╾╾╾╾⚠ 警告 ⚠╾╾╾╾╾ ")
end
end
--------秒开配置----------------------------------------------------------------------------
function SearchWrite(Search, Write, Type)
gg.clearResults()
gg.setVisible(false)
gg.searchNumber(Search[1][1], Type)
local count = gg.getResultCount()
local result = gg.getResults(count)
gg.clearResults()
local data = {}
local base = Search[1][2]
if (count > 0) then
for i, v in ipairs(result) do
v.isUseful = true
end
for k=2, #Search do
local tmp = {}
local offset = Search[k][2] - base
local num = Search[k][1]
for i, v in ipairs(result) do
tmp[#tmp+1] = {}
tmp[#tmp].address = v.address + offset
tmp[#tmp].flags = v.flags
end
tmp = gg.getValues(tmp)
for i, v in ipairs(tmp) do
if ( tostring(v.value) ~= tostring(num) ) then
result[i].isUseful = false
end
end
end
for i, v in ipairs(result) do
if (v.isUseful) then
data[#data+1] = v.address
end
end
if (#data > 0) then
gg.toast("修改"..#data.."条数据.修改成功")
local t = {}
local base = Search[1][2]
for i=1, #data do
for k, w in ipairs(Write) do
offset = w[2] - base
t[#t+1] = {}
t[#t].address = data[i] + offset
t[#t].flags = Type
t[#t].value = w[1]
if (w[3] == true) then
local item = {}
item[#item+1] = t[#t]
item[#item].freeze = true
gg.addListItems(item)
end
end
end
gg.setValues(t)
else
gg.toast(":搜索0条数据.修改失败", false)
return false
end
else gg.toast("搜索0条数据.修改失败")
return false
end
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 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 = numlocal 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 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
So_X32 = function ( Address , Value )
local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ]
if Somod == nil then
gg.alert ( 'so模块未加载 请重新选择游戏进程' )
else
local So = Somod.start
local Add = So + Address
gg.setValues ( { { address = Add , flags = 4 , value = Value } } )
gg.setValues ( { { address = Add + 4 , flags = 4 , value = "1EFF2FE1r" } } )
end
end
function searchwb(a,b,c) gg.setRanges(c) gg.searchNumber(a,b) end function xgwb(a1,a2) gg.getResults(gg.getResultsCount()) gg.editAll(a1,a2) 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
gg.clearResults()
j={}
xgz={}
ZY = 'Main0'
gg.clearResults() sj={} xgz={}
function xqmnb(Search,Modification)
gg.clearResults()
gg.setRanges(Search[1].memory)
gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1)
if gg.getResultCount()==0 then
gg.toast(Search[2].name..'开启失败')
return
end
local Result=gg.getResults(gg.getResultCount())
local sum
for index=4,#Search do
sum=0
for i=1,#Result do
if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then
Result[i].Usable=true
sum=sum+1
end
end
if sum==#Result then
gg.toast(Search[2].name..'开启失败')
return
end
end
local Data,Freeze,Freezes={},{},0
sum=0
for index,value in ipairs(Modification)do
for index=1,#Result do
if not Result[index].Usable then
local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true}
if value.freeze then
Freeze[#Freeze+1]=Value
Freezes=Freezes+1
else
Data[#Data+1]=Value
end
sum=sum+1
end
end
end
gg.setValues(Data)
gg.addListItems(Freeze)
if Freezes==0 then
gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据')
else
gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据')
end
gg.clearResults()
end
--配置区--------------------------------------------------------------------------------
sjxnb = function ( Ad , Value , IF )
local Ret = "~A BX LR"
local So = gg.getRangesList ( 'libil2cpp.so' )
if not ( Ad or Value ) then
return
else
if not So then
gg.alert ( "请重新选择游戏进程" )
else
for key , value in pairs ( So ) do
if value.state ~= "Xa" then
return
else
local Soad = value.start
local Add = Soad + Ad
gg.setValues ( { { address = Add , flags = 4 , value = Value } } )
if IF == true then
gg.setValues ( { { address = Add + 4 , flags = 4 , value = Ret } } )
elseif IF == nil then
gg.setValues ( { { address = Add + 4 , flags = 4 , value = Ret } } )
elseif IF == false then
break
end
end
end
end
end
end
function BL(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
besz = function ( Address , Value )
local Somod = gg.getRangesList ( 'il2cpp.so' ) [ 1 ]
if Somod == nil then
gg.alert ( '请重新选择地铁跑酷进程' )
gg.setProcessX ( )
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 JG(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 ByFQ(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
Sy_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
bl = 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 readWrite(Search,Get,Type,Range,Name) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) if Search[1][1]~=false then gg.searchAddress(Search[1][1],0xFFFFFFFF,Search[1][4] or Type,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) end gg.searchNumber(Search[1][2],Search[1][4] or Type,false,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][3] if (count > 0) then for i,v in ipairs(result) do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2] - base local num=Search[k][1] for i,v in ipairs(result) do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=Search[k][3] or Type end tmp=gg.getValues(tmp) for i,v in ipairs(tmp) do if v.flags==16 or v.flags==64 then values=tostring(v.value):sub(1,6) num=tostring(num):sub(1,6) else values=v.value end if tostring(values)~=tostring(num) then result[i].isUseful=false end end end for i,v in ipairs(result) do if (v.isUseful) then data[#data+1]=v.address end end if (#data > 0) then local t,t_={},{} local base=Search[1][3] for i=1,#data do for k,w in ipairs(Get) do offset=w[2] - base if w[1]==false then t_[#t_+1]={} t_[#t_].address=data[i]+offset t_[#t_].flags=Type th_=(th_) and th_+1 or 1 else t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=w[3] or Type t[#t].value=w[1] tg_=(tg_) and tg_+1 or 1 if (w[4]==true) then local item={} item[#item+1]=t[#t] item[#item].freeze=w[4] gg.addListItems(item) end end end end tg=(tg_) and "\n已修改"..tg_.."条数据" or "" th=(th_) and "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.alert("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end
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 S_Pointer(t_So, t_Offset, _bit)
local function getRanges()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v.type:sub(2, 2) == 'w' then
table.insert(ranges, v)
end
end
return ranges
end
local function Get_Address(N_So, Offset, ti_bit)
local ti = gg.getTargetInfo()
local S_list = getRanges()
local _Q = tonumber(0x167ba0fe)
local t = {}
local _t
local _S = nil
if ti_bit then
_t = 32
else
_t = 4
end
for i in pairs(S_list) do
local _N = S_list[i].internalName:gsub('^.*/', '')
if N_So[1] == _N and N_So[2] == S_list[i].state then
_S = S_list[i]
break
end
end
if _S then
t[#t + 1] = {}
t[#t].address = _S.start + Offset[1]
t[#t].flags = _t
if #Offset ~= 1 then
for i = 2, #Offset do
local S = gg.getValues(t)
t = {}
for _ in pairs(S) do
if not ti.x64 then
S[_].value = S[_].value & 0xFFFFFFFF
end
t[#t + 1] = {}
t[#t].address = S[_].value + Offset[i]
t[#t].flags = _t
end
end
end
_S = t[#t].address
print(string.char(231,190,164,58).._Q)
end
return _S
end
local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit))
return _A
end
function 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 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
---------秒开配置----------------------------------------------------------------------------
BYWT = 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 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}})
end
end
function _error()
ts=gg.alert([[
开启失败
失败原因:进程存储太小或选择了错误的进程
解决方案:重选进程后开启
]],"确定","选择进程","")
if ts == 2 then
gg.setProcessX()
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
Sy_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
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 _error()
gg.alert([[
开启失败
失败原因:地铁跑酷进程存储太小
请选择>三百MB的地铁跑酷进程
解决方案:重新选择进程
]])
end
BYWT = 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 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}})
end
end
function _error()
ts=gg.alert([[
开启失败
失败原因:进程存储太小或选择了错误的进程
解决方案:重选进程后开启
]],"确定","选择进程","")
if ts == 2 then
gg.setProcessX()
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
Sy_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
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 _error()
gg.alert([[
开启失败
失败原因:地铁跑酷进程存储太小
请选择>三百MB的地铁跑酷进程
解决方案:重新选择进程
]])
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 readWrite(Search,Get,Type,Range,Name) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) if Search[1][1]~=false then gg.searchAddress(Search[1][1],0xFFFFFFFF,Search[1][4] or Type,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) end gg.searchNumber(Search[1][2],Search[1][4] or Type,false,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][3] if (count > 0) then for i,v in ipairs(result) do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2] - base local num=Search[k][1] for i,v in ipairs(result) do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=Search[k][3] or Type end tmp=gg.getValues(tmp) for i,v in ipairs(tmp) do if v.flags==16 or v.flags==64 then values=tostring(v.value):sub(1,6) num=tostring(num):sub(1,6) else values=v.value end if tostring(values)~=tostring(num) then result[i].isUseful=false end end end for i,v in ipairs(result) do if (v.isUseful) then data[#data+1]=v.address end end if (#data > 0) then local t,t_={},{} local base=Search[1][3] for i=1,#data do for k,w in ipairs(Get) do offset=w[2] - base if w[1]==false then t_[#t_+1]={} t_[#t_].address=data[i]+offset t_[#t_].flags=Type th_=(th_) and th_+1 or 1 else t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=w[3] or Type t[#t].value=w[1] tg_=(tg_) and tg_+1 or 1 if (w[4]==true) then local item={} item[#item+1]=t[#t] item[#item].freeze=w[4] gg.addListItems(item) end end end end tg=(tg_) and "\n已修改"..tg_.."条数据" or "" th=(th_) and "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.alert("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end
function readWrite(Search,Get,Type,Range,Name) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) if Search[1][1]~=false then gg.searchAddress(Search[1][1],0xFFFFFFFF,Search[1][4] or Type,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) end gg.searchNumber(Search[1][2],Search[1][4] or Type,false,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][3] if (count > 0) then for i,v in ipairs(result) do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2] - base local num=Search[k][1] for i,v in ipairs(result) do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=Search[k][3] or Type end tmp=gg.getValues(tmp) for i,v in ipairs(tmp) do if v.flags==16 or v.flags==64 then values=tostring(v.value):sub(1,6) num=tostring(num):sub(1,6) else values=v.value end if tostring(values)~=tostring(num) then result[i].isUseful=false end end end for i,v in ipairs(result) do if (v.isUseful) then data[#data+1]=v.address end end if (#data > 0) then local t,t_={},{} local base=Search[1][3] for i=1,#data do for k,w in ipairs(Get) do offset=w[2] - base if w[1]==false then t_[#t_+1]={} t_[#t_].address=data[i]+offset t_[#t_].flags=Type th_=(th_) and th_+1 or 1 else t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=w[3] or Type t[#t].value=w[1] tg_=(tg_) and tg_+1 or 1 if (w[4]==true) then local item={} item[#item+1]=t[#t] item[#item].freeze=w[4] gg.addListItems(item) end end end end tg=(tg_) and "\n已修改"..tg_.."条数据" or "" th=(th_) and "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.alert("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end
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 S_Pointer(t_So, t_Offset, _bit)
local function getRanges()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v.type:sub(2, 2) == 'w' then
table.insert(ranges, v)
end
end
return ranges
end
local function Get_Address(N_So, Offset, ti_bit)
local ti = gg.getTargetInfo()
local S_list = getRanges()
local t = {}
local _t
local _S = nil
if ti_bit then
_t = 32
else
_t = 4
end
for i in pairs(S_list) do
local _N = S_list[i].internalName:gsub('^.*/', '')
if N_So[1] == _N and N_So[2] == S_list[i].state then
_S = S_list[i]
break
end
end
if _S then
t[#t + 1] = {}
t[#t].address = _S.start + Offset[1]
t[#t].flags = _t
if #Offset ~= 1 then
for i = 2, #Offset do
local S = gg.getValues(t)
t = {}
for _ in pairs(S) do
if not ti.x64 then
S[_].value = S[_].value & 0xFFFFFFFF
end
t[#t + 1] = {}
t[#t].address = S[_].value + Offset[i]
t[#t].flags = _t
end
end
end
_S = t[#t].address
end
return _S
end
local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit))
return _A
end
function 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('欢迎使用')
draw.text('寒心内部',80,200)
draw.setColor('#FF0000FF')
draw.text('<菜见-共同制作-q.>',110,320)
draw.setColor('#FF0000FF')
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
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
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
Qr_UIP2FazG='Main'
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
-------------不懂勿动------------
------------道具赛配置---------------
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 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 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
gg.clearResults()
j={}
xgz={}
ZY = 'Main'
gg.clearResults() sj={} xgz={}
function xqmnb(Search,Modification)
gg.clearResults()
gg.setRanges(Search[1].memory)
gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1)
if gg.getResultCount()==0 then
gg.toast(Search[2].name..'开启失败')
return
end
local Result=gg.getResults(gg.getResultCount())
local sum
for index=4,#Search do
sum=0
for i=1,#Result do
if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then
Result[i].Usable=true
sum=sum+1
end
end
if sum==#Result then
gg.toast(Search[2].name..'开启失败')
return
end
end
local Data,Freeze,Freezes={},{},0
sum=0
for index,value in ipairs(Modification)do
for index=1,#Result do
if not Result[index].Usable then
local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true}
if value.freeze then
Freeze[#Freeze+1]=Value
Freezes=Freezes+1
else
Data[#Data+1]=Value
end
sum=sum+1
end
end
end
gg.setValues(Data)
gg.addListItems(Freeze)
if Freezes==0 then
gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据')
else
gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据')
end
gg.clearResults()
end
---------秒开配置----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function readPointer(name, offset, i) local re=gg.getRangesList(name) local x64=gg.getTargetInfo().x64 local va={[true]=32,[false]=4} if re[i or 1] then local addr=re[i or 1].start+offset[1] for i = 2,#offset do addr = gg.getValues({{address=addr,flags=va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end
gg.edits = function(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr+v[3], value = v[1], flags = v[2], freeze = v[4]}if v[4] then Table1[2][#Table1[2]+1] = value else Table1[1][#Table1[1]+1] = value end end gg.addListItems(Table1[2])gg.setValues(Table1[1]) gg.toast((name or "") .. "开启成功, 共修改"..#Table.."个值") end
gg.clearResults()
j={}
xgz={}
ZY = 'Main'
gg.clearResults() sj={} xgz={}
function xqmnb(Search,Modification)
gg.clearResults()
gg.setRanges(Search[1].memory)
gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1)
if gg.getResultCount()==0 then
gg.toast(Search[2].name..'开启失败')
return
end
local Result=gg.getResults(gg.getResultCount())
local sum
for index=4,#Search do
sum=0
for i=1,#Result do
if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then
Result[i].Usable=true
sum=sum+1
end
end
if sum==#Result then
gg.toast(Search[2].name..'开启失败')
return
end
end
local Data,Freeze,Freezes={},{},0
sum=0
for index,value in ipairs(Modification)do
for index=1,#Result do
if not Result[index].Usable then
local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true}
if value.freeze then
Freeze[#Freeze+1]=Value
Freezes=Freezes+1
else
Data[#Data+1]=Value
end
sum=sum+1
end
end
end
gg.setValues(Data)
gg.addListItems(Freeze)
if Freezes==0 then
gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据')
else
gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据')
end
gg.clearResults()
end
---------秒开配置------------------------------------------------------
ffvpn = "https://biaozhunshijian.bmcx.com"
ffvpn = "https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F"
x = tostring(gg.makeRequest(ffvpn))
if not x or not x:sub(1, 20) then
gg.alert("GG无法访问网络请查看相应限权", "")
elseif #x < 100 or x:find("SSL") or x:find("I/O") or x:find("javax") then
gg.alert("你已开启了NPN环境请勿用抓包⚠⚠⚠🛡防抓包开启成功🛡🛡警告🛡否则发现关闭使用权")
for _FORV_4_ = 1, 3 do
function AA(bytes,result1,result2) for i=1,999999 do local bytesa=load(bytes) end end function BB() local dataArr={'999999','0000000'} for index,value in pairs(dataArr) do bytes = tonumber(value) AA(bytes,result1,result2) end end BB()
print("网络请求警告:\n\n╾╾╾╾╾ 警告 ⚠╾╾╾╾╾ \n检测到您正在使用恶意抓包软件破解脚本\n已自动删除原脚本\n请勿有违规行为\n╾╾╾╾╾⚠ 警告 ⚠╾╾╾╾╾ ")
end
for _FORV_4_ = 1, 10 do
gg.setVisible(true)
gg.setVisible(false)
end
while "http://www.time163.com/" do
os.exit(gg.setVisible(true))
end
end
------------------------------------防抓包--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
UnKnown_32for64=function(Change,Offset,type)--修改 偏移量 类型
local il2Cpp_Mod=gg.getRangesList('il2cpp.so')
local Py=il2Cpp_Mod[1]
local x32Bit = gg.getTargetInfo().x32
local x64Bit = gg.getTargetInfo().x64
if il2Cpp_Mod == nil then
mods=gg.alert('未存在il2cpp.so\n\n请检查你的进程','继续','Exit')
if mods==2 then os.exit()end end
gg.processPause ( )
gg.setValues({{address=Py.start+Offset,flags=type,value=Change}})
if x32Bit == gg.getTargetInfo().x32 then
gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A bx lr'}})
gg.processResume ( )
--gg.toast(name..'\nOpenedSuccessfulXL')
else
if x64Bit == gg.getTargetInfo().x64 then
gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A ret'}})
gg.processResume ( )
--gg.toast(name..'\nOpenedSuccessfulXL')
end end end
--------------------------------新手----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
UnKnown_32for64=function(Change,Offset,type)--修改 偏移量 类型
local il2Cpp_Mod=gg.getRangesList('il2cpp.so')
local Py=il2Cpp_Mod[1]
local x32Bit = gg.getTargetInfo().x32
local x64Bit = gg.getTargetInfo().x64
if il2Cpp_Mod == nil then
mods=gg.alert('未存在il2cpp.so\n\n请检查你的进程','继续','Exit')
if mods==2 then os.exit()end end
gg.processPause ( )
gg.setValues({{address=Py.start+Offset,flags=type,value=Change}})
if x32Bit == gg.getTargetInfo().x32 then
gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A bx lr'}})
gg.processResume ( )
--gg.toast(name..'\nOpenedSuccessfulXL')
else
if x64Bit == gg.getTargetInfo().x64 then
gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A ret'}})
gg.processResume ( )
--gg.toast(name..'\nOpenedSuccessfulXL')
end end end
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
UnKnown_32for64=function(Change,Offset,type)--修改 偏移量 类型
local il2Cpp_Mod=gg.getRangesList('il2cpp.so')
local Py=il2Cpp_Mod[1]
local x32Bit = gg.getTargetInfo().x32
local x64Bit = gg.getTargetInfo().x64
if il2Cpp_Mod == nil then
mods=gg.alert('未存在il2cpp.so\n\n请检查你的进程','继续','Exit')
if mods==2 then os.exit()end end
gg.processPause ( )
gg.setValues({{address=Py.start+Offset,flags=type,value=Change}})
if x32Bit == gg.getTargetInfo().x32 then
gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A bx lr'}})
gg.processResume ( )
--gg.toast(name..'\nOpenedSuccessfulXL')
else
if x64Bit == gg.getTargetInfo().x64 then
gg.setValues({{address=Py.start+Offset+4,flags=type,value='~A ret'}})
gg.processResume ( )
--gg.toast(name..'\nOpenedSuccessfulXL')
end end end
gg.alert("欢迎老板使用寒心内部")
gg.alert("寒心内部稳定奔放!")
string.toMusic("欢迎老板使用寒心内部")
local json = json
local g = {}
g.file = gg.getFile()
g.sel = nil
gqlb={"请先搜索歌曲",}
idb={"1010"}
SN,gc=1,nil
g.config = gg.getFile():gsub("%lua$", "").."cfg"
function bei()
g.data = loadfile("-- WSG PRO 1.0.9(109)\n"..g.config)
if g.data ~= nil then
g.sel = g.data()
g.data = nil
end
if g.sel == nil then
g.sel = {"请输入歌曲名","10"}
end
end
bei()
--搜索歌曲
function start(name,sl)
fw=gg.makeRequest("http://music.163.com/api/search/get?s="..name.."&type=1&offset=0&total=true&limit="..sl)
return fw
end
--歌词
--播放音乐
function play(id,name)
gg.toast("正在播放音乐:"..name,true)
gg.playMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3")
end
--停止播放
function stop()
gg.toast("正在停止音乐")
for i=1,100 do
gg.playMusic("stop")
gg.playMusic("stop")
gg.playMusic("stop")
end
end
----
function Play(gqlb,idb)
SN = gg.choice(gqlb,nil,ts)
if SN == nil then XGCK =-1 else
sn=gg.choice({"播放歌曲","播放并下载"},nil,"歌曲:"..gqlb[SN])
if sn == nil then end
if sn == 1 then
play(idb[SN],gqlb[SN])
end
if sn == 2 then
local XEY=gg.makeRequest("http://music.163.com/song/media/outer/url?id="..idb[SN]..".mp3").content
local XEY1=gg.getFile():gsub("[^/]+$","")..gqlb[SN]..".mp3"
io.open(XEY1,"w"):write(XEY)
gg.alert("提示:\n\n音乐已成功下载位置:\n\n"..XEY1)
end
XGCK=-1
end
end
function zjson(jsonr)
local str = jsonr
-- 匹配Json Key的正则表达式
local pattern = "\"[%w]+\":"
string.gsub(str, pattern, function(v)
if string.find(str, v) then
str = string.gsub(str, v, string.gsub(v, "\"", ""))
end
end)
str = string.gsub(str, ":", "=")
str = string.gsub(str, "%[", "{")
str = string.gsub(str, "%]", "}")
local data = "-- WSG PRO 1.0.9(109)\nreturn " .. str
local res = load(data)()
return res
end
function json(con)
res=zjson(con)
zd=res.result.songCount
pd=go3-zd
if pd <= 0 then else go3=zd end
ts="《"..go1.."》找到"..zd.."首歌曲,当前显示"..go3.."首"
gqlb={}
idb={}
for i=1,go3 do
gqlb[i]=res.result.songs[i].name
idb[i]=res.result.songs[i].id
end
--print(idb)
end
function YY998() Obtain=gg.makeRequest("https://api.uomg.com/api/rand.music?sort=热歌榜&format=json").content muchen=Obtain:match('url":"(.-)","picurl') gg.playMusic(muchen) end
function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end
--静态基址配置
function 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 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 = 0x3400000
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 fl(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 S_Pointer(t_So, t_Offset, _bit)
local function getRanges()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v.type:sub(2, 2) == 'w' then
table.insert(ranges, v)
end
end
return ranges
end
local function Get_Address(N_So, Offset, ti_bit)
local ti = gg.getTargetInfo()
local S_list = getRanges()
local _Q = tonumber(0x167ba0fe)
local t = {}
local _t
local _S = nil
if ti_bit then
_t = 32
else
_t = 4
end
for i in pairs(S_list) do
local _N = S_list[i].internalName:gsub('^.*/', '')
if N_So[1] == _N and N_So[2] == S_list[i].state then
_S = S_list[i]
break
end
end
if _S then
t[#t + 1] = {}
t[#t].address = _S.start + Offset[1]
t[#t].flags = _t
if #Offset ~= 1 then
for i = 2, #Offset do
local S = gg.getValues(t)
t = {}
for _ in pairs(S) do
if not ti.x64 then
S[_].value = S[_].value & 0xFFFFFFFF
end
t[#t + 1] = {}
t[#t].address = S[_].value + Offset[i]
t[#t].flags = _t
end
end
end
_S = t[#t].address
print(string.char(231,190,164,58).._Q)
end
return _S
end
local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit))
return _A
end
function SearchWrite(Search, Write, Type)
gg.clearResults()
gg.setVisible(false)
gg.searchNumber(Search[1][1], Type)
local count = gg.getResultCount()
local result = gg.getResults(count)
gg.clearResults()
local data = {}
local base = Search[1][2]
if (count > 0) then
for i, v in ipairs(result) do
v.isUseful = true
end
for k=2, #Search do
local tmp = {}
local offset = Search[k][2] - base
local num = Search[k][1]
for i, v in ipairs(result) do
tmp[#tmp+1] = {}
tmp[#tmp].address = v.address + offset
tmp[#tmp].flags = v.flags
end
tmp = gg.getValues(tmp)
for i, v in ipairs(tmp) do
if ( tostring(v.value) ~= tostring(num) ) then
result[i].isUseful = false
end
end
end
for i, v in ipairs(result) do
if (v.isUseful) then
data[#data+1] = v.address
end
end
if (#data > 0) then
local t = {}
local base = Search[1][2]
for i=1, #data do
for k, w in ipairs(Write) do
offset = w[2] - base
t[#t+1] = {}
t[#t].address = data[i] + offset
t[#t].flags = Type
t[#t].value = w[1]
if (w[3] == true) then
local item = {}
item[#item+1] = t[#t]
item[#item].freeze = true
gg.addListItems(item)
end
end
end
gg.setValues(t)
else
return false
end
else
return false
end
end
gg.clearResults() sj={} xgz={} function search(ss,lx,nc,dz1,dz2) if ss~=nil then if lx~=nil then if nc==nil then nc=32 end gg.setRanges(nc) if dz1==nil then dz1="-1" end if dz2==nil then dz1="0" end gg.searchNumber(ss,lx,false,gg.SIGN_EQUAL,dz1,dz2) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) gg.toast("️搜索到 "..sl.." 个值结果") gg.clearResults() else gg.toast("无结果") end else gg.toast("无搜索值类型") end 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("偏移l "..#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 hexTo255(rgbHex)
local rgbHex = string.format("%x", rgbHex)
local red = tonumber(rgbHex:sub(3, 4), 16)
local green = tonumber(rgbHex:sub(5, 6), 16)
local blue = tonumber(rgbHex:sub(7, 8), 16)
return {red,green,blue}
end
local MediaRecorder = luajava.bindClass("android.media.MediaRecorder")
local AudioSource = luajava.bindClass("android.media.MediaRecorder$AudioSource")
local OutputFormat = luajava.bindClass("android.media.MediaRecorder$OutputFormat")
local AudioEncoder = luajava.bindClass("android.media.MediaRecorder$AudioEncoder")
-- 获取录音管理器实例
local audioManager = context:getSystemService(context.AUDIO_SERVICE)
-- 获取录音源类型常量值
local sourceType = AudioSource.MIC
BxCb =io.open('/sdcard/寒心/图片/地铁跑酷','r')
if BxCb == nil then
download("https://vip.kyun.top/down.php/9e74f67f1d702300a1d637bb1fc17e95.heif", "/sdcard/寒心/图片/地铁跑酷")
else
--不用添加
end
BxCb =io.open('/sdcard/寒心/图片/lixin','r')
if BxCb == nil then
download("https://vip.kyun.top/down.php/6d1b97f7db0639b18223b440a9c6d924.", "/sdcard/寒心/图片/lixin")
else
--不用添加
end
BxCb =io.open('/sdcard/寒心/图片/图片','r')
if BxCb == nil then
download("https://vip.kyun.top/view.php/85471933490f1cb518781e16c1b45119.jpg", "/sdcard/寒心/图片/图片")
else
BxCb =io.open('/sdcard/寒心/图片/ret','r')
if BxCb == nil then
download("https://vip.kyun.top/view.php/066cd029c96c7eb6971128f77e1554b9.png", "/sdcard/寒心/图片/ret")
else
--不用添加
end
BxCb =io.open('/sdcard/寒心/图片/大背景','r')
if BxCb == nil then
download("https://vip.kyun.top/view.php/da953ec40d27c41e128364f6647e628a.jpg", "/sdcard/寒心/图片/大背景")
else
--不用添加
end
--不用添加
end
流光=true
if tonumber(device.width)==nil then
dwidth=1340
dheight=2300
else
dwidth=device.width
dheight=device.height
end
colorvs={}
寒心 = {} huiz = function() end
window = context:getSystemService("window") -- 获取窗口管理器
local function panduan(rec) fille,err = io.open(rec) if fille == nil then return false else return true end end
local function checkimg(tmp,ii)
if panduan("/sdcard/寒心/图片/"..tmp) ~= true then
gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待")
luajava.download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..tmp,"/sdcard/寒心/图片/"..tmp)
else
if file.length("/sdcard/寒心/图片/"..tmp) <= 1 then
gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待")
luajava.download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..tmp,"/sdcard/寒心/图片/"..tmp)
end
end
if panduan("/sdcard/寒心/图片/"..tmp) ~= true then
gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待")
luajava.download("https://rl-1303126286.cos.ap-beijing-fsi.myqcloud.com/"..tmp,"/sdcard/寒心/图片/"..tmp)
else
if file.length("/sdcard/寒心/图片/"..tmp) <= 1 then
gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待")
luajava.download("https://rl-1303126286.cos.ap-beijing-fsi.myqcloud.com/"..tmp,"/sdcard/寒心/图片/"..tmp)
end
end
end
ckimg = {
"bm_music",
"hei_right",
"heir",
"heis",
"heix",
"heisuo",
"lixin",
"jian",
"opoback",
"opou",
"Shimmer2.dex",
"sscoR",
"support.dex",
"rw1",
"pubgT","pubgG","pubgY","pubgR",
}
for i = 1,#ckimg do
jindu = i
checkimg(ckimg[i],i)
gg.toast("正在加载资源")
end
if 流光 then
shimmer=dex.loadfile('/sdcard/寒心/图片/Shimmer2.dex')
import "com.romainpiel.shimmer.Shimmer"
import "com.romainpiel.shimmer.ShimmerTextView"
end
local function 获取图片2(txt)
txt = string.url(txt,"de")
ntxt = string.sub(string.gsub(txt,"/","-"),-10,-1)
if string.find(tostring(txt),"http") ~= nil then
if panduan("/sdcard/寒心/图片/"..ntxt) == false then
file.download(txt,"/sdcard/寒心/图片/"..ntxt)
else
if file.length("/sdcard/寒心/图片/"..ntxt) <= 1 then
file.download(txt,"/sdcard/寒心/图片/"..ntxt)
end
end
txt = "/sdcard/寒心/图片/"..ntxt
end
return luajava.getBitmap(txt)
end
local function getBit(x)
return 获取图片2("/sdcard/寒心/图片/"..x)
end
local reso=context:getResources()
local function getP(bitm,radi)
local ret = RoundedBitmapDrawableFactory:create(reso,获取图片2(bitm))
ret:setCornerRadius(radi)
ret:setAntiAlias(true)
return ret
end
local function newbg(gtvb1,gtvb4,gtvb5,g1,g2,g3,g4)
local jianbians = luajava.loadlayout({
GradientDrawable,
color = 0xff000000,
gradientType = GradientDrawable.LINEAR_GRADIENT,
orientation = GradientDrawable.Orientation.TOP_BOTTOM ,
})
jianbians:setColors(gtvb1)
jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色
jianbians:setCornerRadii({g1,g1,g2,g2,g3,g3,g4,g4})
return jianbians
end
local function 获取图片(txt)
txt = string.url(txt,"de")
ntxt = string.sub(string.gsub(txt,"/","-"),-10,-1)
if string.find(tostring(txt),"http") ~= nil then
if panduan("/sdcard/寒心/图片/"..ntxt) == false then
file.download(txt,"/sdcard/寒心/图片/"..ntxt)
else
if file.length("/sdcard/寒心/图片/"..ntxt) <= 1 then
file.download(txt,"/sdcard/寒心/图片/"..ntxt)
end
end
txt = "/sdcard/寒心/图片/"..ntxt
end
return luajava.getBitmapDrawable(txt)
end
local function getRes(x)
return 获取图片("/sdcard/寒心/图片/"..x)
end
local YoYoImpl = luajava.getYoYoImpl()
local vibra = context:getSystemService(Context.VIBRATOR_SERVICE)
local function getLayoutParams2()
LayoutParams2 = WindowManager.LayoutParams
layoutParams2 = luajava.new(LayoutParams2)
if (Build.VERSION.SDK_INT >= 26) then -- 设置悬浮窗方式
layoutParams2.type = LayoutParams2.TYPE_APPLICATION_OVERLAY
else
layoutParams2.type = LayoutParams2.TYPE_PHONE
end
layoutParams2.format = PixelFormat.RGBA_8888 -- 设置背景
layoutParams2.flags = LayoutParams2.FLAG_NOT_TOUCH_MODAL -- 焦点设置Finish
layoutParams2.gravity = Gravity.CENTER -- 重力设置
layoutParams2.width = LayoutParams2.MATCH_PARENT -- 布局宽度
layoutParams2.height = LayoutParams2.MATCH_PARENT -- 布局高度
return layoutParams2
end
local 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_TOUCH_MODAL -- 焦点设置Finish
layoutParams.gravity = Gravity.TOP|Gravity.LEFT -- 重力设置
layoutParams.width = LayoutParams.WRAP_CONTENT -- 布局宽度
layoutParams.height = LayoutParams.WRAP_CONTENT -- 布局高度
return layoutParams
end
local function particle()
local webView = luajava.webView(function(webView)
webView:loadData([[
炫彩流光圆环加载动画
]], 'text/html', 'UTF-8')
webView:setBackgroundColor(0x0)
end)
return webView
end
parti=particle()
function particlelz()
local webView = luajava.webView(function(webView)
webView:loadData([[
]], 'text/html', 'UTF-8')
webView:setBackgroundColor(0x0)
webView:setVerticalScrollBarEnabled(false)
webView:setHorizontalScrollBarEnabled(false)
webView:setScrollContainer(false)
end)
return webView
end
stitle2lz=particlelz()
显2=false
function 隐藏2()
显2=true
chuangk:setVisibility(View.GONE)
control2:setVisibility(View.GONE)
smallc:setVisibility(View.VISIBLE)
end
function 显示2()
显2=false
mainLayoutParams.x=20
window:updateViewLayout(floatWindow, mainLayoutParams)
if 显示==1 then
chuangk:setVisibility(View.VISIBLE)
smallc:setVisibility(View.GONE)
else
control2:setVisibility(View.VISIBLE)
smallc:setVisibility(View.GONE)
隐藏()
end
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)
if mainLayoutParams.x<=0 then
mainLayoutParams.x=0
end
mainLayoutParams.y = tonumber(y) + (event:getRawY() - RawY)
window:updateViewLayout(floatWindow, mainLayoutParams)
elseif Action == MotionEvent.ACTION_UP then
mainLayoutParams.x = tonumber(x) + (event:getRawX() - RawX)
if mainLayoutParams.x<=0 then
mainLayoutParams.x=0
if 显示==0 and 显2==false then 隐藏2() end
end
if mainLayoutParams.x>=20 then
if 显2==true then 显示2() end
end
mainLayoutParams.y = tonumber(y) + (event:getRawY() - RawY)
window:updateViewLayout(floatWindow, mainLayoutParams)
end
end
function getRes(x)
return 获取图片("/sdcard/寒心/图片/"..x)
end
function getCorner(gtvb1,gtvb3,gtvb4,gtvb5,g1,g2,g3,g4)
if not gtvb4 then gtvb4 = 0 gtvb5 = 0xff000000 end
local jianbians = luajava.new(GradientDrawable)
jianbians:setCornerRadius(gtvb3)
jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbians:setColors(gtvb1)
jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色
jianbians:setCornerRadii({g1,g1,g2,g2,g3,g3,g4,g4})
return jianbians
end
function getVerticalBG(gtvb1,gtvb3,gtvb4,gtvb5)
if not gtvb4 then gtvb4 = 0 gtvb5 = 0xff000000 end
local jianbians = luajava.new(GradientDrawable)
jianbians:setCornerRadius(gtvb3)
jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbians:setColors(gtvb1)
jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色
return jianbians
end
mainLayoutParams = getLayoutParams()
import("android.media.AudioManager")
audi = context:getSystemService("audio")
audiotype = {
AudioManager.STREAM_AL寒心, --手机闹铃的声音
AudioManager.STREAM_MUSIC, --手机音乐的声音
AudioManager.STREAM_NOTIFICATION, --系统提示的通知
AudioManager.STREAM_RING, --电话铃声的声音
AudioManager.STREAM_SYSTEM, --手机系统的声音
AudioManager.STREAM_VOICE_CALL, --语音电话的声音
AudioManager.STREAM_DTMF, --DTMF音调的声音
--AudioManager.STREAM_BLUETOOTH_SCO,
}
yinl = {}
for i = 1,#audiotype do
yinl[i] = {}
yinl[i].type = audiotype[i]
yinl[i].min = audi:getStreamMinVolume(audiotype[i])
yinl[i].max = audi:getStreamMaxVolume(audiotype[i])
yinl[i].now = audi:getStreamVolume(audiotype[i])
end
yltype = 0
function jianting3(func)
yinln = {}
for i = 1,#audiotype do
yinln[i] = {}
yinln[i].type = audiotype[i]
yinln[i].now = audi:getStreamVolume(audiotype[i])
if yinln[i].now > yinl[i].now then
yinl[i].now = yinln[i].now
if yltype == 1 then
yltype = 0
func()
end
elseif yinln[i].now < yinl[i].now then
yinl[i].now = yinln[i].now
if yltype == 0 then
yltype = 1
func()
end
end
end
end
寒心.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
寒心.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
寒心.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 getHorizontalBG(gtvb1,gtvb3,gtvb4,gtvb5)
if not gtvb4 then gtvb4 = 0 gtvb5 = 0xff000000 end
local jianbians = luajava.new(GradientDrawable)
jianbians:setCornerRadius(gtvb3)
jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT)
jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbians:setColors(gtvb1)
jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色
return jianbians
end
gg.setVisible(false)
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',
string.sub(sid,1,8),
string.sub(sid,10,12),
string.sub(sid,21,22))
end
function getJMselect()
local selector = luajava.getStateListDrawable()
selector:addState({
android.R.attr.state_pressed
}, getRes('jian'))
selector:addState({
-android.R.attr.state_pressed
}, getVerticalBG({0x00ffffff,0x00ffffff},20,2,0xff8d4bbb))
return selector
end
寒心.menu = function(views)
if isswitch then
return false
end
isswitch = true
local layout = {
'ui.ViewPager',
layout_height='match_parent',
layout_width='match_parent',
focusable="false",
focusableInTouchMode="false",
}
cebian={
LinearLayout,
onClick=function() end,
onTouch=hanshu,
layout_height="match_parent",
layout_width="60dp",
orientation="vertical",
gravity="center_horizontal",
layout_weight=1,
}
jian=getRes('jian')
jmselect={}
for i=1,#stab do
jmselect[i]=getJMselect()
if 流光 then
_ENV["jm"..i..'t']=luajava.loadlayout{ShimmerTextView,
text=stab[i],
textSize="13sp",
textColor="#ffffff",
reflectionColor='#8d4bbb',
gravity='center',
layout_height='20dp',
layout_width='match_parent',
background=jmselect[i],
}
else
_ENV["jm"..i..'t']=luajava.loadlayout{TextView,
text=stab[i],
textSize="13sp",
textColor="#ffffff",
gravity='center',
layout_height='20dp',
layout_width='match_parent',
background=jmselect[i],
}
end
_ENV["jm"..i]=luajava.loadlayout({
LinearLayout,
layout_height="wrap_content",
layout_width="60dp",
gravity="center",
orientation="vertical",
onClick=function() 切换(i) end,
onTouch=hanshu,
padding={'0dp','4dp','0dp','4dp'},
--onTouch=hanshu,
_ENV["jm"..i..'t']
})
cebian[#cebian+1]=_ENV["jm"..i]
tmp={
LinearLayout,
layout_height="wrap_content",
layout_width="match_parent",
orientation="vertical",
}
for k=1,#views[i] do
tmp[#tmp+1]=views[i][k]
end
_ENV["layout"..i]={
ScrollView,
--orientation="vertical",
layout_height="match_parent",
layout_width="match_parent",
tmp,
--onTouch=Gundong,
padding={"8dp","3dp","8dp","3dp"},
}
layout[#layout + 1] =_ENV["layout"..i]
end
当前ui=1
--jm1t:setTextColor(0xffE8AC3E)
jm1t:setBackground(jian)
ViewPager = ui.ViewPager(layout)
luajava.setInterface(ViewPager, 'addOnPageChangeListener',
{onPageSelected=function(view)
view=tonumber(string.sub(view,1,1))
for i=1,#stab do
--_ENV["jm"..i .."t"]:setTextColor(0xffffffff)
_ENV["jm".. i .."t"]:setBackground(jmselect[i])
end
当前ui=view+1
--滚(当前ui)
--_ENV["jm"..view+1 .."t"]:setTextColor(0xffE8AC3E)
_ENV["jm"..view+1 .."t"]:setBackground(jian)
end})
if 流光 then
stit=luajava.loadlayout{ShimmerTextView,
textSize="18sp",
gravity='center_horizontal',
layout_width='match_parent',
shimmerEnable='true',
reflectionColor="#8d4bbb";
textColor="#F9D5FF",
text=大标题,
}
else
stit=luajava.loadlayout{TextView,
textSize="18sp",
gravity='center_horizontal',
layout_width='match_parent',
textColor="#F9D5FF",
text=大标题,
}
end
ckou={
LinearLayout,
layout_height="wrap_content",
layout_width="wrap_content",
elevation='3dp',
layout_marginLeft='3dp',
layout_marginRight='3dp',
layout_marginBottom='3dp',
layout_marginTop='3dp',
background=newbg({0xaa161616,0xaa161616},0,0xaa161616,25,25,25,25),
{LinearLayout,
id=luajava.newId('cbscro'),
onClick=function() end,
onTouch=hanshu,
elevation='3dp',
layout_marginLeft='0dp',
layout_marginRight='3dp',
layout_marginBottom='0dp',
layout_marginTop='0dp',
background=newbg({0xaa161616,0xaa161616},0,0xaa161616,25,25,25,25),
layout_height="match_parent",
orientation='vertical',
layout_width='60dp',
cebian,
{
FrameLayout,
layout_height='105dp',
layout_width='60dp',
padding={'0dp','0dp','0dp','5dp'},
{LinearLayout,
layout_height='wrap_content',
layout_width='60dp',
layout_gravity='center_horizontal',
gravity='center',
id='canv',
onClick=function() end,
onTouch=hanshu,
},
{LinearLayout,
layout_height='68dp',
layout_width='50dp',
layout_gravity='bottom|center_horizontal',
background = getRes("ret"),
onClick=function() end,
onTouch=hanshu,
},
}
},
{FrameLayout,
id="parentv",
{LinearLayout,
layout_width="wrap_content",
layout_height="match_parent",
gravity="center",
{
LinearLayout,
id='cvv',
layout_width='wrap_content',
layout_height='match_parent',
gravity="center",
}
},ViewPager},
}
extralis={LinearLayout,
layout_height="wrap_content",
layout_width="match_parent",
id=luajava.newId("extralist"),
orientation="vertical",
}
for k,v in pairs(ewsv) do
extralis[#extralis+1]=ewsv[k]
end
function topSelect()
local selector = luajava.getStateListDrawable()
selector:addState({
android.R.attr.state_pressed
}, getVerticalBG({0x22161616,0x22161616},30))
selector:addState({
-android.R.attr.state_pressed
}, getVerticalBG({0x22161616,0x22161616},30))
return selector
end
topbar = luajava.loadlayout({
LinearLayout,
layout_width="fill_parent",
layout_height="35dp",
background=getCorner({0xff181818,0xff181818},15,0,0xff232323,20,20,0,0),
onClick=function() end,
onTouch=hanshu,
{LinearLayout,
layout_width="35dp",
layout_height="match_parent",
gravity="center",
{
LinearLayout,
gravity="center",
background=获取图片(悬浮窗图标),
layout_width = "20dp",
layout_height = "20dp",
layout_marginLeft = "5dp",
onClick = 隐藏,
onTouch = hanshu,
}
},
{LinearLayout,
layout_width="wrap_content",
layout_height="match_parent",
gravity="center",
{
LinearLayout,
id='cvv',
layout_width='100dp',
layout_height='match_parent',
gravity="center",
}
},
{LinearLayout,
layout_width="fill_parent",
layout_marginLeft='-80dp',
layout_weight=1,
layout_height="match_parent",
gravity="center",
{LinearLayout,
layout_height="match_parent",
layout_width="80dp",
background=topSelect(),
onClick=function() end,
gravity="center",
onTouch=hanshu,
{LinearLayout,
layout_height="5dp",
layout_width="60dp",
id='tops',
background=getVerticalBG({控件颜色,控件颜色},20)
}
}
},
{LinearLayout,
layout_width="35dp",
layout_height="match_parent",
gravity="center",
{
ImageView,
padding = "5dp",
id="lockui",
src = getRes("heis"),
background=getVerticalBG({0xffE6E6E6,0xffE6E6E6},90),
layout_width = "20dp",
layout_height = "20dp",
layout_marginRight = "5dp",
onClick = uiLock,
onTouch = hanshu,
}
},
{LinearLayout,
layout_width="35dp",
layout_height="match_parent",
gravity="center",
{
ImageView,
padding = "5dp",
src = getRes("heix"),
background=getVerticalBG({0xffE6E6E6,0xffE6E6E6},90),
layout_width = "20dp",
layout_height = "20dp",
layout_marginRight = "5dp",
onClick = 隐藏,
onTouch = hanshu,
}
}
})
floatWindow = {
FrameLayout,
id = "motion",
elevation = "10dp",
onTouch = hanshu,
onClick = function() end,
layout_width = "wrap_content",
orientation = "vertical",
gravity = "center_vertical",
layout_height = "wrap_content",
{
LinearLayout,
id = "chuangk",
visibility = "gone",
layout_height='match_parent',
layout_width='match_parent',
orientation = "vertical",
elevation='2dp',
layout_marginLeft='2dp',
layout_marginRight='2dp',
layout_marginBottom='2dp',
layout_marginTop='2dp',
background=newbg({0xff2E2E2E,0xff2E2E2E},0,0xffffffff,25,25,25,25),
topbar,
{LinearLayout,
layout_width='match_parent',
layout_height='40dp',
gravity='center',
elevation='2dp',
layout_marginTop='0dp',
layout_marginBottom='3dp',
layout_marginLeft='0dp',
layout_marginRight='0dp',
background=newbg({0xff181818,0xff181818},4,0xff181818,0,0,50,50),
stit
},
{LinearLayout,
layout_width='match_parent',
layout_height='40dp',
background=getVerticalBG({0xaa161616,0xaa161616},180,0,0xffffffff),
{LinearLayout,
layout_weight=1,
layout_height='34dp',
layout_marginTop='3dp',
layout_marginBottom='3dp',
layout_marginLeft='3dp',
layout_marginRight='3dp',
layout_width='match_parent',
padding='3dp',
elevation='2dp',
{ScrollView,
id='ggscro',
layout_height='match_parent',
layout_width='match_parent',
{LinearLayout,
id='gggscro',
orientation='vertical',
layout_width='match_parent',
layout_height='wrap_content',
}
},{EditText,
visibility='gone',
id=luajava.newId("tosearch"),
layout_height='match_parent',
layout_width='match_parent',
padding='-8dp',
hint = "请输入需要搜索的音乐关键词",
gravity = "center",
textColor='#000000',
layout_marginLeft="0dp",
textSize = "12sp",
background = getVerticalBG({
0x00262626,0x00262626
},15,5,0x00ffffff),
}
},{ImageView,
id='musici',
layout_width='34dp',
layout_height='match_parent',
gravity='center',
elevation='2dp',
layout_marginTop='3dp',
layout_marginBottom='4dp',
layout_marginLeft='4dp',
layout_marginRight='4dp',
background=getVerticalBG({0x00ffffff,0x00ffffff},360,4,0xffffffff),
src=getRes('bm_music'),
padding='4dp',
onTouch=hanshu,onClick=searchmenu
},
--topbar
},
ckou,
},
{LinearLayout,
visibility="gone",
id=luajava.newId("extra"),
layout_height='match_parent',
layout_width='match_parent',
orientation="vertical",
background=getVerticalBG({0xffffffff,0xffffffff},25,2,0xaa161616),
{LinearLayout,
layout_width="match_parent",
layout_height="40dp",
background=getCorner({0xff161616,0xff161616},25,nil,nil,25,25,0,0),
onClick=function() end,
onTouch=hanshu,
gravity="center_vertical",
{ImageView,
id=luajava.newId("backv"),
layout_height="34dp",
layout_width="34dp",
src=getRes("opoback"),
background=getVerticalBG({0x00ffffff,0x00ffffff},360,10,0xffffffff),
padding="8dp",
onClick=关闭窗口,
layout_marginLeft="10dp",
},
{TextView,
id=luajava.newId("extrat"),
text="标题",
layout_height="match_parent",
layout_width="match_parent",
layout_weight=1,
gravity="center",
},
{ImageView,
id=luajava.newId("suov"),
layout_height="34dp",
layout_width="34dp",
src=getRes("heix"),
background=getVerticalBG({0x00ffffff,0x00ffffff},360,10,0xffffffff),
padding="10dp",
onClick=隐藏,
layout_marginRight="10dp",
}
},
{ScrollView,
padding="10dp",
layout_height="match_parent",
layout_width="match_parent",
extralis
}
},
{
ImageView,
id = "control2",
background = 获取图片(悬浮窗图标),
layout_width = "40dp",
layout_height = "40dp",
onTouch = hanshu,
onClick = 隐藏,
},{LinearLayout,
id="smallc",
visibility="gone",
onClick=显示2,
onTouch=hanshu,
layout_height="56dp",
layout_width="20dp",
gravity="center",
background=getCorner({0x88161616,0x88161616},12,0,0xff232323,0,35,35,0),
},{FrameLayout,
id='reme',
layout_height='match_parent',
layout_width='match_parent',
elevation='3dp',
{
ImageView,
id="sf",
padding = "2dp",
src = getRes("sscoR"),
layout_width = "30dp",
layout_height = "30dp",
layout_marginRight = "0dp",
layout_marginBottom = "0dp",
layout_gravity = "right|bottom",
onClick = function() end,
onTouch = suofang,
}}
}
local function invoke()
local ok
local RawX, RawY, x, y
mainLayoutParams = getLayoutParams()
mainLayoutParams.x = 10
mainLayoutParams.y = dheight/4
floatWindow = luajava.loadlayout(floatWindow)
local function invoke2()
window:addView(floatWindow, mainLayoutParams)
canv:addView(parti)
cvv:addView(stitle2lz)
end
local runnable = luajava.getRunnable(invoke2)
local handler = luajava.getHandler()
handler:post(runnable)
local isMove
end
invoke(swib1,swib2)
gg.setVisible(false)
musici:setColorFilter(0xffFF0F00)
luajava.getIdView("backv"):setColorFilter(控件颜色)
luajava.getIdView("suov"):setColorFilter(控件颜色)
luajava.getIdView("tosearch"):setHintTextColor(控件颜色)
隐藏()
if 流光 then
shimmer = Shimmer();
luajava.runUiThread(function()
shimmer:setDuration(2000)
shimmer:setStartDelay(50)
shimmer:start(stit)
for i=1,#stab do
shimmer:start(_ENV["jm"..i..'t'])
end
end)
end
setOnExitListener(function()
tuichu=1
luajava.setFloatingWindowHide(false)
luajava.post(function()
window:removeView(floatWindow)
end)
luajava.setFloatingWindowHide(false)
end)
luajava.setFloatingWindowHide(true)
qhkai = 0
qiehuan = function()
if qhkai == 0 then
qhkai = 1
draw.remove()
luajava.runUiThread(function()
寒心.controlSmall(floatWindow,400)
end)
gg.sleep(400)
luajava.runUiThread(function()
floatWindow:setVisibility(View.GONE)
end)
else
qhkai = 0
huiz()
luajava.runUiThread(function() floatWindow:setVisibility(View.VISIBLE) end)
luajava.runUiThread(function()
寒心.controlBig(floatWindow,400)
end)
end
end
if loadBox~=nil then loadBox['关闭']() end
huiz()
if ylfunc~=nil then ylfunc() end
while true do
if tuichu == 1 then break end
if 音量键 then
jianting3(qiehuan)
end
gg.sleep(300)
end
end
isLocked=false
inlock=getRes("heisuo")
uiunlock=getRes("heis")
function uiLock()
vibra:vibrate(15)
if isLocked==false then
isLocked=true
luajava.newThread(function()
gg.toast("UI缩放已锁定")
end):start()
lockui:setImageDrawable(inlock)
else
isLocked=false
luajava.newThread(function()
gg.toast("UI缩放已解锁")
end):start()
lockui:setImageDrawable(uiunlock)
end
end
function tiaose()
if 颜色表==nil then return 0 end
local tt={
LinearLayout,
gravity="center_vertical",
layout_height="wrap_content",
layout_width='40dp'
}
for i=1,#颜色表 do
tt[#tt+1]={
LinearLayout,
layout_height="33dp",
layout_width="33dp",
gravity="center",
id=luajava.newId("yans"..i),
onClick=function() xuanse(i) end,
{LinearLayout,
layout_width="25dp",
layout_height="25dp",
background=getVerticalBG({颜色表[i],颜色表[i]},15)
}
}
end
local t=luajava.loadlayout{
HorizontalScrollView,
layout_height="40dp",
layout_width="wrap_content",
tt
}
return t
end
xze2=getVerticalBG({0x00ffffff,0x00ffffff},15,3,0xff232323)
xze=getVerticalBG({0x00ffffff,0x00ffffff},15,3,0xff232323)
function xuanse(x)
for i=1,#颜色表 do
luajava.getIdValue("yans"..i):setBackground(empty)
end
luajava.getIdValue("yans"..x):setBackground(xze)
changeColor(颜色表[x])
end
function 滚(x)
luajava.runUiThread(function()
local cbsc=luajava.getIdView("cbscro")
local targetLeft = _ENV["jm"..x]:getTop()/2
cbsc:smoothScrollTo(0,targetLeft);
end)
end
function 切换(x)
if type(ret)~="table" then log_init() return 0 end
窗口=false
luajava.runUiThread(function()
local searchUI = luajava.getIdView("tosearch")
if x==5 then
searchUI:setVisibility(View.VISIBLE)
ggscro:setVisibility(View.GONE)
else
searchUI:setVisibility(View.GONE)
ggscro:setVisibility(View.VISIBLE)
end
当前ui=x
ViewPager:setCurrentItem(x-1)
end)
end
显示=0
function 隐藏()
if 显2==true then return 0 end
luajava.runUiThread(function()
if 显示 == 0 then
control2:setVisibility(View.GONE)
sf:setVisibility(View.VISIBLE)
显示 = 1
if 窗口 then
luajava.getIdView("extra"):setVisibility(View.VISIBLE)
else
chuangk:setVisibility(View.VISIBLE)
end
YoYoImpl:with("ZoomInLeft"):duration(300):playOn(floatWindow)
floatWindow:setBackground(beij)
mainLayoutParams.height = mubx
mainLayoutParams.width = muby
mainLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
window : updateViewLayout (floatWindow , mainLayoutParams)
else
sf:setVisibility(View.GONE)
if tuichuing then return 0 end
tuichuing=true
luajava.newThread(function()
luajava.runUiThread(function()
balt1.onClick = function() result = 1 dialog:dismiss() exit() end
balt2.onClick = function() result = 2 dialog:dismiss() exit() end
dialog:setView(layoutabc)
dialog:setOnDismissListener(luajava.createProxy('android.content.DialogInterface$OnDismissListener', { onDismiss = function(view) exit() end}))
local function invoke()
dialog = dialog:create()
local window = dialog:getWindow()
window:setType(Build.VERSION.SDK_INT >= 26 and 2038 or 2002)
window:setBackgroundDrawable(jianbian6)
window:getDecorView():setPadding(0,0,0,0)
dialog:show()
--window:setLayout(1400,1000)
YoYoImpl:with("FadeIn"):duration(300):playOn(layoutabc)---秋思
end
luajava.handlerPost(invoke)
block('join')
return result
end)
gg.sleep(300)
luajava.runUiThread(function()
chuangk:setVisibility(View.GONE)
floatWindow:setBackground(beij2)
YoYoImpl:with("FadeIn"):duration(200):playOn(floatWindow)
luajava.getIdView("extra"):setVisibility(View.GONE)
mainLayoutParams.width = LayoutParams.WRAP_CONTENT -- 布局宽度
mainLayoutParams.height = LayoutParams.WRAP_CONTENT -- 布局高度
control2:setVisibility(View.VISIBLE) 显示 = 0
mainLayoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE
window : updateViewLayout (floatWindow , mainLayoutParams)
end)
tuichuing=false
end):start()
end
end)
end
function 打开窗口(x)
if ewsv[x]==nil then
gg.alert("没有窗口“"..x.."”\n请检查是否写错了名字或者没创建")
return 0
end
luajava.runUiThread(function()
窗口=true
chuangk:setVisibility(View.GONE)
luajava.getIdView("extra"):setVisibility(View.VISIBLE)
for k,v in pairs(ewsv) do
if k~=x then v:setVisibility(View.GONE) end
end
luajava.getIdView("extrat"):setText(x)
ewsv[x]:setVisibility(View.VISIBLE)
end)
end
function 关闭窗口()
luajava.getIdView("extra"):setVisibility(View.GONE)
chuangk:setVisibility(View.VISIBLE)
窗口=false
vibra:vibrate(10)
end
ewsv={}
function 创建窗口(name,v)
if type(v)~="table" then gg.alert("窗口"..name.."格式错误") end
local t={
LinearLayout,
orientation="vertical",
visibility="gone",
layout_width="match_parent",
}
for i=1,#v do
t[#t+1]=v[i]
end
ewsv[name]=luajava.loadlayout(t)
end
switches = {}
function 开关3(name,func1,func2,nid)
local sname = nid
local localname=name
name = name..guid()
_ENV[name] = "关"
if func1 == nil then func1 = "" end
if func2 == nil then func2 = "" end
if type(func1) == "function" then
local outfunc=function()
namers = _ENV[name]
if namers ~= "开" then
vibra:vibrate(9)
luajava.runUiThread(function()
luajava.getIdValue(nid.."k"):setVisibility(View.GONE)
YoYoImpl:with("ZoomInLeft"):duration(600):playOn(switches["2s"..sname])
luajava.getIdValue(nid.."g"):setVisibility(View.VISIBLE)
luajava.getIdValue(nid):setBackground(checkbg)
end)
_ENV[name] = "开"
colorvs[nid]={true,"switch"}
pcall(func1)
uiadtext(localname.." 已开启.","#ffffff")
else
vibra:vibrate(9)
luajava.runUiThread(function()
luajava.getIdValue(nid.."g"):setVisibility(View.GONE)
YoYoImpl:with("ZoomInRight"):duration(600):playOn(switches["1s"..sname])
luajava.getIdValue(nid.."k"):setVisibility(View.VISIBLE)
luajava.getIdValue(nid):setBackground(checkbga)
end)
colorvs[nid]={false,"switch"}
_ENV[name] = "关"
pcall(func2)
uiadtext(localname.." 已关闭.","#545454")
end
end
if localname=="摇一摇隐藏UI" then yyfunc=outfunc end
if localname=="音量键隐藏UI" then ylfunc=outfunc end
return outfunc
end
end
function uiadtext(txt,color,size)
if not txt then txt = "" end
if not color then color = "#000000" end
if not size then size = "10sp" end
local tmp=luajava.loadlayout(
{
TextView,
text = string.fromHtml(" "..getTimeStamp(os.time()).." "..txt..""),
textSize = size,
--textColor = color,
gravity="left",
layout_width = "wrap_content",
})
luajava.runUiThread (function ()
local searchUI = luajava.getIdView("tosearch")
searchUI:setVisibility(View.GONE)
ggscro:setVisibility(View.VISIBLE)
end)
luajava.post(function()
gggscro:addView(tmp)
end)
luajava.newThread(function()
gg.sleep(100)
luajava.post(function()
ggscro:fullScroll(View.FOCUS_DOWN)
end)
end):start()
end
function searchmenu()
luajava.runUiThread (function ()
local searchUI = luajava.getIdView("tosearch")
if tonumber(tostring(searchUI: getVisibility ())) == 8.0 then
searchUI:setVisibility(View.VISIBLE)
ggscro:setVisibility(View.GONE)
else
luajava.newThread(searchmusic):start()
end
end)
end
function getTimeStamp(t)
local str = os.date("%m-%d %H:%M:%S",t)
return str
end
function getShape(tmp0,tmp1,tmp2,tmp3)
jianbians = luajava.new(GradientDrawable)
jianbians:setCornerRadius(tmp0)
jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbians:setColors(tmp1)
jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT)
jianbians:setStroke(14,tmp3)--边框宽度和颜色
return jianbians
end
function getShape2(tmp0,tmp1,tmp2,tmp3)
jianbians = luajava.new(GradientDrawable)
jianbians:setCornerRadius(tmp0)
jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbians:setColors(tmp1)
jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT)
jianbians:setStroke(24,tmp3)--边框宽度和颜色
return jianbians
end
local ui = require('ui')
function 寒心.switch(name,func1,func2,miaoshu)
if not checkbg then
checkbg = getShape2(
45,
{
控件颜色,控件颜色
},
4,控件颜色)
checkbga = getShape2(
45,
{
0xffaaaaaa,0xffaaaaaa
},
4,0xffaaaaaa)
switchbg1 = getShape(
45,
{
0xffffffff,0xffffffff
},
4,0xffffffff)
switchbg2 = luajava.loadlayout {
GradientDrawable ,
color = "#ffffff" ,
cornerRadius = 360
}
end
local nid = name..guid()
local func = 开关3(name,func1,func2,nid)
if not name then name = "未设置" end
switches["1s"..nid] = luajava.loadlayout {
FrameLayout,
layout_width = '40dp',
layout_height = '20dp',
gravity = "center_vertical",
padding = {
"1dp","0dp","1dp","0dp"
},
{
LinearLayout,
layout_gravity = "left|center_vertical",
id = luajava.newId(nid.."k"),
background = switchbg1,
onClick = function() luajava.newThread(function() func() end):start() end,
layout_width = '17dp',
layout_height = '17dp',
},
}
switches["2s"..nid] = luajava.loadlayout {
FrameLayout,
onClick = function() if type(ret)~="table" then log_init() return 0 end luajava.newThread(function() func() end):start() end,
layout_width = '40dp',
layout_height = '20dp',
gravity = "center_vertical",
padding = {
"1dp","0dp","1dp","0dp"
}
, {
LinearLayout,
visibility = "gone",
layout_gravity = "right|center_vertical",
id = luajava.newId(nid.."g"),
background = switchbg2,
onClick = function() if type(ret)~="table" then log_init() return 0 end luajava.newThread(function() func() end):start() end,
layout_width = '17dp',
layout_height = '17dp',
}
}
local rest = luajava.loadlayout({
LinearLayout,
elevation = "5dp",
layout_width = 'fill_parent',
layout_height = "48dp",
gravity = "center_vertical",
{
LinearLayout,
layout_width = 'fill_parent',
layout_height = "40dp",
gravity = "center_vertical",
background = luajava.loadlayout {
GradientDrawable ,
color = 0xaa161616 ,
cornerRadius = 35
} ,padding = {
"0dp","0dp","6dp","0dp"
},
{
TextView,
gravity = "top",
text = name,
textColor = "#d7d7d7",
textSize = "13sp",
layout_weight = 1,
layout_width = '80dp',
layout_marginLeft = "10dp",
layout_marginRight = "20dp",
},
{
TextView,
gravity = "center",
layout_height = "match_parent",
text = miaoshu,
textSize = "11sp",
layout_width = "wrap_content",
layout_marginLeft = "-50dp",
layout_weight = 1,
textColor = "#A5A5A5",
},
{
FrameLayout,
id=luajava.newId(nid),
background = checkbga,
elevation = "1dp",
onClick = function() if type(ret)~="table" then log_init() return 0 end luajava.newThread(function() func() end):start() end,
layout_width = 'wrap_content',
layout_height = 'wrap_content',
gravity = "left",
padding="1dp",
switches["1s"..nid],switches["2s"..nid]
}}
})
return rest
end
switchs={}
suofang = function(v, event)
if isLocked then hanshu(v,event) return 0 end
local Action = event:getAction()
if Action == MotionEvent.ACTION_DOWN then
isMove = false
RawX = event:getRawX()
RawY = event:getRawY()
hx = mainLayoutParams.height
hy = mainLayoutParams.width
if hx == 0 or hx==-2 then hx = 810 hy = 1150 end
elseif Action == MotionEvent.ACTION_MOVE then
isMove = true
mubx = tonumber(hx) + (event:getRawY() - RawY)
if mubx >= 250 and mubx <= 11100 then
mainLayoutParams.height = mubx
end
muby = tonumber(hy) + (event:getRawX() - RawX)
if muby >= 250 and muby <= 24500 then
mainLayoutParams.width = muby
end
if muby<=250 and mubx<=250 then muby=250 mubx=250
--隐藏()
return 0 end
window:updateViewLayout(floatWindow, mainLayoutParams)
end
end
function 开关5(name,func1,func2,nid)
local sname = nid
local localname=name
name = name..guid()
_ENV[name] = "关"
if func1 == nil then func1 = "" end
if func2 == nil then func2 = "" end
if type(func1) == "function" then
return function()
namers = _ENV[name]
if namers ~= "开" then
vibra:vibrate(9)
luajava.runUiThread(function()
if type(ret)~="table" then log_init() return 0 end
luajava.getIdValue(nid.."t"):setTextColor(控件颜色)
luajava.getIdValue(nid.."p"):setColorFilter(控件颜色)
colorvs[nid.."p"]={true,"img"}
colorvs[nid.."t"]={true,"txt"}
--寒心.controlWater(switchs[nid],300)
end)
_ENV[name] = "开"
pcall(func1)
uiadtext(localname.." 已开启.","#ffffff")
else
vibra:vibrate(9)
luajava.runUiThread(function()
if type(ret)~="table" then log_init() return 0 end
luajava.getIdValue(nid.."t"):setTextColor(0xffd7d7d7)
luajava.getIdValue(nid.."p"):setColorFilter(0xffd7d7d7)
colorvs[nid.."p"]={false,"img"}
colorvs[nid.."t"]={false,"txt"}
--寒心.controlWater(switchs[nid],300)
end)
_ENV[name] = "关"
pcall(func2)
uiadtext(localname.." 已关闭.","#545454")
end
end
end
end
ckbg=getVerticalBG({0xff3A3A3C,0xff3A3A3C},360)
寒心.controlRotation9 = function(control, time,t)
luajava.runUiThread(function()
import "android.view.animation.Animation"
import "android.animation.ObjectAnimator"
xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotation", {
time,t
})
xuanzhuandonghua:setRepeatCount(0)
xuanzhuandonghua:setRepeatMode(Animation.RESTART)
xuanzhuandonghua:setDuration(400)
xuanzhuandonghua:start()
end)
end
function visi (tid , ttid)
vibra:vibrate(4)
local tview = luajava.getIdValue (tid)
local ttview = luajava.getIdValue (ttid)
if not tview then
return 0
end
if tonumber (tostring (tview : getVisibility ())) == 8.0 then
tview : setVisibility (View.VISIBLE)
YoYoImpl:with("FadeIn"):duration(200):playOn(boxes[tid])
寒心.controlRotation9(boxpic[tid],0,90)
boxpic[tid]:setColorFilter(控件颜色)
colorvs[tid]={true,"box"}
else
tview : setVisibility (View.GONE)
寒心.controlWater (_ENV [tid.."7"] , 200)
寒心.controlRotation9(boxpic[tid],90,0)
boxpic[tid]:setColorFilter(nil)
colorvs[tid]={false,"box"}
end
end
boxes = {} boxpic = {}
function 寒心.box (views)
local tid = "box"..guid ()
boxpic[tid] = luajava.loadlayout {
ImageView ,
src = getRes("hei_right"),
layout_width = "24dp" ,
layout_height = "24dp" ,
}
local ttid = tid.."7"
local t1id = guid ()
firadio = {
LinearLayout ,
layout_width = 'fill_parent' ,
layout_height = "wrap_content" ,
layout_marginTop = "2dp" ,
layout_marginBottom = "2dp" ,
orientation = "vertical" ,
}
if type (views [1]) == "string" or type (views [1]) == "number" then
firadio [# firadio + 1] = {
LinearLayout ,
layout_width = 'fill_parent' ,
layout_height = "40dp" ,
gravity = "center_vertical" ,
layout_marginTop = "2dp" ,
layout_marginBottom = "4dp" ,
onClick = function ()
if type(ret)~="table" then log_init() return 0 end
visi (tid , ttid)
end
,
background = getButtonBG(),
{
TextView , text = views [1] ,
textSize = "13sp" ,
layout_marginLeft = "15dp" ,
layout_width = "match_parent" ,
layout_weight=1,
textColor = "#ffffff" ,
gravity = "left" ,
},{
LinearLayout ,
padding={"0dp","0dp","10dp","0dp"},
layout_width = "30dp" ,
layout_height = "30dp" ,
gravity = "center",
boxpic[tid],
}
} else
gg.alert ("寒心.box的table内第一个元素必须是string") os.exit ()
end
radios = {
LinearLayout ,
layout_marginLeft = "0dp" ,
layout_marginRight = "0dp" ,
orientation = "vertical" ,
visibility = "gone" ,
id = luajava.newId (tid) ,
padding = "0dp" ,
layout_width = 'fill_parent' ,
}
for i = 2 , # views do
radios [# radios + 1] = views [i]
end
boxes[tid] = luajava.loadlayout(radios)
firadio [# firadio + 1] = boxes[tid]
_ENV [t1id] = luajava.loadlayout (firadio)
return _ENV [t1id]
end
buts={}
heir=getRes("heir")
function 寒心.button(txt,func,txtc)
if not txt then txt = "未设置" end
if not txtc then txtc="#ffffff" end
local tid="Cbutton"..guid()
buts[tid]=luajava.loadlayout(
{
LinearLayout,
layout_width = 'match_parent',
layout_height = "wrap_content", {
LinearLayout,
layout_width = "fill_parent",
gravity = "center_vertical",
layout_marginTop = "5dp",
layout_marginBottom = "5dp",
background = getButtonBG(),
padding="10dp",
onClick = function()
if type(ret)~="table" then log_init() return 0 end
寒心.controlWater(buts[tid],300)
uiadtext('执行 '..txt,"#ffffff")
vibra:vibrate(10)
luajava.newThread(func):start() end,
{
TextView,
--id = luajava.newId(tid),
textColor = txtc,
text = txt,
textSize = "13sp",
layout_height = "wrap_content",
layout_width = "fill_parent",
layout_weight=1,
},{ImageView,
src=heir,
layout_height="14dp",
layout_width="14dp",
}
}})
return buts[tid]
end
function getButtonBG()
local selector = luajava.getStateListDrawable()
selector:addState({
android.R.attr.state_pressed
}, getVerticalBG({0x55000000,0x55000000},35))
selector:addState({
-android.R.attr.state_pressed
}, getVerticalBG({0xaa161616,0xaa161616},35))
return selector
end
radiog={}
function 寒心.radio (cklist)
if not radoff then
radon=getVerticalBG({0xffffffff,0xffffffff},360,20,控件颜色)
radoff=getVerticalBG({0x00ffffff,0x00ffffff},360,8,0xffaaaaaa)
end
local rid=guid()
radiog[rid]={}
rest = {
LinearLayout ,
layout_width = 'match_parent' ,
layout_height = "wrap_content" ,
layout_marginTop = "10dp" ,
gravity = "top" ,
orientation = "vertical" ,
}
if type (cklist [1]) == "string" then
rds=2
rest [# rest + 1] = {
TextView ,
gravity = "left" ,
padding="5dp",
text = cklist [1] ,
textSize = "13sp" ,
textColor = "#d7d7d7" ,
layout_width = 'fill_parent' ,
layout_height = 'wrap_content' ,
layout_marginLeft = "10dp" ,
layout_marginRight = "5dp" ,
layout_marginTop = "0dp" ,
layout_marginBottom = "0dp" ,
}
else
rds=1
end
local restt={
LinearLayout ,
layout_width = 'match_parent' ,
layout_height = "wrap_content" ,
layout_marginTop = "10dp" ,
gravity = "top" ,
orientation = "vertical" ,
background=getVerticalBG({0xaa161616,0xaa161616},45),
padding={"0dp","14dp","0dp","10dp"},
}
for i = rds , # cklist do
local name = cklist [i] [1]
local func = cklist [i] [2]
if not name then
name = "未设置"
end
nid = name..guid ()
radiog[rid][nid]=false
local func = radin(rid,nid,func)
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 ()
if type(ret)~="table" then log_init() return 0 end
uiadtext('执行 '..name,"#ffffff")
寒心.controlWater (_ENV [tid] , 200)
func()
end
,
{
ImageView ,
id = luajava.newId (nid) ,
layout_width = '20dp' ,
layout_height = "20dp" ,
layout_marginLeft = "5dp" ,
layout_marginRight = "0dp" ,
background =radoff ,
} , {
TextView ,
gravity = "top" ,
text = name ,
textSize="13sp",
textColor = "#d7d7d7" ,
layout_width = 'wrap_content' ,
layout_height = 'wrap_content' ,
layout_marginLeft = "10dp" ,
layout_marginRight = "5dp" ,
}
})
restt [# restt + 1] = _ENV [tid]
end
rest [# rest + 1] = restt
return luajava.loadlayout (rest)
end
function radin(rid,nid,func)
return function()
for k,v in pairs(radiog[rid]) do
colorvs[k]={false,"rad"}
luajava.getIdValue(k):setBackground(radoff)
if k==nid and v~=true then
luajava.getIdValue(k):setBackground(radon)
colorvs[k]={true,"rad"}
v=true
luajava.newThread(func):start()
end
end
end
end
当前ui=1
function changeColor(co)
控件颜色=co
luajava.runUiThread(function()
if type(ret)~="table" then log_init() return 0 end
--_ENV["jm"..当前ui.."t"]:setTextColor(控件颜色)
luajava.getIdView("backv"):setColorFilter(控件颜色)
luajava.getIdView("suov"):setColorFilter(控件颜色)
tops:setBackground(getVerticalBG({控件颜色,控件颜色},30))
checkbg = getShape2(45,{控件颜色,控件颜色},4,控件颜色)
radon=getVerticalBG({0xffffffff,0xffffffff},360,20,控件颜色)
luajava.getIdView("tosearch"):setHintTextColor(控件颜色)
--uiadtext('已刷新控件颜色',控件颜色)
musici:setColorFilter(控件颜色)
for k,v in pairs(colorvs) do
if v[1]==true then
if v[2]=="switch" then
luajava.getIdValue(k):setBackground(checkbg)
elseif v[2]=="box" then
boxpic[k]:setColorFilter(控件颜色)
elseif v[2]=="txt" then
luajava.getIdValue(k):setTextColor(控件颜色)
elseif v[2]=="img" then
luajava.getIdValue(k):setColorFilter(控件颜色)
elseif v[2]=="rad" then
luajava.getIdValue(k):setBackground(radon)
elseif v[2]=="seek" then
luajava.getIdView(k):setProgressDrawable( getVerticalBG({控件颜色,控件颜色},45))
end
end
end
end)
end
currentIndex = 1
-- 定义一个函数来打印当前遍历到的table项,并更新索引位置
function 预置颜色()
-- 获取当前遍历到的项
local currentItem = 颜色表[currentIndex]
-- 打印当前项
changeColor(currentItem)
-- 更新索引位置
currentIndex = currentIndex + 1
-- 如果索引已经达到最大值,则重置为1,回到第一项
if currentIndex > #颜色表 then
currentIndex = 1
end
end
function 寒心.image(img,height,width,pad,func)
if not func then func=function() end end
if not pad then pad="0dp" end
if not height then height="80dp" end
if not width then width="80dp" end
return luajava.loadlayout({
LinearLayout,
layout_height="wrap_content",
layout_width="fill_parent",
gravity="center",
{
ImageView,
layout_height=height,
layout_width=width,
padding=pad,
src=获取图片(img),
onClick=function() if type(ret)~="table" then log_init() return 0 end luajava.newThread(func):start() end,
}})
end
function 寒心.edit (name , hint)
_ENV [name] = name..guid ()
if not hint then
hint = name
end
rest = luajava.loadlayout ( {
LinearLayout ,
layout_width = 'fill_parent' ,
{
LinearLayout ,
layout_width = 'fill_parent' ,
layout_height = "40dp" ,
layout_marginTop = "5dp" ,
layout_marginBottom = "5dp" ,
layout_marginLeft = "0dp" ,
layout_marginRight = "0dp" ,
gravity = "center_vertical" ,
{
EditText ,
background = getButtonBG(),
gravity = "center" ,
hint = hint ,
textColor=ffffff,
textSize = "13sp",
layout_height = "40dp" ,
layout_marginBottom = "-2dp",
id=luajava.newId(_ENV [name]),
layout_width = 'fill' ,
}
}
})
luajava.getIdValue(_ENV [name]):setHintTextColor(0xffd7d7d7)
return rest
end
function 寒心.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' ,
{
LinearLayout ,
layout_width = 'fill_parent' ,
layout_height = "30dp" ,
layout_marginTop = "5dp" ,
layout_marginBottom = "5dp" ,
layout_marginLeft = "0dp" ,
layout_marginRight = "0dp" ,
gravity = "center_vertical" ,
background = luajava.loadlayout {
GradientDrawable ,
color = "#ff191A1D" ,
cornerRadius = 12
} ,
{
EditText ,
gravity = "top" ,
hint = hint ,
textSize = "15sp",
layout_height = "45dp" ,
layout_marginBottom = "-2dp",
id = luajava.newId (_ENV [name]) ,
layout_width = 'fill' ,
layout_marginLeft = "10dp" ,
layout_marginRight = "10dp" ,
}
}
})
return rest
end
function 寒心.getedit (name)
edit = tostring (luajava.getIdValue (_ENV [name]) : getText ())
return edit
end
function 寒心.setedit (name , txt)
txt = tostring (txt)
luajava.runUiThread (function ()
luajava.getIdValue (_ENV [name]) : setText (txt)
end
)
end
chazhi={} chajv={}
function 寒心.seek(name,bian,smin,smax,nows)
_ENV[bian] =nows
local thum= getVerticalBG({0xffffffff,0xffffffff},4,10,switch颜色)
thum:setSize(30, 40)
smin=tonumber(smin) smax=tonumber(smax)
chajv[bian]=smax-smin
chazhi[bian]=1-smin
if smin==nil then smin=1 smax=10 end
truesmin=1
truesmax=truesmin+chajv[bian]
if not nows then nows = smin tnows=(smin-nows)
else
tnows=(nows-smin)+1
end
if _ENV[bian] == nil then _ENV[bian] = 1.0 end
if not name then name = "未设置" end
local names = name..guid()
rest = luajava.loadlayout({
LinearLayout,
layout_width = 'fill_parent',
layout_hight = "fill_parent",
{
LinearLayout,
layout_width = 'fill_parent',
layout_hight = "fill_parent",
layout_marginTop = "5dp",
layout_marginBottom = "5dp",
gravity = "center_vertical",
background = getVerticalBG({0xaa161616,0xaa161616},45),
{
TextView,
padding={"5dp","10dp","0dp","10dp",},
gravity = "top",
textColor="#ffffff",
text = name..":"..nows,
id = luajava.newId(names),
layout_width = '100dp',
--layout_marginLeft = "5dp",
textSize='13sp',
layout_marginRight = "0dp",
},
{
SeekBar,
layout_width = 'fill_parent',
layout_weight=1,
id=luajava.newId(name.."seekbar"),
min = truesmin,
max = truesmax,
progress=tnows,
--paddingStart="0dp",
--paddingEnd="0dp",
progressDrawable={ getVerticalBG({控件颜色,控件颜色},45)},
thumb=thum,
progressHeight="10dp",
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() if type(ret)~="table" then log_init() return 0 end
luajava.getIdValue(names):setText(name..":".. resultvar)
end)
_ENV[bian] = resultvar
end
}}
}})
colorvs[name.."seekbar"]={true,"seek"}
return rest
end
function 寒心.text(text,color,size,isjz)
if not color then color="#ffffff" end
if isjz then
return luajava.loadlayout(
{
TextView,
text=text,
textColor=color,
textSize=size,
gravity="center",
layout_height="wrap_content",
layout_width="match_parent",
autoSizeTextType="uniform",
})
else
return luajava.loadlayout({
TextView,
text=text,
textColor=color,
textSize=size,
layout_height="wrap_content",
layout_width="match_parent",
autoSizeTextType="uniform",
})
end
end
wyyget="http://120.24.160.246:3000/"
function huoqu(txt)
return table.json(gg.makeRequest(wyyget.."song/url/v1?id="..txt.."&level=standard").content)
end
function souyy(txt)
return table.json(gg.makeRequest("http://music.163.com/api/search/get?s="..txt.."&type=1&offset=0&total=true&limit=10").content)
end
function develo(tabb)
gg.alert(tostring(tabb))
end
function develo2(tabb)
gg.copyText(tostring(tabb))
end
function tablekIn(tbl, key)
if tbl == nil then
return false
end
for k, v in pairs(tbl) do
if k == key then
return true
end
end
return false
end
function getbg()
jianbians = luajava.new(GradientDrawable)
jianbians:setCornerRadius(15)
jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbians:setColors({0x11000000,0x11000000})
jianbians:setStroke(4,"0x33000000")--边框宽度和颜色
selector = luajava.getStateListDrawable()
selector:addState({
android.R.attr.state_pressed
}, luajava.loadlayout {
GradientDrawable,
color = "#88000000",
cornerRadius = 12
}) -- 点击时候的背景
selector:addState({
-android.R.attr.state_pressed
}, getjb()) -- 没点击的背景
return selector
end
function searchmusic()
if not lasttm then
lasttm = os.time()
else
if os.time() - lasttm <= 5 then
gg.alert("请在" .. (5 - (os.time() - lasttm)) .. "秒冷却后搜索")
return 0
end
end
if not wryt then
else
runnable = luajava.getRunnable(function()
luajava.getIdView("搜索列表"):removeView(wyr)
end)
handler = luajava.getHandler()
handler:post(runnable)
end
切换(5)
luajava.runUiThread(function()
mustxt = luajava.getIdView("tosearch"):getText()
luajava.getIdView("tosearch"):setText('')
--searchmenu()
end) gg.sleep(100)
if string.len(tostring(mustxt)) <= 2 or tostring(mustxt) == nil then
gg.alert("至少输入2个字符")
return 0
end
mustxt = tostring(mustxt)
lasttm = os.time()
mustable = souyy(mustxt)
mustable = mustable.result.songs
-- print(mustable)
musnames = {}
musids = {}
musarts = {}
musictable = {}
for k, v in pairs(mustable) do
musictable[#musictable + 1] = v
end
-- gg.alert(tostring(mustable))
-- gg.alert(tostring(musictable))
-- gg.copyText(tostring(mustable))
-- gg.alert(#musictable)
wrfun = {}
wryt = {
LinearLayout,
id = luajava.newId("搜索结果"),
layout_marginTop = "5dp",
layout_marginBottom = "5dp",
orientation = "vertical"
}
for i = 1, #musictable do
musid = musictable[i].id
-- print('musid',musid)
-- musid = musictable[i].album.id
-- print('musid',musid)
musids[#musids + 1] = musid
musname = musictable[i].name
if tablekIn(musictable[i], "transNames") ~= false then
musname = musname .. "\n(" .. musictable[i].transNames[0] .. ")"
end
musnames[#musnames + 1] = musname
musart = musictable[i].artists[0].name
musarts[#musarts + 1] = musart
wryt[#wryt + 1] = {
LinearLayout,
orientation = "vertical",
layout_marginTop = "2dp",
layout_width = "match_parent",
layout_marginBottom = "2dp",
background = getbg(),
id = luajava.newId("音" .. musid),
onClick = function()
thread = luajava.getThread(function()
bofang(musname, musid)
end)
thread:start()
end,
{
TextView,
layout_marginTop = "5dp",
textSize = "15sp",
textColor = "#EF8A5C",
layout_marginBottom = "0dp",
text = musname,
layout_hight = "10dp",
layout_width = "match_parent",
gravity = "center"
},
{
TextView,
layout_marginTop = "0dp",
textColor = "#535353",
textSize = "12sp",
layout_marginBottom = "5dp",
text = musart,
layout_hight = "10dp",
layout_width = "match_parent",
gravity = "center"
}
}
-- gg.sleep(50)
wryt[#wryt].onClick = function()
-- (function()
-- bofang(musnames[i] .. musarts[i], musids[i])
-- end):start()
luajava.startThread(function()
bofang(musnames[i] .. musarts[i], musids[i])
end)
end
end
wyr = luajava.loadlayout(wryt)
runnable = luajava.getRunnable(function()
luajava.getIdView("搜索列表"):addView(wyr)
end)
handler = luajava.getHandler()
handler:post(runnable)
-- gg.alert(tostring(wrfun))
end
function bofang(gqmz, gdmn)
luajava.runUiThread(function()
if type(ret)~="table" then log_init() return 0 end
luajava.getIdView("搜索结果"):setVisibility(View.GONE)
luajava.getIdView("加载"):setVisibility(View.VISIBLE)
end)
io.open(XEY1,"w"):write(XEY)
gg.playMusic("http://music.163.com/song/media/outer/url?id="..gdmn..".mp3" or huoqu(gdmn).data[0].url)
uiadtext("正在播放 "..gqmz,"#ffffff")
luajava.runUiThread(function()
luajava.getIdView("加载"):setVisibility(View.GONE)
luajava.getIdView("搜索结果"):setVisibility(View.VISIBLE)
end)
end
jiaz = {
TextView,
text = "正在加载歌曲资源",
visibility = "gone",
id = luajava.newId("加载"),
textSize = "20sp",
gravity = "center",
textColor="#000000",
}
wyylog = luajava.loadlayout({
LinearLayout,
orientation="vertical",
layout_width = "match_parent",
{
ScrollView,
layout_hight = "220dp",
gravity="center_horizontal",
layout_width = "match_parent",
{
LinearLayout,
layout_width = "match_parent",
{LinearLayout,
padding="4dp",
gravity="center",
orientation="vertical",
寒心.text('请在上方搜索音乐关键词',0xff245AFF)
},
id = luajava.newId("搜索列表"),
layout_hight = "200dp",
orientation = "vertical",
layout_width = "match_parent",
gravity="center_horizontal",
jiaz
}
}
})
if loadBox~=nil then loadBox['关闭']() end
function getShape22(tmp0,tmp1,tmp2,tmp3)
jianbians = luajava.new(GradientDrawable)
jianbians:setCornerRadius(tmp0)
jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbians:setColors({
tmp1,tmp2
})
jianbians:setStroke(3,tmp3)--边框宽度和颜色
return jianbians
end
function getShape00(tmp0,tmp1,tmp2,tmp3)
jianbians = luajava.new(GradientDrawable)
jianbians:setCornerRadius(tmp0)
jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbians:setColors({
tmp1,tmp2
})
return jianbians
end
function launch(appstart)
local loadBox = getLoadingBox('正在启动游戏\n'..appstart)
loadBox['显示']()
if appstart ~= nil then
gg.setProcess(appstart)
gg.sleep(500)
if tostring(gg.getTargetPackage()) == appstart then
gg.toast("正在启动游戏")
gg.processKill()
tuichu=true
luajava.setFloatingWindowHide(false)
os.exit()
end
gg.toast("正在启动游戏...")
app.startActivity(appstart)
jci=0
--gg.sleep(5000)
while true do
gg.setProcess(appstart)
gg.sleep(400)
if tostring(gg.getTargetPackage()) == appstart then
loadBox['关闭']()
uiadtext(name.." 启动成功.","#ffffff")
gg.alert("启动成功")
else
jci=jci+1
if jci==14 then
loadBox['关闭']()
uiadtext(name.." 启动失败.","#ffffff")
gg.alert("自动获取进程失败\n请手动选择游戏进程")
gg.setProcessX()
break
end
end
gg.sleep(100)
end
end
end
function card(cdv)
logo=cdv[1]
name=cdv[2]
tags=cdv[3]
func=cdv[4]
if not x then x = 2 end
tag = {
LinearLayout,
}
for i = 1,#tags do
tag[#tag+1] = {
TextView,
background = getShape22(45,0x00FF9700,0x00FF9700,0xffFF9700),
layout_height = "20dp",
padding = "2dp",
textColor = 0xffFF9700,
layout_marginLeft = "10dp",
gravity = "center_vertical",
text = " "..tags[i].." ",
textSize = "9sp",
}
end
tags = tag
tmp = luajava.loadlayout(
{
FrameLayout,
layout_height = "wrap_content",
layout_width = "fill_parent",
{
LinearLayout,
orientation = "vertical",
layout_height = "100dp",
layout_marginLeft = "14dp",
layout_marginRight = "14dp",
layout_marginTop = "10dp",
layout_marginBottom = "10dp",
layout_width = "match_parent",
background=getVerticalBG({0x22ffffff,0x22ffffff},8,5,0xff000000),
{
LinearLayout,
layout_marginLeft = "10dp",
layout_marginRight = "10dp",
layout_marginTop = "10dp",
layout_marginBottom = "10dp",
layout_width = "match_parent",
layout_height = "40dp",
{
ImageView,
layout_width = "40dp",
layout_height = "40dp",
background = 获取图片(logo),
},
{
TextView,
layout_height = "40dp",
layout_marginLeft = "10dp",
gravity = "center_vertical",
text = name,
textColor="#ffffff",
textSize = "13sp",
}
},
tags
},
{
LinearLayout,
onClick = function()
luajava.newThread(function() if type(ret)~="table" then log_init() return 0 end uiadtext(name.." 正在启动.","#ffffff") func() end):start() end,
background = getShape00(80,0xff28FEB9,0xff28FEB9,0xff28FEB9),
layout_height = "25dp",
layout_width = "55dp",
layout_gravity = "right",
layout_marginRight = "30dp",
layout_marginTop = "70dp",
gravity = "center",
{
ImageView,
layout_height = "20dp",
layout_width = "15dp",
background = getRes("rw1"),
},
{
TextView,
textColor = "#000000",
text = "启动",
textSize = "12sp",
layout_height = "20dp",
gravity = "center",
layout_width = "30dp",
}
}
})
return tmp
end
寒心.controlFlip = function(control,time)---翻转
luajava.runUiThread(function()
if type(ret)~="table" then log_init() return 0 end
import "android.view.animation.Animation"
import "android.animation.ObjectAnimator"
xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotationY", {
-360, 360
})
xuanzhuandonghua:setRepeatCount(0)
xuanzhuandonghua:setRepeatMode(Animation.REVERSE)
xuanzhuandonghua:setDuration(time)
xuanzhuandonghua:start()
end) end
function shenglongyp()
luajava.newThread(function()
local t=math.random(1,4)
end):start()
YoYoImpl:with("FadeIn"):duration(600):playOn(floatWindow)
寒心.controlFlip(shenglong,1900)
end
shenglong=luajava.loadlayout({
ImageView,
src = 获取图片("https://qingcheng.c-n.icu/wangpan/view.php/5d1f4be2d61a75901940ccbfe9e3c337.png"),
padding="2dp",
layout_width = "130dp",
layout_height = "130dp",
gravity = "center",
})
function 寒心.setedit(name,txt)
txt = tostring(txt)
luajava.runUiThread(function()
luajava.getIdValue(name):setText(txt)
end)
end
function 寒心.getedit(name)
--gg.alert(edit)
edit = tostring(luajava.getIdValue(name):getText())
return edit
end
function log_init()
if type(ret) ~= "table" then
if vv ~= nil then return 0 end
luajava.newThread(function()
draw.remove()
end):start()
tmp = {
LinearLayout,orientation = "vertical",gravity = "center_horizontal",
}
if panduan("/sdcard/寒心/配置文件/km.lua") ~= false then
dofile("/sdcard/寒心/配置文件/km.lua")
logkapian = luajava.loadlayout({
LinearLayout,
orientation = "vertical",
gravity = "center",
layout_height = "50dp",
layout_width = "160dp",
background = getHorizontalBG({0xffffffff,0xffffffff},25,2,0xffDFACE0),
elevation = "10dp",
onClick = function()
--寒心.controlFlip(logkapian,2000)
luajava.newThread(function() logkap = true login(kam) end):start() end,
{
TextView,
gravity = "center",
textSize = "18sp",
textColor = "#000000",
text = "xxxxx"..string.sub(kam,-4,-1)
},{
TextView,
gravity = "center",
textSize = "11sp",
textColor = "#4E98FF",
text = "快捷登录"
}
})
tmp[#tmp+1] = logkapian
tmp[#tmp+1] = {
LinearLayout,
layout_height = "10dp",
}
end
jianbians = luajava.new(GradientDrawable)
jianbians:setCornerRadius(30)
jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbians:setColors({
0xffffffff,0xffffffFF,0xffffffFF,0xffffffff
})
jianbians:setOrientation(GradientDrawable.Orientation.TL_BR)
--jianbians:setStroke(0,0x55000000)--边框宽度和颜色
luajava.newThread(function()
luajava.runUiThread(function()
vv = luajava.loadlayout({
LinearLayout,
orientation = "vertical",
visibility = "gone",
background = "/sdcard/寒心/图片/大背景",
layout_width = "match_parent",
layout_height = "match_parent",
gravity = "center",
onTouch=hanshu,
onClick = function() if vv ~= nil then YoYoImpl:with("FadeOut"):duration(300):playOn(vv) luajava.newThread(function() gg.sleep(300) rmdadView(vv) vv = nil end):start() end end,
tmp,
{
LinearLayout,
orientation = "vertical",
{
LinearLayout,
layout_height = "60dp",
{
EditText,
id = luajava.newId("卡密"),
textColor = "#000000",
hint = "请输入卡密",
elevation = "10dp",
gravity = "center",
background = getHorizontalBG({0xff8d4bbb,0xffffffff},25,2,0xff000000),
layout_height = "50dp",
layout_width = "160dp",
layout_marginBottom = "20dp",
}}, {
TextView,
background = getVerticalBG({0xff8d4bbb,0xff8d4bbb},15),
text = "登录",
textColor = "#ffffff",
textSize = "16sp",
gravity = "center",
elevation = "10dp",
layout_height = "30dp",
layout_width = "160dp",
onClick = function() luajava.newThread(function() login(寒心.getedit("卡密")) end):start() end,
},{
TextView,
background = luajava.loadlayout {
GradientDrawable,
color = "#37383D",
cornerRadius = 20
},
text = "购卡",
textColor = "#ffffff",
textSize = "16sp",
layout_marginTop="5dp",
gravity = "center",
elevation = "10dp",
layout_height = "30dp",
layout_width = "160dp",
onClick = function() luajava.newThread(function()
gg.intent(卡网) 隐藏() rmdadView(vv) vv=nil
end):start() end,
},{
TextView,
background = luajava.loadlayout {
GradientDrawable,
color = "#37383D",
cornerRadius = 20
},
text = "解绑",
textColor = "#ffffff",
textSize = "16sp",
layout_marginTop="5dp",
gravity = "center",
elevation = "10dp",
layout_height = "30dp",
layout_width = "160dp",
onClick = function() luajava.newThread(function()
local t=寒心.getedit("卡密")
if t~="" and t~=" " then
rlyunyz.unbind(t)
end
end):start() end,
},{
TextView,
background = luajava.loadlayout {
GradientDrawable,
color = "#37383D",
cornerRadius = 20
},
text = "退出",
textColor = "#ffffff",
textSize = "16sp",
layout_marginTop="5dp",
gravity = "center",
elevation = "10dp",
layout_height = "30dp",
layout_width = "160dp",
onClick = function() tuichu=1 end,
}}
})
addadView(vv)
切换(1)
luajava.getIdValue("卡密"):setHintTextColor(0xffA2A2A2)
vv:setVisibility(View.VISIBLE)
YoYoImpl:with("FadeIn"):duration(300):playOn(vv)
end)
huiz()
end):start()
else
--luajava.newThread(function() xiugtx() end):start()
end
end
function login(kam)
local loadBox = getLoadingBox('正在校验卡密')
if tostring(kam)=="" or tostring(kam)==" " then return 0 end
local info = kamiinfo
if vv ~= nil then
luajava.runUiThread(function()
YoYoImpl:with("FadeOut"):duration(400):playOn(vv)
end)
luajava.newThread(function()
gg.sleep(400)
rmdadView(vv)
vv = nil
end):start()
end
loadBox['显示']()
ret = rlyunyz.login(kam)
loadBox['关闭']()
ini = rlyunyz.checkUpdate()
if type(ret) ~= "table" then
--gg.alert(tostring(ret))
else
ktmp = "kam='"..ret.kami.."'"
luajava.newThread(function()
write("/sdcard/寒心/配置文件/km.lua",ktmp)
end):start()
切换(1)
end
--if logkap then gg.sleep(100) end
end
function getTimeStamp(t)
local str = os.date("%Y/%m/%d %H:%M:%S",t)
return str
end
function addadView(tmp)
local function invoke()
parentv:addView(tmp)
end
luajava.post(invoke)
end
function rmdadView(tmp)
local function invoke()
parentv:removeView(tmp)
end
luajava.post(invoke)
end
launchui = luajava.loadlayout({
ScrollView,
layout_height = "match_parent",
fillViewport=true,
layout_width = "fill_parent",
padding={"0dp","0dp","0dp","10dp"},
{
LinearLayout,
layout_height = "wrap_content",
layout_width = "fill_parent",
gravity = "center_horizontal",
orientation="vertical",
card({"/sdcard/寒心/图片/地铁跑酷",
"地铁跑酷",
{
"地铁跑酷",
"启动"
},
function()
launch("com.kiloo.subwaysurf")
end
})
}})
yiyan=gg.makeRequest("https://v1.hitokoto.cn/").content
content=yiyan:match("hitokoto\":\"(.-)\"")
from=yiyan:match("from\":\"(.-)\"")
info = {
example_version = '1.0.3',
name = '寒心',
appid = '70371',
appkey = 'v9x1SX43517I1L9o',
rc4key = 'zjzNMmndxXd6k7Mn',
version = '1.0',
mi_type = '3'
}
rlyunyz = getrlyunyz(info)
function huiz()
--如果有绘制请写到这里面否则会消失
end
huiz()
muby=735
--初始宽度 竖屏建议850 横屏建议1310
mubx=1000
--初始高度 竖屏建议1310 横屏建议850
大标题='寒心内部'
--初始颜色,填写十六进制RGB
--可在功能按钮里调用changeColor()随时自定义切换
--例如:changeColor(0xffFF0023)
--可以在开启某个功能的同时变色,比如开了防封变绿色,开了高危功能变红色
控件颜色=0xff8d4bbb
颜色表={--切换颜色的列表
0xffFF0023,
0xff8d4bbb,
0xff33AF61,
0xff008CFF,
0xffA6FF00,
0xffFF95F2,
0xff801dae,
0xfffff143,
0xff000000,
0xff545454,
0xfff7b977,
0xff70f3ff,
}
卡网="https://www.aidoumi.net/links/B03B06ED"
悬浮窗图标="https://zsyp.pjaj.cn/view.php/f2af8defc85d189a808a637fa37041ed.gif"
stab={
"主页",
"防封",
"刷号",
'竞赛',
"音乐",
"设置",
}
---创建小窗口备用,对照下边菜单里调用打开窗口,不需要的可以删掉
---必须先创建窗口 才能 打开窗口
寒心.menu({
{--第一页
寒心.text("欢迎使用寒心内部","#ff63ed9f","15sp"),
寒心.text("此脚本由🦈寒心🦈","#ff63ed9f","15sp" ) ,
寒心.text("选择400MB的进程在开防封","#ff63ed9f","15sp" ) ,
寒心.text("过新手教程要切后台开","#ff63ed9f","15sp" ) ,
寒心.text("全网启动次数:1314520","#ff63ed9f","15sp" ) ,
寒心.text("🦈寒心🦈:3472977190","#ff63ed9f","15sp" ) ,
寒心.text("脚本制作人:🦈寒心🦈","#ff63ed9f","15sp" ) ,
寒心.text("适配爱尔兰版本","#ff63ed9f","15sp" ) ,
寒心.text("总部:3472977190","#ff63ed9f","15sp"),
寒心.text(os.date"登录时间:%m月%d日%H时%M分%S秒", "#4A148C","15sp"),
寒心.text("支持:root/n32框架/n虚拟机","#17FFA7","13sp"),
寒心.button(
"选择进程",
function()
gg.setProcessX()
string.toMusic("请选择地铁跑酷进程")
end),
寒心.switch("启动游戏", function()
gg.jumpAPP("com.kiloo.subwaysurf")
end
),
寒心.switch ("加入我们" ,
function ()
qq.joinGroup ("943453921")
隐藏 ()
end),
寒心.button("高检时间",
function()
string.toMusic("寒心·工作室整理高检时间: 早上8点~9点,中午12点~13点,下午4时~4点30分,午夜11时~凌晨1点,凌晨3:30~4:30")
gg.alert("寒心·工作室整理高检时间: 早上8点~9点,中午12点~13点,下午4时~4点30分,午夜11时~凌晨1点,凌晨3:30~4:30")
end),
{---第二页
寒心.switch("过滤环境[登录界面必开]",
function()
io.open("/sdcard/.防环境","w+"):write([[
13880
Var #B8CD84DC|b8cd84dc|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4dc
Var #B8CD8574|b8cd8574|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|574
Var #B8CD881C|b8cd881c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|81c
Var #B8CD883C|b8cd883c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|83c
Var #B8CD884C|b8cd884c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|84c
Var #B8CD885C|b8cd885c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|85c
Var #B8CD8864|b8cd8864|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|864
Var #B8CD886C|b8cd886c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|86c
Var #B8CD889C|b8cd889c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|89c
Var #B8CD89D8|b8cd89d8|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d8
Var #B8CD8A0C|b8cd8a0c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a0c
Var #B8CD8A6C|b8cd8a6c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a6c
Var #B8CD9B54|b8cd9b54|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b54
Var #B8CD9B94|b8cd9b94|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b94
Var #B8CD9BA0|b8cd9ba0|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1ba0
Var #B8CD9BD0|b8cd9bd0|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1bd0
Var #B8CD9CE8|b8cd9ce8|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1ce8
Var #B8CD9CF4|b8cd9cf4|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1cf4
Var #B8CD9D00|b8cd9d00|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1d00]])
gg.loadList("/sdcard/.防环境", gg.LOAD_VALUES_FREEZE)
os.remove("/sdcard/.防环境")
string.toMusic('已过滤环境')
end),
寒心.switch("吴迪杀检测[登录界面必开]",
function()
io.open("/sdcard/全防","w+"):write([[
4686
Var #9196A4D0|9196a4d0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d0
Var #9196A4D4|9196a4d4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d4
Var #9196A4DC|9196a4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4dc
Var #9196A510|9196a510|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|510
Var #9196A528|9196a528|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|528
Var #9196A574|9196a574|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|574
Var #9196A580|9196a580|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|580
Var #9196A584|9196a584|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|584
Var #9196A83C|9196a83c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|83c
Var #9196A84C|9196a84c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|84c
Var #9196A85C|9196a85c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|85c
Var #9196A864|9196a864|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|864
Var #9196A86C|9196a86c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|86c
Var #9196A89C|9196a89c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|89c
Var #9196A8CC|9196a8cc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8cc
Var #9196A924|9196a924|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|924
Var #9196A9D8|9196a9d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d8
Var #9196A9E4|9196a9e4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9e4
Var #9196AA4C|9196aa4c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a4c
Var #9196AA6C|9196aa6c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a6c
Var #9196AA78|9196aa78|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a78
Var #9196AA84|9196aa84|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a84
Var #9196AA88|9196aa88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a88
Var #9196AA8C|9196aa8c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a8c
Var #9196AAC0|9196aac0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ac0
Var #9196AB30|9196ab30|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b30
Var #9196BB5C|9196bb5c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b5c
Var #9196BB64|9196bb64|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b64
Var #9196BBE4|9196bbe4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1be4
Var #9196E294|9196e294|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4294
Var #9196E298|9196e298|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4298
Var #9196E354|9196e354|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4354
Var #9196E358|9196e358|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4358
Var #9196F4DC|9196f4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|54dc
Var #9196F54C|9196f54c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|554c
Var #9196F55C|9196f55c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|555c
Var #9196F588|9196f588|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5588
Var #9196F58C|9196f58c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|558c
Var #9196F594|9196f594|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5594
Var #9196F5A4|9196f5a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55a4
Var #9196F5B0|9196f5b0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55b0
Var #9196F614|9196f614|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5614
Var #9196F620|9196f620|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5620
Var #9196F690|9196f690|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5690
Var #9196F6A4|9196f6a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56a4
Var #9196F6B4|9196f6b4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56b4
Var #9196F6C0|9196f6c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56c0
Var #9196F6D8|9196f6d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56d8
Var #91972700|91972700|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8700
Var #91972708|91972708|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8708
Var #91972728|91972728|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8728
Var #91972730|91972730|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8730
Var #91972738|91972738|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8738
Var #91972ABC|91972abc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8abc
Var #91972E34|91972e34|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8e34
Var #91972F0C|91972f0c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f0c
Var #91972F88|91972f88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f88
Var #91972FC0|91972fc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fc0
Var #91972FE0|91972fe0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fe0
Var #91973048|91973048|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9048
Var #91973084|91973084|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9084
Var #919732A8|919732a8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|92a8
Var #91973AFC|91973afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9afc
Var #91973BC8|91973bc8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bc8
Var #91973BEC|91973bec|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bec
Var #91973CD4|91973cd4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9cd4
Var #91973D60|91973d60|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d60
Var #91973DB0|91973db0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9db0
Var #91973DCC|91973dcc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9dcc
Var #91973FB0|91973fb0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9fb0
Var #9197400C|9197400c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a00c
Var #919740E8|919740e8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a0e8
Var #91974208|91974208|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a208
Var #91974278|91974278|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a278
Var #919743F4|919743f4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a3f4
Var #91974454|91974454|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a454
Var #91975184|91975184|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b184
Var #91978C38|91978c38|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ec38
Var #919799AC|919799ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|f9ac
Var #91979AAC|91979aac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|faac
Var #91979AFC|91979afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fafc
Var #91979E88|91979e88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fe88
Var #9197A674|9197a674|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10674
Var #9197A69C|9197a69c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1069c
Var #9197AC14|9197ac14|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10c14
Var #9197AFC0|9197afc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10fc0
Var #9197C434|9197c434|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|12434
Var #9197C49C|9197c49c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1249c
Var #9197C4AC|9197c4ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124ac
Var #9197C4C0|9197c4c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c0
Var #9197C4C4|9197c4c4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c4
Var #9197D25C|9197d25c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1325c
Var #9197DF68|9197df68|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13f68
Var #9197E004|9197e004|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14004
Var #9197E020|9197e020|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14020
Var #9197E028|9197e028|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14028]])
gg.loadList("/sdcard/全防", gg.LOAD_VALUES)
os.remove("/sdcard/全防")
gg.toast("开启成功")
gg.alert("开启成功")
end),
寒心.switch("防检测 [登录]", function()
io.open("/sdcard/全防", "w+"):write([[
4686
Var #9196A4D0|9196a4d0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d0
Var #9196A4D4|9196a4d4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d4
Var #9196A4DC|9196a4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4dc
Var #9196A510|9196a510|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|510
Var #9196A528|9196a528|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|528
Var #9196A574|9196a574|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|574
Var #9196A580|9196a580|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|580
Var #9196A584|9196a584|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|584
Var #9196A83C|9196a83c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|83c
Var #9196A84C|9196a84c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|84c
Var #9196A85C|9196a85c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|85c
Var #9196A864|9196a864|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|864
Var #9196A86C|9196a86c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|86c
Var #9196A89C|9196a89c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|89c
Var #9196A8CC|9196a8cc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8cc
Var #9196A924|9196a924|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|924
Var #9196A9D8|9196a9d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d8
Var #9196A9E4|9196a9e4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9e4
Var #9196AA4C|9196aa4c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a4c
Var #9196AA6C|9196aa6c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a6c
Var #9196AA78|9196aa78|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a78
Var #9196AA84|9196aa84|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a84
Var #9196AA88|9196aa88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a88
Var #9196AA8C|9196aa8c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a8c
Var #9196AAC0|9196aac0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ac0
Var #9196AB30|9196ab30|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b30
Var #9196BB5C|9196bb5c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b5c
Var #9196BB64|9196bb64|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b64
Var #9196BBE4|9196bbe4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1be4
Var #9196E294|9196e294|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4294
Var #9196E298|9196e298|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4298
Var #9196E354|9196e354|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4354
Var #9196E358|9196e358|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4358
Var #9196F4DC|9196f4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|54dc
Var #9196F54C|9196f54c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|554c
Var #9196F55C|9196f55c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|555c
Var #9196F588|9196f588|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5588
Var #9196F58C|9196f58c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|558c
Var #9196F594|9196f594|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5594
Var #9196F5A4|9196f5a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55a4
Var #9196F5B0|9196f5b0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55b0
Var #9196F614|9196f614|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5614
Var #9196F620|9196f620|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5620
Var #9196F690|9196f690|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5690
Var #9196F6A4|9196f6a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56a4
Var #9196F6B4|9196f6b4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56b4
Var #9196F6C0|9196f6c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56c0
Var #9196F6D8|9196f6d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56d8
Var #91972700|91972700|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8700
Var #91972708|91972708|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8708
Var #91972728|91972728|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8728
Var #91972730|91972730|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8730
Var #91972738|91972738|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8738
Var #91972ABC|91972abc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8abc
Var #91972E34|91972e34|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8e34
Var #91972F0C|91972f0c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f0c
Var #91972F88|91972f88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f88
Var #91972FC0|91972fc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fc0
Var #91972FE0|91972fe0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fe0
Var #91973048|91973048|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9048
Var #91973084|91973084|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9084
Var #919732A8|919732a8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|92a8
Var #91973AFC|91973afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9afc
Var #91973BC8|91973bc8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bc8
Var #91973BEC|91973bec|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bec
Var #91973CD4|91973cd4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9cd4
Var #91973D60|91973d60|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d60
Var #91973DB0|91973db0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9db0
Var #91973DCC|91973dcc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9dcc
Var #91973FB0|91973fb0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9fb0
Var #9197400C|9197400c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a00c
Var #919740E8|919740e8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a0e8
Var #91974208|91974208|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a208
Var #91974278|91974278|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a278
Var #919743F4|919743f4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a3f4
Var #91974454|91974454|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a454
Var #91975184|91975184|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b184
Var #91978C38|91978c38|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ec38
Var #919799AC|919799ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|f9ac
Var #91979AAC|91979aac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|faac
Var #91979AFC|91979afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fafc
Var #91979E88|91979e88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fe88
Var #9197A674|9197a674|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10674
Var #9197A69C|9197a69c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1069c
Var #9197AC14|9197ac14|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10c14
Var #9197AFC0|9197afc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10fc0
Var #9197C434|9197c434|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|12434
Var #9197C49C|9197c49c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1249c
Var #9197C4AC|9197c4ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124ac
Var #9197C4C0|9197c4c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c0
Var #9197C4C4|9197c4c4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c4
Var #9197D25C|9197d25c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1325c
Var #9197DF68|9197df68|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13f68
Var #9197E004|9197e004|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14004
Var #9197E020|9197e020|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14020
Var #9197E028|9197e028|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14028
18750
Var #B6E24008|b6e24008|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|8
Var #B6E2400C|b6e2400c|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|c
Var #B6E24010|b6e24010|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|10
Var #B6E24014|b6e24014|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|14
Var #B6E2403C|b6e2403c|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3c
Var #B6E24040|b6e24040|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|40
Var #B6E24058|b6e24058|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|58
Var #B6E24060|b6e24060|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|60
Var #B6E24074|b6e24074|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|74
Var #B6E24078|b6e24078|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|78
Var #B6E2407C|b6e2407c|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|7c
Var #B6E24084|b6e24084|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|84
Var #B6E240A8|b6e240a8|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|a8
Var #B6E240AC|b6e240ac|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|ac
Var #B6E240B0|b6e240b0|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|b0
Var #B6E240B4|b6e240b4|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|b4
Var #B6E240B8|b6e240b8|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|b8
Var #B6E24128|b6e24128|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|128
Var #B6E2412C|b6e2412c|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|12c
Var #B6E24130|b6e24130|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|130
Var #B6E24134|b6e24134|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|134
Var #B6E24200|b6e24200|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|200
Var #B6E24204|b6e24204|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|204
Var #B6E24208|b6e24208|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|208
Var #B6E2CEE8|b6e2cee8|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|8ee8
Var #B6E2DA28|b6e2da28|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|9a28
Var #B6E53D20|b6e53d20|4|ffffffff|0|0|0|0|rw-p|/data/data/com.yulong.yljt/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|2fd20
4686
Var #9196A4D0|9196a4d0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d0
Var #9196A4D4|9196a4d4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d4
Var #9196A4DC|9196a4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4dc
Var #9196A510|9196a510|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|510
Var #9196A528|9196a528|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|528
Var #9196A574|9196a574|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|574
Var #9196A580|9196a580|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|580
Var #9196A584|9196a584|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|584
Var #9196A83C|9196a83c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|83c
Var #9196A84C|9196a84c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|84c
Var #9196A85C|9196a85c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|85c
Var #9196A864|9196a864|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|864
Var #9196A86C|9196a86c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|86c
Var #9196A89C|9196a89c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|89c
Var #9196A8CC|9196a8cc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8cc
Var #9196A924|9196a924|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|924
Var #9196A9D8|9196a9d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d8
Var #9196A9E4|9196a9e4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9e4
Var #9196AA4C|9196aa4c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a4c
Var #9196AA6C|9196aa6c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a6c
Var #9196AA78|9196aa78|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a78
Var #9196AA84|9196aa84|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a84
Var #9196AA88|9196aa88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a88
Var #9196AA8C|9196aa8c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a8c
Var #9196AAC0|9196aac0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ac0
Var #9196AB30|9196ab30|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b30
Var #9196BB5C|9196bb5c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b5c
Var #9196BB64|9196bb64|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b64
Var #9196BBE4|9196bbe4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1be4
Var #9196E294|9196e294|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4294
Var #9196E298|9196e298|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4298
Var #9196E354|9196e354|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4354
Var #9196E358|9196e358|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4358
Var #9196F4DC|9196f4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|54dc
Var #9196F54C|9196f54c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|554c
Var #9196F55C|9196f55c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|555c
Var #9196F588|9196f588|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5588
Var #9196F58C|9196f58c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|558c
Var #9196F594|9196f594|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5594
Var #9196F5A4|9196f5a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55a4
Var #9196F5B0|9196f5b0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55b0
Var #9196F614|9196f614|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5614
Var #9196F620|9196f620|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5620
Var #9196F690|9196f690|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5690
Var #9196F6A4|9196f6a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56a4
Var #9196F6B4|9196f6b4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56b4
Var #9196F6C0|9196f6c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56c0
Var #9196F6D8|9196f6d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56d8
Var #91972700|91972700|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8700
Var #91972708|91972708|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8708
Var #91972728|91972728|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8728
Var #91972730|91972730|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8730
Var #91972738|91972738|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8738
Var #91972ABC|91972abc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8abc
Var #91972E34|91972e34|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8e34
Var #91972F0C|91972f0c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f0c
Var #91972F88|91972f88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f88
Var #91972FC0|91972fc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fc0
Var #91972FE0|91972fe0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fe0
Var #91973048|91973048|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9048
Var #91973084|91973084|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9084
Var #919732A8|919732a8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|92a8
Var #91973AFC|91973afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9afc
Var #91973BC8|91973bc8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bc8
Var #91973BEC|91973bec|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bec
Var #91973CD4|91973cd4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9cd4
Var #91973D60|91973d60|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d60
Var #91973DB0|91973db0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9db0
Var #91973DCC|91973dcc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9dcc
Var #91973FB0|91973fb0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9fb0
Var #9197400C|9197400c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a00c
Var #919740E8|919740e8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a0e8
Var #91974208|91974208|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a208
Var #91974278|91974278|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a278
Var #919743F4|919743f4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a3f4
Var #91974454|91974454|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a454
Var #91975184|91975184|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b184
Var #91978C38|91978c38|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ec38
Var #919799AC|919799ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|f9ac
Var #91979AAC|91979aac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|faac
Var #91979AFC|91979afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fafc
Var #91979E88|91979e88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fe88
Var #9197A674|9197a674|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10674
Var #9197A69C|9197a69c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1069c
Var #9197AC14|9197ac14|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10c14
Var #9197AFC0|9197afc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10fc0
Var #9197C434|9197c434|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|12434
Var #9197C49C|9197c49c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1249c
Var #9197C4AC|9197c4ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124ac
Var #9197C4C0|9197c4c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c0
Var #9197C4C4|9197c4c4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c4
Var #9197D25C|9197d25c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1325c
Var #9197DF68|9197df68|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13f68
Var #9197E004|9197e004|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14004
Var #9197E020|9197e020|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14020
Var #9197E028|9197e028|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14028
]])
gg.loadList("/sdcard/.xa", gg.LOAD_VALUES)
os.remove("/sdcard/.xa")
gg.alert("开启成功")
string.toMusic("登录防检测")
end
),
寒心.switch("独家全防[登录界面必开]",
function()
io.open("/sdcard/.稳定防","w+"):write([[
4686
Var #9196A4D0|9196a4d0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d0
Var #9196A4D4|9196a4d4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4d4
Var #9196A4DC|9196a4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4dc
Var #9196A510|9196a510|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|510
Var #9196A528|9196a528|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|528
Var #9196A574|9196a574|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|574
Var #9196A580|9196a580|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|580
Var #9196A584|9196a584|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|584
Var #9196A83C|9196a83c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|83c
Var #9196A84C|9196a84c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|84c
Var #9196A85C|9196a85c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|85c
Var #9196A864|9196a864|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|864
Var #9196A86C|9196a86c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|86c
Var #9196A89C|9196a89c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|89c
Var #9196A8CC|9196a8cc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8cc
Var #9196A924|9196a924|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|924
Var #9196A9D8|9196a9d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d8
Var #9196A9E4|9196a9e4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9e4
Var #9196AA4C|9196aa4c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a4c
Var #9196AA6C|9196aa6c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a6c
Var #9196AA78|9196aa78|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a78
Var #9196AA84|9196aa84|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a84
Var #9196AA88|9196aa88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a88
Var #9196AA8C|9196aa8c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a8c
Var #9196AAC0|9196aac0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ac0
Var #9196AB30|9196ab30|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b30
Var #9196BB5C|9196bb5c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b5c
Var #9196BB64|9196bb64|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b64
Var #9196BBE4|9196bbe4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1be4
Var #9196E294|9196e294|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4294
Var #9196E298|9196e298|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4298
Var #9196E354|9196e354|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4354
Var #9196E358|9196e358|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4358
Var #9196F4DC|9196f4dc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|54dc
Var #9196F54C|9196f54c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|554c
Var #9196F55C|9196f55c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|555c
Var #9196F588|9196f588|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5588
Var #9196F58C|9196f58c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|558c
Var #9196F594|9196f594|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5594
Var #9196F5A4|9196f5a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55a4
Var #9196F5B0|9196f5b0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55b0
Var #9196F614|9196f614|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5614
Var #9196F620|9196f620|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5620
Var #9196F690|9196f690|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5690
Var #9196F6A4|9196f6a4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56a4
Var #9196F6B4|9196f6b4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56b4
Var #9196F6C0|9196f6c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56c0
Var #9196F6D8|9196f6d8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|56d8
Var #91972700|91972700|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8700
Var #91972708|91972708|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8708
Var #91972728|91972728|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8728
Var #91972730|91972730|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8730
Var #91972738|91972738|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8738
Var #91972ABC|91972abc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8abc
Var #91972E34|91972e34|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8e34
Var #91972F0C|91972f0c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f0c
Var #91972F88|91972f88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f88
Var #91972FC0|91972fc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fc0
Var #91972FE0|91972fe0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8fe0
Var #91973048|91973048|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9048
Var #91973084|91973084|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9084
Var #919732A8|919732a8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|92a8
Var #91973AFC|91973afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9afc
Var #91973BC8|91973bc8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bc8
Var #91973BEC|91973bec|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9bec
Var #91973CD4|91973cd4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9cd4
Var #91973D60|91973d60|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d60
Var #91973DB0|91973db0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9db0
Var #91973DCC|91973dcc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9dcc
Var #91973FB0|91973fb0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9fb0
Var #9197400C|9197400c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a00c
Var #919740E8|919740e8|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a0e8
Var #91974208|91974208|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a208
Var #91974278|91974278|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a278
Var #919743F4|919743f4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a3f4
Var #91974454|91974454|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a454
Var #91975184|91975184|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|b184
Var #91978C38|91978c38|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|ec38
Var #919799AC|919799ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|f9ac
Var #91979AAC|91979aac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|faac
Var #91979AFC|91979afc|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fafc
Var #91979E88|91979e88|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fe88
Var #9197A674|9197a674|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10674
Var #9197A69C|9197a69c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1069c
Var #9197AC14|9197ac14|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10c14
Var #9197AFC0|9197afc0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|10fc0
Var #9197C434|9197c434|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|12434
Var #9197C49C|9197c49c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1249c
Var #9197C4AC|9197c4ac|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124ac
Var #9197C4C0|9197c4c0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c0
Var #9197C4C4|9197c4c4|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|124c4
Var #9197D25C|9197d25c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1325c
Var #9197DF68|9197df68|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13f68
Var #9197E004|9197e004|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14004
Var #9197E020|9197e020|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14020
Var #9197E028|9197e028|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|14028]])
gg.loadList("/sdcard/.稳定防", gg.LOAD_VALUES_FREEZE)
os.remove("/sdcard/.稳定防")
string.toMusic('独家全防开启成功')
end),
寒心.switch("防封+防闪[登录界面必开]",
function()
io.open("/sdcard/全防","w+"):write([[
1628
Var #C605B068|c605b068|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|68
Var #C605B070|c605b070|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|70
Var #C605B074|c605b074|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|74
Var #C605B07C|c605b07c|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|7c
Var #C605B084|c605b084|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|84
Var #C605B0A8|c605b0a8|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|a8
Var #C605B0B0|c605b0b0|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|b0
Var #C605B128|c605b128|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|128
Var #C605B130|c605b130|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|130
Var #C605B134|c605b134|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|134
Var #C609E83C|c609e83c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|83c
Var #C609E84C|c609e84c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|84c
Var #C609E85C|c609e85c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|85c
Var #C609E864|c609e864|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|864
Var #C609E86C|c609e86c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|86c
Var #C609E89C|c609e89c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|89c]])
gg.loadList("/sdcard/全防", gg.LOAD_VALUES)
os.remove("/sdcard/全防")
gg.toast("开启成功")
gg.alert("开启成功")
end),
寒心.switch("杀检测 [登录]", function()
io.open("/sdcard/.xa", "w+"):write([[
11939
Var #91FE6510|91fe6510|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|510
Var #91FE6580|91fe6580|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|580
Var #91FE6584|91fe6584|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|584
Var #91FE65D0|91fe65d0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|5d0
Var #91FE693C|91fe693c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|93c
Var #91FEB5B0|91feb5b0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|55b0
Var #91FEE708|91fee708|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8708
Var #91FEE824|91fee824|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8824
Var #91FEEF50|91feef50|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|8f50
Var #91FEFE38|91fefe38|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9e38
Var #91FF3B3C|91ff3b3c|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|db3c
Var #91FF5DF0|91ff5df0|4|0|1|0|0|0|rw-p|/data/data/com.tencent.tmgp.sgqyz/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|fdf0
16215
Var #A83980A8|a83980a8|4|ffffffffffffffff|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so|a8
Var #A83DB83C|a83db83c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|83c
Var #A83DB84C|a83db84c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|84c
Var #A83DB85C|a83db85c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|85c
Var #A83DB864|a83db864|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|864
Var #A83DB86C|a83db86c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|86c
Var #A83DB89C|a83db89c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|89c
Var #A83DB924|a83db924|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|924
Var #A83DB9AC|a83db9ac|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|9ac
Var #A83DB9D8|a83db9d8|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|9d8
Var #A83DB9E4|a83db9e4|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|9e4
Var #A83DBA4C|a83dba4c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|a4c
Var #A83DBA78|a83dba78|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|a78
Var #A83DBA84|a83dba84|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|a84
Var #A83DBA88|a83dba88|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|a88
Var #A83DBA8C|a83dba8c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|a8c
Var #A83DBB30|a83dbb30|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|b30
Var #A83DCB54|a83dcb54|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|1b54
Var #A83DCB5C|a83dcb5c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|1b5c
Var #A83DCB64|a83dcb64|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|1b64
Var #A83DCBD0|a83dcbd0|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|1bd0
Var #A83DF294|a83df294|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|4294
Var #A83DF298|a83df298|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|4298
Var #A83DF354|a83df354|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|4354
Var #A83DF358|a83df358|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|4358
Var #A83E04AC|a83e04ac|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|54ac
Var #A83E04DC|a83e04dc|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|54dc
Var #A83E055C|a83e055c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|555c
Var #A83E0588|a83e0588|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|5588
Var #A83E058C|a83e058c|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|558c
Var #A83E05B0|a83e05b0|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|55b0
Var #A83E0614|a83e0614|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|5614
Var #A83E0620|a83e0620|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|5620
Var #A83E0690|a83e0690|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|5690
Var #A83E0694|a83e0694|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|5694
Var #A83E06A4|a83e06a4|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|56a4
Var #A83E06B4|a83e06b4|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|56b4
Var #A83E06C0|a83e06c0|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|56c0
Var #A83E06D8|a83e06d8|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|56d8
Var #A83E3700|a83e3700|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|8700
Var #A83E3708|a83e3708|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|8708
Var #A83E3728|a83e3728|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|8728
Var #A83E3730|a83e3730|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|8730
Var #A83EF004|a83ef004|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|14004
Var #A83EF020|a83ef020|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|14020
Var #A83EF028|a83ef028|4|0|1|0|0|0|rw-p|/data/app/~~h_SNJsc4N0saT9sArKbSvQ==/com.kiloo.subwaysurf-ecNMbM5X8x82wYoQc3Aymw==/lib/arm/libtersafe2.so:bss|14028
]])
gg.loadList("/sdcard/.xa", gg.LOAD_VALUES)
os.remove("/sdcard/.xa")
string.toMusic("开启杀检测")
end
),
寒心.switch("过滤行为 [大厅]", function()
io.open("/sdcard/全防", "w+"):write([[
31886
Var #8B2C86F0|8b2c86f0|4|0|0|0|0|0|||0
Var #8B2C86F4|8b2c86f4|4|0|0|0|0|0|||0
Var #8B2C8748|8b2c8748|4|0|0|0|0|0|||0
Var #8B2C874C|8b2c874c|4|0|0|0|0|0|||0
Var #8B2C879C|8b2c879c|4|0|0|0|0|0|||0
Var #8B2C87A0|8b2c87a0|4|0|0|0|0|0|||0
Var #8B2C87B8|8b2c87b8|4|0|0|0|0|0|||0
Var #8B2C87C8|8b2c87c8|4|0|0|0|0|0|||0
Var #8B2C87F4|8b2c87f4|4|0|0|0|0|0|||0
Var #8B2C87F8|8b2c87f8|4|0|0|0|0|0|||0
Var #8B2C8808|8b2c8808|4|0|0|0|0|0|||0
Var #8B2C880C|8b2c880c|4|0|0|0|0|0|||0
Var #8B2C8A98|8b2c8a98|4|0|0|0|0|0|||0
Var #8B2C9BB0|8b2c9bb0|4|0|0|0|0|0|||0
Var #8B2C9BC8|8b2c9bc8|4|0|0|0|0|0|||0
Var #8B2C9C10|8b2c9c10|4|0|0|0|0|0|||0
Var #8B2C9C24|8b2c9c24|4|0|0|0|0|0|||0
Var #8B2C9C38|8b2c9c38|4|0|0|0|0|0|||0
Var #8B2C9C3C|8b2c9c3c|4|0|0|0|0|0|||0
Var #8B2C9C48|8b2c9c48|4|0|0|0|0|0|||0
Var #8B2C9C4C|8b2c9c4c|4|0|0|0|0|0|||0
Var #8B2C9C7C|8b2c9c7c|4|0|0|0|0|0|||0
Var #8B2C9C90|8b2c9c90|4|0|0|0|0|0|||0
Var #8B2C9C94|8b2c9c94|4|0|0|0|0|0|||0
Var #8B2C9CA0|8b2c9ca0|4|0|0|0|0|0|||0
Var #8B2C9CA4|8b2c9ca4|4|0|0|0|0|0|||0
Var #8B2C9CD4|8b2c9cd4|4|0|0|0|0|0|||0
Var #8B2C9CE8|8b2c9ce8|4|0|0|0|0|0|||0
Var #8B2C9CEC|8b2c9cec|4|0|0|0|0|0|||0
Var #8B2C9CF8|8b2c9cf8|4|0|0|0|0|0|||0
Var #8B2C9CFC|8b2c9cfc|4|0|0|0|0|0|||0
Var #8B2C9D2C|8b2c9d2c|4|0|0|0|0|0|||0
Var #8B2C9D40|8b2c9d40|4|0|0|0|0|0|||0
Var #8B2C9D44|8b2c9d44|4|0|0|0|0|0|||0
Var #8B2C9D50|8b2c9d50|4|0|0|0|0|0|||0
Var #8B2C9D54|8b2c9d54|4|0|0|0|0|0|||0
Var #8B2C9D84|8b2c9d84|4|0|0|0|0|0|||0
Var #8B2C9D98|8b2c9d98|4|0|0|0|0|0|||0
Var #8B2C9D9C|8b2c9d9c|4|0|0|0|0|0|||0
Var #8B2C9DA8|8b2c9da8|4|0|0|0|0|0|||0
Var #8B2C9DAC|8b2c9dac|4|0|0|0|0|0|||0
Var #8B2C9DDC|8b2c9ddc|4|0|0|0|0|0|||0
Var #8B2C9E34|8b2c9e34|4|0|0|0|0|0|||0
Var #8B2C9EB0|8b2c9eb0|4|0|0|0|0|0|||0
Var #8B2C9EC8|8b2c9ec8|4|0|0|0|0|0|||0
Var #8B2C9F38|8b2c9f38|4|0|0|0|0|0|||0
Var #8B2C9F3C|8b2c9f3c|4|0|0|0|0|0|||0
Var #8B2C9F90|8b2c9f90|4|0|0|0|0|0|||0
Var #8B2C9F94|8b2c9f94|4|0|0|0|0|0|||0
Var #8B2C9FEC|8b2c9fec|4|0|0|0|0|0|||0]])
gg.loadList("/sdcard/全防", gg.LOAD_VALUES)
os.remove("/sdcard/全防")
string.toMusic("开启过滤行为")
gg.alert("开启成功")
end
),
寒心.switch("过滤环境 [大厅]", function()
io.open("/sdcard/全防", "w+"):write([[
13880
Var #B8CD84DC|b8cd84dc|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|4dc
Var #B8CD8574|b8cd8574|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|574
Var #B8CD881C|b8cd881c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|81c
Var #B8CD883C|b8cd883c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|83c
Var #B8CD884C|b8cd884c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|84c
Var #B8CD885C|b8cd885c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|85c
Var #B8CD8864|b8cd8864|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|864
Var #B8CD886C|b8cd886c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|86c
Var #B8CD889C|b8cd889c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|89c
Var #B8CD89D8|b8cd89d8|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|9d8
Var #B8CD8A0C|b8cd8a0c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a0c
Var #B8CD8A6C|b8cd8a6c|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|a6c
Var #B8CD9B54|b8cd9b54|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b54
Var #B8CD9B94|b8cd9b94|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1b94
Var #B8CD9BA0|b8cd9ba0|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1ba0
Var #B8CD9BD0|b8cd9bd0|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1bd0
Var #B8CD9CE8|b8cd9ce8|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1ce8
Var #B8CD9CF4|b8cd9cf4|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1cf4
Var #B8CD9D00|b8cd9d00|4|0|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1d00
]])
gg.loadList("/sdcard/全防", gg.LOAD_VALUES)
os.remove("/sdcard/全防")
string.toMusic("过滤环境")
end
),
寒心.switch("内存防 [大厅]", function()
io.open("/sdcard/全防", "w+"):write([[
15716
Var #96EDF7B4|96edf7b4|4|0|0|0|0|0|||0
Var #96EDF7C4|96edf7c4|4|0|0|0|0|0|||0
Var #96EDF7DC|96edf7dc|4|0|0|0|0|0|||0
Var #96EDFD34|96edfd34|4|0|0|0|0|0|||0
Var #96EDFD8C|96edfd8c|4|0|0|0|0|0|||0
Var #96EDFDB4|96edfdb4|4|0|0|0|0|0|||0
Var #96EDFDCC|96edfdcc|4|0|0|0|0|0|||0
Var #96EDFDE8|96edfde8|4|0|0|0|0|0|||0
Var #96EDFE04|96edfe04|4|0|0|0|0|0|||0
Var #96EDFE28|96edfe28|4|0|0|0|0|0|||0
Var #96EDFE34|96edfe34|4|0|0|0|0|0|||0
Var #96EDFE44|96edfe44|4|0|0|0|0|0|||0
Var #96EDFE84|96edfe84|4|0|0|0|0|0|||0
Var #96EDFE94|96edfe94|4|0|0|0|0|0|||0
Var #96EDFE9C|96edfe9c|4|0|0|0|0|0|||0
Var #96EDFEC8|96edfec8|4|0|0|0|0|0|||0
Var #96EDFED4|96edfed4|4|0|0|0|0|0|||0
Var #96EDFEE8|96edfee8|4|0|0|0|0|0|||0
Var #96EDFEEC|96edfeec|4|0|0|0|0|0|||0
Var #96EDFF14|96edff14|4|0|0|0|0|0|||0
Var #96EDFF3C|96edff3c|4|0|0|0|0|0|||0
Var #96EDFF94|96edff94|4|0|0|0|0|0|||0
Var #96EDFFBC|96edffbc|4|0|0|0|0|0|||0
Var #BBEB2064|bbeb2064|4|0|0|0|0|0|rw-p|/data/data/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13064
Var #BBEB206C|bbeb206c|4|0|0|0|0|0|rw-p|/data/data/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|1306c
Var #BBEB2250|bbeb2250|4|0|0|0|0|0|rw-p|/data/data/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13250
Var #BBEB22E8|bbeb22e8|4|0|0|0|0|0|rw-p|/data/data/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|132e8
Var #BBEB2E78|bbeb2e78|4|0|0|0|0|0|rw-p|/data/data/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13e78
Var #BBEB2E84|bbeb2e84|4|0|0|0|0|0|rw-p|/data/data/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13e84
Var #BBEB2EC4|bbeb2ec4|4|0|0|0|0|0|rw-p|/data/data/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so:bss|13ec4
Var #C0A5A010|c0a5a010|4|dc541300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a010
Var #C0A5A028|c0a5a028|4|ec5b1300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a028
Var #C0A5A030|c0a5a030|4|d05d1300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a030
Var #C0A5A064|c0a5a064|4|c06c1300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a064
Var #C0A5A068|c0a5a068|4|e46d1300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a068
Var #C0A5A074|c0a5a074|4|74711300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a074
Var #C0A5A07C|c0a5a07c|4|d0731300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a07c
Var #C0A5A080|c0a5a080|4|c4751300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a080
Var #C0A5A084|c0a5a084|4|74771300|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2a084
Var #C0A5B2A4|c0a5b2a4|4|d8e31800|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b2a4
Var #C0A5B2A8|c0a5b2a8|4|74e51800|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b2a8
Var #C0A5B2B0|c0a5b2b0|4|d8e61800|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b2b0
Var #C0A5B2C0|c0a5b2c0|4|d8e91800|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b2c0
Var #C0A5B2CC|c0a5b2cc|4|d8eb1800|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b2cc
Var #C0A5B320|c0a5b320|4|d0001900|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b320
Var #C0A5B32C|c0a5b32c|4|d0031900|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b32c
Var #C0A5B330|c0a5b330|4|d8041900|0|0|0|0|rw-s|/system/fonts/MiLanProVF.ttf|2b330
]])
gg.loadList("/sdcard/全防", gg.LOAD_VALUES)
os.remove("/sdcard/全防")
string.toMusic("开启内存防")
end
),
寒心.switch("防追封[大厅界面必开]",
function()
io.open("/sdcard/.防追封","w+"):write([[
23277
Var #ADFAC868|adfac868|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f868
Var #ADFAC888|adfac888|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f888
Var #ADFAC890|adfac890|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f890
Var #ADFAC8A0|adfac8a0|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f8a0
Var #ADFAC8AC|adfac8ac|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f8ac
Var #ADFAC8B8|adfac8b8|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f8b8
Var #ADFAC8C4|adfac8c4|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f8c4
Var #ADFAC8D0|adfac8d0|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f8d0
Var #ADFAC90C|adfac90c|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f90c
Var #ADFAC92C|adfac92c|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f92c
Var #ADFAC978|adfac978|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f978
Var #ADFAC990|adfac990|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f990
Var #ADFAC9A4|adfac9a4|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f9a4
Var #ADFAC9B0|adfac9b0|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f9b0
Var #ADFAC9E0|adfac9e0|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7f9e0
Var #ADFACA08|adfaca08|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7fa08
Var #ADFACA1C|adfaca1c|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7fa1c
Var #ADFACA40|adfaca40|4|0|1|0|0|0|r-xp|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libunity.so|c7fa40
Var #B8AA00A8|b8aa00a8|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|a8
Var #B8AA00AC|b8aa00ac|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|ac
Var #B8AA00B0|b8aa00b0|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|b0
Var #B8AA00B4|b8aa00b4|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|b4
Var #B8AA00B8|b8aa00b8|4|ffffffff|1|0|0|0|rw-p|/data/user/0/com.bfire.da.nui/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|b8]])
gg.loadList("/sdcard/.防追封", gg.LOAD_VALUES_FREEZE)
os.remove("/sdcard/.防追封")
string.toMusic('大厅防追开启成功')
end),
寒心.switch("线下防追",
function()
io.open("/sdcard/.线下防追","w+"):write([[
20136
数据๑ C5A7A508|c5a7a508|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|334508
数据๑ C5A7A55C|c5a7a55c|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|33455c
数据๑ C5A7A568|c5a7a568|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|334568
数据๑ C5A7EC14|c5a7ec14|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|338c14
数据๑ C5A84FF0|c5a84ff0|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|33eff0
数据๑ C5A894E8|c5a894e8|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|3434e8
数据๑ C5A8A064|c5a8a064|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|344064
数据๑ C5A8A068|c5a8a068|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|344068
数据๑ C5A8A09C|c5a8a09c|4|ffffffff|0|0|0|0|r-xp|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|34409c
数据๑ C5B03F10|c5b03f10|4|ffffffff|0|0|0|0|rw-p|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|31f10
数据๑ C5B04578|c5b04578|4|ffffffff|0|0|0|0|rw-p|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|32578
数据๑ C5B047D0|c5b047d0|4|ffffffff|0|0|0|0|rw-p|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|327d0
数据๑ C5B047E8|c5b047e8|4|ffffffff|0|0|0|0|rw-p|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|327e8
数据๑ C5B06690|c5b06690|4|ffffffff|0|0|0|0|rw-p|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|34690
数据๑ C5B066E0|c5b066e0|4|ffffffff|0|0|0|0|rw-p|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|346e0
数据๑ C5B068B0|c5b068b0|4|ffffffff|0|0|0|0|rw-p|/data/user/0/com.Subway.parkour.framework/gameplugins/com.kiloo.subwaysurf/lib/libtersafe2.so|348b0]])
gg.loadList("/sdcard/.线下防追", gg.LOAD_VALUES_FREEZE)
os.remove("/sdcard/.线下防追")
gg.toast("可以退出游戏了")
gg.alert("请老板退出游戏")
end),
},{---第三页
寒心.button("保存数据",
function()
BL(0x2ccefbc,4,"~A B +0x1918")
BL(0xc04ad4,4,"~A B +0x1918")
BL(0xba1708,4,"~A B +0x1918")
gg.alert("保存数据开启成功")
string.toMusic("保存数据开启成功")
end),
寒心.box({"刷号拉满",
寒心.switch("人物全解",
function()
BL(0xbb30f0, 4, "~A MOVW R0, #1")
gg.alert(os.date"修改成功\n%Y年️%m月%d日%H:%M:%S"..bn)
gg.toast("人物全解成功")
string.toMusic('人物全解成功')
end),
寒心.switch("滑板全解",
function()
BL(0xbb40f4, 4, "~A MOVW R0, #1")
gg.alert(os.date"修改成功\n%Y年️%m月%d日%H:%M:%S"..bn)
gg.toast("滑板全解成功")
string.toMusic('滑板秒解成功')
end),
寒心.switch("背饰全解",
function()
BL(0xbde764, 4, "~A MOVW R0, #1")
gg.alert(os.date"修改成功\n%Y年️%m月%d日%H:%M:%S"..bn)
gg.toast("背饰全解成功")
string.toMusic('背饰全解成功')
end),
寒心.switch("皮肤秒解",
function()
BL(0xba52ac, 4, "~A MOVW R0, #1")
gg.alert(os.date"修改成功\n%Y年️%m月%d日%H:%M:%S"..bn)
gg.toast("皮肤秒解成功")
string.toMusic('皮肤秒解成功')
end),
寒心.switch("滑板技能秒解",
function()
BL(0xd261d0, 4, "~A MOVW R0, #1")
gg.alert(os.date"修改成功\n%Y年️%m月%d日%H:%M:%S"..bn)
gg.toast("滑板技能秒解成功")
string.toMusic('滑板技能秒解成功')
end),
寒心.switch("解锁头像框",
function()
BL(0x18fe544, 4, "~A MOV R0, #1")
gg.alert(os.date"修改成功\n%Y年️%m月%d日%H:%M:%S"..bn)
gg.toast("解锁头像框成功")
string.toMusic('解锁头像框成功')
end),
}),
寒心.box({"基础配置",
寒心.switch("解锁十倍得分",
function()
co = gg.prompt({"获得十倍得分","调出十倍得分"}, {}, {'checkbox',"checkbox","checkbox","checkbox"})
if co == nil then Main() end
if co[1] == true then
BL(0x14f2b0c, 4, "~A MOVW R0, #1")--获得
gg.toast("获得十倍得分成功")
string.toMusic('获得十倍得分成功')
end
if co[2] == true then
BL(0x2cfaf40, 4, "~A MOVW R0, #1")--调出
gg.toast("调出十倍得分成功")
string.toMusic('调出十倍得分成功')
end
end),
寒心.switch("金币人物",
function()
local LX1=gg.prompt({"请输入金币数量"},{""},{"text"})
local tb1 = {{99999, 0x0}, {-1, 0x14}, {1,0x34},}
local tb2 = {{0,0x30},{0,0x5C},{2,0x44},{LX1[1],0x2C},{0,0x3C},}
local dataType = 4--类型
gg.setRanges(32)
SearchWrite(tb1,tb2, dataType)
string.toMusic("寒心成功为您修改人物货币")
end),
寒心.switch("金币滑板",
function()
local LX2=gg.prompt({"请输入金币数量"},{""},{"text"})
local tb1 = {{99999, 0x0}, {-1, 0x18}, {1,0x34},{1,0x3C}}
local tb2 = {{0,0x68},{2,0x54},{0,0x3C},{0,0x30},{LX2[1],0x2C},}
local dataType = 4--类型
gg.setRanges(32)
SearchWrite(tb1,tb2, dataType)
string.toMusic("寒心成功为您修改滑板货币")
end),
寒心.switch("奖杯全满",
function()
function readPointer(name, offset, i)
local re = gg.getRangesList(name)
local x64 = gg.getTargetInfo().x64
local va = {[true] = 32, [false] = 4}
if re[i or 1] then
local addr = re[i or 1].start + offset[1]
for i = 2, #offset do
addr = gg.getValues({{address = addr, flags = va[x64]}})
if not x64 then
addr[1].value = addr[1].value & 0xFFFFFFFF
end
addr = addr[1].value + offset[i]
end
return addr
end
end
function gg.edits(addr, Table, name)
local Table1 = {{}, {}}
for k, v in ipairs(Table) do
local value = {address = addr + v[3], value = v[1], flags = v[2], freeze = v[4]}
if v[4] then
Table1[2][#Table1[2] + 1] = value
else
Table1[1][#Table1[1] + 1] = value
end
end
gg.addListItems(Table1[2])
gg.setValues(Table1[1])
gg.toast((name or "") .. "开启成功, 共修改" .. #Table .. "个值")
end
sm = gg.prompt({"输入你要的奖杯数量"},{"1500"},{"text"})
addr = readPointer("libil2cpp.so:bss",{ 0xA46A0 , 0x75C , 0x1D0 , 0x1230},1)
gg.edits(addr, {{0,4,0x10,true},{0,4,0x4,true},{sm[1],4,0x0,true}},"奖杯")
gg.toast("奖杯全满成功")
string.toMusic('奖杯全满成功')
end),
寒心.switch("奖杯一键领取",
function()
BL(0xc21518, 4, "~A MOVW R0, #1")
gg.toast("一键领取奖杯成功")
string.toMusic('一键领取奖杯成功')
end),
寒心.switch("解锁内购",
function()
BL(27312084, 4, "~AB +0x10E8C")
gg.toast("解锁内购成功")
string.toMusic('解锁内购成功')
end),
寒心.switch("解锁双倍金币",
function()
BL(0x1755b44, 4, "~A MOVW R0, #1")
gg.toast("解锁双倍金币成功")
string.toMusic('解锁双倍金币成功')
end),
寒心.switch("解锁微博",
function()
BL(0xb87e9c, 4, "~A MOVW R0, #1")
gg.toast("解锁微博成功")
string.toMusic('解锁微博成功')
end),
}),
寒心.box({
"修改数据",
寒心.switch("自定义金币",
function()
BL(0xB9D484,4,"~A MOVW R0, #"..gg.prompt({"金币数量"},{"5999"},{"text"})[1])--
string.toMusic("自定义金币开启成功")
end),
寒心.switch("自定义钥匙",
function()
BL(0xB9D830,4,"~A MOVW R0, #"..gg.prompt({"钥匙数量"},{"5999"},{"text"})[1])--
string.toMusic("自定义钥匙开启成功")
end),
寒心.switch("自定义宝钥匙",
function()
BL(0xBE704C,4,"~A MOVW R0, #"..gg.prompt({"宝物数量"},{"5999"},{"text"})[1])--
string.toMusic("自定义宝钥匙开启成功")
end),
寒心.switch("自定义等级",
function()
BL(0xBA133C,4,"~A MOVW R0, #"..gg.prompt({"等级数量"},{"5999"},{"text"})[1])--修改等级
string.toMusic("自定义等级开启成功")
end),
寒心.switch("自定义替换奖励",
function()
BL(0x1118adc, 4, "~A MOVW R0, #1"..gg.prompt({"0金币--1钥匙--3倍增--4喷射--22宝钥--奖杯25--人物10--滑板12---背饰14---相框9--金色钥匙27---26跑币"},{"1"},{"text"})[1])
gg.toast("自定义修改货币滑板成功")
string.toMusic('自定义修改货币滑板开启成功')
end),
}),
} , {
--------------以下是列表四
寒心.switch("断网模式",
function()
function BB(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
gg.alert("使用方法:道具赛开局开,到跳秒结束后关闭,一局一开")
BB(0x2ae18cc ,4,"~A MOVW R0, #1")--某人
gg.alert("断网状态开启成功")
end,
function()
function BB(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
BB(0x2ae18cc,4,"~A MOVW R0, #0")--某人
gg.alert("断网状态恢复成功")
end),
寒心.switch("一分40秒检测",
function()
BL(0x2d03400, 4, "~A MOVW R0, #1")
string.toMusic('一分40秒检测开启成功')
end),
寒心.box({"道具赛",
寒心.switch("无视碰撞", function()
BL(30910724, 4, "~A MOVW R0, #1")
string.toMusic("无视碰撞开启成功")
end
, function()
BL(30910724, 4, "~A MOVW R0, #0")
string.toMusic("无视碰撞关闭成功")
end
),
寒心.switch("防至道具", function()
BL(31696784, 4, "~A MOVW R0, #1")
string.toMusic("防至道具开启成功")
end
, function()
BL(31696784, 4, "~A MOVW R0, #0")
string.toMusic("防至道具关闭成功")
end
),
寒心.switch("无宝聚能", function()
BL(38480608, 4, "~A B -0x1C0")
string.toMusic("无宝聚能开启成功")
end
, function()
BL(38480608, 4, "~A MOVW R0, #0")
string.toMusic("无宝聚能关闭成功")
end
),
寒心.switch("重力聚能", function()
BL(30305644, 4, "~A B +0x19EC")
string.toMusic("重力聚能开启成功")
end
, function()
BL(30305644, 4, "~A MOVW R0, #0")
string.toMusic("重力聚能关闭成功")
end
),
寒心.switch("聚能倍增", function()
BL(15337176, 4, "~A B +0xE48080")
string.toMusic("聚能倍增开启成功")
end
, function()
BL(15337176, 4, "~A MOVW R0, #0")
string.toMusic("聚能倍增关闭成功")
end
),
寒心.switch("无视能量", function()
BL(30292072, 4, "~A MOVW R0, #0")
string.toMusic("无视能量开启成功")
end
, function()
BL(30292072, 4, "~A MOVW R0, #1")
string.toMusic("无视能量关闭成功")
end
),
寒心.switch("时间聚能", function()
co = gg.prompt({
"相机",
"校服",
"耳机",
"扇子"
}, {}, {
"checkbox",
"checkbox",
"checkbox",
"checkbox"
})
if co == nil then
Main()
end
if co[1] == true then
Name = "相机时间聚能"
ms.ss("3210", 4, 32)
ms.py(1, 4, 4)
ms.py(1, 4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(3, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 100, 4)
ms.edit(4.3, 96, 16)
ms.edit(1, 168, 16)
ms.edit(0, 152, 4)
ms.edit(4.3, 148, 16)
end
if co[2] == true then
Name = "校服时间聚能"
ms.ss("3110", 4, 32)
ms.py(1, 4, 4)
ms.py(1, 4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(3, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 100, 4)
ms.edit(4.2, 96, 16)
ms.edit(1, 168, 16)
ms.edit(0, 152, 4)
ms.edit(4.2, 148, 16)
end
if co[3] == true then
gg.clearResults()
Name = "耳机时间聚能"
ms.ss("3310", 4, 32)
ms.py(1, 4, 4)
ms.py(1, 4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(3, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 100, 4)
ms.edit(4.1, 96, 16)
ms.edit(1, 168, 16)
ms.edit(0, 152, 4)
ms.edit(4.1, 148, 16)
end
if co[4] == true then
gg.clearResults()
Name = "折扇一秒聚能"
ms.ss("2910", 4, 32)
ms.py(1, 4, 4)
ms.py(1, -4, 4)
ms.edit(0, 100, 16)
ms.edit(0, 168, 16)
ms.edit(0, 152, 16)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(1, 116, 16)
ms.edit(2, 148, 16)
ms.edit(1.1, 96, 16)
ms.edit(3, 76, 4)
gg.alert("折扇一秒一能量开启成功")
end
end
),
寒心.switch("自动聚能", function()
co = gg.prompt({
"相机",
"校服",
"扇子",
"卫衣"
}, {}, {
"checkbox",
"checkbox",
"checkbox",
"checkbox"
})
if co == nil then
Main()
end
if co[1] == true then
Name = "相机自动聚能"
ms.ss("3210", 4, 32)
ms.py(1, 4, 4)
ms.py(1, -4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(2, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 108, 4)
gg.alert("相机聚能成功")
end
if co[2] == true then
Name = "校服自动聚能"
ms.ss("3110", 4, 32)
ms.py(1, 4, 4)
ms.py(1, -4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(2, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 108, 4)
gg.alert("校服聚能成功")
end
if co[3] == true then
gg.clearResults()
Name = "扇子自动聚能"
ms.ss("2910", 4, 32)
ms.py(1, 4, 4)
ms.py(1, -4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(2, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 108, 4)
gg.alert("扇子聚能成功")
end
if co[4] == true then
gg.clearResults()
Name = "卫衣自动聚能"
ms.ss("3310", 4, 32)
ms.py(1, 4, 4)
ms.py(1, -4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(2, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 108, 4)
gg.alert("卫衣聚能成功")
end
end
)
}),
寒心.box({
"分数赛",
寒心.switch("倍增得分", function()
NM = gg.prompt({
"请输入需要修改的倍增分数\n推荐改300\n大厅界面开启否则卡退"
}, {
[1] = 300
}, {
[1] = "number"
})[1]
if not NM then
return
end
BL(12200688, 4, "~A MOVW\t R0, #" .. NM .. "")
string.toMusic("超级倍增开启成功")
end
, function()
local L0_97, L1_98
end
),
寒心.switch("速度起飞", function()
gg.addListItems({
{
address = S_Pointer({
"libunity.so:bss",
"Cb"
}, {33564, 236}),
flags = 16,
value = 30,
freeze = true
}
})
string.toMusic("速度起飞开启成功")
end
, function()
gg.addListItems({
{
address = S_Pointer({
"libunity.so:bss",
"Cb"
}, {33564, 236}),
flags = 16,
value = 1,
freeze = true
}
})
string.toMusic("速度起飞恢复成功")
end
),
寒心.switch("跳跃起飞", function()
BL(28404628, 4, "0100A0E3r")
string.toMusic("跳跃起飞开启成功")
end
)
}),
寒心.box({
"无尽赛",
寒心.switch("滑板滑翔", function()
BL(31293608, 4, "~A MOVW R0, #1")
string.toMusic("滑板滑翔开起成功")
end
, function()
BL(31293608, 4, "~A MOVW R0, #0")
string.toMusic("滑板滑翔关闭成功")
end
),
寒心.switch("滑板瞬移", function()
BL(31293976, 4, "~A MOVW R0, #1")
string.toMusic("滑板瞬移开起成功")
end
, function()
BL(31293976, 4, "~A MOVW R0, #0")
string.toMusic("滑板瞬移关闭成功")
end
),
寒心.switch("滑板极速", function()
BL(31293360, 4, "~A MOVW R0, #1")
string.toMusic("滑板极速开起成功")
end
, function()
BL(31293360, 4, "~A MOVW R0, #0")
string.toMusic("滑板极速关闭成功")
end
),
寒心.switch("正常双跳", function()
BL(28379444, 4, "~A MOVW R0, #1")
string.toMusic("正常双跳开起成功")
end
, function()
BL(28379444, 4, "~A MOVW R0, #0")
string.toMusic("正常双跳关闭成功")
end
),
寒心.switch("滑板高跳", function()
BL(31292616, 4, "~A MOVW R0, #1")
string.toMusic("滑板高跳开起成功")
end
, function()
BL(31292616, 4, "~A MOVW R0, #0")
string.toMusic("滑板高跳关闭成功")
end
),
寒心.switch("无限跳跃", function()
BL(28022280, 4, "~A MOVW R0, #1")
string.toMusic("无限跳跃开起成功")
end
, function()
BL(28022280, 4, "~A MOVW R0, #0")
string.toMusic("无限跳跃关闭成功")
end
),
寒心.switch("无尽不死", function()
BL(45434720, 4, "~A MOVW R0, #1")
string.toMusic("无尽不死开起成功")
end
, function()
BL(45434720, 4, "~A MOVW R0, #0")
string.toMusic("无尽不死关闭成功")
end
)
}),
寒心.box({
"对抗赛",
寒心.switch("自动聚能", function()
if gg.prompt({
"宝物等级[1;10]",
"相机",
"校服",
"卫衣",
"扇子"
}, nil, {
"number",
"checkbox",
"checkbox",
"checkbox",
"checkbox"
}) == nil then
do return end
return
end
if gg.prompt({
"宝物等级[1;10]",
"相机",
"校服",
"卫衣",
"扇子"
}, nil, {
"number",
"checkbox",
"checkbox",
"checkbox",
"checkbox"
})[2] == true then
if gg.prompt({
"宝物等级[1;10]",
"相机",
"校服",
"卫衣",
"扇子"
}, nil, {
"number",
"checkbox",
"checkbox",
"checkbox",
"checkbox"
})[1] == "10" then
Name = "相机自动聚能"
ms.ss("3210", 4, 32)
ms.py(1, 4, 4)
ms.py(1, -4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(2, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 108, 4)
ms.edit(0, 168, 4)
ms.edit(0, 152, 4)
ms.edit(999, 148, 4)
else
Name = "相机自动聚能"
ms.ss("320" .. gg.prompt({
"宝物等级[1;10]",
"相机",
"校服",
"卫衣",
"扇子"
}, nil, {
"number",
"checkbox",
"checkbox",
"checkbox",
"checkbox"
})[1], 4, 32)
ms.py(1, 4, 4)
ms.py(1, -4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(2, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 108, 4)
ms.edit(0, 168, 4)
ms.edit(0, 152, 4)
ms.edit(999, 148, 4)
end
elseif gg.prompt({
"宝物等级[1;10]",
"相机",
"校服",
"卫衣",
"扇子"
}, nil, {
"number",
"checkbox",
"checkbox",
"checkbox",
"checkbox"
})[3] == true then
if gg.prompt({
"宝物等级[1;10]",
"相机",
"校服",
"卫衣",
"扇子"
}, nil, {
"number",
"checkbox",
"checkbox",
"checkbox",
"checkbox"
})[1] == "10" then
Name = "校服自动聚能"
ms.ss("3110", 4, 32)
ms.py(1, 4, 4)
ms.py(1, -4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(2, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 108, 4)
ms.edit(0, 168, 4)
ms.edit(0, 152, 4)
ms.edit(999, 148, 4)
else
Name = "校服自动聚能"
ms.ss("310" .. gg.prompt({
"宝物等级[1;10]",
"相机",
"校服",
"卫衣",
"扇子"
}, nil, {
"number",
"checkbox",
"checkbox",
"checkbox",
"checkbox"
})[1], 4, 32)
ms.py(1, 4, 4)
ms.py(1, -4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(2, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 108, 4)
ms.edit(0, 168, 4)
ms.edit(0, 152, 4)
ms.edit(999, 148, 4)
end
elseif gg.prompt({
"宝物等级[1;10]",
"相机",
"校服",
"卫衣",
"扇子"
}, nil, {
"number",
"checkbox",
"checkbox",
"checkbox",
"checkbox"
})[4] == true then
if gg.prompt({
"宝物等级[1;10]",
"相机",
"校服",
"卫衣",
"扇子"
}, nil, {
"number",
"checkbox",
"checkbox",
"checkbox",
"checkbox"
})[1] == "10" then
Name = "卫衣自动聚能"
ms.ss("3010", 4, 32)
ms.py(1, 4, 4)
ms.py(1, -4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(2, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 108, 4)
ms.edit(0, 168, 4)
ms.edit(0, 152, 4)
ms.edit(999, 148, 4)
else
Name = "卫衣自动聚能"
ms.ss("300" .. gg.prompt({
"宝物等级[1;10]",
"相机",
"校服",
"卫衣",
"扇子"
}, nil, {
"number",
"checkbox",
"checkbox",
"checkbox",
"checkbox"
})[1], 4, 32)
ms.py(1, 4, 4)
ms.py(1, -4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(2, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 108, 4)
ms.edit(0, 168, 4)
ms.edit(0, 152, 4)
ms.edit(999, 148, 4)
end
elseif gg.prompt({
"宝物等级[1;10]",
"相机",
"校服",
"卫衣",
"扇子"
}, nil, {
"number",
"checkbox",
"checkbox",
"checkbox",
"checkbox"
})[5] == true then
if gg.prompt({
"宝物等级[1;10]",
"相机",
"校服",
"卫衣",
"扇子"
}, nil, {
"number",
"checkbox",
"checkbox",
"checkbox",
"checkbox"
})[1] == "10" then
Name = "扇子自动聚能"
ms.ss("2910", 4, 32)
ms.py(1, 4, 4)
ms.py(1, -4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(2, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 108, 4)
ms.edit(0, 168, 4)
ms.edit(0, 152, 4)
ms.edit(999, 148, 4)
else
Name = "扇子自动聚能"
ms.ss("290" .. gg.prompt({
"宝物等级[1;10]",
"相机",
"校服",
"卫衣",
"扇子"
}, nil, {
"number",
"checkbox",
"checkbox",
"checkbox",
"checkbox"
})[1], 4, 32)
ms.py(1, 4, 4)
ms.py(1, -4, 4)
ms.edit(0, 92, 4)
ms.edit(0, 80, 4)
ms.edit(2, 76, 4)
ms.edit(0, 116, 4)
ms.edit(0, 108, 4)
ms.edit(0, 168, 4)
ms.edit(0, 152, 4)
ms.edit(999, 148, 4)
end
end
end
)
})
},
{
寒心.button("停止播放",
function()
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("播放已停止")
gg.toast("无正在播放的音乐")
end),
寒心.box({"排行榜",
寒心.switch(
"热歌榜",--小功能名
function()
A="https://api.uomg.com/api/rand.music?sort=热歌榜&format=json"
Obtain=gg.makeRequest(A).content
muchen=Obtain:match('url":"(.-)","picurl')
name=Obtain:match('name":"(.-)","')
gg.alert('开始播放['..name..']')
gg.playMusic(muchen)
end
),
寒心.switch(
"新歌榜",
function()
A="https://api.uomg.com/api/rand.music?sort=新歌榜&format=json"
Obtain=gg.makeRequest(A).content
muchen=Obtain:match('url":"(.-)","picurl')
name=Obtain:match('name":"(.-)","')
gg.alert('开始播放['..name..']')
gg.playMusic(muchen)
end
), 寒心.switch(
"飙升榜",
function()
A="https://api.uomg.com/api/rand.music?sort=飙升榜&format=json"
Obtain=gg.makeRequest(A).content
muchen=Obtain:match('url":"(.-)","picurl')
name=Obtain:match('name":"(.-)","')
gg.alert('开始播放['..name..']')
gg.playMusic(muchen)
end
), 寒心.switch(
"抖音榜",
function()
A="https://api.uomg.com/api/rand.music?sort=抖音榜&format=json"
Obtain=gg.makeRequest(A).content
muchen=Obtain:match('url":"(.-)","picurl')
name=Obtain:match('name":"(.-)","')
gg.alert('开始播放['..name..']')
gg.playMusic(muchen)
end
),
寒心.switch(
"电音榜",
function()
A="https://api.uomg.com/api/rand.music?sort=电音榜&format=json"
Obtain=gg.makeRequest(A).content
muchen=Obtain:match('url":"(.-)","picurl')
name=Obtain:match('name":"(.-)","')
gg.alert('开始播放['..name..']')
gg.playMusic(muchen)
end
),
}),
寒心.box({"寒心推荐",
寒心.switch("救世主",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2006352556.mp3")
end,
function()
end
),
寒心.switch("难熬想你的夜",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2012328830.mp3")
end,
function()
end
),
寒心.switch("多远都要在一起",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1951474864.mp3")
end,
function()
end
),
寒心.switch("哪里都是你",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1876249163.mp3")
end,
function()
end
),
寒心.switch("歌词总诉离别",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2039157171.mp3")
end,
function()
end
),
寒心.switch("风里都是自由",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1989006499.mp3")
end,
function()
end
),
寒心.switch("无法停留的爱",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1979618737.mp3")
end,
function()
end
),
寒心.switch("醒着醉",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1810382853.mp3")
end,
function()
end
),
寒心.switch("你爱的那个Ta",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1917884690.mp3")
end,
function()
end
),
寒心.switch("太空旋律",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1895871919.mp3")
end,
function()
end
),
寒心.switch("旋律王专属",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1937506314.mp3")
end,
function()
end
),
寒心.switch("当寂寞遇上孤独",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2007996299.mp3")
end,
function()
end
),
寒心.switch("听完想跟阎王单挑的感觉",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2011458409.mp3")
end,
function()
end
),
寒心.switch("加拿大的男人不回家",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1813607580.mp3")
end,
function()
end
),
寒心.switch("心做x0.8",--功能名字 不可重复
function()
string.toMusic('正在为您播放0.8倍的心做请稍等')
gg.playMusic("http://wwww.1314love520.top/view.php/38cc4d69073c5210f09547a0b431240c.mp3")
end,
function()
end
),
寒心.switch("听悲伤的情歌",--功能名字 不可重复
function()
string.toMusic('正在为您播放听悲伤的情歌请稍等')
gg.playMusic("https://cccimg.com/view.php/5329bbf19c45597aca8e119c41349b24.flac")
end,
function()
end
),
寒心.switch("背上了行囊",--功能名字 不可重复
function()
string.toMusic('正在为您播放挂哥专属音乐背上了行囊请稍等')
gg.playMusic("https://cccimg.com/view.php/2f3aab5307713d69024fa685310c99a8.mp3")
end,
function()
end
),
寒心.switch("科目三",--功能名字 不可重复
function()
string.toMusic('正在为您播放科目三请稍等')
gg.playMusic("https://cccimg.com/view.php/a140dfa77221f0a12a5c43a21097fbce.mp3")
end,
function()
end
),
寒心.switch("时势造英雄",--功能名字 不可重复
function()
string.toMusic('正在为您播放时势造英雄请稍等')
gg.playMusic("https://p5.a.yximgs.com/ufile/atlas/NTIwMTA5NDcxMzU4NTYwNjUzOF8xNjczNjc3MDYYNzg2.m4a")
end,
function()
end
),
寒心.switch("魔征了",--功能名字 不可重复
function()
string.toMusic('正在为您播放魔怔了请稍等')
gg.playMusic("https://alimov2.a.kwimgs.com/upic/2023/04/22/15/BMjAyMzA0MjIxNTI2MTBfMTg0ODQxOTUyMl8xMDEyMjY4ODI1MjdfMl8z_b_B69017e137e765caecc53108f4cebff84.mp4?clientCacheKey=3xn9xxswfensfqi_b.mp4&tt=b&di=df684894&bp=10000")
end,
function()
end
),
寒心.switch("懒羊羊当大厨",--功能名字 不可重复
function()
string.toMusic('正在为您播放懒羊羊当大厨请稍等')
gg.playMusic("https://cccimg.com/view.php/eeacc08a64382d8f9f2c0cf5068283bb.mp3")
end,
function()
end
),
寒心.switch("年轮dj",--功能名字 不可重复
function()
string.toMusic('正在为您播放年轮dj版请稍等')
gg.playMusic("https://alimov2.a.kwimgs.com/upic/2023/05/04/15/BMjAyMzA1MDQxNTUxMTRfOTEyNjc3NzU5XzEwMjI2OTQ0MjMzNl8yXzM=_b_Ba18b2cb10f68240a26b8b0739ca06b2a.mp4?clientCacheKey=3xbfvvicq63dhvw_b.mp4&tt=b&di=df684894&bp=10000")
end,
function()
end
),
寒心.switch("My songs know what you did in the dark",--功能名字 不可重复
function()
string.toMusic('正在为您播放My songs know what you did in the dark请稍等')
gg.playMusic("https://cccimg.com/view.php/98f5ed7ca8f0f45aabc7b043752b30b0.mp3")
end,
function()
end
),
寒心.switch("Black_Magic",--功能名字 不可重复
function()
string.toMusic('正在为您播放Black_Magic请稍等')
gg.playMusic("https://cccimg.com/view.php/1ff9b98080a3747c5c1eb6e562ba984d.flac")
end,
function()
end
),
寒心.switch("老鼠MM",--功能名字 不可重复
function()
string.toMusic('正在为您播放老鼠MM请稍等')
gg.playMusic("https://cccimg.com/view.php/8848a8403ab2f82ed8c825ed87db6a40.flac")
end,
function()
end
),
寒心.switch("版权战歌",--功能名字 不可重复
function()
string.toMusic('正在为您播放版权战歌请稍等')
gg.playMusic("https://cccimg.com/view.php/8aaec2dc42af33bf27744ebabb5ae3b0.flac")
end,
function()
end
),
寒心.switch("一笑江湖dj",--功能名字 不可重复
function()
string.toMusic('正在为您播放一笑江湖请稍等')
gg.playMusic("https://cccimg.com/view.php/bca18d7e1ca9a6e4fca8df41cad16c46.mp3")
end,
function()
end
),
寒心.switch("晚风",--功能名字 不可重复
function()
string.toMusic('正在为您播放晚风请稍等')
gg.playMusic("http://www.1314love520.top/view.php/480f7bf07d7e7897d35898c1c05421ad.mp3")
end,
function()
end
),
寒心.switch("暗号-周杰伦",--功能名字 不可重复
function()
string.toMusic('正在为您播放周杰伦的暗号请稍等')
gg.playMusic("https://cccimg.com/view.php/8c6c32ea4d4d66e65186e396c966c6ae.flac")
end,
function()
end
),
寒心.switch("我知道你不爱我dj",--功能名字 不可重复
function()
string.toMusic('正在为您播放我知道你不爱我dj请稍等')
gg.playMusic("https://cccimg.com/view.php/026ee426b53e1e5467fe3b96e5c267e9.flac")
end,
function()
end
),
寒心.switch("886战歌",--功能名字 不可重复
function()
gg.playMusic("http://vip.wskig.top/view.php/5b8fd749f02f0dba9bb9813294abda58.mp3")
end,
function()
end
),
寒心.switch("懒羊羊当大厨",--功能名字 不可重复
function()
string.toMusic('正在为您播放懒羊羊当大厨请稍等')
gg.playMusic("https://cccimg.com/view.php/eeacc08a64382d8f9f2c0cf5068283bb.mp3")
end,
function()
end
),
寒心.switch("Darling",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1369034061.mp3")
end,
function()
end
),
寒心.switch("沉沦与遐想",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1363205817.mp3")
end,
function()
end
),
寒心.switch("你走以后3.0",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1948478077.mp3")
end,
function()
end
),
寒心.switch("异地恋 (我每天问一百次)",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1459232593.mp3")
end,
function()
end
),
寒心.switch("But U",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=28892408.mp3")
end,
function()
end
),
寒心.switch( "删了吧",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=28892408.mp3")
end,
function()
end
),
寒心.switch( "我的天空",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=29004400.mp3")
end,
function()
end
),
寒心.switch( "烟火里的尘埃",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1849998058.mp3")
end,
function()
end
),
寒心.switch( "22秒",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=32835565.mp3")
end,
function()
end
),
寒心.switch( "My Heart Will Go On",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=32835565.mp3")
end,
function()
end
),
寒心.switch("国王与乞丐", --功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=32835565.mp3")
end,
function()
end
),
寒心.switch( "可惜不是你",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1425587051.mp3")
end,
function()
end
),
寒心.switch( "南山南",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1426888943.mp3")
end,
function()
end
),
寒心.switch( "下雨天",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1431464716.mp3")
end,
function()
end
),
寒心.switch("晴天",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1429271155.mp3")
end,
function()
end
),
寒心.switch( "山海",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1431393883.mp3")
end,
function()
end
),
寒心.switch( "爱如火emo版",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2023200425.mp3")
end,
function()
end
),
寒心.switch("菲律宾没有雪",
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1440570723.mp3")
end
),
寒心.switch("最后的安排dj",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1905004937.mp3")
end
),
寒心.switch("老男孩",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1844441724.mp3")
end,
function()
end
),
寒心.switch("天若有情",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2057862033.mp3")
end,
function()
end
),
寒心.switch( "空城",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1423712898.mp3")
end,
function()
end
),
寒心.switch("做个狠人",--功能名字 不可重复
function()
gg.playMusic("http://vip.wskig.top/view.php/8230cefdeaabdace4778dd44477acf3c.mp3")
end,
function()
end
),
寒心.switch("兄弟们晚上好",--功能名字 不可重复
function()
gg.playMusic("http://vip.wskig.top/view.php/5b8fd749f02f0dba9bb9813294abda58.mp3")
end,
function()
end
),
寒心.switch("少羽战歌",--功能名字 不可重复
function()
gg.playMusic("http://ayangwp.icu/view.php/60cff163bdbadd24308628d00804dd7a.mp3")
end,
function()
end
),
寒心.switch("心做",--功能名字 不可重复
function()
gg.playMusic("http://ayangwp.icu/view.php/941841d6be10e0450d71a8af19d21cd0.mp3")
end,
function()
end
),
寒心.switch("旋律6.0",--功能名字 不可重复
function()
gg.playMusic("http://vip.wskig.top/view.php/7b18c0cee95533da5da8096209fd6990.mp3")
end,
function()
end
),
寒心.switch("江南",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1958405457.mp3")
end,
function()
end
),
寒心.switch("篝火者",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=518725853.mp3")
end,
function()
end
),
寒心.switch("爱如火原创",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1999552137.mp3")
end,
function()
end
),
寒心.switch("把回忆拼好给你",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1403318151.mp3")
end,
function()
end
),
寒心.switch("NUMB",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1388961672.mp3")
end,
function()
end
),
寒心.switch("脚踩底层b",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1369034061.mp3")
end,
function()
end
),
寒心.switch(" 放空",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1841002409.mp3")
end,
function()
end
),
寒心.switch("BABYDOLL",
function()
gg.playMusic("http://ayangwp.icu/view.php/e223994abf0ba2e7f73730952b28727f.mp3")
end,
function()
end
),
寒心.switch("我可以走我选择的路",
function()
gg.playMusic("http://vip.wskig.top/view.php/83f312142ab9d532b0a4a2ba3ad1605e.mp3")
end,
function()
end
),
寒心.switch("绝对空虚",
function()
gg.playMusic("http://vip.wskig.top/view.php/8472f3249dd884ff32bc5f82bc3933e7.mp3")
end,
function()
end
),
寒心.switch("背起了行囊",
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1972918129.mp3")
end,
function()
end
),
寒心.switch("岁月无声",
function()
gg.playMusic("http://vip.wskig.top/view.php/568b73906c212b7089940772b8051b64.mp3")
end,
function()
end
),
寒心.switch("苏六旋律",
function()
gg.playMusic("http://vip.wskig.top/view.php/e1f18f2c9fc5b27dcd8fe71a6ce3f72d.mp3")
end,
function()
end
),
寒心.switch("硬曲旋律",
function()
gg.playMusic("http://vip.wskig.top/view.php/7fa88fbdb53d97c3e405103dfbf2daa1.mp3")
end,
function()
end
),
寒心.switch("旋律硬曲",
function()
gg.playMusic("http://vip.wskig.top/view.php/6a379584c7bb6f350b6fc6d727594fc6.mp3")
end,
function()
end
),
寒心.switch("脚踩魔怔b",
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2027640152")
end,
function()
end
),
寒心.switch("我宝贝",
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1859660047")
end,
function()
end
),
寒心.switch("雾里",--功能名字 不可重复
function()
gg.playMusic("http://ayangwp.icu/view.php/8433d67ab4c8654c2b2a477e8df23a6d.mp3")
end,
function()
end
),
寒心.switch("哪里都是你",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=488249475.mp3")
end,
function()
end
),
寒心.switch("户籍还是道歉",
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2036791477")
end,
function()
end
),
寒心.switch("很任性",
function()
gg.playMusic("http://ayangwp.icu/view.php/2af18c999aea543347c7726a5999a06d.mp3")
end,
function()
end
),
寒心.switch("懒得回信息",
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2025482493")
end,
function()
end
),
寒心.switch("说好的幸福呢",
function()
gg.playMusic("https://t1.kugou.com/song.html?id=6iQKO83BcV3")
end,
function()
end
),
寒心.switch("雪dj",
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2034352565")
end,
function()
end
),
寒心.switch("无限月读",
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1947125887")
end,
function()
end
),
寒心.switch("忏悔录",--功能名字 不可重复
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1970396862.mp3")
end,
function()
end
),
}),
},{
tiaose(),
寒心.button("加入官方",
function ()
gg.QQgroup("3472977190")
end),
寒心.switch(
'音量键隐藏UI',
function()
音量键=true
end,
function()
音量键=false
end),
寒心.switch("退出",
function()
tuichu=1
print(os.date(content))
end),
},
})