do
if type(getrlyunyz) ~= 'function' then
gg.alert('请使用RLGG执行')
os.exit()
return
end
local info = {
example_version = '1.0.3',
name = 'Ox内部',
appid = '29530',
appkey = 'Eu049ANfep9NeEfF',
rc4key = 'god3n2qO29gQp53q',
version = '2.09',
mi_type = '3'
}
local rlyunyz = getrlyunyz(info)
local ret = rlyunyz.start()
if not ret or not isTable(ret) or ret.sign ~= 'a1ce19f270228abf802940201f5378bd' then
os.exit()
return
end
end
-- 把以上代码复制到你脚本最前面即可
gg.alert('欢迎使用')
gg.playVideo("https://txmov2.a.kwimgs.com/ksc1/AMKIz-G3_6_Ym5oyRgG12S7owBetjEH_CizFDwk9YCqTGG4_3GuINqweSeVZRPak0B2X-mnDRxQsga--ulqGJkQlCq_Vn38MsGWlQcuqvsmsNVFmiGyerIlTQ7UrvIAR72UOQ4rVC2o8ocjyTKyi4jK9f3_sICXifn65k8wjPXOKF_V8no-VwAiy1B2eQfP3.mp4?pkey=AAV8GImHeUIlaHH-CKJA13A1qdVAHxSwoBtHPO2czxFUiio6z8JKMvZz5RG7bWU3c2f3LB7DK50R841Yy_sWdpIGIImcwMHyrfzPJVCZwmYyZ7EPklITAgYZTlAWpbEKHRg&tag=1-1695548319-tube-0-rw7kqo9qly-b35497e7175525c1&type=hot&clientCacheKey=3x4yurb7tcymsay_v5HighV2.mp4&di=9a08b282&bp=14081&tt=v5HighV2&ss=vp")
string.toMusic("欢迎使用ox全防")
draw.text(' Ox全防作者山茶', 200,230)draw.setColor('#00fff9')
draw.text('', 200,285)draw.setColor('#00fff9')
gg.loopKillGG()
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 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 & 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 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
--end结束
----------------------------------------------------------------------------------------------------------------
jianbian6 = luajava.new(GradientDrawable)
jianbian6:setCornerRadius(40)
jianbian6:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbian6:setColors({0xFF55AAFF,0xFFFF0000})
jianbian6:setStroke(8,"0xFFFF0000")--边框宽度和颜色
jianbian7 = luajava.new(GradientDrawable)
jianbian7:setCornerRadius(80)
jianbian7:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbian7:setColors({0xFFFF0000,0xFFFF0000})
jianbian7:setStroke(16,"0xFFFF0000")
jianbian8 = luajava.new(GradientDrawable)
jianbian8:setCornerRadius(80)
jianbian8:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbian8:setColors({0xFF6385E9,0xFFFF0000,0xFFFF3D98})
jianbian8:setStroke(16,"0xfFFFF0000")
jianbian9 = luajava.new(GradientDrawable)
jianbian9:setCornerRadius(8)
jianbian9:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbian9:setColors({0xFFFF0000,0xFFFF0000})
jianbian9:setStroke(16,"0xaa000000")
function balert(bltxt,bltxt1,bltxt2)
result=0
if not bltxt then bltxt='这里写正文\n测试\n测试' end
if not bltxt1 then bltxt1='取消' end
if not bltxt2 then bltxt2='确定' end
bltxt=tostring(bltxt)
bltxt1=tostring(bltxt1)
bltxt2=tostring(bltxt2)
local dialog = luajava.new(AlertDialog.Builder, app.context)
local block = luajava.getBlock()
local result
local function exit()
block('end')
end
layoutabc=luajava.loadlayout({ScrollView,
{LinearLayout,
background="#00000000",
orientation="vertical",
layout_width="match_parent",
layout_height="match_parent",
gravity = 'center',
{ScrollView,
gravity="center",
layout_height="230dp",
layout_width="fill_parent",
padding="25dp",
{LinearLayout,
layout_marginTop="20dp",
gravity="center",
layout_height="220dp",
layout_width="fill_parent",
padding="25dp",
{TextView,
id = luajava.newId('弹窗文字'),
textSize="18sp",
text = bltxt,
layout_height="wrap_content",
layout_width="fill_parent",
layout_gravity="center",
gravity="center",
},}},
{LinearLayout,
gravity="center",
layout_height="90dp",
layout_width="fill_parent",
orientation="horizontal",
{Button,
id="balt1",
gravity="center",
background=jianbian7,
text=bltxt1,
layout_height="40dp",
layout_width="wrap_content",
layout_marginRight="70dp",
},
{Button,
id="balt2",
gravity="center",
background=jianbian8,
text=bltxt2,
layout_height="40dp",
layout_width="wrap_content",
layout_marginLeft="70dp",
}
}}})
balt1.onClick = function() result = 1 dialog:dismiss() exit() end
balt2.onClick = function() result = 2 dialog:dismiss() exit() end
dialog:setView(layoutabc)
dialog:setOnDismissListener(luajava.createProxy('android.content.DialogInterface$OnDismissListener', { onDismiss = function(view) exit() end}))
local function invoke()
dialog = dialog:create()
local window = dialog:getWindow()
window:setType(Build.VERSION.SDK_INT >= 26 and 2038 or 2002)
window:setBackgroundDrawable(jianbian6)
window:getDecorView():setPadding(0,0,0,0)
dialog:show()
--window:setLayout(1400,1000)
YoYoImpl:with("FadeIn"):duration(300):playOn(layoutabc)
end
luajava.handlerPost(invoke)
block('join')
return result
end
function tst(text)
text = tostring(text)
local block = luajava.getBlock()
local layout = luajava.loadlayout({
LinearLayout,
background=jianbian7,
gravity='center',
layout_height='match_parent',
layout_width='match_parent',
layout_wight='1',
{
TextView,
id = luajava.newId('TextView'),
text = text,
textSize = '18sp',
textColor = "#ffffffff",
margins = {'20dp', '10dp', '20dp', '10dp'}
}
})
local function invoke()
if toaa==nil then
toaa = Toast:makeText(app.context, '', 1)
end
toaa:setView(layout)
toaa:show()
end
luajava.handlerPost(invoke)
end
gg.sleep(2000)
--------------------------------------------------------------------------------------------------
local function switch2(...)
local menus = {...}
local block = luajava.getBlock()
local context = app.context
local window = context:getSystemService("window") -- 获取窗口管理器
local function getWindowManagerParams()
local params = luajava.new(WindowManager.LayoutParams)
params.type = (Build.VERSION.SDK_INT >= 26 and 2038 or 2002)
params.format = PixelFormat.RGBA_8888 -- 设置背景
params.flags = params.FLAG_NOT_FOCUSABLE -- 焦点设置Finish
params.width = params.WRAP_CONTENT -- 布局宽度
params.height = params.WRAP_CONTENT -- 布局高度
params.gravity = Gravity.LEFT | Gravity.TOP -- 重力设置
luajava.setFloatingWindowHide(false)
luajava.setFloatingWindowHide(true)
return params
end
local mainLayout = {
LinearLayout,
background=jianbian6,
orientation = 'vertical',
layout_width = 'wrap_content',
padding = {'10dp', '10dp', '10dp', '10dp'}
}
local function exit()
window:removeView(mainLayout)
block('end')
end
setExitEvent(exit)
local hideLayout = {
LinearLayout,
orientation = 'horizontal',
layout_width = 'fill_parent',
gravity = 'center_horizontal',
{
ImageView,
src = 0x7F02000C,
padding = {'5dp', '5dp', '5dp', '5dp'},
onClick = function()
local gridLayout = luajava.getIdView('功能界面')
if not gridLayout then
return
end
local VISIBLE = GridLayout.VISIBLE
local GONE = GridLayout.GONE
local visibility = gridLayout:getVisibility() > VISIBLE and VISIBLE or GONE
gridLayout:setVisibility(visibility)
end
}
}
mainLayout[#mainLayout + 1] = hideLayout
local main2Layout = {
LinearLayout,
id = luajava.newId('功能界面'),
orientation = 'vertical',
layout_width = 'wrap_content',
gravity = 'center_horizontal'
}
mainLayout[#mainLayout + 1] = main2Layout
local function formatList(list)
local gridLayout = {
GridLayout,
orientation = 'horizontal',
columnCount = '3',
layout_width = 'wrap_content'
}
list[#list + 1] = {
setText = '退出',
onCheckedChanged = function(buttonView)
return exit()
end
}
for i, value in ipairs(list) do
local name
do
local names = {'name', 'text', 'setText'}
for i, key in ipairs(names) do
name = value[key]
if name then
break
end
end
if not name then
name = string.format('功能%d', i)
end
for i, key in ipairs(names) do
value[key] = name
end
end
local switchLayout = {
Switch,
text = name,
}
local onCheckedChanged = value.onCheckedChanged
if not isFunction(onCheckedChanged) then
onCheckedChanged = function(switch, isChecked)
if not isSurvive() then
gg.toast('脚本已结束')
return exit()
end
local mode = isChecked and 'open' or 'close'
local func = value[mode]
if not isFunction(func) then
switch:setChecked(not isChecked)
func = function(self)
gg.alert(string.format('%s缺少%s函数,该属性必须为function类型', value.name, mode))
end
end
luajava.startThread(function(...)
pcall(func, ...)
end, name, value, switch)
end
end
if isFunction(onCheckedChanged) then
onCheckedChanged = luajava.createProxy('android.widget.CompoundButton$OnCheckedChangeListener', {
onCheckedChanged = onCheckedChanged
})
end
switchLayout.onCheckedChangeListener = onCheckedChanged
gridLayout[#gridLayout + 1] = switchLayout
end
return gridLayout
end
local navigate2 = {
LinearLayout,
orientation = 'horizontal',
layout_width = 'match_parent',
gravity = 'center_horizontal'
}
local ids = {}
local views = {}
for i, menu in ipairs(menus) do
local name = menu.name
if not name then
name = ('菜单%s'):format(i)
menu.name = name
end
ids[i] = string.format('%s-%s', i, name)
local menuLayout = {
Button,
text = name,
background = '#0000000',
layout_width = 'wrap_content',
onClick = function()
for i2, id in ipairs(ids) do
local view = views[i2]
if not view then
view = luajava.getIdView(id)
if view then
views[i2] = view
end
end
if view then
local VISIBLE = view.VISIBLE
local GONE = view.GONE
local state = i == i2 and VISIBLE or GONE
view:setVisibility(state)
end
end
end
}
navigate2[#navigate2 + 1] = menuLayout
end
main2Layout[#main2Layout + 1] = navigate2
local main3Layout = {
LinearLayout,
layout_width = 'match_parent',
gravity = 'center_horizontal'
}
for i, menu in ipairs(menus) do
local gridLayout = formatList(menu)
gridLayout.id = luajava.newId(ids[i])
gridLayout.visibility = i == 1 and GridLayout.VISIBLE or GridLayout.GONE
main3Layout[#main3Layout + 1] = gridLayout
end
main2Layout[#main2Layout + 1] = main3Layout
local function setOnTouchListener(move, layout, params)
local RawX, RawY, x, y
local ACTION_DOWN = MotionEvent.ACTION_DOWN
local ACTION_MOVE = MotionEvent.ACTION_MOVE
local tonumber = tonumber
move:setOnTouchListener(luajava.createProxy("android.view.View$OnTouchListener", {
onTouch = function(v, event)
local Action = event:getAction()
if Action == ACTION_DOWN then
-- 点击时的XY坐标
RawX = event:getRawX() -- 获取X坐标
RawY = event:getRawY() -- 获取Y坐标
x = params.x -- 申明变量xmX为原X坐标
y = params.y -- 申明变量xmY为原Y坐标
elseif Action == ACTION_MOVE then
-- 移动时的XY坐标
params.x = tonumber(x) + (event:getRawX() - RawX)
params.y = tonumber(y) + (event:getRawY() - RawY)
window:updateViewLayout(layout, params)
end
end
}))
end
local params = getWindowManagerParams()
mainLayout = luajava.loadlayout(mainLayout)
setOnTouchListener(mainLayout, mainLayout, params)
local function invoke()
window:addView(mainLayout, params)
end
gg.setVisible(false)
luajava.post(invoke)
block('join')
gg.setVisible(true)
end
_ENV['菜单1'] = {
name = '防封页面',
[1] = {
name = '全防公告',
open = function(self)
title = "防封公告"
message = " 推荐①和②③防搭配全局离线 如果功能没效果就多点两下 不闪退就不开防闪 防止高风险的办法就是带300发子弹在蓝圈快结束的时候打完此版本为公益版禁止倒卖作者山茶"
toMusic('推荐1和23防搭配全局离线如果功能没效果就多点两下 不闪退就不开防闪防止高风险的办法就是带300发子弹在蓝圈快结束的时候打完此版本为公益版禁止倒卖作者山茶' )---语音
gg.htmlAlert(title, message, "我已知晓")
end,
close = function(self)
title = "防封公告"
message = " 推荐①和③防搭配全局离线和防禁网 "
toMusic('推荐1和3防搭配全局离线和防禁网')---语音
gg.htmlAlert(title, message, "我已知晓")
end,
},
[2] = {
name = 'log防闪',
open = function(self)
toMusic('开启中')---
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x4C63D8}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 256, freeze = true}})
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x628}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 64, freeze = true}})
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[3] = {
name = '大厅第一套',
open = function(self)
toMusic('开启中')---
so=gg.getRangesList('libanogs.so')[1].start
py=0x3C7674
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x3C7678
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x3CBC54
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x3CBC58
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x3CD894
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x3CD898
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x3CDF10
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x3CDF14
setvalue(so+py,4,0)
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[4] = {
name = '大厅第二套',
open = function(self)
toMusic('开启中')---
so=gg.getRangesList('libanogs.so')[1].start
py=0x3C7A30
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x3CC010
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x3CDC50
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x72E49A0628
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x72E49A1CAC
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x72E49A24A8
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x72E49A2C04
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x72E49A2C08
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x72E49A2C0C
setvalue(so+py,4,0)
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[5] = {
name = ' Logo防',
open = function(self)
toMusic('开启中')---
so=gg.getRangesList('libanogs.so')[1].start
py=0xAAEE000
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0xAAEE000
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0xAAEE004
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x4DB0A0
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x4DB0A4
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x72E49A0628
setvalue(so+py,4,0)
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[6] = {
name = '全局离线',
open = function(self)
so=gg.getRangesList('libijkffmpeg.so')[1].start
py=0x322CAC
setvalue(so+py,4,0)
so=gg.getRangesList('libgcloud.so')[1].start
py=0x422DBC
setvalue(so+py,4,0)
so=gg.getRangesList('libgcloud.so')[1].start
py=0x495E1C
setvalue(so+py,4,0)
so=gg.getRangesList('libTDataMaster.so')[1].start
py=0x311C14
setvalue(so+py,4,0)
so=gg.getRangesList('libanogs.so')[1].start
py=0x3CF55C
setvalue(so+py,4,0)
so=gg.getRangesList('libanort.so')[1].start
py=0x14C990
setvalue(so+py,4,0)
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
so=gg.getRangesList('libijkffmpeg.so')[1].start
py=0x322CAC
setvalue(so+py,4,356461077)
so=gg.getRangesList('libgcloud.so')[1].start
py=0x422DBC
setvalue(so+py,4,356461077)
so=gg.getRangesList('libgcloud.so')[1].start
py=0x495E1C
setvalue(so+py,4,356461077)
so=gg.getRangesList('libTDataMaster.so')[1].start
py=0x311C14
setvalue(so+py,4,356461077)
so=gg.getRangesList('libanogs.so')[1].start
py=0x3CF55C
setvalue(so+py,4,356461077)
so=gg.getRangesList('libanort.so')[1].start
py=0x14C990
setvalue(so+py,4,356461077)
gg.toast("关闭成功")
string.toMusic('关闭成功')
end
},
[7] = {
name = '破解XDZ',
open = function(self)
local t = {"libzoel-native.so", "Cd"}
local tt = {0xD400}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 6}})
local t = {"libzoel-native.so", "Cd"}
local tt = {0xD404}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 6}})
local t = {"libzoel-native.so", "Cd"}
local tt = {0xD408}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 6}})
---------------------
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[8] = {
name = '大厅防禁网',
open = function(self)
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x628}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 64, freeze = true}})
local t = {"libanogs.so:bss", "Cb"}
local tt = {0x6B8}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 64, freeze = true}})
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[9] = {
name = '选择进程',
open = function(self)
toMusic('请选择进程')---语音
gg.setProcessX()
end,
close = function(self)
toMusic('请选择进程')---语音
gg.setProcessX()
end
},
[10] = {
name = '复制TS模块',
open = function(self)
gg.copyText("@TSilent-Module-Telegram@Trick_Mod")
gg.toast("复制成功")
toMusic('复制成功')---语音
end,
close = function(self)
gg.copyText("@TSilent-Module-Telegram@Trick_Mod")
gg.toast("复制成功")
toMusic('复制成功')---语音
end
},
}
_ENV['菜单2'] = {
name = '功能页面',
[1] = {
name = '枪械防抖',
open = function(self)
so=gg.getRangesList('libUE4.so')[1].start
py=0X5E6A76C
setvalue(so+py,16,2.19933704e12)
so=gg.getRangesList('libUE4.so')[1].start
py=0X8567674
setvalue(so+py,16,8.8411673e-21)
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[2] = {
name = '枪械据点',
open = function(self)
so=gg.getRangesList('libUE4.so')[1].start
py=0X52BFF74
setvalue(so+py,16,8.47963525e-21)
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[3] = {
name = '枪械瞬击',
open = function(self)
so=gg.getRangesList('libUE4.so')[1].start--瞬击
py=0X86B74D0
setvalue(so+py,16,8.95671814e-21)
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[4] = {
name = '全图除雾',
open = function(self)
so=gg.getRangesList('libUE4.so')[1].start
py=0X7762890
setvalue(so+py,16,1.41233867e-13)
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[5] = {
name = '人物广角',
open = function(self)
OP=gg.prompt({'1到3'},{[1]='1.4'},{[1]='number'})
if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消")
else
so=gg.getRangesList('libUE4.so')[1].start py=0x2abbd88 setvalue(so+py,16,OP[1])
so=gg.getRangesList('libUE4.so')[1].start py=0x2f0625c setvalue(so+py,16,OP[1])
so=gg.getRangesList('libUE4.so')[1].start py=0x320a994 setvalue(so+py,16,OP[1])
so=gg.getRangesList('libUE4.so')[1].start py=0x320a9f8 setvalue(so+py,16,OP[1])
so=gg.getRangesList('libUE4.so')[1].start py=0x320aa34 setvalue(so+py,16,OP[1])
end
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[6] = {
name = '人物上色',
open = function(self)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x456750, 0x20, 0x48, 0x3F8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 16, value = 1120}})
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[7] = {
name = '人物反向',
open = function(self)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x39AA8,0x0,0x1B0,0x194}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 16, value = -1}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x39AA8,0x0,0x1B0,0x198}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 16, value = -1}})
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[8] = {
name = '枪械无后',
open = function(self)
so=gg.getRangesList('libUE4.so')[1].start--无后座
py=0x52C4AD4
setvalue(so+py,16,8.8411673e-21)
so=gg.getRangesList('libUE4.so')[1].start--无后座
py=0x52C4A64
setvalue(so+py,16,8.8411673e-21)
so=gg.getRangesList('libUE4.so')[1].start--无后座
py=0x52C4970
setvalue(so+py,16,8.8411673e-21)
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[9] = {
name = '自改锁针',
open = function(self)
OP=gg.prompt({'144 120 90'},{[1]='144'},{[1]='number'})
if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消")
else
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x469618, 0x74}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 16, value = 144}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x469618, 0x78}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 16, value = 144}})
end
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[10] = {
name = '人物美化',
open = function(self)
local cfg_file = gg.EXT_FILES_DIR.."/"..gg.getFile():match("[^/]+$").."(衣服.01).lua"
local chunk = loadfile(cfg_file)
local cfg = nil
if chunk ~= nil then
cfg = chunk()
end
if cfg == nil then
cfg = {1400129}
end
wannian = gg.prompt({
"浪漫冰舞套装 1405016 唯美冰舞套装 1405017 血鸦圣装 1408572 野性嘉年华(猪)套装 1405019 千面诡皇圣装 1406638 战场长跑者套装 1405021 狂金辉艳后圣装 1406475 滑稽雪人套装 1405023 金尊法老圣装 1405635 曼妙夜猫套装 1405026 齐天大圣PRIME 1406327 魅影猎手套装 1405028 野性狂蟒套装 1405029 精灵王圣装 1406311 寒冰圣装 1406152 海洋之王圣装 1405983 街头嘻哈套装 1405033 甜蜜淑女套装 1405034 闪耀之星套装 1405035 致命甜心套装 1405036 奉献真心套装 1405037 欲望天使套装 1405038 酷萌胖达套装 1405039 性感胖达套装 1405040 恶龙咆哮套装 1405041 御龙猎手套装 1405042 天际游侠套装 1405043 御霜客套装 1405044 精致婚礼套装 1405175 板球英雄套装 1405046 浴血甜心套装 1405047 蝴蝶套装(绿色) 1405048 战争雪怪套装 1405001 野兽朋克1405002 天降雄兵套装 1405003 经典圣诞套装 1405004 \n请输入你的衣服代码:",
},cfg,{"text"})
if wannian == nil then else
gg.saveVariable(wannian, cfg_file)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x439C88, 0x20, 0x390, 0x118}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400687}})
end
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
[11] = {
name = '探头路飞',
open = function(self)
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) 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
--动态基址配置
ddsl = readPointer('libUE4.so:bss', {0x39AA8,0x0,0x460,0x1C4}, 1)
--定点锁链
lhsl = readPointer('libUE4.so:bss', {0x39AA8,0x0,0x430,0x608,0x38}, 1)
--灵魂锁链
ttsl = readPointer('libUE4.so:bss', {0x39AA8,0x0,0x458,0x9B8,0x8,0x560}, 1)
--探头锁链
local jznbsl = readPointer('libUE4.so:bss', {0x442588,0x20,0x270}, 1)--矩阵头
--矩阵南北
local jzdxsl = readPointer('libUE4.so:bss', {0x442588,0x20,0x27C}, 1)--+C
--矩阵东西
local jzsxsl = readPointer('libUE4.so:bss', {0x442588,0x20,0x29C}, 1)--+2C
--矩阵上下
zbxsl = readPointer('libUE4.so:bss', {0x39AA8,0x0,0x1B0,0x1B0}, 1)
--坐标x实体
zbysl = readPointer('libUE4.so:bss', {0x39AA8,0x0,0x1B0,0x1B4}, 1)
--坐标y实体
zbzsl = readPointer('libUE4.so:bss', {0x39AA8,0x0,0x1B0,0x1B8}, 1)
ttlf={}
ttlf[1]={}
ttlf[1].address=ttsl
ttlf[1].flags=16
ttlf[2]={}
ttlf[2].address=jznbsl
ttlf[2].flags=16
ttlf[3]={}
ttlf[3].address=jzdxsl
ttlf[3].flags=16
ttlf[4]={}
ttlf[4].address=jzsxsl
ttlf[4].flags=16
ttlf[5]={}
ttlf[5].address=zbxsl
ttlf[5].flags=16
ttlf[6]={}
ttlf[6].address=zbysl
ttlf[6].flags=16
ttlf[7]={}
ttlf[7].address=zbzsl
ttlf[7].flags=16
jznb=gg.getValues(ttlf)[2].value--矩阵方位南北
jzdx=gg.getValues(ttlf)[3].value--矩阵方位东西
jzsx=gg.getValues(ttlf)[4].value--矩阵方位上下
zbx=gg.getValues(ttlf)[5].value--坐标x
zby=gg.getValues(ttlf)[6].value--坐标y
zbz=gg.getValues(ttlf)[7].value--坐标z
while(true)do--开始循环
tt=gg.getValues(ttlf)[1].value--探头值
if tt<0 then--左探头
gg.edits(ddsl, {{0, 16, 0, false}})
gg.edits(lhsl, {{500, 4, 0, false}})
if jzsx>-0.8 and jzsx<0.5 then--视角中
if jznb<-0.5 and jznb>-1.2 then--南
gg.edits(zbxsl, {{zbx+100, 16, 0, true}})
gg.edits(zbysl, {{zby+300, 16, 0, true}})
gg.edits(zbzsl, {{zbz, 16, 0, true}})
else
if jznb>0.5 and jznb<1.2 then--北
gg.edits(zbxsl, {{zbx-100, 16, 0, true}})
gg.edits(zbysl, {{zby-300, 16, 0, true}})
gg.edits(zbzsl, {{zbz, 16, 0, true}})
else
if jzdx<-0.5 and jzdx>-1.2 then--西
gg.edits(zbxsl, {{zbx-300, 16, 0, true}})
gg.edits(zbysl, {{zby+100, 16, 0, true}})
gg.edits(zbzsl, {{zbz, 16, 0, true}})
else
if jzdx>0.5 and jzdx<1.2 then--东
gg.edits(zbxsl, {{zbx+300, 16, 0, true}})
gg.edits(zbysl, {{zby-100, 16, 0, true}})
gg.edits(zbzsl, {{zbz, 16, 0, true}})
end end end end--东南西北结束
end--视角中结束
if jzsx>0.5 then--视角上
gg.edits(zbxsl, {{zbx, 16, 0, true}})
gg.edits(zbysl, {{zby, 16, 0, true}})
gg.edits(zbzsl, {{zbz+400, 16, 0, true}})
end--视角上结束
if jzsx<-0.8 then--视角下
gg.edits(zbxsl, {{zbx, 16, 0, true}})
gg.edits(zbysl, {{zby, 16, 0, true}})
gg.edits(zbzsl, {{zbz-300, 16, 0, true}})
end--视角下结束
end--左探头结束
if tt>0 then--右探头
gg.edits(ddsl, {{0, 16, 0, false}})
gg.edits(lhsl, {{500, 4, 0, false}})
if jzsx>-0.8 and jzsx<0.5 then--视角中
if jznb<-0.5 and jznb>-1.2 then--南
gg.edits(zbxsl, {{zbx-100, 16, 0, true}})
gg.edits(zbysl, {{zby+300, 16, 0, true}})
gg.edits(zbzsl, {{zbz, 16, 0, true}})
else
if jznb>0.5 and jznb<1.2 then--北
gg.edits(zbxsl, {{zbx+100, 16, 0, true}})
gg.edits(zbysl, {{zby-300, 16, 0, true}})
gg.edits(zbzsl, {{zbz, 16, 0, true}})
else
if jzdx>-1.2 and jzdx<-0.5 then--西
gg.edits(zbxsl, {{zbx-300, 16, 0, true}})
gg.edits(zbysl, {{zby-100, 16, 0, true}})
gg.edits(zbzsl, {{zbz, 16, 0, true}})
else
if jzdx>0.5 and jzdx<1.2 then--东
gg.edits(zbxsl, {{zbx+300, 16, 0, true}})
gg.edits(zbysl, {{zby+100, 16, 0, true}})
gg.edits(zbzsl, {{zbz, 16, 0, true}})
end end end end--东南西北结束
end--视角中结束
if jzsx>0.5 then--视角上
gg.edits(zbxsl, {{zbx, 16, 0, true}})
gg.edits(zbysl, {{zby, 16, 0, true}})
gg.edits(zbzsl, {{zbz+300, 16, 0, true}})
end--视角上结束
if jzsx<-0.8 then--视角下
gg.edits(zbxsl, {{zbx, 16, 0, true}})
gg.edits(zbysl, {{zby, 16, 0, true}})
gg.edits(zbzsl, {{zbz-300, 16, 0, true}})
end--视角下结束
end--右探头结束
if tt == 0 then--不探头
gg.edits(lhsl, {{1000000, 4, 0, false}})
gg.removeListItems(ttlf)--解冻
jznb=gg.getValues(ttlf)[2].value--矩阵方位南北
jzdx=gg.getValues(ttlf)[3].value--矩阵方位东西
jzsx=gg.getValues(ttlf)[4].value--矩阵方位上下
zbx=gg.getValues(ttlf)[5].value--坐标x
zby=gg.getValues(ttlf)[6].value--坐标y
zbz=gg.getValues(ttlf)[7].value--坐标z
end--不探头结束
end
gg.toast("开启成功")
toMusic('开启成功')---语音
end,
close = function(self)
gg.toast("无法关闭")
string.toMusic('无法关闭')
end
},
}
_ENV['菜单3'] = {
name = '音乐',
[1] = {
name = '搜索歌曲',---8391694libil2cpp.so:bss+0x2E268+0xBB0+0x200+0x798+0x1A60
open = function(self)
search = gg.prompt({
"输入要搜索的歌曲\n可加上歌手名字",
"设置显示数量(数字)",
},g.sel,{
"text",
})
if not search then return end
gg.saveVariable(search,g.config)
bei()
go1=search[1]
go3=search[2]
jg=start(go1,go3)
if jg.code == 200 then
fh=jg.content
fh=json(fh)
--print(fh)
Play(gqlb,idb)
else
function inspect()
gg.alert("访问网络异常,错误代码:\n\n"..jg.code)
end
if not pcall(inspect) then print("网络异常,请先连接上网络") os.exit() end
end
XGCK=-1
end,
close = function(self)
end
},
[2] = {
name = '停止播放',
open = function(self)
gg.playMusic("stop")
gg.playMusic("stop")
gg.playMusic("stop")
end,
close = function(self)
end
}
}
switch2(_ENV['菜单1'], _ENV['菜单2'], _ENV['菜单3'])
---[=[ ]=]-------------------------------------------------------------------------------------------------------------------
---[=[ ]=]-------------------------------------------------------------------------------------------------------------------