-- ==============================================
-- 仿苍狼悬浮窗UI模板
-- ==============================================
-- 语音TTS函数封装
local function TipVoice(text)
local ttsUrl = "https://fanyi.baidu.com/gettts?lan=zh&text="..text.."&spd=5&source=wise"
pcall(gg.playMusic, ttsUrl)
end
-- ======================全部U7国体功能函数======================
-- ===================== 悬浮窗管理器初始化 =====================
local floatingWindowManager = require('floatingWindowManager')
floatingWindowManager:init()
-- ===================== 窗口1:游戏工具主面板 =====================
floatingWindowManager:newWindow('晴空国体', {
onCreate = function(floatingWindow)
floatingWindow:addlayout({
ScrollView,
layout_margin = '0dp',
layout_width = 'match_parent',
layout_height = 'match_parent',
{
LinearLayout,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_height = 'match_parent',
orientation = 'vertical',
padding = '6dp',
{
Button,
background = {GradientDrawable, cornerRadius='20dp', color='#50000000'},
layout_width = 'match_parent',
layout_margin = '1dp',
text = '选择游戏进程',
textSize = '13sp',
textColor= "#01FFFF",
onClick = function()
gg.setProcessX()
TipVoice("晴空没78")
end
},
{
Button,
background = {GradientDrawable, cornerRadius='20dp', color='#50000000'},
layout_width = 'match_parent',
layout_margin = '1dp',
text = '防闪退',
textSize = '13sp',
textColor= "#01FFFF",
onClick = function()
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 = 64
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
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x9E18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}})
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x9E60}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}})
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x9ED0}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}})
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x9F80}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}})
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x9FB0}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}})---
end
},
{
Button,
background = {GradientDrawable, cornerRadius='20dp', color='#50000000'},
layout_width = 'match_parent',
layout_margin = '1dp',
text = '范围区',
textSize = '13sp',
textColor= "#01FFFF",
onClick = function()
floatingWindowManager:start('晴空[范围]')
end
},
{
Button,
background = {GradientDrawable, cornerRadius='20dp', color='#50000000'},
layout_width = 'match_parent',
layout_margin = '1dp',
text = '工具箱',
textSize = '13sp',
textColor= "#01FFFF",
onClick = function()
floatingWindowManager:start('游戏工具[工具箱]')
end
}
}
})
end,
onDestroy = function() end
})
-- ===================== 窗口2:林瑶[范围](已加入超大视野开关) =====================
floatingWindowManager:newWindow('晴空[范围]', {
onCreate = function(floatingWindow)
floatingWindow:addlayout({
ScrollView,
layout_width = 'match_parent',
layout_height = 'match_parent',
{
LinearLayout,
background="https://tc.qqij.cn/view.php/f0a45d55c2fc3b8c4d736079bf568299.jpg",
layout_width = 'match_parent',
layout_height = 'match_parent',
orientation = 'vertical',
padding = '10dp',
{ TextView,
layout_marginLeft = '0dp',--间距
text="局内防卡伤每把一开:",
textColor= "#FFFFFF",--文字颜色代码
gravity="left", --
layout_height="30dp",--长度
layout_width="match_parent",--宽度
background= luajava.loadlayout {
GradientDrawable,
},
},
{LinearLayout,--同一排代码
padding = {'0dp', '0dp', '0dp', '0dp'},
layout_marginTop = '5dp',--间距
{
Switch,
layout_marginLeft = '5dp',--间距
text="防卡伤",
textColor= "#FFFF0000",--文字颜色代码
gravity="center",
layout_height="30dp",--长度
layout_width="230dp",--宽度
background= luajava.loadlayout {
GradientDrawable,
color='0x99000000',
cornerRadius = 38--背景圆角
},
onCheckedChange = function(CompoundButton, state)
local cacheName = '多线程9'
if state then
if gg.getRangesList("libanogs.so")[1] then
local t = {}
t[1] = gg.getRangesList("libanogs.so")[1]["start"] + 0x1D8CE0; --初源工具箱 数值地址:0x7C48842CE0
gg.addListItems({
[1] = {
address = t[1],
flags = 4,
value = 335544326,
freeze = true,
},
})
gg.toast("开启成功")
end
if gg.getRangesList("libUE4.so")[1] then
local t = {}
t[1] = gg.getRangesList("libUE4.so")[1]["start"] + 0x5E5827C; --初源工具箱 数值地址:0x7B7C4BA27C
t[2] = gg.getRangesList("libUE4.so")[1]["start"] + 0x5E58338; --初源工具箱 数值地址:0x7B7C4BA338
t[3] = gg.getRangesList("libUE4.so")[1]["start"] + 0x5E58430; --初源工具箱 数值地址:0x7B7C4BA430
t[4] = gg.getRangesList("libUE4.so")[1]["start"] + 0x5E58524; --初源工具箱 数值地址:0x7B7C4BA524
t[5] = gg.getRangesList("libUE4.so")[1]["start"] + 0x5E586E4; --初源工具箱 数值地址:0x7B7C4BA6E4
t[6] = gg.getRangesList("libUE4.so")[1]["start"] + 0x5E95440; --初源工具箱 数值地址:0x7B7C4F7440
t[7] = gg.getRangesList("libUE4.so")[1]["start"] + 0x5EB459C; --初源工具箱 数值地址:0x7B7C51659C
t[8] = gg.getRangesList("libUE4.so")[1]["start"] + 0x5EB4798; --初源工具箱 数值地址:0x7B7C516798
t[9] = gg.getRangesList("libUE4.so")[1]["start"] + 0x5EB479C; --初源工具箱 数值地址:0x7B7C51679C
t[10] = gg.getRangesList("libUE4.so")[1]["start"] + 0x7F9A59C; --初源工具箱 数值地址:0x7B7E5FC59C
t[11] = gg.getRangesList("libUE4.so")[1]["start"] + 0x835D58C; --初源工具箱 数值地址:0x7B7E9BF58C
t[12] = gg.getRangesList("libUE4.so")[1]["start"] + 0x8439968; --初源工具箱 数值地址:0x7B7EA9B968
t[13] = gg.getRangesList("libUE4.so")[1]["start"] + 0x843B720; --初源工具箱 数值地址:0x7B7EA9D720
t[14] = gg.getRangesList("libUE4.so")[1]["start"] + 0x8608978; --初源工具箱 数值地址:0x7B7EC6A978
gg.addListItems({
[1] = {
address = t[1],
flags = 4,
value = -721215457,
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 = -721215457,
freeze = true,
},
[5] = {
address = t[5],
flags = 4,
value = -698416192,
freeze = true,
},
[6] = {
address = t[6],
flags = 4,
value = 1114636288,
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,
},
[14] = {
address = t[14],
flags = 4,
value = -698416192,
freeze = true,
},
})
end
Chinese=gg.colorAlert("晴空范围","防卡伤开启成功")
end
end
},
},
padding = '10dp',
{ TextView,
layout_marginLeft = '0dp',--间距
text="范围每把一开",
textColor= "#FFFFFF",--文字颜色代码
gravity="left",
layout_height="30dp",--长度
layout_width="match_parent",--宽度
background= luajava.loadlayout {
GradientDrawable,
},
},
{LinearLayout,--同一排代码
padding = {'0dp', '0dp', '0dp', '0dp'},
layout_marginTop = '5dp',--间距
{
Switch,
layout_marginLeft = '5dp',--间距
text="叫爹范围",
textColor= "#FFFF0000",--文字颜色代码
gravity="center",
layout_height="30dp",--长度
layout_width="230dp",--宽度
background= luajava.loadlayout {
GradientDrawable,
color='0x99000000',
cornerRadius = 38--背景圆角
},
onCheckedChange = function(CompoundButton, state)
local cacheName = '多线程9'
if state then
if gg.getRangesList("libanogs.so")[1] then
local t = {}
t[1] = gg.getRangesList("libanogs.so")[1]["start"] + 0x4B3548; --poison工具箱 数值地址:0x7CA94D9548
t[2] = gg.getRangesList("libanogs.so")[1]["start"] + 0x4B3834; --poison工具箱 数值地址:0x7CA94D9834
gg.setValues({
[1] = {
address = t[1],
flags = 4,
value = -698416192,
},
[2] = {
address = t[2],
flags = 4,
value = 335544360,
},
})
gg.toast("开启成功")
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 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) gg.toast("开启成功+一共修改"..#t.."条数据") gg.addListItems(t) else gg.toast("未搜索到数据+开启失败", false) return false end else gg.toast("Not Found") return false end end
function HaoGe(Nc,Type,Search,Write) gg.clearResults() gg.setRanges(Nc) 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 tPUBGMH={} local offset=Search[k][2]-base local num=Search[k][1] for i,v in ipairs(result)do tPUBGMH[#tPUBGMH+1]={} tPUBGMH[#tPUBGMH].address=v.address+offset tPUBGMH[#tPUBGMH].flags=v.flags end tPUBGMH=gg.getValues(tPUBGMH) for i,v in ipairs(tPUBGMH)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) gg.sleep(400) else return false end else return false end end
gg.toast("超强头部判定·高准度已开启")
gg.clearResults()
gg.clearResults()
gg.setRanges(gg.REGION_ANONYMOUS)
gg.searchNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.refineNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.getResults(50)
gg.editAll("65", gg.TYPE_FLOAT)
gg.alert("独家范围开启成功")
gg.toast("魔法")
gg.clearResults()
gg.setRanges(gg.REGION_ANONYMOUS)
gg.searchNumber(";测试版本不代表最终品质", gg.TYPE_WORD, false, gg.SIGN_EQUAL, 0, -1)
gg.getResults(520)
gg.editAll("晴空范围zxcvnm88", gg.TYPE_WORD)
gg.clearResults()
Chinese=gg.colorAlert("晴空范围","独家范围默认开启成功")
end
end
},
},
{LinearLayout,--同一排代码
padding = {'0dp', '0dp', '0dp', '0dp'},
layout_marginTop = '5dp',--间距
{
Switch,
layout_marginLeft = '5dp',--间距
text="hook范围",
textColor= "#FFFF0000",--文字颜色代码
gravity="center",
layout_height="30dp",--长度
layout_width="230dp",--宽度
background= luajava.loadlayout {
GradientDrawable,
color='0x99000000',
cornerRadius = 38--背景圆角
},
onCheckedChange = function(CompoundButton, state)
local cacheName = '多线程9'
if state then
if gg.getRangesList("libanogs.so")[1] then
local t = {}
t[1] = gg.getRangesList("libanogs.so")[1]["start"] + 0x4B3548; --poison工具箱 数值地址:0x7CA94D9548
t[2] = gg.getRangesList("libanogs.so")[1]["start"] + 0x4B3834; --poison工具箱 数值地址:0x7CA94D9834
gg.setValues({
[1] = {
address = t[1],
flags = 4,
value = -698416192,
},
[2] = {
address = t[2],
flags = 4,
value = 335544360,
},
})
gg.toast("开启成功")
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 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) gg.toast("开启成功,一共修改"..#t.."条数据") gg.addListItems(t) else gg.toast("未搜索到数据,开启失败", false) return false end else gg.toast("Not Found") return false end end
function HaoGe(Nc,Type,Search,Write) gg.clearResults() gg.setRanges(Nc) 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 tPUBGMH={} local offset=Search[k][2]-base local num=Search[k][1] for i,v in ipairs(result)do tPUBGMH[#tPUBGMH+1]={} tPUBGMH[#tPUBGMH].address=v.address+offset tPUBGMH[#tPUBGMH].flags=v.flags end tPUBGMH=gg.getValues(tPUBGMH) for i,v in ipairs(tPUBGMH)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) gg.sleep(400) else return false end else return false end end
gg.clearResults()
gg.setRanges(gg.REGION_ANONYMOUS)
gg.searchNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.searchNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.getResults(100)
gg.editAll("110", gg.TYPE_FLOAT)
gg.clearResults()
gg.setRanges(gg.REGION_ANONYMOUS)
gg.searchNumber("15;28;16;26;8;18", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.getResults(56)
gg.editAll("-1339", gg.TYPE_FLOAT)
qmnb =
{
{["memory"] = 32},
{["name"] = "开启成功"},
{["value"] = 4719772412750681353, ["type"] = 32},
{["lv"] = 4742290408720039936, ["offset"] = 4, ["type"] = 32},
}
qmxg =
{
{["value"] = -10, ["offset"] = 8, ["type"] = 16},
}
xqmnb(qmnb)
qmnb =
{
{["memory"] = 32},
{["name"] = "开启成功"},
{["value"] = -4417614866316724128, ["type"] = 32},
{["lv"] = 4724276012378061487, ["offset"] = 4, ["type"] = 32},
}
qmxg =
{
{["value"] = -10, ["offset"] = 12, ["type"] = 16},
}
xqmnb(qmnb)
qmnb =
{
{["memory"] = 32},
{["name"] = "HOOK范围开启成功"},
{["value"] = -4416487068034336677, ["type"] = 32},
{["lv"] = 4724276012378324073, ["offset"] = 4, ["type"] = 32},
}
qmxg =
{
{["value"] = -10, ["offset"] = 8, ["type"] = 16},
{["value"] = -10, ["offset"] = 12, ["type"] = 16},
}
xqmnb(qmnb)
gg.playMusic("https://yz.dujiuyue.cn/user/download/netdisk.php?token=ElT3%2FEz1tIpET7k79WYd4uwfRbdDTYt4Olb4Z%2FCTgUA%3D&key=d4d38a178984c54acb00361eacf940e16e43e36fa552ad0e9cf0a24e51186727") --百度翻译
else
Unfreeze()--清除所有搜索栏
gg.playMusic("https://yz.dujiuyue.cn/user/download/netdisk.php?token=%2FVYx%2FevIM99zm4ku%2BdB1ZJmvc%2BCvi2OMuxsR2HPe3IA%3D&key=71523daf95cbdf21e39ca872601e597ec0259efcd38613170ce8e39c2832ea69") --百度翻译
end
end
},
},
{LinearLayout,--同一排代码
padding = {'0dp', '0dp', '0dp', '0dp'},
layout_marginTop = '5dp',--间距
{
Switch,
layout_marginLeft = '5dp',--间距
text="自用范围",
textColor= "#FFFF0000",--文字颜色代码
gravity="center",
layout_height="30dp",--长度
layout_width="230dp",--宽度
background= luajava.loadlayout {
GradientDrawable,
color='0x99000000',
cornerRadius = 38--背景圆角
},
onCheckedChange = function(CompoundButton, state)
local cacheName = '多线程9'
if state then
local scriptName = [=====[Script for BETA PUBG MOBILE 4.5.3]=====]
local scriptVersion = '1.0.0'
local scriptAuthor = 'User'
local startToast = ''
-- 0 - no check; 1 - check package only, 2 - check package and build
local checkTarget = 0
local targetName = [=====[BETA PUBG MOBILE]=====]
local targetPkg = 'com.tencent.igce'
local targetVersion = [=====[4.5.3]=====]
local targetBuild = 21235
-- functions
-- init
gg.require('101.1', 16142)
if startToast ~= '' then startToast = '\n'..startToast end
gg.toast(scriptName..' v'..scriptVersion..' by '..scriptAuthor..startToast)
if checkTarget ~= 0 then
local info = gg.getTargetInfo()
local check = false
local current = false
if checkTarget >= 1 then
check = targetPkg
current = info.packageName
end
if checkTarget >= 2 then
check = check..' '..targetVersion..' ('..targetBuild..')'
current = current..' '..info.versionName..' ('..info.versionCode..')'
end
if check ~= current then
gg.alert('This script for "'..targetName..'" ['..check..'].\nYou select "'..info.label..'" ['..current..'].\nNow script exit.')
os.exit()
end
end
local revert = nil
-- main code
gg.searchNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0)
revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil)
gg.editAll("72.5", gg.TYPE_FLOAT)
gg.processResume()
end
end
},
},
}
})
end
})
-- ===================== 窗口3:林瑶[加速] =====================
-- ===================== 窗口4:游戏工具[工具箱] =====================
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',
{
Button,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_margin = '2dp',
text = '隐藏电报',
textSize = '16sp',
onClick = function()
draw.text('', 200,155)
draw.setColor('#00000000')
gg.toast('隐藏电报成功')
end
},
{
Button,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_margin = '2dp',
text = '显示电报',
textSize = '16sp',
onClick = function()
local rtextColor = string.format('#ff%x',math.random(0x000000,0xffffff))
draw.setSize(39)
draw.setStyle('填充')
draw.text("", 5,500)--字体
draw.setColor(rtextColor)--颜色
gg.toast('随机颜色成功')
end
},
{
Button,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_margin = '2dp',
text = '注入追踪',
textSize = '16sp',
onClick = function()
local dir = "/storage/emulated/0/淡雾NB"
os.execute("mkdir -p \""..dir.."\"")
function httpDownload(url, path)
gg.toast("开始下载...")
local r = gg.makeRequest(url)
if not r or r.code ~= 200 then
gg.alert("下载失败\n状态码: "..tostring(r and r.code))
return false
end
local f = io.open(path, "wb")
if not f then
gg.alert("无法写入文件\n路径: "..path)
return false
end
f:write(r.content)
f:close()
gg.toast("下载完成")
return true
end
local inject = {
name = "Inject 程序(先执行这个)",
url = "https://www.mpimg.cn/down.php/be87bf42b50d3115e1807eda984add35.",
path = "/storage/emulated/0/淡雾NB/64bit"
}
if httpDownload(inject.url, inject.path) then
gg.alert("频道CKZPD")
end
TARGET_DIR = "/storage/emulated/0/淡雾NB/"
TARGET_NAME = "lib淡水.so"
local select = gg.prompt(
{"请选择要注入的so"},
{"/sdcard/"},
{"file"}
)
if select == nil then os.exit() end
local src = select[1]
local dst = TARGET_DIR .. TARGET_NAME
os.execute("mkdir -p '" .. TARGET_DIR .. "'")
os.execute("rm -rf '" .. dst .. "'")
os.execute("cp -f '" .. src .. "' '" .. dst .. "'")
gg.toast("选择完成 → " .. dst)
loadYunLua('https://www.mpimg.cn/down.php/bb6218ec44e96f77fe0c5904f3d36196.lua')
gg.alert("等待UI出现,等会可能加速掉后台重新打开即可")
end
}
}
})
end,
onDestroy = function() end
})
-- 启动悬浮窗
floatingWindowManager:run()