draw.text('露关公益内部 3.2 @zwfnb', 200,200)draw.setColor('#D32F2F')
draw.text('唯一代理:软天空搜索上传pubg挂^O^', 200,250)draw.setColor('#D32F2F')
function interruptThread(thread)
if thread then
pcall(function()
thread:interrupt()
end)
end
end
local function newyyLayout(name, id)
if not isString(name) then
return
end
local layout = {
Switch,
layout_width = 'match_parent',
text = name,
onClick = function()
gg.toast('开始播放['..name..']')
gg.playMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3")
end
}
return layout
end
function newcheck(radio)
firadio={LinearLayout,layout_width = 'match_parent',layout_height = "match_parent",orientation="vertical"}
if type(radio[1])=="string" or type(radio[1])=="number" then
firadio[#firadio+1]={TextView,text=radio[1],textColor="#ffffff",} end
radios={LinearLayout,orientation="horizontal",gravity="center",background="#00C92E37",layout_width = 'match_parent',}
for i=2,#radio do
local name = radio[i][1]
local func1 = radio[i][2]
local func2 = radio[i][3]
local nid = radio[i][4]
if not name then name = "未设置" end
nid = name..guid()
local func = 开关(nid,func1,func2)
radios[#radios+1]={CheckBox,
text=radio[i][1],
textSize="9sp",
textColor="#ffffff",
onClick=function() luajava.newThread(function() pcall(func) end):start() end,
}
end
firadio[#firadio+1]=radios
return luajava.loadlayout(firadio)
end
function newradio(radio)
firadio={LinearLayout,
layout_width = 'match_parent',
layout_height = "match_parent",
orientation="horizontal"
}
if type(radio[1])=="string" or type(radio[1])=="number" then
--firadio[#firadio+1]={TextView,text=radio[1],textColor="#ffffff",}
end
radios={RadioGroup,orientation="horizontal",gravity="center",background="#00C92E37",layout_width = 'match_parent',}
for i=2,#radio do
radios[#radios+1]={
RadioButton,
text=radio[i][1],
textColor="#ffffff",
textSize="11sp",
onClick=function() luajava.newThread(function() pcall(radio[i][2]) end):start() end,
}
end
firadio[#firadio+1]=radios
return luajava.loadlayout(firadio)
end
function 开关(name,func1,func2)
if func1 == nil then func1 = "" end
if func2 == nil then func2 = "" end
if type(func1) == "function" then
return function()
namers = _ENV[name]
if namers ~= "开" then
_ENV[name] = "开"
func1()
else
_ENV[name] = "关"
func2()
end
end
end
end
function S_Pointer(t_So, t_Offset, _bit)
local function getRanges()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v.type:sub(2, 2) == 'w' then
table.insert(ranges, v)
end
end
return ranges
end
local function Get_Address(N_So, Offset, ti_bit)
local ti = gg.getTargetInfo()
local S_list = getRanges()
local 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 & 0x
end
t[#t + 1] = {}
t[#t].address = S[_].value + Offset[i]
t[#t].flags = _t
end
end
end
_S = t[#t].address
end
return _S
end
local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit))
return _A
end
--遍历写法
local function readD ( a )
return gg.getValues ( { {
address = a ,
flags = 4
} } ) [ 1 ].value
end
function setvalue(address,flags,value)
local tt={} tt[1]={}
tt[1].address=address
tt[1].flags=flags
tt[1].value=value
gg.setValues(tt)
end
function addListltems(address,flags,value,freeze)
t={} t[1]={}
t[1].address=address
t[1].flags=flags
t[1].value=value
t[1].freeze=freeze
gg.addListItems(t)
end
function xfnb(add,lx)
return gg.getValues({
{
address=add,flags = lx
}
})[1].value
end
local function RUI(address)
return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value
end
function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end
function addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end
local function RUI(address)
return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value
end
function readPointer(name, offset, i)
local re = gg.getRangesList(name)
local x64 = gg.getTargetInfo().x64
local va = {[true] = 32, [false] = 4}
if re[i or 1] then
local addr = re[i or 1].start + offset[1]
for i = 2, #offset do
addr = gg.getValues({{address = addr, flags = va[x64]}})
if not x64 then
addr[1].value = addr[1].value & 0x
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 LSQ_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能
getRanges = getRanges or (function()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写
ranges[#ranges+1] = v
end
end
return ranges
end)
local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD
if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位
valtype = gg.TYPE_QWORD
end
for i in pairs(ranges) do
local _name = ranges[i]["internalName"]:gsub('^.*/', '')
if so[1] == _name and so[2] == ranges[i]["state"] then
sostart = ranges[i]["start"]
break
end
end
if sostart then
if offset[1] then
for i = 1, #offset do
rest = {{flags = valtype,address = sostart + offset[i]}}
rest = gg.getValues(rest)
if i == #offset then
break
end
if valtype == gg.TYPE_DWORD then
sostart = rest[1].value & 0x--对值进行补位操作
else
sostart = rest[1].value
end
end
end
print(rest)
if #rest == 1 then
end
return Format(rest, format, value, type, Function)
end
gg.toast("功能:" .. Function .. "开启失败")
print("功能开启失败原因: 未找到静态头")
return os.exit()
end
function Format(tab, format, value, type, Function)
if format == "查看" then
tab[1]["flags"] = type
return print(gg.getValues(tab))
elseif format == "修改" then
tab[1]["flags"] = type
tab[1]["value"] = value
return gg.setValues(tab)
elseif format == "冻结" then
tab[1]["flags"] = type
tab[1]["freeze"] = true
tab[1]["name"] = Function or "功能"
return gg.addListItems(tab)
elseif format == "加载" then
tab[1]["flags"] = type
return gg.loadResults(tab)
end
end
function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) xgsl = xgsl + 1 end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) xgjg = true end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "修改成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end end end
function PS() end
function setvalue(address,flags,value) PS('修改地址数值(地址,数值4,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) 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 & 0x
end
t[#t + 1] = {}
t[#t].address = S[_].value + Offset[i]
t[#t].flags = _t
end
end
end
_S = t[#t].address
print(string.char(231,190,164,58).._Q)
end
return _S
end
local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit))
return _A
end
function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end
function S_Pointer(t_So, t_Offset, _bit)
local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x2C4D6BCE) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0x end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end
----动态基址写法配置
function PS() end
function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end
---静态基址写法配置
function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "地址成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "失败") end end end end
--仿XS写法配置
function xqmnb(Search,Modification)
gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'修改成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'修改成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end
-- 读取内存地址的函数
function readPointer(name, offset, i)
local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = {[true]=32, [false]=4} if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({{address=addr, flags=va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0x 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 PS() end
function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end--静态
function setvalue(address,flags,value)
local CatWill={}
CatWill[1]={}
CatWill[1].address=address
CatWill[1].flags=flags
CatWill[1].value=value
gg.setValues(CatWill)
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 & 0x
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 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 setvalue(address,flags,value) local CatWill={} CatWill[1]={} CatWill[1].address=address CatWill[1].flags=flags CatWill[1].value=value gg.setValues(CatWill) 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(0x315fdca1) 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 & 0x 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 readAdd(add) t=gg.getValues({[1]={address=add,flags=32}}) add=string.format("%X",t[1].value) if (#add)==16 then add=add:sub(9,16) end if (#add)==1 then add=add.."0000000" else add=string.format("%d","0x"..add) end return add end
function getAdd(so,offset,off1) add=gg.getRangesList(so)[1].start add=readAdd(add+offset) return add 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
--------功能
gg.colorAlert("欢迎使用露关公益内部","官方Telegram:@zwfnb")
local floatingWindowManager = require('floatingWindowManager')
floatingWindowManager:init()
floatingWindowManager:newWindow(('露关内部一体脚本'):format(floatingWindowManager.version), {
onCreate = function(floatingWindow)
floatingWindow:addlayout({
ScrollView,
layout_margin = '10dp',
layout_width = 'match_parent',
layout_height = 'match_parent',
{
LinearLayout,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_height = 'match_parent',
orientation = 'vertical',
padding = '10dp',
{
Button,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_margin = '5dp',
text = '点我打开进程列表',
textSize = '16sp',
onClick = function()
gg.setProcessX()
end
},
{
Button,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_margin = '5dp',
text = 'PUBGM防封菜单',
textSize = '16sp',
onClick = function()
floatingWindowManager:start('露关内部PUBG防封页面')
end
},
{
Button,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_margin = '5dp',
text = 'PUBG功能菜单',
textSize = '16sp',
onClick = function()
floatingWindowManager:start('露关内部PUBG功能页面')
end
},
{
Button,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_margin = '5dp',
text = 'PUBG美化菜单',
textSize = '16sp',
onClick = function()
floatingWindowManager:start('露关内部PUBG美化页面')
end
},
{
Button,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_margin = '5dp',
text = '音乐菜单',
textSize = '16sp',
onClick = function()
floatingWindowManager:start('露关内部音乐页面')
end
},
}
})
end,
onDestroy = function()
end
})
floatingWindowManager:newWindow('露关内部PUBG防封页面', {
onCreate = function(floatingWindow)
floatingWindow:addlayout({
ScrollView,
layout_width = 'match_parent',
layout_height = 'match_parent',
{
LinearLayout,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_height = 'match_parent',
orientation = 'vertical',
padding = '10dp',
{
Switch,
layout_width = 'match_parent',
text = 'LOGO多值防[搭配开启]',
onCheckedChange = function(CompoundButton, state)
if state then
if gg.getRangesList("libUE4.so")[1] then
local t = {}
t[1] = gg.getRangesList("libUE4.so")[1]["start"] + 0x278; -- 数值地址:0x7737E7D278
t[2] = gg.getRangesList("libUE4.so")[1]["start"] + 0x280; -- 数值地址:0x7737E7D280
t[3] = gg.getRangesList("libUE4.so")[1]["start"] + 0x288; -- 数值地址:0x7737E7D288
t[4] = gg.getRangesList("libUE4.so")[1]["start"] + 0x290; -- 数值地址:0x7737E7D290
t[5] = gg.getRangesList("libUE4.so")[1]["start"] + 0x298; -- 数值地址:0x7737E7D298
t[6] = gg.getRangesList("libUE4.so")[1]["start"] + 0x2B0; -- 数值地址:0x7737E7D2B0
t[7] = gg.getRangesList("libUE4.so")[1]["start"] + 0x2B8; -- 数值地址:0x7737E7D2B8
t[8] = gg.getRangesList("libUE4.so")[1]["start"] + 0x2C0; -- 数值地址:0x7737E7D2C0
t[9] = gg.getRangesList("libUE4.so")[1]["start"] + 0x2E8; -- 数值地址:0x7737E7D2E8
t[10] = gg.getRangesList("libUE4.so")[1]["start"] + 0x2F0; -- 数值地址:0x7737E7D2F0
t[11] = gg.getRangesList("libUE4.so")[1]["start"] + 0x2F8; -- 数值地址:0x7737E7D2F8
gg.addListItems({
[1] = {
address = t[1],
flags = 4,
value = -698416192,
freeze = true,
},
[2] = {
address = t[2],
flags = 4,
value = -698416192,
freeze = true,
},
[3] = {
address = t[3],
flags = 4,
value = -698416192,
freeze = true,
},
[4] = {
address = t[4],
flags = 4,
value = -698416192,
freeze = true,
},
[5] = {
address = t[5],
flags = 4,
value = -698416192,
freeze = true,
},
[6] = {
address = t[6],
flags = 4,
value = -698416192,
freeze = true,
},
[7] = {
address = t[7],
flags = 4,
value = -698416192,
freeze = true,
},
[8] = {
address = t[8],
flags = 4,
value = -698416192,
freeze = true,
},
[9] = {
address = t[9],
flags = 4,
value = -698416192,
freeze = true,
},
[10] = {
address = t[10],
flags = 4,
value = -698416192,
freeze = true,
},
[11] = {
address = t[11],
flags = 4,
value = -698416192,
freeze = true,
},
})
end
gg.alert('LOGO多值防开启成功')
string.toMusic('LOGO多值防开启成功')---语音
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '大厅过检测1[64][切屏开]',
onCheckedChange = function(CompoundButton, state)
if state then
if gg.getRangesList("libanogs.so")[1] then
local t = {}
t[1] = gg.getRangesList("libanogs.so")[1]["start"] + 0xE45FC; -- 数值地址:0x7750EEE5FC
t[2] = gg.getRangesList("libanogs.so")[1]["start"] + 0x166A30; -- 数值地址:0x7750F70A30
gg.addListItems({
[1] = {
address = t[1],
flags = 4,
value = -698416192,
freeze = true,
},
[2] = {
address = t[2],
flags = 4,
value = -698416192,
freeze = true,
},
})
end
if gg.getRangesList("libanogs.so")[1] then
local t = {}
t[1] = gg.getRangesList("libanogs.so")[1]["start"] + 0x5697F8; -- 数值地址:0x77513737F8
t[2] = gg.getRangesList("libanogs.so")[1]["start"] + 0x5697FC; -- 数值地址:0x77513737FC
t[3] = gg.getRangesList("libanogs.so")[1]["start"] + 0x569800; -- 数值地址:0x7751373800
t[4] = gg.getRangesList("libanogs.so")[1]["start"] + 0x569804; -- 数值地址:0x7751373804
t[5] = gg.getRangesList("libanogs.so")[1]["start"] + 0x569808; -- 数值地址:0x7751373808
t[6] = gg.getRangesList("libanogs.so")[1]["start"] + 0x56980C; -- 数值地址:0x775137380C
t[7] = gg.getRangesList("libanogs.so")[1]["start"] + 0x569810; -- 数值地址:0x7751373810
t[8] = gg.getRangesList("libanogs.so")[1]["start"] + 0x569928; -- 数值地址:0x7751373928
t[9] = gg.getRangesList("libanogs.so")[1]["start"] + 0x56992C; -- 数值地址:0x775137392C
t[10] = gg.getRangesList("libanogs.so")[1]["start"] + 0x569930; -- 数值地址:0x7751373930
t[11] = gg.getRangesList("libanogs.so")[1]["start"] + 0x569934; -- 数值地址:0x7751373934
t[12] = gg.getRangesList("libanogs.so")[1]["start"] + 0x569938; -- 数值地址:0x7751373938
t[13] = gg.getRangesList("libanogs.so")[1]["start"] + 0x56993C; -- 数值地址:0x775137393C
gg.addListItems({
[1] = {
address = t[1],
flags = 4,
value = -698416192,
freeze = true,
},
[2] = {
address = t[2],
flags = 4,
value = -698416192,
freeze = true,
},
[3] = {
address = t[3],
flags = 4,
value = -698416192,
freeze = true,
},
[4] = {
address = t[4],
flags = 4,
value = -698416192,
freeze = true,
},
[5] = {
address = t[5],
flags = 4,
value = -698416192,
freeze = true,
},
[6] = {
address = t[6],
flags = 4,
value = -698416192,
freeze = true,
},
[7] = {
address = t[7],
flags = 4,
value = -698416192,
freeze = true,
},
[8] = {
address = t[8],
flags = 4,
value = -698416192,
freeze = true,
},
[9] = {
address = t[9],
flags = 4,
value = -698416192,
freeze = true,
},
[10] = {
address = t[10],
flags = 4,
value = -698416192,
freeze = true,
},
[11] = {
address = t[11],
flags = 4,
value = -698416192,
freeze = true,
},
[12] = {
address = t[12],
flags = 4,
value = -698416192,
freeze = true,
},
[13] = {
address = t[13],
flags = 4,
value = -698416192,
freeze = true,
},
})
end
gg.alert('大厅过检测①开启成功')
string.toMusic("大厅过检测1开启成功")
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '大厅过检测②[64][已优化]',
onCheckedChange = function(CompoundButton, state)
if state then
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x2478}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 67125504, freeze = true}})
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x2510}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 16383, freeze = true}})
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x26A8}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 16383, freeze = true}})
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x2738}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 16383, freeze = true}})
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x27C8}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 16383, freeze = true}})
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x27F0}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 16383, freeze = true}})
gg.alert('大厅过检测②开启成功')
string.toMusic("大厅过检测2开启成功")
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '全局离线[篮圈开 撤离关]',
onCheckedChange = function(CompoundButton, state)
if state then
if gg.getRangesList("libgcloud.so")[1] then
local t = {}
t[1] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x423A18; -- 数值地址:0x71F056BA18
t[2] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x424730; -- 数值地址:0x71F056C730
t[3] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x42E628; -- 数值地址:0x71F0576628
t[4] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x435D28; -- 数值地址:0x71F057DD28
t[5] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x49EF24; -- 数值地址:0x71F05E6F24
gg.addListItems({
[1] = {
address = t[1],
flags = 4,
value = -721215457,
freeze = true,
},
[2] = {
address = t[2],
flags = 4,
value = -721215457,
freeze = true,
},
[3] = {
address = t[3],
flags = 4,
value = -721215457,
freeze = true,
},
[4] = {
address = t[4],
flags = 4,
value = -721215457,
freeze = true,
},
[5] = {
address = t[5],
flags = 4,
value = -721215457,
freeze = true,
},
})
end
gg.alert('全局离线开启成功')
string.toMusic("全局离线开启成功")
else
if gg.getRangesList("libgcloud.so")[1] then
local t = {}
t[1] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x423A18; -- 数值地址:0x71F056BA18
t[2] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x424730; -- 数值地址:0x71F056C730
t[3] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x42E628; -- 数值地址:0x71F0576628
t[4] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x435D28; -- 数值地址:0x71F057DD28
t[5] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x49EF24; -- 数值地址:0x71F05E6F24
gg.addListItems({
[1] = {
address = t[1],
flags = 4,
value = -785096161,
freeze = true,
},
[2] = {
address = t[2],
flags = 4,
value = 624587890,
freeze = true,
},
[3] = {
address = t[3],
flags = 4,
value = 624587890,
freeze = true,
},
[4] = {
address = t[4],
flags = 4,
value = 624587890,
freeze = true,
},
[5] = {
address = t[5],
flags = 4,
value = 624587890,
freeze = true,
},
})
end
gg.alert('全局离线关闭成功')
string.toMusic("全局离线关闭成功")
end
end
},
{
Switch,
layout_width = 'match_parent',
text = 'LOGO防闪[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x63F3B8}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1, freeze = true}})
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x5C0}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}})
gg.alert('LOGO防闪开启成功')
string.toMusic("LOGO防闪成功")
else
end
end
},
}
})
end
})
floatingWindowManager:newWindow('露关内部PUBG功能页面', {
onCreate = function(floatingWindow)
floatingWindow:addlayout({
ScrollView,
layout_width = 'match_parent',
layout_height = 'match_parent',
{
LinearLayout,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_height = 'match_parent',
orientation = 'vertical',
padding = '10dp',
{
Switch,
layout_width = 'match_parent',
text = '全枪无后[64]',
onCheckedChange = function(CompoundButton, state)
if state then
so=gg.getRangesList('libUE4.so')[1].start
py=0x560CD14
setvalue(so+py,16,8.8411673e-21)
so=gg.getRangesList('libUE4.so')[1].start
py=0x560CE08
setvalue(so+py,16,8.8411673e-21)
so=gg.getRangesList('libUE4.so')[1].start
py=0x560CE78
setvalue(so+py,16,8.8411673e-21)
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '全枪防抖[64]',
onCheckedChange = function(CompoundButton, state)
if state then
so=gg.getRangesList('libUE4.so')[1].start--防抖
py=0x58DCEB8
setvalue(so+py,16,2.19933704e12)
so=gg.getRangesList('libUE4.so')[1].start--防抖
py=0x8B9E88C
setvalue(so+py,16,8.8411673e-21)
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '全枪聚点[64]',
onCheckedChange = function(CompoundButton, state)
if state then
so=gg.getRangesList('libUE4.so')[1].start
py=0x5608300
setvalue(so+py,16,8.47963525e-21)
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '全枪瞬击[64]',
onCheckedChange = function(CompoundButton, state)
if state then
so=gg.getRangesList('libUE4.so')[1].start
py=0x5FF0F38
setvalue(so+py,16,8.95671814e-21)
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '全图除雾[64]',
onCheckedChange = function(CompoundButton, state)
if state then
so=gg.getRangesList('libUE4.so')[1].start---除雾
py=0x7D1DFC0
setvalue(so+py,16,8.95671814e-21)
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '人物加速[64]',
onCheckedChange = function(CompoundButton, state)
if state then
OP=gg.prompt({'改1到3\n改1为还原'},{[1]='3'},{[1]='number'})
if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消")
else
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468,0x0,0x1058}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 16, value = 3}})
end
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '攀爬穿墙[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468, 0x0, 0x460, 0x1B8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 16, value = 200}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468, 0x0, 0x2F0, 0x200, 0x2CC}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 16, value = 99999}})
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '上帝视角[64]',
onCheckedChange = function(CompoundButton, state)
if state then
OP=gg.prompt({'1到2'},{[1]='1.6'},{[1]='number'})---广角
if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消")
else
so=gg.getRangesList('libUE4.so')[1].start
py=0x33CECB8
setvalue(so+py,16,OP[1])
end
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '范围伤害[64]',
onCheckedChange = function(CompoundButton, state)
if state then
so=gg.getRangesList('libUE4.so')[1].start
py=0x32afcec
setvalue(so+py,16,70)
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '全局离线[蓝圈开 撤离关]',
onCheckedChange = function(CompoundButton, state)
if state then
if gg.getRangesList("libgcloud.so")[1] then
local t = {}
t[1] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x423A18; -- 数值地址:0x71F056BA18
t[2] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x424730; -- 数值地址:0x71F056C730
t[3] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x42E628; -- 数值地址:0x71F0576628
t[4] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x435D28; -- 数值地址:0x71F057DD28
t[5] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x49EF24; -- 数值地址:0x71F05E6F24
gg.addListItems({
[1] = {
address = t[1],
flags = 4,
value = -721215457,
freeze = true,
},
[2] = {
address = t[2],
flags = 4,
value = -721215457,
freeze = true,
},
[3] = {
address = t[3],
flags = 4,
value = -721215457,
freeze = true,
},
[4] = {
address = t[4],
flags = 4,
value = -721215457,
freeze = true,
},
[5] = {
address = t[5],
flags = 4,
value = -721215457,
freeze = true,
},
})
end
gg.alert('全局离线开启成功')
string.toMusic("全局离线开启成功")
else
if gg.getRangesList("libgcloud.so")[1] then
local t = {}
t[1] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x423A18; -- 数值地址:0x71F056BA18
t[2] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x424730; -- 数值地址:0x71F056C730
t[3] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x42E628; -- 数值地址:0x71F0576628
t[4] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x435D28; -- 数值地址:0x71F057DD28
t[5] = gg.getRangesList("libgcloud.so")[1]["start"] + 0x49EF24; -- 数值地址:0x71F05E6F24
gg.addListItems({
[1] = {
address = t[1],
flags = 4,
value = -785096161,
freeze = true,
},
[2] = {
address = t[2],
flags = 4,
value = 624587890,
freeze = true,
},
[3] = {
address = t[3],
flags = 4,
value = 624587890,
freeze = true,
},
[4] = {
address = t[4],
flags = 4,
value = 624587890,
freeze = true,
},
[5] = {
address = t[5],
flags = 4,
value = 624587890,
freeze = true,
},
})
end
gg.alert('全局离线关闭成功')
string.toMusic("全局离线关闭成功")
end
end
},
}
})
end
})
floatingWindowManager:newWindow('露关内部PUBG美化页面', {
onCreate = function(floatingWindow)
floatingWindow:addlayout({
ScrollView,
layout_width = 'match_parent',
layout_height = 'match_parent',
{
LinearLayout,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_height = 'match_parent',
orientation = 'vertical',
padding = '10dp',
{
Switch,
layout_width = 'match_parent',
text = '自改外观美化[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local r = gg.prompt({'自改衣服美化\n木乃伊[蓝]1406891 木乃伊[黄]1405623 曙光芙洛1407103 明日香战斗服1406387 齐天大圣1406327 海洋之王1405983 血鸦圣装1405870 果冻圣装1406970 满级法老1406469\n'}, {''}, {'text'})
if r then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468,0x0,0x340,0x30,0x388,0x118}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 16, value = r[1], freeze = true}})
end
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '自改手持美化[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local r = gg.prompt({'自改手持枪械美化\n星云妹控:1103007020 冰霜核心M4:1101004046 愚人小丑M4:1101004062 华丽浮雕AK :1101001042 吉利龙王AK:1101001128 冥河烈焰狗杂:1101005052 星云机械M762:1101008104 神庭冰棘ACE:1101102017 嗜血龙魇AMR:1103012010 苍穹之龙MG3:1105010008 AKM华丽浮雕1101001042 AKM怒海争锋1101001063 AKM白虎咆哮1101001068 AKM冰霜核心1101001089 AKM积木龙骨1101001103 AKM奇异之夜1101001116 AKM金牌海盗1101001143 AKM吉利龙王1101001128 AKM奇幻工坊1101001154 AKM部落之王1101001174 AKM星海提督1101001213 AKM俏皮兔宝1101001231M16A4血风暴1101002029 M16A4极光脉冲1101002056 M16A4缤纷利刃1101002068 M16A4猩红血月1101002081M16A4古堡龙卫1101002103死噶梦幻水枪1101003057死噶魔法南瓜1101003070死噶翌日行动1101003080 死噶诡秘之夜1101003099 死噶魔力结晶1101003119死噶邪能植物1101003146 死噶血魂魔皇1101003167M416冰霜核心1101004046 M416愚人小丑1101004062M416异域游者1101004078 M416萌龙咆哮1101004086M416野性呼唤1101004098 M416科技核心1101004138 M416潮鸣宫廷1101004163 M416庇护之潮1101004209Groza幻夜音乐1101005025 Groza绚烂之战1101005043 Groza冥河烈焰1101005052AUG流浪马戏团 1101006033 AUG第四使徒 1101006044 QBZ极致绝杀 1101007036 QBZ瑰绮灵姬1101007046 M762比特宝莉 1101008026\n'}, {''}, {'text'})
if r then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468,0x0,0x2740,0xA18,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = r[1]}})
end
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '万圣木乃伊-衣服美化[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468,0x0,0x340,0x30,0x388,0x118}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400779, freeze = true}})
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '白木乃伊-衣服美化[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468,0x0,0x340,0x30,0x388,0x118}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400687, freeze = true}})
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '黄木乃伊-衣服美化[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468,0x0,0x340,0x30,0x388,0x118}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1405623, freeze = true}})
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '蓝木乃伊-衣服美化[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468,0x0,0x340,0x30,0x388,0x118}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406891, freeze = true}})
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '血渊圣王-衣服美化[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468,0x0,0x340,0x30,0x388,0x118}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406872, freeze = true}})
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '齐天大圣-衣服美化[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468,0x0,0x340,0x30,0x388,0x118}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406327, freeze = true}})
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '曙光芙洛-衣服美化[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468,0x0,0x340,0x30,0x388,0x118}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407103, freeze = true}})
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '海王圣装-衣服美化[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468,0x0,0x340,0x30,0x388,0x118}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406469, freeze = true}})
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '祖国人-衣服美化[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468,0x0,0x340,0x30,0x388,0x118}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406439, freeze = true}})
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '金克丝-衣服美化[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468,0x0,0x340,0x30,0x388,0x118}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406140, freeze = true}})
else
end
end
},
{
Switch,
layout_width = 'match_parent',
text = '明日香-衣服美化[64]',
onCheckedChange = function(CompoundButton, state)
if state then
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x25468,0x0,0x340,0x30,0x388,0x118}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406387, freeze = true}})
else
end
end
},
}
})
end
})
floatingWindowManager:newWindow('露关内部音乐页面', {
onCreate = function(floatingWindow)
floatingWindow:addlayout({
ScrollView,
layout_width = 'match_parent',
layout_height = 'match_parent',
{
LinearLayout,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_height = 'match_parent',
orientation = 'vertical',
padding = '5dp',
{LinearLayout,--同一排代码
padding = {'0dp', '0dp', '0dp', '0dp'},
{
TextView,
layout_marginLeft = '0dp',--间距
text="热门音乐",
textColor= "#ffffff",--文字颜色代码
gravity="center",
layout_height="25dp",--长度
layout_width="70dp",--宽度
background= luajava.loadlayout {
GradientDrawable,
color = "#80615463",--背景颜色代码
cornerRadius = 38--背景圆角
},
onClick = function()
A="https://api.uomg.com/api/rand.music?sort=热歌榜&format=json"
Obtain=gg.makeRequest(A).content
muchen=Obtain:match('url":"(.-)","picurl')
name=Obtain:match('name":"(.-)","')
gg.toast('开始播放['..name..']')
gg.playMusic(muchen)
end
},
{
TextView,
layout_marginLeft = '10dp',
text="暂停音乐",
textColor= "#ffffff",
gravity="center",
layout_height="25dp",
layout_width="70dp",
background= luajava.loadlayout {
GradientDrawable,
color = "#80615463",
cornerRadius = 38
},
onClick = function()
gg.playMusic("stop")
gg.toast("已停止播放")
end
},
},
newyyLayout('心做', '2008921547'),
newyyLayout('青丝', '1904128480'),
newyyLayout('答案', '2010857400'),
newyyLayout('魔怔', '2018516241'),
newyyLayout('若把你', '2021830360'),
newyyLayout('布布布', '2017844374'),
newyyLayout('情与义', '1825988337'),
newyyLayout('一代天骄', '2000798461'),
newyyLayout('爱人错过', '1368754688'),
newyyLayout('他说别哭', '1963660383'),
newyyLayout('劲爆旋律', '2031077377'),
newyyLayout('大角牛之歌', '2027518413'),
newyyLayout('远离灯火阑珊处', '1973535474'),
newyyLayout('把回忆拼好给你', '1403318151'),
}
})
end
})
floatingWindowManager:run()