local L0_3644, L1_3645
L0_3644 = "json"
L0_3644 = _ENV[L0_3644]
L1_3645 = "homepage"
_ENV[L1_3645] = true
L1_3645 = {}
L1_3645.example_version = "1.0.3"
L1_3645.name = "泪水"
L1_3645.appid = "101027"
L1_3645.appkey = "JJgr7kKHoHjc5Yk8"
L1_3645.rc4key = "t3o3r3sZrM77CA32"
L1_3645.version = "1.0"
L1_3645.mi_type = "3"
function Magic(A0_3646, A1_3647, A2_3648, A3_3649, A4_3650, A5_3651)
local L6_3652, L7_3653, L8_3654, L9_3655, L10_3656, L11_3657, L12_3658, L13_3659, L14_3660, L15_3661, L16_3662, L17_3663, L18_3664, L19_3665
end
function SOGSPY_ST(A0_3666, A1_3667)
local L2_3668
if A1_3667 <= A0_3666 then
L2_3668 = "py"
_ENV[L2_3668] = string.format("0x%X", A0_3666 - A1_3667)
L2_3668 = "tostring"
L2_3668 = _ENV[L2_3668]
do return L2_3668(string.format("-0x%X", py)) end
return
end
L2_3668 = "py"
_ENV[L2_3668] = string.format("0x%X", A1_3667 - A0_3666)
L2_3668 = "tostring"
L2_3668 = _ENV[L2_3668]
return L2_3668(string.format("0x%X", py))
end
function So_32(A0_3669, A1_3670, A2_3671)
if gg.getRangesList("libil2cpp.so")[1] == nil then
gg.alert("请重新选择进程")
else
gg.clearResults()
for _FORV_8_, _FORV_9_ in pairs((gg.getRangesList("libil2cpp.so"))) do
if _FORV_9_.state ~= "Xa" then
do return end
return
end
gg.processPause()
gg.setValues({
{
address = _FORV_9_.start + A0_3669,
flags = 4,
value = A1_3670
}
})
gg.processResume()
if A2_3671 == true then
gg.setValues({
{
address = _FORV_9_.start + A0_3669 + 4,
flags = 4,
value = "~A8 RET"
}
})
gg.processResume()
elseif A2_3671 == nil then
gg.processPause()
gg.setValues({
{
address = _FORV_9_.start + A0_3669 + 4,
flags = 4,
value = "~A8 RET"
}
})
gg.processResume()
elseif A2_3671 == false then
break
end
end
end
end
function readValue(A0_3672, A1_3673)
return gg.getValues({
{address = A0_3672, flags = A1_3673}
})[1].value
end
ms = {}
function setvalue(A0_3674, A1_3675, A2_3676, A3_3677)
local L4_3678
L4_3678 = {}
L4_3678[1] = {}
L4_3678[1].address = A0_3674
L4_3678[1].value = A1_3675
L4_3678[1].flags = A2_3676
if A3_3677 == true then
L4_3678[1].freeze = true
gg.addListItems(L4_3678)
else
gg.setValues(L4_3678)
end
end
function ms.ss(A0_3679, A1_3680, A2_3681)
local L6_3682, L7_3683
L6_3682 = A0_3679
L7_3683 = A1_3680
gg.clearResults()
gg.setRanges(A2_3681)
gg.searchNumber(L6_3682, L7_3683, false, gg.SIGN_EQUAL, 206158430208, 1099511627775, 0)
Result = gg.getResults(gg.getResultCount())
end
function ms.py(A0_3684, A1_3685, A2_3686)
if Result and #Result ~= 0 then
t = {}
for _FORV_6_, _FORV_7_ in ipairs(Result) do
t[_FORV_6_] = {}
t[_FORV_6_].address = _FORV_7_.address + A1_3685
t[_FORV_6_].flags = A2_3686
end
t = gg.getValues(t)
for _FORV_6_, _FORV_7_ in ipairs(t) do
if _FORV_7_.value ~= A0_3684 then
Result[_FORV_6_] = nil
end
end
for _FORV_7_, _FORV_8_ in pairs(Result) do
end
Result = {}
end
end
function ms.bc()
data = {}
if Result == nil or #Result == 0 then
gg.alert("开启失败")
else
for _FORV_3_, _FORV_4_ in pairs(Result) do
data[#data + 1] = _FORV_4_.address
end
end
Result = nil
end
function ms.edit(A0_3687, A1_3688, A2_3689, A3_3690)
if Result then
ms.bc()
end
if #data > 0 then
for _FORV_7_, _FORV_8_ in ipairs(data) do
setvalue(_FORV_8_ + A1_3688, A0_3687, A2_3689, A3_3690 or false)
end
gg.toast(Name .. "成功")
end
end
function SO_FLPTXG(A0_3691, A1_3692, A2_3693)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━")
else
gg.setValues({
{
address = gg.getRangesList("libil2cpp.so")[2].start + A0_3691,
flags = A1_3692,
value = "~A8 MOV\t W0, #" .. A2_3693
}
})
gg.setValues({
{
address = gg.getRangesList("libil2cpp.so")[2].start + A0_3691 + 4,
flags = A1_3692,
value = "0000271Er"
}
})
gg.setValues({
{
address = gg.getRangesList("libil2cpp.so")[2].start + A0_3691 + 8,
flags = A1_3692,
value = "00D8215Er"
}
})
gg.setValues({
{
address = gg.getRangesList("libil2cpp.so")[2].start + A0_3691 + 12,
flags = A1_3692,
value = "0000261Er"
}
})
gg.setValues({
{
address = gg.getRangesList("libil2cpp.so")[2].start + A0_3691 + 16,
flags = A1_3692,
value = "~A8 RET"
}
})
end
end
function search(A0_3694, A1_3695, A2_3696, A3_3697, A4_3698)
gg.setVisible(false)
if A0_3694 ~= nil then
if A1_3695 ~= nil then
if A2_3696 == nil then
A2_3696 = 32
end
gg.setRanges(A2_3696)
if A3_3697 == nil then
A3_3697 = "-1"
end
if A4_3698 == nil then
A3_3697 = "0"
end
gg.searchNumber(A0_3694, A1_3695, false, 536870912, A3_3697, A4_3698)
sl = gg.getResultCount()
if sl ~= 0 then
sj = gg.getResults(sl)
gg.toast("搜索到 " .. sl .. " 个结果")
gg.clearResults()
else
gg.toast("未搜索到结果")
end
else
gg.toast("无搜索值类型")
end
else
gg.toast("无需搜索值")
end
end
function py1(A0_3699, A1_3700, A2_3701)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_3701
z1[_FORV_6_].flags = A1_3700
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value == A0_3699 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function py2(A0_3702, A1_3703, A2_3704)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_3704
z1[_FORV_6_].flags = A1_3703
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value ~= A0_3702 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function py2(A0_3705, A1_3706, A2_3707)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_3707
z1[_FORV_6_].flags = A1_3706
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value ~= A0_3705 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function xg1(A0_3708, A1_3709, A2_3710, A3_3711)
if #sj ~= nil then
z = {}
for _FORV_7_ = 1, #sj do
z[_FORV_7_] = {}
z[_FORV_7_].address = sj[_FORV_7_].address + A2_3710
z[_FORV_7_].flags = A1_3709
z[_FORV_7_].value = A0_3708
if A3_3711 == true then
z[_FORV_7_].freeze = true
end
end
if A3_3711 == true then
gg.addListItems(z)
else
gg.clearList()
gg.setValues(z)
end
gg.toast("共修改 " .. #z .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function editData(A0_3712, A1_3713)
gg.setVisible(false)
gg.clearResults()
qmnbv = A0_3712[3].value or A0_3712[3][1]
qmnbt = A0_3712[3].type or A0_3712[3][2]
qmnbn = A0_3712[2].name or A0_3712[2][1]
gg.setRanges(A0_3712[1].memory or A0_3712[1][1])
gg.searchNumber(qmnbv, qmnbt)
gg.refineNumber(qmnbv, qmnbt)
sz = gg.getResultCount()
if sz == 0 then
gg.toast(qmnbn .. "开启失败")
else
sl = gg.getResults(999999)
for _FORV_5_ = 1, sz do
pdsz = true
for _FORV_9_ = 4, #A0_3712 do
if pdsz == true then
pysz = {
{}
}
pysz[1].address = sl[_FORV_5_].address + (A0_3712[_FORV_9_].offset or A0_3712[_FORV_9_][2])
pysz[1].flags = A0_3712[_FORV_9_].type or A0_3712[_FORV_9_][3]
szpy = gg.getValues(pysz)
tzszpd = tostring(A0_3712[_FORV_9_].lv or A0_3712[_FORV_9_][1]):gsub(",", "")
pyszpd = tostring(szpy[1].value):gsub(",", "")
if tzszpd == pyszpd then
pdjg = true
pdsz = true
else
pdjg = false
pdsz = false
end
end
end
if pdjg == true then
szpy = sl[_FORV_5_].address
for _FORV_9_ = 1, #A1_3713 do
xgsz = A1_3713[_FORV_9_].value or A1_3713[_FORV_9_][1]
xgpy = szpy + (A1_3713[_FORV_9_].offset or A1_3713[_FORV_9_][2])
xglx = A1_3713[_FORV_9_].type or A1_3713[_FORV_9_][3]
xgdj = A1_3713[_FORV_9_].freeze or A1_3713[_FORV_9_][4]
xg = {
{
address = xgpy,
flags = xglx,
value = xgsz
}
}
if xgdj == true then
xg[1].freeze = xgdj
gg.addListItems(xg)
else
gg.setValues(xg)
end
end
xgjg = true
end
end
if xgjg == true then
gg.toast(qmnbn .. "开启成功")
else
gg.toast(qmnbn .. "开启失败")
end
end
end
function xqmnb(A0_3714)
gg.clearResults()
gg.setRanges(A0_3714[1].memory)
if gg.searchNumber(A0_3714[3].value, A0_3714[3].type, false, gg.SIGN_EQUAL, 0, -1) ~= true then
gg.searchAddress(A0_3714[3].value, -1, A0_3714[3].type)
end
if gg.getResultCount() == 0 then
gg.toast(A0_3714[2].name .. "开启失败")
return
end
szxx = gg.getResults(gg.getResultCount())
szpd = {}
a = 0
for _FORV_4_ = 4, #A0_3714 do
for _FORV_8_ = 1, #szxx do
if szpd[_FORV_8_] ~= "false" and gg.getValues({
{
address = szxx[_FORV_8_].address + A0_3714[_FORV_4_].offset,
flags = A0_3714[_FORV_4_].type
}
})[1].value + 0 ~= A0_3714[_FORV_4_].lv then
szpd[_FORV_8_] = "false"
a = a + 1
end
end
end
if a == #szxx then
gg.toast(A0_3714[2].name .. "开启失败")
return
end
b = 0
t = {}
for _FORV_4_ = 1, #qmxg do
if qmxg[_FORV_4_].freeze == true then
a = 1
end
for _FORV_8_ = 1, #szxx do
if szpd[_FORV_8_] == nil then
b = b + 1
table.insert(t, {
address = szxx[_FORV_8_].address + qmxg[_FORV_4_].offset,
flags = qmxg[_FORV_4_].type,
freeze = qmxg[_FORV_4_].freeze,
value = qmxg[_FORV_4_].value
})
end
end
end
gg.setValues(t)
gg.addListItems(t)
gg.clearResults()
if a ~= 1 then
gg.clearList()
else
a = nil
end
gg.toast(A0_3714[2].name .. "开启成功,共修改了" .. b .. "条数据")
end
function qmnb(A0_3715)
local L1_3716
L1_3716 = {}
for _FORV_5_ = 1, #A0_3715["搜索数组"] do
table.insert(L1_3716, _FORV_5_, {
lv = A0_3715["搜索数组"][_FORV_5_][1],
offset = A0_3715["搜索数组"][_FORV_5_][2],
type = A0_3715["搜索类型"]
})
end
if app.memorysearch(A0_3715["搜索内存"], L1_3716) then
for _FORV_7_ = 1, #app.memorysearch(A0_3715["搜索内存"], L1_3716) do
for _FORV_11_ = 1, #A0_3715["修改数组"] do
app.memorywrite(app.memorysearch(A0_3715["搜索内存"], L1_3716)[_FORV_7_] + A0_3715["修改数组"][_FORV_11_][2], A0_3715["搜索类型"], A0_3715["修改数组"][_FORV_11_][1])
end
end
gg.toast(A0_3715["功能名称"] .. "共修改" .. #app.memorysearch(A0_3715["搜索内存"], L1_3716) * #A0_3715["修改数组"] .. "条数据")
else
gg.toast(A0_3715["功能名称"] .. "开启失败")
end
end
function xg1(A0_3717, A1_3718, A2_3719, A3_3720)
if sj ~= nil and #sj > 0 then
z = {}
for _FORV_7_ = 1, #sj do
z[_FORV_7_] = {}
z[_FORV_7_].address = sj[_FORV_7_].address + A2_3719
z[_FORV_7_].flags = A1_3718
if A0_3717 == nil then
A0_3717 = readValue(z[_FORV_7_].address, A1_3718)
end
z[_FORV_7_].value = A0_3717
z[_FORV_7_].freeze = A3_3720 and true or false
end
if A3_3720 == true or A3_3720 == false then
gg.addListItems(z)
else
gg.setValues(z)
end
gg.toast("")
else
gg.toast("")
end
end
function xg2(A0_3721, A1_3722, A2_3723, A3_3724, A4_3725)
if #A0_3721 ~= nil then
z = {}
for _FORV_8_ = 1, #A0_3721 do
z[_FORV_8_] = {}
z[_FORV_8_].address = A0_3721[_FORV_8_].address + A3_3724
z[_FORV_8_].flags = A2_3723
z[_FORV_8_].value = A1_3722
if A4_3725 == true then
z[_FORV_8_].freeze = true
end
end
if A4_3725 == true then
gg.addListItems(z)
else
gg.clearList()
gg.setValues(z)
end
gg.toast("")
else
gg.toast("")
end
end
function bc(A0_3726)
if sj ~= nil then
_ENV[A0_3726] = sj
else
gg.toast("")
end
end
Qr_UIP2FazG = "Main"
gg.clearResults()
sj = {}
xgz = {}
function search(A0_3727, A1_3728, A2_3729, A3_3730, A4_3731)
if A0_3727 ~= nil then
if A1_3728 ~= nil then
if A2_3729 == nil then
A2_3729 = 32
end
gg.setRanges(A2_3729)
if A3_3730 == nil then
A3_3730 = "-1"
end
if A4_3731 == nil then
A3_3730 = "0"
end
gg.searchNumber(A0_3727, A1_3728, false, gg.SIGN_EQUAL, A3_3730, A4_3731)
sl = gg.getResultCount()
if sl ~= 0 then
sj = gg.getResults(sl)
gg.toast("搜索到 " .. sl .. " 个结果")
gg.clearResults()
else
gg.toast("未搜索到结果")
end
else
gg.toast("无搜索值类型")
end
else
gg.toast("无需搜索值")
end
end
function py1(A0_3732, A1_3733, A2_3734)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_3734
z1[_FORV_6_].flags = A1_3733
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value == A0_3732 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function py2(A0_3735, A1_3736, A2_3737)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_3737
z1[_FORV_6_].flags = A1_3736
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value ~= A0_3735 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function xg1(A0_3738, A1_3739, A2_3740, A3_3741)
if #sj ~= nil then
z = {}
for _FORV_7_ = 1, #sj do
z[_FORV_7_] = {}
z[_FORV_7_].address = sj[_FORV_7_].address + A2_3740
z[_FORV_7_].flags = A1_3739
z[_FORV_7_].value = A0_3738
if A3_3741 == true then
z[_FORV_7_].freeze = true
end
end
if A3_3741 == true then
gg.addListItems(z)
else
gg.clearList()
gg.setValues(z)
end
gg.toast("共修改 " .. #z .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function xg2(A0_3742, A1_3743, A2_3744, A3_3745, A4_3746)
if #A0_3742 ~= nil then
z = {}
for _FORV_8_ = 1, #A0_3742 do
z[_FORV_8_] = {}
z[_FORV_8_].address = A0_3742[_FORV_8_].address + A3_3745
z[_FORV_8_].flags = A2_3744
z[_FORV_8_].value = A1_3743
if A4_3746 == true then
z[_FORV_8_].freeze = true
end
end
if A4_3746 == true then
gg.addListItems(z)
else
gg.clearList()
gg.setValues(z)
end
gg.toast("共修改 " .. #z .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function bc(A0_3747)
if sj ~= nil then
_ENV[A0_3747] = sj
else
gg.toast("无数据")
end
end
function BaAdd(A0_3748)
if gg.getTargetInfo().x64 == true then
t = gg.getValues({
[1] = {address = A0_3748, flags = 32}
})
do return t[1].value end
return
end
t = gg.getValues({
[1] = {address = A0_3748, flags = 4}
})
return t[1].value & 4294967295
end
function set(A0_3749, A1_3750, A2_3751, A3_3752)
if A3_3752 == "true" then
gg.addListItems({
{
address = A0_3749,
flags = A2_3751,
value = A1_3750,
freeze = true
}
})
else
gg.setValues({
{
address = A0_3749,
flags = A2_3751,
value = A1_3750
}
})
end
gg.toast("已修改完成~")
end
DWORD = gg.TYPE_DWORD
DOUBLE = gg.TYPE_DOUBLE
FLOAT = gg.TYPE_FLOAT
WORD = gg.TYPE_WORD
_ENV["å¿å·é¹¤TE"] = gg["TYPE_å¿å·é¹¤TE"]
XOR = gg.TYPE_XOR
QWORD = gg.TYPE_QWORD
D = gg.TYPE_DWORD
E = gg.TYPE_DOUBLE
F = gg.TYPE_FLOAT
W = gg.TYPE_WORD
B = gg["TYPE_å¿å·é¹¤TE"]
X = gg.TYPE_XOR
Q = gg.TYPE_QWORD
function SearchWrite(A0_3753, A1_3754, A2_3755, A3_3756)
gg.clearResults()
gg.setVisible(false)
gg.searchNumber(A0_3753[1][1], A2_3755)
gg.clearResults()
if gg.getResultCount() > 0 then
for _FORV_12_, _FORV_13_ in ipairs((gg.getResults((gg.getResultCount())))) do
_FORV_13_.isUseful = true
end
for _FORV_12_ = 2, #A0_3753 do
for _FORV_19_, _FORV_20_ in ipairs((gg.getResults((gg.getResultCount())))) do
;({})[#{}].address = _FORV_20_.address + (A0_3753[_FORV_12_][2] - A0_3753[1][2])
;({})[#{}].flags = _FORV_20_.flags
end
for _FORV_19_, _FORV_20_ in ipairs((gg.getValues({}))) do
if tostring(_FORV_20_.value) ~= tostring(A0_3753[_FORV_12_][1]) then
gg.getResults((gg.getResultCount()))[_FORV_19_].isUseful = false
end
end
end
for _FORV_12_, _FORV_13_ in ipairs((gg.getResults((gg.getResultCount())))) do
end
if #{} > 0 then
gg.toast("搜索到" .. #{} .. "条数据")
for _FORV_14_ = 1, #{} do
for _FORV_18_, _FORV_19_ in ipairs(A1_3754) do
offset = _FORV_19_[2] - A0_3753[1][2]
;({})[#{}].address = ({})[_FORV_14_] + offset
;({})[#{}].flags = A2_3755
;({})[#{}].value = _FORV_19_[1]
if _FORV_19_[3] == true then
;({})[#{}].freeze = true
gg.addListItems({})
end
end
end
gg.setValues({})
gg.toast("开启成功 已修改:" .. #{} .. "条数据 本次启动耗时:" .. string.sub(os.clock() - os.clock(), 0, 5) .. "秒")
gg.addListItems({})
else
gg.toast("开启失败未搜索到任何数据", false)
do return false end
do return end
gg.toast("开启失败未搜索到任何数据")
return false
end
end
end
function Fs3Fs4(A0_3757, A1_3758, A2_3759, A3_3760, A4_3761)
gg.clearResults()
gg.setRanges(A1_3758)
gg.setVisible(false)
gg.searchNumber(A2_3759[1][1], A2_3759[1][3])
gg.clearResults()
if gg.getResultCount() > 0 then
for _FORV_12_, _FORV_13_ in ipairs((gg.getResults((gg.getResultCount())))) do
_FORV_13_.isUseful = true
end
for _FORV_12_ = 2, #A2_3759 do
for _FORV_19_, _FORV_20_ in ipairs((gg.getResults((gg.getResultCount())))) do
;({})[#{}].address = _FORV_20_.address + (A2_3759[_FORV_12_][2] - A2_3759[1][2])
;({})[#{}].flags = A2_3759[_FORV_12_][3]
end
for _FORV_19_, _FORV_20_ in ipairs((gg.getValues({}))) do
if tostring(_FORV_20_.value) ~= tostring(A2_3759[_FORV_12_][1]) then
gg.getResults((gg.getResultCount()))[_FORV_19_].isUseful = false
end
end
end
for _FORV_12_, _FORV_13_ in ipairs((gg.getResults((gg.getResultCount())))) do
end
if #{} > 0 then
gg.toast(A0_3757 .. "\n搜索到{" .. #{} .. "}条数据")
if A4_3761 == "" and A4_3761 > 0 and A4_3761 < #{} then
else
A4_3761 = #{}
end
for _FORV_14_ = 1, A4_3761 do
for _FORV_18_, _FORV_19_ in ipairs(A3_3760) do
offset = _FORV_19_[2] - A2_3759[1][2]
;({})[#{}].address = ({})[_FORV_14_] + offset
;({})[#{}].flags = _FORV_19_[3]
;({})[#{}].value = _FORV_19_[1]
if _FORV_19_[4] == true then
;({})[#{}].freeze = true
gg.addListItems({})
end
end
end
gg.setValues({})
gg.toast(A0_3757 .. "️\n已修改{" .. #{} .. "}条数据")
else
gg.toast(A0_3757 .. "\n数据搜索失败", false)
do return false end
do return end
gg.toast(A0_3757 .. "\n数据修改失败", false)
return false
end
end
end
function search(A0_3762, A1_3763, A2_3764, A3_3765, A4_3766)
if A0_3762 ~= nil then
if A1_3763 ~= nil then
if A2_3764 == nil then
A2_3764 = 32
end
gg.setRanges(A2_3764)
if A3_3765 == nil then
A3_3765 = "-1"
end
if A4_3766 == nil then
A3_3765 = "0"
end
gg.searchNumber(A0_3762, A1_3763, false, 536870912, A3_3765, A4_3766)
sl = gg.getResultCount()
if sl ~= 0 then
sj = gg.getResults(sl)
gg.toast("搜索到 " .. sl .. " 个结果")
gg.clearResults()
else
gg.toast("未搜索到结果")
end
else
gg.toast("无搜索值类型")
end
else
gg.toast("无需搜索值")
end
end
function py1(A0_3767, A1_3768, A2_3769)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_3769
z1[_FORV_6_].flags = A1_3768
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value == A0_3767 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function py2(A0_3770, A1_3771, A2_3772)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_3772
z1[_FORV_6_].flags = A1_3771
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value ~= A0_3770 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function xg1(A0_3773, A1_3774, A2_3775, A3_3776)
if #sj ~= nil then
z = {}
for _FORV_7_ = 1, #sj do
z[_FORV_7_] = {}
z[_FORV_7_].address = sj[_FORV_7_].address + A2_3775
z[_FORV_7_].flags = A1_3774
z[_FORV_7_].value = A0_3773
if A3_3776 == true then
z[_FORV_7_].freeze = true
end
end
if A3_3776 == true then
gg.addListItems(z)
else
gg.clearList()
gg.setValues(z)
end
gg.toast("共修改 " .. #z .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function xg2(A0_3777, A1_3778, A2_3779, A3_3780, A4_3781)
if #A0_3777 ~= nil then
z = {}
for _FORV_8_ = 1, #A0_3777 do
z[_FORV_8_] = {}
z[_FORV_8_].address = A0_3777[_FORV_8_].address + A3_3780
z[_FORV_8_].flags = A2_3779
z[_FORV_8_].value = A1_3778
if A4_3781 == true then
z[_FORV_8_].freeze = true
end
end
if A4_3781 == true then
gg.addListItems(z)
else
gg.clearList()
gg.setValues(z)
end
gg.toast("共修改 " .. #z .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function bc(A0_3782)
if sj ~= nil then
_ENV[A0_3782] = sj
else
gg.toast("无数据")
end
end
function BaAdd(A0_3783)
local L1_3784
L1_3784 = "t"
_ENV[L1_3784] = gg.getValues({
[1] = {address = A0_3783, flags = 4}
})
L1_3784 = "t"
L1_3784 = _ENV[L1_3784]
L1_3784 = L1_3784[1]
L1_3784 = L1_3784.value
L1_3784 = L1_3784 & 4294967295
return L1_3784
end
function set(A0_3785, A1_3786, A2_3787, A3_3788)
if A3_3788 == "true" then
gg.addListItems({
{
address = A0_3785,
flags = A2_3787,
value = A1_3786,
freeze = true
}
})
else
gg.setValues({
{
address = A0_3785,
flags = A2_3787,
value = A1_3786
}
})
end
gg.toast("已修改完成~")
end
function readWrite(A0_3789, A1_3790, A2_3791, A3_3792, A4_3793)
gg.clearResults()
gg.setRanges(A3_3792)
gg.setVisible(false)
if A0_3789[1][1] ~= false then
gg.searchAddress(A0_3789[1][1], 4294967295, A0_3789[1][4] or A2_3791, gg.SIGN_EQUAL, A0_3789[1][5] or 1, A0_3789[1][6] or -1)
end
gg.searchNumber(A0_3789[1][2], A0_3789[1][4] or A2_3791, false, gg.SIGN_EQUAL, A0_3789[1][5] or 1, A0_3789[1][6] or -1)
gg.clearResults()
if gg.getResultCount() > 0 then
for _FORV_12_, _FORV_13_ in ipairs((gg.getResults((gg.getResultCount())))) do
_FORV_13_.isUseful = true
end
for _FORV_12_ = 2, #A0_3789 do
for _FORV_19_, _FORV_20_ in ipairs((gg.getResults((gg.getResultCount())))) do
;({})[#{}].address = _FORV_20_.address + (A0_3789[_FORV_12_][2] - A0_3789[1][3])
;({})[#{}].flags = A0_3789[_FORV_12_][3] or A2_3791
end
for _FORV_19_, _FORV_20_ in ipairs((gg.getValues({}))) do
if _FORV_20_.flags == 16 or _FORV_20_.flags == 64 then
values = tostring(_FORV_20_.value):sub(1, 6)
else
values = _FORV_20_.value
end
if tostring(values) ~= tostring((tostring(A0_3789[_FORV_12_][1]):sub(1, 6))) then
gg.getResults((gg.getResultCount()))[_FORV_19_].isUseful = false
end
end
end
for _FORV_12_, _FORV_13_ in ipairs((gg.getResults((gg.getResultCount())))) do
end
if #{} > 0 then
for _FORV_15_ = 1, #{} do
for _FORV_19_, _FORV_20_ in ipairs(A1_3790) do
offset = _FORV_20_[2] - A0_3789[1][3]
if _FORV_20_[1] == false then
;({})[#{}].address = ({})[_FORV_15_] + offset
;({})[#{}].flags = A2_3791
th_ = th_ and th_ + 1 or 1
else
;({})[#{}].address = ({})[_FORV_15_] + offset
;({})[#{}].flags = _FORV_20_[3] or A2_3791
;({})[#{}].value = _FORV_20_[1]
tg_ = tg_ and tg_ + 1 or 1
if _FORV_20_[4] == true then
;({})[#{}].freeze = _FORV_20_[4]
gg.addListItems({})
end
end
end
end
tg = tg_ and "\n已修改" .. tg_ .. "条数据" or ""
th = th_ and "\n已获取" .. th_ .. "条数据" or ""
gg.setValues({})
gg.loadResults((gg.getValues({})))
gg.alert("\n" .. A4_3793 .. "搜索成功!\n偏移到" .. #{} .. "条数据" .. tg .. th)
tg_, th_ = nil, nil
else
gg.alert("\n" .. A4_3793 .. "开启失败", false)
do return false end
do return end
gg.alert(A4_3793 .. "开启失败")
return false
end
end
end
function SO_PT(A0_3794, A1_3795, A2_3796)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━")
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3794,
flags = A1_3795,
value = A2_3796
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3794 + 4,
flags = A1_3795,
value = "~A8 RET"
}
})
end
end
function SO_Deposit(A0_3797, A1_3798, A2_3799)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━")
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3797,
flags = 4,
value = "~A8 LDR X0, [PC,#0x8]"
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3797 + 4,
flags = 4,
value = "~A8 RET"
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3797 + 8,
flags = A1_3798,
value = A2_3799
}
})
end
end
function S_Pointer(A0_3800, A1_3801, A2_3802)
local L3_3803
function L3_3803()
for _FORV_5_, _FORV_6_ in pairs((gg.getRangesList("^/data/*.so*$"))) do
if _FORV_6_.type:sub(2, 2) == "w" then
table.insert({}, _FORV_6_)
end
end
return {}
end
return (string.format("0x%X", (function(A0_3804, A1_3805, A2_3806)
if A2_3806 then
else
end
for _FORV_11_ in pairs((L3_3803())) do
if A0_3804[1] == L3_3803()[_FORV_11_].internalName:gsub("^.*/", "") and A0_3804[2] == L3_3803()[_FORV_11_].state then
break
end
end
if L3_3803()[_FORV_11_] then
;({})[#{}].address = L3_3803()[_FORV_11_].start + A1_3805[1]
;({})[#{}].flags = 4
if #A1_3805 ~= 1 then
for _FORV_11_ = 2, #A1_3805 do
for _FORV_16_ in pairs((gg.getValues({}))) do
if not gg.getTargetInfo().x64 then
gg.getValues({})[_FORV_16_].value = gg.getValues({})[_FORV_16_].value & 4294967295
end
;({})[#{}].address = gg.getValues({})[_FORV_16_].value + A1_3805[_FORV_11_]
;({})[#{}].flags = 4
end
end
end
end
return ({})[#{}].address
end
)(A0_3800, A1_3801, A2_3802)))
end
function readPointer(A0_3807, A1_3808, A2_3809)
if gg.getRangesList(A0_3807)[A2_3809 or 1] then
for _FORV_10_ = 2, #A1_3808 do
if not gg.getTargetInfo().x64 then
gg.getValues({
{
address = gg.getRangesList(A0_3807)[A2_3809 or 1].start + A1_3808[1],
flags = ({
[true] = 32,
[false] = 4
})[gg.getTargetInfo().x64]
}
})[1].value = gg.getValues({
{
address = gg.getRangesList(A0_3807)[A2_3809 or 1].start + A1_3808[1],
flags = ({
[true] = 32,
[false] = 4
})[gg.getTargetInfo().x64]
}
})[1].value & 4294967295
end
end
return gg.getValues({
{
address = gg.getRangesList(A0_3807)[A2_3809 or 1].start + A1_3808[1],
flags = ({
[true] = 32,
[false] = 4
})[gg.getTargetInfo().x64]
}
})[1].value + A1_3808[_FORV_10_]
end
end
function gg.edits(A0_3810, A1_3811, A2_3812)
local L3_3813
L3_3813 = {
{},
{}
}
for _FORV_7_, _FORV_8_ in ipairs(A1_3811) do
if _FORV_8_[4] then
L3_3813[2][#L3_3813[2] + 1] = {
address = A0_3810 + _FORV_8_[3],
value = _FORV_8_[1],
flags = _FORV_8_[2],
freeze = _FORV_8_[4]
}
else
L3_3813[1][#L3_3813[1] + 1] = {
address = A0_3810 + _FORV_8_[3],
value = _FORV_8_[1],
flags = _FORV_8_[2],
freeze = _FORV_8_[4]
}
end
end
gg.addListItems(L3_3813[2])
gg.setValues(L3_3813[1])
gg.toast((A2_3812 or "") .. "开启成功, 共修改" .. #A1_3811 .. "个值")
end
function Searssjc(A0_3814, A1_3815, A2_3816)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.toast("开启失败")
else
gg.setRanges(A2_3816)
gg.searchNumber(A0_3814, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
gg.searchNumber(A0_3814, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
for _FORV_9_ = 1, gg.getResultCount() do
dzy = gg.getResults(100)[_FORV_9_].address
gg.clearResults()
gg.addListItems({
[1] = {
address = dzy,
flags = gg.TYPE_DWORD,
freeze = true,
value = A1_3815
}
})
end
gg.toast("开启成功")
end
end
YX = {}
function YX.SOMODMK(A0_3817, A1_3818, A2_3819)
if A1_3818 == nil then
gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存模块\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━")
else
time = os.clock()
for _FORV_7_, _FORV_8_ in ipairs(A1_3818) do
if _FORV_7_ == 1 then
else
end
end
for _FORV_9_, _FORV_10_ in ipairs(A2_3819) do
if _FORV_10_[4] then
else
end
end
gg.setValues({})
gg.addListItems({})
Comodifiedvalues = #{} + #{}
gg.toast(A0_3817 .. "️开启成功\n当前进程名称:" .. gg.getTargetInfo().label .. "\n当前进程包名:" .. gg.getTargetPackage() .. "\n总共耗时:" .. string.sub(os.clock() - time, 0, 5) .. "秒")
end
end
function YX_MkPointer(A0_3820, A1_3821, A2_3822, A3_3823, A4_3824, A5_3825, A6_3826)
if gg.getRangesList(A0_3820)[1] == nil then
gg.alert(A5_3825 .. "开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━")
else
function S_Pointer(A0_3827, A1_3828, A2_3829)
local L3_3830
function L3_3830()
for _FORV_5_, _FORV_6_ in pairs((gg.getRangesList("^/data/*.so*$"))) do
if _FORV_6_.type:sub(2, 2) == "w" then
table.insert({}, _FORV_6_)
end
end
return {}
end
return (string.format("0x%X", (function(A0_3831, A1_3832, A2_3833)
if A2_3833 then
else
end
for _FORV_11_ in pairs((L3_3830())) do
if A0_3831[1] == L3_3830()[_FORV_11_].internalName:gsub("^.*/", "") and A0_3831[2] == L3_3830()[_FORV_11_].state then
break
end
end
if L3_3830()[_FORV_11_] then
;({})[#{}].address = L3_3830()[_FORV_11_].start + A1_3832[1]
;({})[#{}].flags = 4
if #A1_3832 ~= 1 then
for _FORV_11_ = 2, #A1_3832 do
for _FORV_16_ in pairs((gg.getValues({}))) do
if not gg.getTargetInfo().x64 then
gg.getValues({})[_FORV_16_].value = gg.getValues({})[_FORV_16_].value & 4294967295
end
;({})[#{}].address = gg.getValues({})[_FORV_16_].value + A1_3832[_FORV_11_]
;({})[#{}].flags = 4
end
end
end
end
return ({})[#{}].address
end
)(A0_3827, A1_3828, A2_3829)))
end
time = os.clock()
for _FORV_13_, _FORV_14_ in pairs(A2_3822) do
gg.addListItems({
{
address = S_Pointer({A0_3820, A1_3821}, {0}) + _FORV_14_,
flags = A3_3823,
value = A4_3824,
freeze = A6_3826
}
})
end
gg.toast(A5_3825 .. "️开启成功\n当前进程名称:" .. gg.getTargetInfo().label .. "\n当前进程包名:" .. gg.getTargetPackage() .. "\n总共耗时:" .. string.sub(os.clock() - time, 0, 5) .. "秒")
end
end
function TL(A0_3834, A1_3835, A2_3836)
if gg.getRangesList("il2cpp.so")[1] == nil then
_error()
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[1].start + A0_3834,
flags = A1_3835,
value = A2_3836
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[1].start + A0_3834 + 4,
flags = A1_3835,
value = "1EFF2FE1r"
}
})
end
end
function WT(A0_3837, A1_3838, A2_3839, A3_3840)
if gg.getRangesList("il2cpp.so")[2] == nil then
_error()
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3837,
flags = 4,
value = A1_3838
}
})
if A2_3839 == nil then
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3837 + 4,
flags = 4,
value = A2_3839
}
})
end
if A3_3840 == nil then
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3837 + 8,
flags = 4,
value = A3_3840
}
})
end
end
end
function _error()
TLt = gg.alert("模块未加载\n或选错游戏进程", "取消", "选择进程")
if TLt == 2 then
gg.setProcessX()
end
end
function Set(A0_3841, A1_3842, A2_3843, A3_3844)
gg.clearResults()
gg.setRanges(A0_3841[3])
gg.searchNumber(A0_3841[1], A0_3841[2])
if #gg.getResults(gg.getResultCount()) == 0 then
gg.toast("开启失败")
return
end
for _FORV_10_ = 1, #gg.getResults(gg.getResultCount()) do
end
for _FORV_10_ = 1, #A1_3842 do
for _FORV_14_ = 1, #gg.getResults(gg.getResultCount()) do
if gg.getValues({
{
address = gg.getResults(gg.getResultCount())[_FORV_14_].address + A1_3842[_FORV_10_][2],
flags = A1_3842[_FORV_10_][3]
}
})[1].value ~= A1_3842[_FORV_10_][1] then
end
end
end
for _FORV_11_ = 1, #A2_3843 do
for _FORV_15_ = 1, #gg.getResults(gg.getResultCount()) do
if not ({
[_FORV_10_] = false,
[_FORV_14_] = true
})[_FORV_15_] then
gg.addListItems({
{
address = gg.getResults(gg.getResultCount())[_FORV_15_].address + A2_3843[_FORV_11_][1],
flags = A2_3843[_FORV_11_][2],
freeze = true,
value = A2_3843[_FORV_11_][3]
}
})
end
end
end
if 0 + 1 > 0 then
gg.toast("" .. A3_3844 .. "开启成功 共修改" .. 0 + 1 .. "个值\n共耗时" .. os.clock() - os.clock() .. "秒")
else
gg.toast("未修改任何值")
end
end
function WY(A0_3845, A1_3846, A2_3847, A3_3848, A4_3849)
kv = {}
if gg.getRangesList(A0_3845)[1] == nil then
gg.alert("模块未加载\n或选错游戏进程")
end
for _FORV_11_, _FORV_12_ in ipairs(A1_3846) do
kv[#kv + 1] = {
address = gg.getRangesList(A0_3845)[1].start + _FORV_12_,
flags = A2_3847,
value = A3_3848,
freeze = true
}
end
gg.addListItems(kv)
gg.toast(A4_3849 .. "开启成功\n共耗时" .. os.clock() - os.clock() .. "秒\n共修改" .. #A1_3846 .. "条值")
end
function SOGSPY_ST(A0_3850, A1_3851)
local L2_3852
if A1_3851 <= A0_3850 then
L2_3852 = "py"
_ENV[L2_3852] = string.format("0x%X", A0_3850 - A1_3851)
L2_3852 = "tostring"
L2_3852 = _ENV[L2_3852]
do return L2_3852(string.format("-0x%X", py)) end
return
end
L2_3852 = "py"
_ENV[L2_3852] = string.format("0x%X", A1_3851 - A0_3850)
L2_3852 = "tostring"
L2_3852 = _ENV[L2_3852]
return L2_3852(string.format("0x%X", py))
end
function SO_PT(A0_3853, A1_3854, A2_3855)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.alert("开启失败\n内存\n解决方法:请重新选择游戏进程\n")
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3853,
flags = A1_3854,
value = A2_3855
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3853 + 4,
flags = A1_3854,
value = "~A8 RET"
}
})
end
end
function SO_Deposit(A0_3856, A1_3857, A2_3858)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.alert("开启失败\n内存\n解决方法:请重新选择游戏进程\n")
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3856,
flags = 4,
value = "~A8 LDR X0, [PC, #0x8]"
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3856 + 4,
flags = 4,
value = "~A8 RET"
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3856 + 8,
flags = A1_3857,
value = A2_3858
}
})
end
end
function SO_Deposit(A0_3859, A1_3860, A2_3861)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━")
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3859,
flags = 4,
value = "~A8 LDR X0, [PC,#0x8]"
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3859 + 4,
flags = 4,
value = "~A8 RET"
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3859 + 8,
flags = A1_3860,
value = A2_3861
}
})
end
end
function search(A0_3862, A1_3863, A2_3864, A3_3865, A4_3866)
if A0_3862 ~= nil then
if A1_3863 ~= nil then
if A2_3864 == nil then
A2_3864 = 32
end
gg.setRanges(A2_3864)
if A3_3865 == nil then
A3_3865 = "-1"
end
if A4_3866 == nil then
A3_3865 = "0"
end
gg.searchNumber(A0_3862, A1_3863, false, 536870912, A3_3865, A4_3866)
sl = gg.getResultCount()
if sl ~= 0 then
sj = gg.getResults(sl)
gg.toast("搜索到 " .. sl .. " 个结果")
gg.clearResults()
else
gg.toast("未搜索到结果")
end
else
gg.toast("无搜索值类型")
end
else
gg.toast("无需搜索值")
end
end
function py1(A0_3867, A1_3868, A2_3869)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_3869
z1[_FORV_6_].flags = A1_3868
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value == A0_3867 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function py2(A0_3870, A1_3871, A2_3872)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_3872
z1[_FORV_6_].flags = A1_3871
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value ~= A0_3870 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function py2(A0_3873, A1_3874, A2_3875)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_3875
z1[_FORV_6_].flags = A1_3874
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value ~= A0_3873 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function xg1(A0_3876, A1_3877, A2_3878, A3_3879)
if #sj ~= nil then
z = {}
for _FORV_7_ = 1, #sj do
z[_FORV_7_] = {}
z[_FORV_7_].address = sj[_FORV_7_].address + A2_3878
z[_FORV_7_].flags = A1_3877
z[_FORV_7_].value = A0_3876
if A3_3879 == true then
z[_FORV_7_].freeze = true
end
end
if A3_3879 == true then
gg.addListItems(z)
else
gg.clearList()
gg.setValues(z)
end
gg.toast("共修改 " .. #z .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function GL(A0_3880, A1_3881, A2_3882)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━")
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3880,
flags = A1_3881,
value = A2_3882
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3880 + 4,
flags = A1_3881,
value = "~A8 RET"
}
})
end
end
function TL_TL(A0_3883, A1_3884, A2_3885, A3_3886, A4_3887)
kv = {}
if gg.getRangesList(A0_3883)[1] == nil then
gg.alert("模块未加载\n或选错游戏进程")
end
for _FORV_11_, _FORV_12_ in ipairs(A1_3884) do
kv[#kv + 1] = {
address = gg.getRangesList(A0_3883)[1].start + _FORV_12_,
flags = A2_3885,
value = A3_3886,
freeze = true
}
end
gg.addListItems(kv)
gg.toast(A4_3887 .. "开启成功\n共耗时" .. os.clock() - os.clock() .. "秒\n共修改" .. #A1_3884 .. "条值")
end
function S_Pointer(A0_3888, A1_3889, A2_3890)
local L3_3891
function L3_3891()
for _FORV_5_, _FORV_6_ in pairs((gg.getRangesList("^/data/*.so*$"))) do
if _FORV_6_.type:sub(2, 2) == "w" then
table.insert({}, _FORV_6_)
end
end
return {}
end
return (string.format("0x%X", (function(A0_3892, A1_3893, A2_3894)
if A2_3894 then
else
end
for _FORV_11_ in pairs((L3_3891())) do
if A0_3892[1] == L3_3891()[_FORV_11_].internalName:gsub("^.*/", "") and A0_3892[2] == L3_3891()[_FORV_11_].state then
break
end
end
if L3_3891()[_FORV_11_] then
;({})[#{}].address = L3_3891()[_FORV_11_].start + A1_3893[1]
;({})[#{}].flags = 4
if #A1_3893 ~= 1 then
for _FORV_11_ = 2, #A1_3893 do
for _FORV_16_ in pairs((gg.getValues({}))) do
if not gg.getTargetInfo().x64 then
gg.getValues({})[_FORV_16_].value = gg.getValues({})[_FORV_16_].value & 4294967295
end
;({})[#{}].address = gg.getValues({})[_FORV_16_].value + A1_3893[_FORV_11_]
;({})[#{}].flags = 4
end
end
end
end
return ({})[#{}].address
end
)(A0_3888, A1_3889, A2_3890)))
end
function SOGSPY_ST(A0_3895, A1_3896)
local L2_3897
if A1_3896 <= A0_3895 then
L2_3897 = "py"
_ENV[L2_3897] = string.format("0x%X", A0_3895 - A1_3896)
L2_3897 = "tostring"
L2_3897 = _ENV[L2_3897]
do return L2_3897(string.format("-0x%X", py)) end
return
end
L2_3897 = "py"
_ENV[L2_3897] = string.format("0x%X", A1_3896 - A0_3895)
L2_3897 = "tostring"
L2_3897 = _ENV[L2_3897]
return L2_3897(string.format("0x%X", py))
end
string.toMusic(os.date("欢迎老板使用泪水全防启动时间为%Y年%m月%d日%H时%M分%S秒正在启动脚本祝您天天稳定不封号"))
function so_mc(A0_3898, A1_3899, A2_3900)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.alert("开启失败\n内存\n解决方法:请重新选择游戏进程\n")
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3898,
flags = A1_3899,
value = A2_3900
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3898 + 4,
flags = A1_3899,
value = "~A8 RET"
}
})
end
end
function SO_Deposit(A0_3901, A1_3902, A2_3903)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.alert("开启失败\n内存\n解决方法:请重新选择游戏进程\n")
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3901,
flags = 4,
value = "~A8 LDR X0, [PC, #0x8]"
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3901 + 4,
flags = 4,
value = "~A8 RET"
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3901 + 8,
flags = A1_3902,
value = A2_3903
}
})
end
end
function readValue(A0_3904, A1_3905)
return gg.getValues({
{address = A0_3904, flags = A1_3905}
})[1].value
end
ms = {}
function setvalue(A0_3906, A1_3907, A2_3908, A3_3909)
local L4_3910
L4_3910 = {}
L4_3910[1] = {}
L4_3910[1].address = A0_3906
L4_3910[1].value = A1_3907
L4_3910[1].flags = A2_3908
if A3_3909 == true then
L4_3910[1].freeze = true
gg.addListItems(L4_3910)
else
gg.setValues(L4_3910)
end
end
function ms.ss(A0_3911, A1_3912, A2_3913)
local L6_3914, L7_3915
L6_3914 = A0_3911
L7_3915 = A1_3912
gg.clearResults()
gg.setRanges(A2_3913)
gg.searchNumber(L6_3914, L7_3915, false, gg.SIGN_EQUAL, 206158430208, 1099511627775, 0)
Result = gg.getResults(gg.getResultCount())
end
function ms.py(A0_3916, A1_3917, A2_3918)
if Result and #Result ~= 0 then
t = {}
for _FORV_6_, _FORV_7_ in ipairs(Result) do
t[_FORV_6_] = {}
t[_FORV_6_].address = _FORV_7_.address + A1_3917
t[_FORV_6_].flags = A2_3918
end
t = gg.getValues(t)
for _FORV_6_, _FORV_7_ in ipairs(t) do
if _FORV_7_.value ~= A0_3916 then
Result[_FORV_6_] = nil
end
end
for _FORV_7_, _FORV_8_ in pairs(Result) do
end
Result = {}
end
end
function ms.bc()
data = {}
if Result == nil or #Result == 0 then
gg.alert("开启失败")
else
for _FORV_3_, _FORV_4_ in pairs(Result) do
data[#data + 1] = _FORV_4_.address
end
end
Result = nil
end
function ms.edit(A0_3919, A1_3920, A2_3921, A3_3922)
if Result then
ms.bc()
end
if #data > 0 then
for _FORV_7_, _FORV_8_ in ipairs(data) do
setvalue(_FORV_8_ + A1_3920, A0_3919, A2_3921, A3_3922 or false)
end
end
end
function setvalue(A0_3923, A1_3924, A2_3925)
local L3_3926
L3_3926 = {}
L3_3926[1] = {}
L3_3926[1].address = A0_3923
L3_3926[1].flags = A1_3924
L3_3926[1].value = A2_3925
gg.setValues(L3_3926)
end
function TL_TL(A0_3927, A1_3928, A2_3929, A3_3930, A4_3931)
kv = {}
if gg.getRangesList(A0_3927)[1] == nil then
gg.alert("模块未加载\n或选错游戏进程")
end
for _FORV_11_, _FORV_12_ in ipairs(A1_3928) do
kv[#kv + 1] = {
address = gg.getRangesList(A0_3927)[1].start + _FORV_12_,
flags = A2_3929,
value = A3_3930,
freeze = true
}
end
gg.addListItems(kv)
gg.toast(A4_3931 .. "开启成功\n共耗时" .. os.clock() - os.clock() .. "秒\n共修改" .. #A1_3928 .. "条值")
end
function S_Pointer(A0_3932, A1_3933, A2_3934)
local L3_3935
function L3_3935()
for _FORV_5_, _FORV_6_ in pairs((gg.getRangesList("^/data/*.so*$"))) do
if _FORV_6_.type:sub(2, 2) == "w" then
table.insert({}, _FORV_6_)
end
end
return {}
end
return (string.format("0x%X", (function(A0_3936, A1_3937, A2_3938)
if A2_3938 then
else
end
for _FORV_11_ in pairs((L3_3935())) do
if A0_3936[1] == L3_3935()[_FORV_11_].internalName:gsub("^.*/", "") and A0_3936[2] == L3_3935()[_FORV_11_].state then
break
end
end
if L3_3935()[_FORV_11_] then
;({})[#{}].address = L3_3935()[_FORV_11_].start + A1_3937[1]
;({})[#{}].flags = 4
if #A1_3937 ~= 1 then
for _FORV_11_ = 2, #A1_3937 do
for _FORV_16_ in pairs((gg.getValues({}))) do
if not gg.getTargetInfo().x64 then
gg.getValues({})[_FORV_16_].value = gg.getValues({})[_FORV_16_].value & 4294967295
end
;({})[#{}].address = gg.getValues({})[_FORV_16_].value + A1_3937[_FORV_11_]
;({})[#{}].flags = 4
end
end
end
end
return ({})[#{}].address
end
)(A0_3932, A1_3933, A2_3934)))
end
function setvalue(A0_3939, A1_3940, A2_3941)
local L3_3942
L3_3942 = {}
L3_3942[1] = {}
L3_3942[1].address = A0_3939
L3_3942[1].flags = A1_3940
L3_3942[1].value = A2_3941
gg.setValues(L3_3942)
end
function TL_TL(A0_3943, A1_3944, A2_3945, A3_3946, A4_3947)
kv = {}
if gg.getRangesList(A0_3943)[1] == nil then
gg.alert("模块未加载\n或选错游戏进程")
end
for _FORV_11_, _FORV_12_ in ipairs(A1_3944) do
kv[#kv + 1] = {
address = gg.getRangesList(A0_3943)[1].start + _FORV_12_,
flags = A2_3945,
value = A3_3946,
freeze = true
}
end
gg.addListItems(kv)
gg.alert("已修改,共修改了" .. #A1_3944 .. "数据")
end
function S_Pointer(A0_3948, A1_3949, A2_3950)
local L3_3951
function L3_3951()
for _FORV_5_, _FORV_6_ in pairs((gg.getRangesList("^/data/*.so*$"))) do
if _FORV_6_.type:sub(2, 2) == "w" then
table.insert({}, _FORV_6_)
end
end
return {}
end
return (string.format("0x%X", (function(A0_3952, A1_3953, A2_3954)
if A2_3954 then
else
end
for _FORV_11_ in pairs((L3_3951())) do
if A0_3952[1] == L3_3951()[_FORV_11_].internalName:gsub("^.*/", "") and A0_3952[2] == L3_3951()[_FORV_11_].state then
break
end
end
if L3_3951()[_FORV_11_] then
;({})[#{}].address = L3_3951()[_FORV_11_].start + A1_3953[1]
;({})[#{}].flags = 4
if #A1_3953 ~= 1 then
for _FORV_11_ = 2, #A1_3953 do
for _FORV_16_ in pairs((gg.getValues({}))) do
if not gg.getTargetInfo().x64 then
gg.getValues({})[_FORV_16_].value = gg.getValues({})[_FORV_16_].value & 4294967295
end
;({})[#{}].address = gg.getValues({})[_FORV_16_].value + A1_3953[_FORV_11_]
;({})[#{}].flags = 4
end
end
end
end
return ({})[#{}].address
end
)(A0_3948, A1_3949, A2_3950)))
end
function SCRIPT()
gg.jumpAPP("com.kiloo.subwaysurf")
string.toMusic("地铁跑酷启动成功!")
end
function OP_jizhigongjiu(A0_3955, A1_3956, A2_3957, A3_3958, A4_3959, A5_3960, A6_3961)
if gg.getRangesList(A0_3955)[1] == nil then
gg.alert(A5_3960 .. "开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━")
else
function S_Pointer(A0_3962, A1_3963, A2_3964)
local L3_3965
function L3_3965()
for _FORV_5_, _FORV_6_ in pairs((gg.getRangesList("^/data/*.so*$"))) do
if _FORV_6_.type:sub(2, 2) == "w" then
table.insert({}, _FORV_6_)
end
end
return {}
end
return (string.format("0x%X", (function(A0_3966, A1_3967, A2_3968)
if A2_3968 then
else
end
for _FORV_12_ in pairs((L3_3965())) do
if A0_3966[1] == L3_3965()[_FORV_12_].internalName:gsub("^.*/", "") and A0_3966[2] == L3_3965()[_FORV_12_].state then
break
end
end
if L3_3965()[_FORV_12_] then
;({})[#{}].address = L3_3965()[_FORV_12_].start + A1_3967[1]
;({})[#{}].flags = 4
if #A1_3967 ~= 1 then
for _FORV_12_ = 2, #A1_3967 do
for _FORV_17_ in pairs((gg.getValues({}))) do
if not gg.getTargetInfo().x64 then
gg.getValues({})[_FORV_17_].value = gg.getValues({})[_FORV_17_].value & 4294967295
end
;({})[#{}].address = gg.getValues({})[_FORV_17_].value + A1_3967[_FORV_12_]
;({})[#{}].flags = 4
end
end
end
print(string.char(231, 190, 164, 58) .. tonumber(377200894))
end
return ({})[#{}].address
end
)(A0_3962, A1_3963, A2_3964)))
end
time = os.clock()
for _FORV_14_, _FORV_15_ in pairs(A2_3957) do
gg.addListItems({
{
address = S_Pointer({A0_3955, A1_3956}, {0}) + _FORV_15_,
flags = A3_3958,
value = A4_3959,
freeze = A6_3961
}
})
end
repeat
until 0 + 1 >= 5
if not false then
gg.toast(A5_3960 .. "️开启成功\n当前进程名称:" .. gg.getTargetInfo().label .. "\n当前进程包名:" .. gg.getTargetPackage() .. "\n总共耗时:" .. string.sub(tostring(os.clock() - time), 1, 5) .. "秒")
end
end
end
function SOGSPY_ST(A0_3969, A1_3970)
local L2_3971
if A1_3970 <= A0_3969 then
L2_3971 = "py"
_ENV[L2_3971] = string.format("0x%X", A0_3969 - A1_3970)
L2_3971 = "tostring"
L2_3971 = _ENV[L2_3971]
do return L2_3971(string.format("-0x%X", py)) end
return
end
L2_3971 = "py"
_ENV[L2_3971] = string.format("0x%X", A1_3970 - A0_3969)
L2_3971 = "tostring"
L2_3971 = _ENV[L2_3971]
return L2_3971(string.format("0x%X", py))
end
function So_32(A0_3972, A1_3973, A2_3974)
if gg.getRangesList("libil2cpp.so")[1] == nil then
gg.alert("请重新选择进程")
else
gg.clearResults()
for _FORV_8_, _FORV_9_ in pairs((gg.getRangesList("libil2cpp.so"))) do
if _FORV_9_.state ~= "Xa" then
do return end
return
end
gg.processPause()
gg.setValues({
{
address = _FORV_9_.start + A0_3972,
flags = 4,
value = A1_3973
}
})
gg.processResume()
if A2_3974 == true then
gg.setValues({
{
address = _FORV_9_.start + A0_3972 + 4,
flags = 4,
value = "~A8 RET"
}
})
gg.processResume()
elseif A2_3974 == nil then
gg.processPause()
gg.setValues({
{
address = _FORV_9_.start + A0_3972 + 4,
flags = 4,
value = "~A8 RET"
}
})
gg.processResume()
elseif A2_3974 == false then
break
end
end
end
end
function readValue(A0_3975, A1_3976)
return gg.getValues({
{address = A0_3975, flags = A1_3976}
})[1].value
end
ms = {}
function setvalue(A0_3977, A1_3978, A2_3979, A3_3980)
local L4_3981
L4_3981 = {}
L4_3981[1] = {}
L4_3981[1].address = A0_3977
L4_3981[1].value = A1_3978
L4_3981[1].flags = A2_3979
if A3_3980 == true then
L4_3981[1].freeze = true
gg.addListItems(L4_3981)
else
gg.setValues(L4_3981)
end
end
function ms.ss(A0_3982, A1_3983, A2_3984)
local L6_3985, L7_3986
L6_3985 = A0_3982
L7_3986 = A1_3983
gg.clearResults()
gg.setRanges(A2_3984)
gg.searchNumber(L6_3985, L7_3986, false, gg.SIGN_EQUAL, 206158430208, 1099511627775, 0)
Result = gg.getResults(gg.getResultCount())
end
function ms.py(A0_3987, A1_3988, A2_3989)
if Result and #Result ~= 0 then
t = {}
for _FORV_6_, _FORV_7_ in ipairs(Result) do
t[_FORV_6_] = {}
t[_FORV_6_].address = _FORV_7_.address + A1_3988
t[_FORV_6_].flags = A2_3989
end
t = gg.getValues(t)
for _FORV_6_, _FORV_7_ in ipairs(t) do
if _FORV_7_.value ~= A0_3987 then
Result[_FORV_6_] = nil
end
end
for _FORV_7_, _FORV_8_ in pairs(Result) do
end
Result = {}
end
end
function ms.bc()
data = {}
if Result == nil or #Result == 0 then
gg.alert("开启失败")
else
for _FORV_3_, _FORV_4_ in pairs(Result) do
data[#data + 1] = _FORV_4_.address
end
end
Result = nil
end
function ms.edit(A0_3990, A1_3991, A2_3992, A3_3993)
if Result then
ms.bc()
end
if #data > 0 then
for _FORV_7_, _FORV_8_ in ipairs(data) do
setvalue(_FORV_8_ + A1_3991, A0_3990, A2_3992, A3_3993 or false)
end
gg.toast(Name .. "成功")
end
end
function gg.SetSo(A0_3994, A1_3995)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.alert("请重新选择地铁跑酷进程")
else
gg.processPause()
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3994,
flags = 4,
value = A1_3995
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_3994 + 4,
flags = 4,
value = "~A BX\t LR"
}
})
gg.processResume()
end
end
function SO_FLPTXG(A0_3996, A1_3997, A2_3998)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━")
else
gg.setValues({
{
address = gg.getRangesList("libil2cpp.so")[2].start + A0_3996,
flags = A1_3997,
value = "~A8 MOV\t W0, #" .. A2_3998
}
})
gg.setValues({
{
address = gg.getRangesList("libil2cpp.so")[2].start + A0_3996 + 4,
flags = A1_3997,
value = "0000271Er"
}
})
gg.setValues({
{
address = gg.getRangesList("libil2cpp.so")[2].start + A0_3996 + 8,
flags = A1_3997,
value = "00D8215Er"
}
})
gg.setValues({
{
address = gg.getRangesList("libil2cpp.so")[2].start + A0_3996 + 12,
flags = A1_3997,
value = "0000261Er"
}
})
gg.setValues({
{
address = gg.getRangesList("libil2cpp.so")[2].start + A0_3996 + 16,
flags = A1_3997,
value = "~A8 RET"
}
})
end
end
function search(A0_3999, A1_4000, A2_4001, A3_4002, A4_4003)
gg.setVisible(false)
if A0_3999 ~= nil then
if A1_4000 ~= nil then
if A2_4001 == nil then
A2_4001 = 32
end
gg.setRanges(A2_4001)
if A3_4002 == nil then
A3_4002 = "-1"
end
if A4_4003 == nil then
A3_4002 = "0"
end
gg.searchNumber(A0_3999, A1_4000, false, 536870912, A3_4002, A4_4003)
sl = gg.getResultCount()
if sl ~= 0 then
sj = gg.getResults(sl)
gg.toast("搜索到 " .. sl .. " 个结果")
gg.clearResults()
else
gg.toast("未搜索到结果")
end
else
gg.toast("无搜索值类型")
end
else
gg.toast("无需搜索值")
end
end
function py1(A0_4004, A1_4005, A2_4006)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_4006
z1[_FORV_6_].flags = A1_4005
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value == A0_4004 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function py2(A0_4007, A1_4008, A2_4009)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_4009
z1[_FORV_6_].flags = A1_4008
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value ~= A0_4007 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function py2(A0_4010, A1_4011, A2_4012)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_4012
z1[_FORV_6_].flags = A1_4011
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value ~= A0_4010 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function xg1(A0_4013, A1_4014, A2_4015, A3_4016)
if #sj ~= nil then
z = {}
for _FORV_7_ = 1, #sj do
z[_FORV_7_] = {}
z[_FORV_7_].address = sj[_FORV_7_].address + A2_4015
z[_FORV_7_].flags = A1_4014
z[_FORV_7_].value = A0_4013
if A3_4016 == true then
z[_FORV_7_].freeze = true
end
end
if A3_4016 == true then
gg.addListItems(z)
else
gg.clearList()
gg.setValues(z)
end
gg.toast("共修改 " .. #z .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function editData(A0_4017, A1_4018)
gg.setVisible(false)
gg.clearResults()
qmnbv = A0_4017[3].value or A0_4017[3][1]
qmnbt = A0_4017[3].type or A0_4017[3][2]
qmnbn = A0_4017[2].name or A0_4017[2][1]
gg.setRanges(A0_4017[1].memory or A0_4017[1][1])
gg.searchNumber(qmnbv, qmnbt)
gg.refineNumber(qmnbv, qmnbt)
sz = gg.getResultCount()
if sz == 0 then
gg.toast(qmnbn .. "开启失败")
else
sl = gg.getResults(999999)
for _FORV_5_ = 1, sz do
pdsz = true
for _FORV_9_ = 4, #A0_4017 do
if pdsz == true then
pysz = {
{}
}
pysz[1].address = sl[_FORV_5_].address + (A0_4017[_FORV_9_].offset or A0_4017[_FORV_9_][2])
pysz[1].flags = A0_4017[_FORV_9_].type or A0_4017[_FORV_9_][3]
szpy = gg.getValues(pysz)
tzszpd = tostring(A0_4017[_FORV_9_].lv or A0_4017[_FORV_9_][1]):gsub(",", "")
pyszpd = tostring(szpy[1].value):gsub(",", "")
if tzszpd == pyszpd then
pdjg = true
pdsz = true
else
pdjg = false
pdsz = false
end
end
end
if pdjg == true then
szpy = sl[_FORV_5_].address
for _FORV_9_ = 1, #A1_4018 do
xgsz = A1_4018[_FORV_9_].value or A1_4018[_FORV_9_][1]
xgpy = szpy + (A1_4018[_FORV_9_].offset or A1_4018[_FORV_9_][2])
xglx = A1_4018[_FORV_9_].type or A1_4018[_FORV_9_][3]
xgdj = A1_4018[_FORV_9_].freeze or A1_4018[_FORV_9_][4]
xg = {
{
address = xgpy,
flags = xglx,
value = xgsz
}
}
if xgdj == true then
xg[1].freeze = xgdj
gg.addListItems(xg)
else
gg.setValues(xg)
end
end
xgjg = true
end
end
if xgjg == true then
gg.toast(qmnbn .. "开启成功")
else
gg.toast(qmnbn .. "开启失败")
end
end
end
function xqmnb(A0_4019)
gg.clearResults()
gg.setRanges(A0_4019[1].memory)
if gg.searchNumber(A0_4019[3].value, A0_4019[3].type, false, gg.SIGN_EQUAL, 0, -1) ~= true then
gg.searchAddress(A0_4019[3].value, -1, A0_4019[3].type)
end
if gg.getResultCount() == 0 then
gg.toast(A0_4019[2].name .. "开启失败")
return
end
szxx = gg.getResults(gg.getResultCount())
szpd = {}
a = 0
for _FORV_4_ = 4, #A0_4019 do
for _FORV_8_ = 1, #szxx do
if szpd[_FORV_8_] ~= "false" and gg.getValues({
{
address = szxx[_FORV_8_].address + A0_4019[_FORV_4_].offset,
flags = A0_4019[_FORV_4_].type
}
})[1].value + 0 ~= A0_4019[_FORV_4_].lv then
szpd[_FORV_8_] = "false"
a = a + 1
end
end
end
if a == #szxx then
gg.toast(A0_4019[2].name .. "开启失败")
return
end
b = 0
t = {}
for _FORV_4_ = 1, #qmxg do
if qmxg[_FORV_4_].freeze == true then
a = 1
end
for _FORV_8_ = 1, #szxx do
if szpd[_FORV_8_] == nil then
b = b + 1
table.insert(t, {
address = szxx[_FORV_8_].address + qmxg[_FORV_4_].offset,
flags = qmxg[_FORV_4_].type,
freeze = qmxg[_FORV_4_].freeze,
value = qmxg[_FORV_4_].value
})
end
end
end
gg.setValues(t)
gg.addListItems(t)
gg.clearResults()
if a ~= 1 then
gg.clearList()
else
a = nil
end
gg.toast(A0_4019[2].name .. "开启成功,共修改了" .. b .. "条数据")
end
function qmnb(A0_4020)
local L1_4021
L1_4021 = {}
for _FORV_5_ = 1, #A0_4020["搜索数组"] do
table.insert(L1_4021, _FORV_5_, {
lv = A0_4020["搜索数组"][_FORV_5_][1],
offset = A0_4020["搜索数组"][_FORV_5_][2],
type = A0_4020["搜索类型"]
})
end
if app.memorysearch(A0_4020["搜索内存"], L1_4021) then
for _FORV_7_ = 1, #app.memorysearch(A0_4020["搜索内存"], L1_4021) do
for _FORV_11_ = 1, #A0_4020["修改数组"] do
app.memorywrite(app.memorysearch(A0_4020["搜索内存"], L1_4021)[_FORV_7_] + A0_4020["修改数组"][_FORV_11_][2], A0_4020["搜索类型"], A0_4020["修改数组"][_FORV_11_][1])
end
end
gg.toast(A0_4020["功能名称"] .. "共修改" .. #app.memorysearch(A0_4020["搜索内存"], L1_4021) * #A0_4020["修改数组"] .. "条数据")
else
gg.toast(A0_4020["功能名称"] .. "开启失败")
end
end
function xg1(A0_4022, A1_4023, A2_4024, A3_4025)
if sj ~= nil and #sj > 0 then
z = {}
for _FORV_7_ = 1, #sj do
z[_FORV_7_] = {}
z[_FORV_7_].address = sj[_FORV_7_].address + A2_4024
z[_FORV_7_].flags = A1_4023
if A0_4022 == nil then
A0_4022 = readValue(z[_FORV_7_].address, A1_4023)
end
z[_FORV_7_].value = A0_4022
z[_FORV_7_].freeze = A3_4025 and true or false
end
if A3_4025 == true or A3_4025 == false then
gg.addListItems(z)
else
gg.setValues(z)
end
gg.toast("")
else
gg.toast("")
end
end
function xg2(A0_4026, A1_4027, A2_4028, A3_4029, A4_4030)
if #A0_4026 ~= nil then
z = {}
for _FORV_8_ = 1, #A0_4026 do
z[_FORV_8_] = {}
z[_FORV_8_].address = A0_4026[_FORV_8_].address + A3_4029
z[_FORV_8_].flags = A2_4028
z[_FORV_8_].value = A1_4027
if A4_4030 == true then
z[_FORV_8_].freeze = true
end
end
if A4_4030 == true then
gg.addListItems(z)
else
gg.clearList()
gg.setValues(z)
end
gg.toast("")
else
gg.toast("")
end
end
function bc(A0_4031)
if sj ~= nil then
_ENV[A0_4031] = sj
else
gg.toast("")
end
end
Qr_UIP2FazG = "Main"
gg.clearResults()
sj = {}
xgz = {}
function search(A0_4032, A1_4033, A2_4034, A3_4035, A4_4036)
if A0_4032 ~= nil then
if A1_4033 ~= nil then
if A2_4034 == nil then
A2_4034 = 32
end
gg.setRanges(A2_4034)
if A3_4035 == nil then
A3_4035 = "-1"
end
if A4_4036 == nil then
A3_4035 = "0"
end
gg.searchNumber(A0_4032, A1_4033, false, gg.SIGN_EQUAL, A3_4035, A4_4036)
sl = gg.getResultCount()
if sl ~= 0 then
sj = gg.getResults(sl)
gg.toast("搜索到 " .. sl .. " 个结果")
gg.clearResults()
else
gg.toast("未搜索到结果")
end
else
gg.toast("无搜索值类型")
end
else
gg.toast("无需搜索值")
end
end
function py1(A0_4037, A1_4038, A2_4039)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_4039
z1[_FORV_6_].flags = A1_4038
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value == A0_4037 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function py2(A0_4040, A1_4041, A2_4042)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_4042
z1[_FORV_6_].flags = A1_4041
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value ~= A0_4040 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function xg1(A0_4043, A1_4044, A2_4045, A3_4046)
if #sj ~= nil then
z = {}
for _FORV_7_ = 1, #sj do
z[_FORV_7_] = {}
z[_FORV_7_].address = sj[_FORV_7_].address + A2_4045
z[_FORV_7_].flags = A1_4044
z[_FORV_7_].value = A0_4043
if A3_4046 == true then
z[_FORV_7_].freeze = true
end
end
if A3_4046 == true then
gg.addListItems(z)
else
gg.clearList()
gg.setValues(z)
end
gg.toast("共修改 " .. #z .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function xg2(A0_4047, A1_4048, A2_4049, A3_4050, A4_4051)
if #A0_4047 ~= nil then
z = {}
for _FORV_8_ = 1, #A0_4047 do
z[_FORV_8_] = {}
z[_FORV_8_].address = A0_4047[_FORV_8_].address + A3_4050
z[_FORV_8_].flags = A2_4049
z[_FORV_8_].value = A1_4048
if A4_4051 == true then
z[_FORV_8_].freeze = true
end
end
if A4_4051 == true then
gg.addListItems(z)
else
gg.clearList()
gg.setValues(z)
end
gg.toast("共修改 " .. #z .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function bc(A0_4052)
if sj ~= nil then
_ENV[A0_4052] = sj
else
gg.toast("无数据")
end
end
function BaAdd(A0_4053)
if gg.getTargetInfo().x64 == true then
t = gg.getValues({
[1] = {address = A0_4053, flags = 32}
})
do return t[1].value end
return
end
t = gg.getValues({
[1] = {address = A0_4053, flags = 4}
})
return t[1].value & 4294967295
end
function set(A0_4054, A1_4055, A2_4056, A3_4057)
if A3_4057 == "true" then
gg.addListItems({
{
address = A0_4054,
flags = A2_4056,
value = A1_4055,
freeze = true
}
})
else
gg.setValues({
{
address = A0_4054,
flags = A2_4056,
value = A1_4055
}
})
end
gg.toast("已修改完成~")
end
DWORD = gg.TYPE_DWORD
DOUBLE = gg.TYPE_DOUBLE
FLOAT = gg.TYPE_FLOAT
WORD = gg.TYPE_WORD
BYTE = gg.TYPE_BYTE
XOR = gg.TYPE_XOR
QWORD = gg.TYPE_QWORD
D = gg.TYPE_DWORD
E = gg.TYPE_DOUBLE
F = gg.TYPE_FLOAT
W = gg.TYPE_WORD
B = gg.TYPE_BYTE
X = gg.TYPE_XOR
Q = gg.TYPE_QWORD
function SearchWrite(A0_4058, A1_4059, A2_4060, A3_4061)
gg.clearResults()
gg.setVisible(false)
gg.searchNumber(A0_4058[1][1], A2_4060)
gg.clearResults()
if gg.getResultCount() > 0 then
for _FORV_12_, _FORV_13_ in ipairs((gg.getResults((gg.getResultCount())))) do
_FORV_13_.isUseful = true
end
for _FORV_12_ = 2, #A0_4058 do
for _FORV_19_, _FORV_20_ in ipairs((gg.getResults((gg.getResultCount())))) do
;({})[#{}].address = _FORV_20_.address + (A0_4058[_FORV_12_][2] - A0_4058[1][2])
;({})[#{}].flags = _FORV_20_.flags
end
for _FORV_19_, _FORV_20_ in ipairs((gg.getValues({}))) do
if tostring(_FORV_20_.value) ~= tostring(A0_4058[_FORV_12_][1]) then
gg.getResults((gg.getResultCount()))[_FORV_19_].isUseful = false
end
end
end
for _FORV_12_, _FORV_13_ in ipairs((gg.getResults((gg.getResultCount())))) do
end
if #{} > 0 then
gg.toast("搜索到" .. #{} .. "条数据")
for _FORV_14_ = 1, #{} do
for _FORV_18_, _FORV_19_ in ipairs(A1_4059) do
offset = _FORV_19_[2] - A0_4058[1][2]
;({})[#{}].address = ({})[_FORV_14_] + offset
;({})[#{}].flags = A2_4060
;({})[#{}].value = _FORV_19_[1]
if _FORV_19_[3] == true then
;({})[#{}].freeze = true
gg.addListItems({})
end
end
end
gg.setValues({})
gg.toast("开启成功 已修改:" .. #{} .. "条数据 本次启动耗时:" .. string.sub(os.clock() - os.clock(), 0, 5) .. "秒")
gg.addListItems({})
else
gg.toast("开启失败未搜索到任何数据", false)
do return false end
do return end
gg.toast("开启失败未搜索到任何数据")
return false
end
end
end
function Fs3Fs4(A0_4062, A1_4063, A2_4064, A3_4065, A4_4066)
gg.clearResults()
gg.setRanges(A1_4063)
gg.setVisible(false)
gg.searchNumber(A2_4064[1][1], A2_4064[1][3])
gg.clearResults()
if gg.getResultCount() > 0 then
for _FORV_12_, _FORV_13_ in ipairs((gg.getResults((gg.getResultCount())))) do
_FORV_13_.isUseful = true
end
for _FORV_12_ = 2, #A2_4064 do
for _FORV_19_, _FORV_20_ in ipairs((gg.getResults((gg.getResultCount())))) do
;({})[#{}].address = _FORV_20_.address + (A2_4064[_FORV_12_][2] - A2_4064[1][2])
;({})[#{}].flags = A2_4064[_FORV_12_][3]
end
for _FORV_19_, _FORV_20_ in ipairs((gg.getValues({}))) do
if tostring(_FORV_20_.value) ~= tostring(A2_4064[_FORV_12_][1]) then
gg.getResults((gg.getResultCount()))[_FORV_19_].isUseful = false
end
end
end
for _FORV_12_, _FORV_13_ in ipairs((gg.getResults((gg.getResultCount())))) do
end
if #{} > 0 then
gg.toast(A0_4062 .. "\n搜索到{" .. #{} .. "}条数据")
if A4_4066 == "" and A4_4066 > 0 and A4_4066 < #{} then
else
A4_4066 = #{}
end
for _FORV_14_ = 1, A4_4066 do
for _FORV_18_, _FORV_19_ in ipairs(A3_4065) do
offset = _FORV_19_[2] - A2_4064[1][2]
;({})[#{}].address = ({})[_FORV_14_] + offset
;({})[#{}].flags = _FORV_19_[3]
;({})[#{}].value = _FORV_19_[1]
if _FORV_19_[4] == true then
;({})[#{}].freeze = true
gg.addListItems({})
end
end
end
gg.setValues({})
gg.toast(A0_4062 .. "️\n已修改{" .. #{} .. "}条数据")
else
gg.toast(A0_4062 .. "\n数据搜索失败", false)
do return false end
do return end
gg.toast(A0_4062 .. "\n数据修改失败", false)
return false
end
end
end
function search(A0_4067, A1_4068, A2_4069, A3_4070, A4_4071)
if A0_4067 ~= nil then
if A1_4068 ~= nil then
if A2_4069 == nil then
A2_4069 = 32
end
gg.setRanges(A2_4069)
if A3_4070 == nil then
A3_4070 = "-1"
end
if A4_4071 == nil then
A3_4070 = "0"
end
gg.searchNumber(A0_4067, A1_4068, false, 536870912, A3_4070, A4_4071)
sl = gg.getResultCount()
if sl ~= 0 then
sj = gg.getResults(sl)
gg.toast("搜索到 " .. sl .. " 个结果")
gg.clearResults()
else
gg.toast("未搜索到结果")
end
else
gg.toast("无搜索值类型")
end
else
gg.toast("无需搜索值")
end
end
function py1(A0_4072, A1_4073, A2_4074)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_4074
z1[_FORV_6_].flags = A1_4073
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value == A0_4072 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function py2(A0_4075, A1_4076, A2_4077)
if #sj ~= nil then
z1 = {}
z2 = {}
for _FORV_6_ = 1, #sj do
z1[_FORV_6_] = {}
z1[_FORV_6_].address = sj[_FORV_6_].address + A2_4077
z1[_FORV_6_].flags = A1_4076
end
z1 = gg.getValues(z1)
for _FORV_6_ = 1, #sj do
if z1[_FORV_6_].value ~= A0_4075 then
z2[#z2 + 1] = {}
z2[#z2] = sj[_FORV_6_]
end
end
sj = z2
z1 = {}
z2 = {}
gg.toast("共偏移 " .. #sj .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function xg1(A0_4078, A1_4079, A2_4080, A3_4081)
if #sj ~= nil then
z = {}
for _FORV_7_ = 1, #sj do
z[_FORV_7_] = {}
z[_FORV_7_].address = sj[_FORV_7_].address + A2_4080
z[_FORV_7_].flags = A1_4079
z[_FORV_7_].value = A0_4078
if A3_4081 == true then
z[_FORV_7_].freeze = true
end
end
if A3_4081 == true then
gg.addListItems(z)
else
gg.clearList()
gg.setValues(z)
end
gg.toast("共修改 " .. #z .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function xg2(A0_4082, A1_4083, A2_4084, A3_4085, A4_4086)
if #A0_4082 ~= nil then
z = {}
for _FORV_8_ = 1, #A0_4082 do
z[_FORV_8_] = {}
z[_FORV_8_].address = A0_4082[_FORV_8_].address + A3_4085
z[_FORV_8_].flags = A2_4084
z[_FORV_8_].value = A1_4083
if A4_4086 == true then
z[_FORV_8_].freeze = true
end
end
if A4_4086 == true then
gg.addListItems(z)
else
gg.clearList()
gg.setValues(z)
end
gg.toast("共修改 " .. #z .. " 个数据")
else
gg.toast("没有搜索数据")
end
end
function bc(A0_4087)
if sj ~= nil then
_ENV[A0_4087] = sj
else
gg.toast("无数据")
end
end
function BaAdd(A0_4088)
local L1_4089
L1_4089 = "t"
_ENV[L1_4089] = gg.getValues({
[1] = {address = A0_4088, flags = 4}
})
L1_4089 = "t"
L1_4089 = _ENV[L1_4089]
L1_4089 = L1_4089[1]
L1_4089 = L1_4089.value
L1_4089 = L1_4089 & 4294967295
return L1_4089
end
function set(A0_4090, A1_4091, A2_4092, A3_4093)
if A3_4093 == "true" then
gg.addListItems({
{
address = A0_4090,
flags = A2_4092,
value = A1_4091,
freeze = true
}
})
else
gg.setValues({
{
address = A0_4090,
flags = A2_4092,
value = A1_4091
}
})
end
gg.toast("已修改完成~")
end
function readWrite(A0_4094, A1_4095, A2_4096, A3_4097, A4_4098)
gg.clearResults()
gg.setRanges(A3_4097)
gg.setVisible(false)
if A0_4094[1][1] ~= false then
gg.searchAddress(A0_4094[1][1], 4294967295, A0_4094[1][4] or A2_4096, gg.SIGN_EQUAL, A0_4094[1][5] or 1, A0_4094[1][6] or -1)
end
gg.searchNumber(A0_4094[1][2], A0_4094[1][4] or A2_4096, false, gg.SIGN_EQUAL, A0_4094[1][5] or 1, A0_4094[1][6] or -1)
gg.clearResults()
if gg.getResultCount() > 0 then
for _FORV_12_, _FORV_13_ in ipairs((gg.getResults((gg.getResultCount())))) do
_FORV_13_.isUseful = true
end
for _FORV_12_ = 2, #A0_4094 do
for _FORV_19_, _FORV_20_ in ipairs((gg.getResults((gg.getResultCount())))) do
;({})[#{}].address = _FORV_20_.address + (A0_4094[_FORV_12_][2] - A0_4094[1][3])
;({})[#{}].flags = A0_4094[_FORV_12_][3] or A2_4096
end
for _FORV_19_, _FORV_20_ in ipairs((gg.getValues({}))) do
if _FORV_20_.flags == 16 or _FORV_20_.flags == 64 then
values = tostring(_FORV_20_.value):sub(1, 6)
else
values = _FORV_20_.value
end
if tostring(values) ~= tostring((tostring(A0_4094[_FORV_12_][1]):sub(1, 6))) then
gg.getResults((gg.getResultCount()))[_FORV_19_].isUseful = false
end
end
end
for _FORV_12_, _FORV_13_ in ipairs((gg.getResults((gg.getResultCount())))) do
end
if #{} > 0 then
for _FORV_15_ = 1, #{} do
for _FORV_19_, _FORV_20_ in ipairs(A1_4095) do
offset = _FORV_20_[2] - A0_4094[1][3]
if _FORV_20_[1] == false then
;({})[#{}].address = ({})[_FORV_15_] + offset
;({})[#{}].flags = A2_4096
th_ = th_ and th_ + 1 or 1
else
;({})[#{}].address = ({})[_FORV_15_] + offset
;({})[#{}].flags = _FORV_20_[3] or A2_4096
;({})[#{}].value = _FORV_20_[1]
tg_ = tg_ and tg_ + 1 or 1
if _FORV_20_[4] == true then
;({})[#{}].freeze = _FORV_20_[4]
gg.addListItems({})
end
end
end
end
tg = tg_ and "\n已修改" .. tg_ .. "条数据" or ""
th = th_ and "\n已获取" .. th_ .. "条数据" or ""
gg.setValues({})
gg.loadResults((gg.getValues({})))
gg.alert("\n" .. A4_4098 .. "搜索成功!\n偏移到" .. #{} .. "条数据" .. tg .. th)
tg_, th_ = nil, nil
else
gg.alert("\n" .. A4_4098 .. "开启失败", false)
do return false end
do return end
gg.alert(A4_4098 .. "开启失败")
return false
end
end
end
function so_mc(A0_4099, A1_4100, A2_4101)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━")
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_4099,
flags = A1_4100,
value = A2_4101
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_4099 + 4,
flags = A1_4100,
value = "~A8 RET"
}
})
end
end
function SO_Deposit(A0_4102, A1_4103, A2_4104)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━")
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_4102,
flags = 4,
value = "~A8 LDR X0, [PC,#0x8]"
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_4102 + 4,
flags = 4,
value = "~A8 RET"
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_4102 + 8,
flags = A1_4103,
value = A2_4104
}
})
end
end
function SO_ST(A0_4105, A1_4106, A2_4107)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━")
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_4105,
flags = 4,
value = A1_4106
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_4105 + 4,
flags = 4,
value = A2_4107
}
})
end
end
function TL(A0_4108, A1_4109, A2_4110)
if gg.getRangesList("il2cpp.so")[1] == nil then
_error()
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[1].start + A0_4108,
flags = A1_4109,
value = A2_4110
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[1].start + A0_4108 + 4,
flags = A1_4109,
value = "1EFF2FE1r"
}
})
end
end
function _error()
gg.alert(" 开启失败\n\n\n 失败原因:你没ROOT不能用👆\n \n \n 解决方案:删除data即可[真实有效👌]\n")
end
function WT(A0_4111, A1_4112, A2_4113)
if gg.getRangesList("il2cpp.so")[1] == nil then
_error()
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[1].start + A0_4111,
flags = A1_4112,
value = A2_4113
}
})
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[1].start + A0_4111 + 4,
flags = A1_4112,
value = "1EFF2FE1r"
}
})
end
end
function _error()
gg.alert(" 开启失败\n\n\n 失败原因:未选择地铁跑酷进程\n \n \n 解决方案:选择地铁跑酷进程\n")
end
function WT(A0_4114, A1_4115, A2_4116, A3_4117)
if gg.getRangesList("il2cpp.so")[2] == nil then
_error()
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_4114,
flags = 4,
value = A1_4115
}
})
if A2_4116 == nil then
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_4114 + 4,
flags = 4,
value = A2_4116
}
})
end
if A3_4117 == nil then
else
gg.setValues({
{
address = gg.getRangesList("il2cpp.so")[2].start + A0_4114 + 8,
flags = 4,
value = A3_4117
}
})
end
end
end
function _error()
TLt = gg.alert("模块未加载\n或选错游戏进程", "取消", "选择进程")
if TLt == 2 then
gg.setProcessX()
end
end
function Set(A0_4118, A1_4119, A2_4120, A3_4121)
gg.clearResults()
gg.setRanges(A0_4118[3])
gg.searchNumber(A0_4118[1], A0_4118[2])
if #gg.getResults(gg.getResultCount()) == 0 then
gg.toast("开启失败")
return
end
for _FORV_10_ = 1, #gg.getResults(gg.getResultCount()) do
end
for _FORV_10_ = 1, #A1_4119 do
for _FORV_14_ = 1, #gg.getResults(gg.getResultCount()) do
if gg.getValues({
{
address = gg.getResults(gg.getResultCount())[_FORV_14_].address + A1_4119[_FORV_10_][2],
flags = A1_4119[_FORV_10_][3]
}
})[1].value ~= A1_4119[_FORV_10_][1] then
end
end
end
for _FORV_11_ = 1, #A2_4120 do
for _FORV_15_ = 1, #gg.getResults(gg.getResultCount()) do
if not ({
[_FORV_10_] = false,
[_FORV_14_] = true
})[_FORV_15_] then
gg.addListItems({
{
address = gg.getResults(gg.getResultCount())[_FORV_15_].address + A2_4120[_FORV_11_][1],
flags = A2_4120[_FORV_11_][2],
freeze = true,
value = A2_4120[_FORV_11_][3]
}
})
end
end
end
if 0 + 1 > 0 then
gg.toast("" .. A3_4121 .. "开启成功 共修改" .. 0 + 1 .. "个值\n共耗时" .. os.clock() - os.clock() .. "秒")
else
gg.toast("未修改任何值")
end
end
function WY(A0_4122, A1_4123, A2_4124, A3_4125, A4_4126)
kv = {}
if gg.getRangesList(A0_4122)[1] == nil then
gg.alert("模块未加载\n或选错游戏进程")
end
for _FORV_11_, _FORV_12_ in ipairs(A1_4123) do
kv[#kv + 1] = {
address = gg.getRangesList(A0_4122)[1].start + _FORV_12_,
flags = A2_4124,
value = A3_4125,
freeze = true
}
end
gg.addListItems(kv)
gg.toast(A4_4126 .. "开启成功\n共耗时" .. os.clock() - os.clock() .. "秒\n共修改" .. #A1_4123 .. "条值")
end
function S_Pointer(A0_4127, A1_4128, A2_4129)
local L3_4130
function L3_4130()
for _FORV_5_, _FORV_6_ in pairs((gg.getRangesList("^/data/*.so*$"))) do
if _FORV_6_.type:sub(2, 2) == "w" then
table.insert({}, _FORV_6_)
end
end
return {}
end
return (string.format("0x%X", (function(A0_4131, A1_4132, A2_4133)
if A2_4133 then
else
end
for _FORV_11_ in pairs((L3_4130())) do
if A0_4131[1] == L3_4130()[_FORV_11_].internalName:gsub("^.*/", "") and A0_4131[2] == L3_4130()[_FORV_11_].state then
break
end
end
if L3_4130()[_FORV_11_] then
;({})[#{}].address = L3_4130()[_FORV_11_].start + A1_4132[1]
;({})[#{}].flags = 4
if #A1_4132 ~= 1 then
for _FORV_11_ = 2, #A1_4132 do
for _FORV_16_ in pairs((gg.getValues({}))) do
if not gg.getTargetInfo().x64 then
gg.getValues({})[_FORV_16_].value = gg.getValues({})[_FORV_16_].value & 4294967295
end
;({})[#{}].address = gg.getValues({})[_FORV_16_].value + A1_4132[_FORV_11_]
;({})[#{}].flags = 4
end
end
end
end
return ({})[#{}].address
end
)(A0_4127, A1_4128, A2_4129)))
end
function readPointer(A0_4134, A1_4135, A2_4136)
if gg.getRangesList(A0_4134)[A2_4136 or 1] then
for _FORV_10_ = 2, #A1_4135 do
if not gg.getTargetInfo().x64 then
gg.getValues({
{
address = gg.getRangesList(A0_4134)[A2_4136 or 1].start + A1_4135[1],
flags = ({
[true] = 32,
[false] = 4
})[gg.getTargetInfo().x64]
}
})[1].value = gg.getValues({
{
address = gg.getRangesList(A0_4134)[A2_4136 or 1].start + A1_4135[1],
flags = ({
[true] = 32,
[false] = 4
})[gg.getTargetInfo().x64]
}
})[1].value & 4294967295
end
end
return gg.getValues({
{
address = gg.getRangesList(A0_4134)[A2_4136 or 1].start + A1_4135[1],
flags = ({
[true] = 32,
[false] = 4
})[gg.getTargetInfo().x64]
}
})[1].value + A1_4135[_FORV_10_]
end
end
function gg.edits(A0_4137, A1_4138, A2_4139)
local L3_4140
L3_4140 = {
{},
{}
}
for _FORV_7_, _FORV_8_ in ipairs(A1_4138) do
if _FORV_8_[4] then
L3_4140[2][#L3_4140[2] + 1] = {
address = A0_4137 + _FORV_8_[3],
value = _FORV_8_[1],
flags = _FORV_8_[2],
freeze = _FORV_8_[4]
}
else
L3_4140[1][#L3_4140[1] + 1] = {
address = A0_4137 + _FORV_8_[3],
value = _FORV_8_[1],
flags = _FORV_8_[2],
freeze = _FORV_8_[4]
}
end
end
gg.addListItems(L3_4140[2])
gg.setValues(L3_4140[1])
gg.toast((A2_4139 or "") .. "开启成功, 共修改" .. #A1_4138 .. "个值")
end
function Searssjc(A0_4141, A1_4142, A2_4143)
if gg.getRangesList("il2cpp.so")[2] == nil then
gg.toast("开启失败")
else
gg.setRanges(A2_4143)
gg.searchNumber(A0_4141, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
gg.searchNumber(A0_4141, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
for _FORV_9_ = 1, gg.getResultCount() do
dzy = gg.getResults(100)[_FORV_9_].address
gg.clearResults()
gg.addListItems({
[1] = {
address = dzy,
flags = gg.TYPE_DWORD,
freeze = true,
value = A1_4142
}
})
end
gg.toast("开启成功")
end
end
YX = {}
function YX.SOMODMK(A0_4144, A1_4145, A2_4146)
if A1_4145 == nil then
gg.alert("开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存模块\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━")
else
time = os.clock()
for _FORV_7_, _FORV_8_ in ipairs(A1_4145) do
if _FORV_7_ == 1 then
else
end
end
for _FORV_9_, _FORV_10_ in ipairs(A2_4146) do
if _FORV_10_[4] then
else
end
end
gg.setValues({})
gg.addListItems({})
Comodifiedvalues = #{} + #{}
gg.toast(A0_4144 .. "️开启成功\n当前进程名称:" .. gg.getTargetInfo().label .. "\n当前进程包名:" .. gg.getTargetPackage() .. "\n共修改" .. Comodifiedvalues .. "个值\n总共耗时:" .. string.sub(os.clock() - time, 0, 5) .. "秒")
gg.toast(A0_4144 .. "️开启成功\n当前进程名称:" .. gg.getTargetInfo().label .. "\n当前进程包名:" .. gg.getTargetPackage() .. "\n总共耗时:" .. string.sub(os.clock() - time, 0, 5) .. "秒")
end
end
function YX_MkPointer(A0_4147, A1_4148, A2_4149, A3_4150, A4_4151, A5_4152, A6_4153)
if gg.getRangesList(A0_4147)[1] == nil then
gg.alert(A5_4152 .. "开启失败\n━━━━━━━━━━━━━━━\n错误原因:未找到相关内存\n解决方法:请重新选择游戏进程\n━━━━━━━━━━━━━━━")
else
function S_Pointer(A0_4154, A1_4155, A2_4156)
local L3_4157
function L3_4157()
for _FORV_5_, _FORV_6_ in pairs((gg.getRangesList("^/data/*.so*$"))) do
if _FORV_6_.type:sub(2, 2) == "w" then
table.insert({}, _FORV_6_)
end
end
return {}
end
return (string.format("0x%X", (function(A0_4158, A1_4159, A2_4160)
if A2_4160 then
else
end
for _FORV_11_ in pairs((L3_4157())) do
if A0_4158[1] == L3_4157()[_FORV_11_].internalName:gsub("^.*/", "") and A0_4158[2] == L3_4157()[_FORV_11_].state then
break
end
end
if L3_4157()[_FORV_11_] then
;({})[#{}].address = L3_4157()[_FORV_11_].start + A1_4159[1]
;({})[#{}].flags = 4
if #A1_4159 ~= 1 then
for _FORV_11_ = 2, #A1_4159 do
for _FORV_16_ in pairs((gg.getValues({}))) do
if not gg.getTargetInfo().x64 then
gg.getValues({})[_FORV_16_].value = gg.getValues({})[_FORV_16_].value & 4294967295
end
;({})[#{}].address = gg.getValues({})[_FORV_16_].value + A1_4159[_FORV_11_]
;({})[#{}].flags = 4
end
end
end
end
return ({})[#{}].address
end
)(A0_4154, A1_4155, A2_4156)))
end
time = os.clock()
for _FORV_13_, _FORV_14_ in pairs(A2_4149) do
gg.addListItems({
{
address = S_Pointer({A0_4147, A1_4148}, {0}) + _FORV_14_,
flags = A3_4150,
value = A4_4151,
freeze = A6_4153
}
})
end
gg.toast(A5_4152 .. "️开启成功\n当前进程名称:" .. gg.getTargetInfo().label .. "\n当前进程包名:" .. gg.getTargetPackage() .. "\n总共耗时:" .. string.sub(os.clock() - time, 0, 5) .. "秒")
end
end
function AntiGrabbingBag(A0_4161)
AccessConnection = gg.makeRequest("https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F").code
if AccessConnection == 200 then
pcall(A0_4161)
else
gg.alert("网络异常 Or 请关闭VPN!\nNetwork abnormality Or please close VPN!")
end
end
channel = ""
ᅢᆭᅡ사チᅢᆬᅡナᅡノ = true
if tonumber(device.width) == nil then
dwidth = 1340
dheight = 2300
else
dwidth = device.width
dheight = device.height
end
colorvs = {}
changan = {}
function huiz()
local L0_4162, L1_4163
end
window = context:getSystemService("window")
ckimg = {
"cc99d42e9d7b70",
"quarksearchw",
"ca_hm",
"quarkx",
"bm_music",
"opo",
"hei_right",
"classes3.dex",
"bm_music",
"hei_right",
"heir",
"heis",
"heix",
"heisuo",
"lixin",
"jian",
"opoback",
"opou",
"Shimmer2.dex",
"sscoR",
"support.dex",
"rw1",
"pubgT",
"pubgG",
"pubgY",
"pubgR"
}
unzip("/sdcard/长安/图片/opo", "/sdcard/长安/图片/")
for _FORV_14_ = 1, #ckimg do
jindu = _FORV_14_
;(function(A0_4164, A1_4165)
if _UPVALUE0_("/sdcard/长安/图片/" .. A0_4164) ~= true then
gg.toast("正在下载资源" .. A1_4165 .. "/" .. #ckimg .. "\n请耐心等待")
luajava.download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/" .. A0_4164, "/sdcard/长安/图片/" .. A0_4164)
elseif file.length("/sdcard/长安/图片/" .. A0_4164) <= 1 then
gg.toast("正在下载资源" .. A1_4165 .. "/" .. #ckimg .. "\n请耐心等待")
luajava.download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/" .. A0_4164, "/sdcard/长安/图片/" .. A0_4164)
end
if _UPVALUE0_("/sdcard/长安/图片/" .. A0_4164) ~= true then
gg.toast("正在下载资源" .. A1_4165 .. "/" .. #ckimg .. "\n请耐心等待")
luajava.download("https://rl-1303126286.cos.ap-beijing-fsi.myqcloud.com/" .. A0_4164, "/sdcard/长安/图片/" .. A0_4164)
elseif file.length("/sdcard/长安/图片/" .. A0_4164) <= 1 then
gg.toast("正在下载资源" .. A1_4165 .. "/" .. #ckimg .. "\n请耐心等待")
luajava.download("https://rl-1303126286.cos.ap-beijing-fsi.myqcloud.com/" .. A0_4164, "/sdcard/长安/图片/" .. A0_4164)
end
end
)(ckimg[_FORV_14_], _FORV_14_)
gg.toast("正在加载资源")
end
ckimg = {
"bm_music",
"hei_right",
"heir",
"heis",
"heix",
"heisuo",
"jian",
"opoback",
"opou",
"Shimmer2.dex",
"sscoR",
"support.dex",
"rw1",
"pubgT",
"pubgG",
"pubgY",
"pubgR",
"tagcloud"
}
for _FORV_14_ = 1, #ckimg do
jindu = _FORV_14_
;(function(A0_4166, A1_4167)
if _UPVALUE0_("/sdcard/长安/图片/" .. A0_4166) ~= true then
gg.toast("正在下载资源" .. A1_4167 .. "/" .. #ckimg .. "\n请耐心等待")
luajava.download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/" .. A0_4166, "/sdcard/长安/图片/" .. A0_4166)
elseif file.length("/sdcard/长安/图片/" .. A0_4166) <= 1 then
gg.toast("正在下载资源" .. A1_4167 .. "/" .. #ckimg .. "\n请耐心等待")
luajava.download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/" .. A0_4166, "/sdcard/长安/图片/" .. A0_4166)
end
if _UPVALUE0_("/sdcard/长安/图片/" .. A0_4166) ~= true then
gg.toast("正在下载资源" .. A1_4167 .. "/" .. #ckimg .. "\n请耐心等待")
luajava.download("https://rl-1303126286.cos.ap-beijing-fsi.myqcloud.com/" .. A0_4166, "/sdcard/长安/图片/" .. A0_4166)
elseif file.length("/sdcard/长安/图片/" .. A0_4166) <= 1 then
gg.toast("正在下载资源" .. A1_4167 .. "/" .. #ckimg .. "\n请耐心等待")
luajava.download("https://rl-1303126286.cos.ap-beijing-fsi.myqcloud.com/" .. A0_4166, "/sdcard/长安/图片/" .. A0_4166)
end
end
)(ckimg[_FORV_14_], _FORV_14_)
gg.toast("正在加载资源")
end
function gg.checkimg(A0_4168)
local L1_4169, L2_4170, L3_4171, L4_4172
L1_4169 = 1
L2_4170 = #A0_4168
for _FORV_4_ = 1, #A0_4168 do
jd = _FORV_4_ .. "/" .. #A0_4168
if _UPVALUE1_("/sdcard/长安/图片/zip/" .. A0_4168[_FORV_4_][1]) ~= true then
else
end
gg.toast("正在加载" .. A0_4168[_FORV_4_][1] .. "资源\n目标进度:" .. jd)
unzip("/sdcard/长安/zip/" .. A0_4168[_FORV_4_][1], "/sdcard/长安/图片/")
gg.sleep(1000)
gg.toast(A0_4168[_FORV_4_][1] .. "资源已下载完成\n目标进度:" .. jd)
end
end
if not io.open("/storage/emulated/0/长安.zip", "r") and gg.makeRequest("https://mpimg.cn/down.php/6b25989055e91969805c8f1febc004e2.zip") and gg.makeRequest("https://mpimg.cn/down.php/6b25989055e91969805c8f1febc004e2.zip").content and io.open("/storage/emulated/0/长安.zip", "wb") then
io.open("/storage/emulated/0/长安.zip", "wb"):write(gg.makeRequest("https://mpimg.cn/down.php/6b25989055e91969805c8f1febc004e2.zip").content)
io.open("/storage/emulated/0/长安.zip", "wb"):close()
end
if io.open("/storage/emulated/0/长安.zip", "r") then
io.open("/storage/emulated/0/长安.zip", "r"):close()
end
file.mkdir("/storage/emulated/0/长安")
file.mkdir("/storage/emulated/0/长安/配置文件")
file.mkdir("/storage/emulated/0/长安/图片")
unzip("/storage/emulated/0/长安.zip", "/storage/emulated/0/")
tmp = {
{"MQ", "ERRjhp"}
}
gg.checkimg(tmp)
unzip("/sdcard/长安/图片/MQ", "/sdcard/长安/图片/")
shimmer = dex.loadfile("/sdcard/长安/图片/Shimmer2.dex")
import("com.romainpiel.shimmer.Shimmer")
import("com.romainpiel.shimmer.ShimmerTextView")
function newbg2(A0_4173, A1_4174, A2_4175, A3_4176, A4_4177, A5_4178, A6_4179)
luajava.loadlayout({
GradientDrawable,
color = 4278190080,
gradientType = GradientDrawable.LINEAR_GRADIENT,
orientation = GradientDrawable.Orientation.TR_BL
}):setColors(A0_4173)
luajava.loadlayout({
GradientDrawable,
color = 4278190080,
gradientType = GradientDrawable.LINEAR_GRADIENT,
orientation = GradientDrawable.Orientation.TR_BL
}):setStroke(A1_4174, A2_4175)
luajava.loadlayout({
GradientDrawable,
color = 4278190080,
gradientType = GradientDrawable.LINEAR_GRADIENT,
orientation = GradientDrawable.Orientation.TR_BL
}):setCornerRadii({
A3_4176,
A3_4176,
A4_4177,
A4_4177,
A5_4178,
A5_4178,
A6_4179,
A6_4179
})
return (luajava.loadlayout({
GradientDrawable,
color = 4278190080,
gradientType = GradientDrawable.LINEAR_GRADIENT,
orientation = GradientDrawable.Orientation.TR_BL
}))
end
function particle2(A0_4180, A1_4181, A2_4182)
return (luajava.webView(function(A0_4183)
A0_4183:loadData("\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n", "text/html", "UTF-8")
A0_4183:setBackgroundColor(0)
end
))
end
parti2 = particle2("rgba(0,0,0,0.1)", "rgba(0,0,0,1)", "#909090")
function ᅢ따ホᅡ앥ᅡマᅡヨᅢᆬᅡロᅡ해다ノᅡヌ(A0_4184)
A0_4184 = string.url(A0_4184, "de")
ntxt = string.sub(string.gsub(A0_4184, "/", "-"), -10, -1)
if string.find(tostring(A0_4184), "http") ~= nil then
if _UPVALUE1_("/sdcard/长安/图片/" .. ntxt) == false then
file.download(A0_4184, "/sdcard/长安/图片/" .. ntxt)
elseif file.length("/sdcard/长安/图片/" .. ntxt) <= 1 then
file.download(A0_4184, "/sdcard/长安/图片/" .. ntxt)
end
A0_4184 = "/sdcard/长安/图片/" .. ntxt
end
if getting then
gettingp[#gettingp + 1] = A0_4184
end
return luajava.getBitmapDrawable(A0_4184)
end
function ᅢ따ホᅡ앥ᅡマᅡヨᅢᆬᅡロᅡ해다ノᅡヌ3(A0_4185)
A0_4185 = string.url(A0_4185, "de")
ntxt = string.sub(string.gsub(A0_4185, "/", "-"), -10, -1)
if string.find(tostring(A0_4185), "http") ~= nil then
if _UPVALUE1_("/sdcard/长安/图片/" .. ntxt) == false then
file.download(A0_4185, "/sdcard/长安/图片/" .. ntxt)
elseif file.length("/sdcard/长安/图片/" .. ntxt) <= 1 then
file.download(A0_4185, "/sdcard/长安/图片/" .. ntxt)
end
A0_4185 = "/sdcard/长安/图片/" .. ntxt
end
return luajava.getBitmapDrawable(A0_4185)
end
parti = (function()
return (luajava.webView(function(A0_4186)
A0_4186:loadData("\n\n\n\n炫彩流光圆环加载动画\n\n\n\n\n\n", "text/html", "UTF-8")
A0_4186:setBackgroundColor(0)
end
))
end
)()
ᅢᆭᅡリᅡᄒ2 = false
function ᅢ라レᅡミᅢ따ラᅡマ2()
ᅢᆭᅡリᅡᄒ2 = true
chuangk:setVisibility(View.GONE)
control2:setVisibility(View.GONE)
smallc:setVisibility(View.VISIBLE)
end
function ᅢᆭᅡリᅡ해다나ᄎ2()
ᅢᆭᅡリᅡᄒ2 = false
mainLayoutParams.x = 20
window:updateViewLayout(floatWindow, mainLayoutParams)
if ᅢᆭᅡリᅡ해다나ᄎ == 1 then
chuangk:setVisibility(View.VISIBLE)
smallc:setVisibility(View.GONE)
else
control2:setVisibility(View.VISIBLE)
smallc:setVisibility(View.GONE)
ᅢ라レᅡミᅢ따ラᅡマ()
end
end
function hanshu(A0_4187, A1_4188)
if A1_4188:getAction() == MotionEvent.ACTION_DOWN then
isMove = false
RawX = A1_4188:getRawX()
RawY = A1_4188:getRawY()
x = mainLayoutParams.x
y = mainLayoutParams.y
elseif A1_4188:getAction() == MotionEvent.ACTION_MOVE then
isMove = true
mainLayoutParams.x = tonumber(x) + (A1_4188:getRawX() - RawX)
if mainLayoutParams.x <= 0 then
mainLayoutParams.x = 0
end
mainLayoutParams.y = tonumber(y) + (A1_4188:getRawY() - RawY)
window:updateViewLayout(floatWindow, mainLayoutParams)
elseif A1_4188:getAction() == MotionEvent.ACTION_UP then
mainLayoutParams.x = tonumber(x) + (A1_4188:getRawX() - RawX)
if mainLayoutParams.x <= 0 then
mainLayoutParams.x = 0
if ᅢᆭᅡリᅡ해다나ᄎ == 0 and ᅢᆭᅡリᅡᄒ2 == false then
ᅢ라レᅡミᅢ따ラᅡマ2()
end
end
if mainLayoutParams.x >= 20 and ᅢᆭᅡリᅡᄒ2 == true then
ᅢᆭᅡリᅡ해다나ᄎ2()
end
mainLayoutParams.y = tonumber(y) + (A1_4188:getRawY() - RawY)
window:updateViewLayout(floatWindow, mainLayoutParams)
end
end
function getCorner(A0_4189, A1_4190, A2_4191, A3_4192, A4_4193, A5_4194, A6_4195, A7_4196)
if not A2_4191 then
A2_4191 = 0
A3_4192 = 4278190080
end
luajava.new(GradientDrawable):setCornerRadius(A1_4190)
luajava.new(GradientDrawable):setGradientType(GradientDrawable.LINEAR_GRADIENT)
luajava.new(GradientDrawable):setColors(A0_4189)
luajava.new(GradientDrawable):setStroke(A2_4191, A3_4192)
luajava.new(GradientDrawable):setCornerRadii({
A4_4193,
A4_4193,
A5_4194,
A5_4194,
A6_4195,
A6_4195,
A7_4196,
A7_4196
})
return (luajava.new(GradientDrawable))
end
function getVerticalBG(A0_4197, A1_4198, A2_4199, A3_4200)
if not A2_4199 then
A2_4199 = 0
A3_4200 = 4278190080
end
luajava.new(GradientDrawable):setCornerRadius(A1_4198)
luajava.new(GradientDrawable):setGradientType(GradientDrawable.LINEAR_GRADIENT)
luajava.new(GradientDrawable):setColors(A0_4197)
luajava.new(GradientDrawable):setStroke(A2_4199, A3_4200)
return (luajava.new(GradientDrawable))
end
mainLayoutParams = (function()
local L0_4201
L0_4201 = "LayoutParams"
_ENV[L0_4201] = WindowManager.LayoutParams
L0_4201 = "layoutParams"
_ENV[L0_4201] = luajava.new(LayoutParams)
L0_4201 = "Build"
L0_4201 = _ENV[L0_4201]
L0_4201 = L0_4201.VERSION
L0_4201 = L0_4201.SDK_INT
if L0_4201 >= 26 then
L0_4201 = "layoutParams"
L0_4201 = _ENV[L0_4201]
L0_4201.type = LayoutParams.TYPE_APPLICATION_OVERLAY
else
L0_4201 = "layoutParams"
L0_4201 = _ENV[L0_4201]
L0_4201.type = LayoutParams.TYPE_PHONE
end
L0_4201 = "layoutParams"
L0_4201 = _ENV[L0_4201]
L0_4201.format = PixelFormat.RGBA_8888
L0_4201 = "layoutParams"
L0_4201 = _ENV[L0_4201]
L0_4201.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
L0_4201 = "layoutParams"
L0_4201 = _ENV[L0_4201]
L0_4201.gravity = Gravity.TOP | Gravity.LEFT
L0_4201 = "layoutParams"
L0_4201 = _ENV[L0_4201]
L0_4201.width = LayoutParams.WRAP_CONTENT
L0_4201 = "layoutParams"
L0_4201 = _ENV[L0_4201]
L0_4201.height = LayoutParams.WRAP_CONTENT
L0_4201 = "layoutParams"
L0_4201 = _ENV[L0_4201]
return L0_4201
end
)()
import("android.media.AudioManager")
audi = context:getSystemService("audio")
audiotype = {
AudioManager.STREAM_ALARM,
AudioManager.STREAM_MUSIC,
AudioManager.STREAM_NOTIFICATION,
AudioManager.STREAM_RING,
AudioManager.STREAM_SYSTEM,
AudioManager.STREAM_VOICE_CALL,
AudioManager.STREAM_DTMF
}
yinl = {}
for _FORV_33_ = 1, #audiotype do
yinl[_FORV_33_] = {}
yinl[_FORV_33_].type = audiotype[_FORV_33_]
yinl[_FORV_33_].min = audi:getStreamMinVolume(audiotype[_FORV_33_])
yinl[_FORV_33_].max = audi:getStreamMaxVolume(audiotype[_FORV_33_])
yinl[_FORV_33_].now = audi:getStreamVolume(audiotype[_FORV_33_])
end
yltype = 0
function jianting3(A0_4202)
local L1_4203, L3_4204, L4_4205
L1_4203 = "yinln"
L3_4204 = {}
_ENV[L1_4203] = L3_4204
L1_4203 = 1
L3_4204 = "audiotype"
L3_4204 = _ENV[L3_4204]
L3_4204 = #L3_4204
for _FORV_4_ = 1, #L3_4204 do
yinln[_FORV_4_] = {}
yinln[_FORV_4_].type = audiotype[_FORV_4_]
yinln[_FORV_4_].now = audi:getStreamVolume(audiotype[_FORV_4_])
if yinln[_FORV_4_].now > yinl[_FORV_4_].now then
yinl[_FORV_4_].now = yinln[_FORV_4_].now
if yltype == 1 then
yltype = 0
A0_4202()
end
elseif yinln[_FORV_4_].now < yinl[_FORV_4_].now then
yinl[_FORV_4_].now = yinln[_FORV_4_].now
if yltype == 0 then
yltype = 1
A0_4202()
end
end
end
end
function changan.controlWater(A0_4206, A1_4207)
luajava.runUiThread(function()
import("android.animation.ObjectAnimator")
ObjectAnimator():ofFloat(A0_4206, "scaleX", {
1,
0.8,
0.9,
1
}):setDuration(A1_4207):start()
ObjectAnimator():ofFloat(A0_4206, "scaleY", {
1,
0.8,
0.9,
1
}):setDuration(A1_4207):start()
end
)
end
function changan.controlSmall(A0_4208, A1_4209)
luajava.runUiThread(function()
import("android.animation.ObjectAnimator")
ObjectAnimator():ofFloat(A0_4208, "scaleX", {
1,
0.7,
0.4,
0
}):setDuration(A1_4209):start()
ObjectAnimator():ofFloat(A0_4208, "scaleY", {
1,
0.7,
0.4,
0
}):setDuration(A1_4209):start()
end
)
end
function changan.controlBig(A0_4210, A1_4211)
luajava.runUiThread(function()
import("android.animation.ObjectAnimator")
ObjectAnimator():ofFloat(A0_4210, "scaleX", {
0,
0.4,
0.7,
1
}):setDuration(A1_4211):start()
ObjectAnimator():ofFloat(A0_4210, "scaleY", {
0,
0.4,
0.7,
1
}):setDuration(A1_4211):start()
end
)
end
function getHorizontalBG(A0_4212, A1_4213, A2_4214, A3_4215)
if not A2_4214 then
A2_4214 = 0
A3_4215 = 4278190080
end
luajava.new(GradientDrawable):setCornerRadius(A1_4213)
luajava.new(GradientDrawable):setOrientation(GradientDrawable.Orientation.LEFT_RIGHT)
luajava.new(GradientDrawable):setGradientType(GradientDrawable.LINEAR_GRADIENT)
luajava.new(GradientDrawable):setColors(A0_4212)
luajava.new(GradientDrawable):setStroke(A2_4214, A3_4215)
return (luajava.new(GradientDrawable))
end
gg.setVisible(false)
function guid()
seed = {
"e",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"a",
"b",
"c",
"d",
"e",
"f"
}
tb = {}
for _FORV_3_ = 1, 32 do
table.insert(tb, seed[math.random(1, 16)])
end
sid = table.concat(tb)
return string.format("%s%s%s", string.sub(sid, 1, 8), string.sub(sid, 10, 12), string.sub(sid, 21, 22))
end
function changan.menu(A0_4216)
local L1_4217
L1_4217 = "forsview"
_ENV[L1_4217] = A0_4216
L1_4217 = "isswitch"
L1_4217 = _ENV[L1_4217]
if L1_4217 then
L1_4217 = false
return L1_4217
end
L1_4217 = "isswitch"
_ENV[L1_4217] = true
L1_4217 = {
"ui.ViewPager"
}
L1_4217.layout_height = "match_parent"
L1_4217.layout_width = "match_parent"
L1_4217.focusable = "false"
L1_4217.focusableInTouchMode = "false"
scrollball = {
LinearLayout,
layout_width = "match_parent",
gravity = "center",
layout_marginTop = "3dp"
}
sballl = {}
cebs = {}
for _FORV_5_ = 1, #stab do
cebs[_FORV_5_] = luajava.loadlayout({
LinearLayout,
{
LinearLayout,
layout_height = "40dp",
layout_width = "60dp",
background = newbg2({
3709212182,
3709212182,
2569216803
}, 0, 16777215, 15, 15, 15, 15),
elevation = "2dp",
layout_marginLeft = "3dp",
layout_marginRight = "3dp",
layout_marginTop = "3dp",
layout_marginBottom = "3dp",
onClick = function()
ᅢᆬᅡネᅡヌᅢᆭᅡヘᅡᄁ(_UPVALUE1_)
end
,
gravity = "center_vertical",
{
ImageView,
layout_marginLeft = "8dp",
src = _UPVALUE1_("opo" .. _FORV_5_),
layout_height = "14dp",
layout_width = "14dp"
},
{
TextView,
text = stab[_FORV_5_],
textSize = "10sp",
textColor = "#ffffff",
layout_weight = 1,
layout_width = "match_parent",
gravity = "center"
}
}
})
sballl[_FORV_5_] = {
_UPVALUE2_({4294967295, 4294967295}, 0, 4278190080, 360, 360, 360, 360),
_UPVALUE2_({
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ,
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ
}, 0, 4278190080, 360, 360, 360, 360)
}
scrollball[#scrollball + 1] = {
LinearLayout,
id = luajava.newId("sbal" .. _FORV_5_),
layout_height = "5dp",
layout_width = "5dp",
background = sballl[_FORV_5_][1],
layout_marginLeft = "5dp",
layout_marginRight = "5dp",
onClick = function()
ᅢᆬᅡネᅡヌᅢᆭᅡヘᅡᄁ(_UPVALUE1_)
end
,
onTouch = hanshu
}
tmp = {
LinearLayout,
layout_height = "wrap_content",
layout_width = "match_parent",
orientation = "vertical"
}
for _FORV_9_ = 1, #A0_4216[_FORV_5_] do
if type(A0_4216[_FORV_5_][_FORV_9_]) == "userdata" then
tmp[#tmp + 1] = A0_4216[_FORV_5_][_FORV_9_]
elseif type(A0_4216[_FORV_5_][_FORV_9_]) == "table" then
tmp[#tmp + 1] = A0_4216[_FORV_5_][_FORV_9_].view
end
end
_ENV["layout" .. _FORV_5_] = {
ScrollView,
layout_height = "match_parent",
layout_width = "match_parent",
tmp,
padding = {
"8dp",
"3dp",
"8dp",
"3dp"
}
}
L1_4217[#L1_4217 + 1] = _ENV["layout" .. _FORV_5_]
end
tagc = _UPVALUE3_(cebs)
_ENV["layout" .. #stab - 1] = {
FrameLayout,
layout_width = "match_parent",
layout_height = "match_parent",
orientation = "vertical",
{
ScrollView,
id = "ltslays4",
layout_width = "match_parent",
layout_height = "match_parent",
orientation = "vertical",
padding = {
"0dp",
"0dp",
"0dp",
"40dp"
},
{
LinearLayout,
id = "ltslaym4",
gravity = "top",
layout_width = "match_parent",
orientation = "vertical",
gravity = "center_horizontal"
}
},
{
LinearLayout,
id = "srk",
layout_height = "20dp",
layout_width = "match_parent",
layout_gravity = "bottom",
layout_marginTop = "18dp",
padding = {
"8dp",
"0dp",
"8dp",
"0dp"
},
layout_marginBottom = "8dp",
gravity = "center",
{
TextView,
background = getVerticalBG({3709212182, 3709212182}, 10, 2, 4292335575),
gravity = "center",
text = "长按录音",
id = "recordtext",
textSize = "13sp",
layout_height = "20dp",
layout_width = "80dp",
onTouch = function(A0_4218, A1_4219)
if A1_4219:getAction() == MotionEvent.ACTION_DOWN then
recordtext:setText("正在录音")
luajava.newThread(function()
_UPVALUE0_:vibrate(30)
recorder = _UPVALUE2_()
recorder:setAudioSource(_UPVALUE3_)
recorder:setOutputFormat(_UPVALUE4_.THREE_GPP)
recorder:setAudioEncoder(_UPVALUE5_.AMR_NB)
savePath = "/sdcard/长安/test.mp3"
recorder:setOutputFile(savePath)
recorder:prepare()
recorder:start()
redstart = os.time()
end
):start()
elseif A1_4219:getAction() == MotionEvent.ACTION_UP then
end
end
,
onClick = function()
recordtext:setText("长按录音")
luajava.newThread(function()
_UPVALUE0_:vibrate(50)
recorder:stop()
recorder:release()
if os.time() - redstart < 1 then
gg.alert("时间太短\n最少要录制1秒")
return 0
end
if os.time() - redstart > 40 then
gg.alert("时间太长\n一条最多录制40秒")
return 0
end
uprec(savePath)
gg.toast("发送成功")
end
):start()
end
},
{
EditText,
id = luajava.newId("聊天框"),
background = "#ffe6e6e6",
textSize = "13sp",
inputType = "textMultiLine",
textColor = "#000000",
layout_marginLeft = "3dp",
layout_height = "40dp",
layout_weight = 1,
layout_width = "match_parent"
},
{
TextView,
background = getVerticalBG({3709212182, 3709212182}, 10, 2, 4292335575),
gravity = "center",
text = "发送",
textSize = "13sp",
layout_marginLeft = "3dp",
layout_height = "20dp",
layout_width = "40dp",
onClick = function()
luajava.newThread(function()
local L0_4220
L0_4220 = "åéè天"
L0_4220 = _ENV[L0_4220]
L0_4220(changan.getedit2("聊天框"))
end
):start()
end
}
}
}
L1_4217[#stab] = _ENV["layout" .. #stab - 1]
ᅢᆬᅡ파モᅢᆬᅡノᅡヘui = 1
ViewPager = ui.ViewPager(L1_4217)
luajava.setInterface(ViewPager, "addOnPageChangeListener", {
onPageSelected = function(A0_4221)
A0_4221 = tonumber(string.sub(A0_4221, 1, 1))
ᅢᆬᅡ파モᅢᆬᅡノᅡヘui = A0_4221 + 1
for _FORV_4_ = 1, #stab do
if _FORV_4_ ~= ᅢᆬᅡ파モᅢᆬᅡノᅡヘui then
luajava.getIdView("sbal" .. _FORV_4_):setBackground(sballl[_FORV_4_][1])
end
end
if ᅢᆬᅡ파モᅢᆬᅡノᅡヘui == 1 then
luajava.getIdView("toleft"):setTextColor(4281611316)
luajava.getIdView("toright"):setTextColor(4292335575)
elseif ᅢᆬᅡ파モᅢᆬᅡノᅡヘui == #stab then
luajava.getIdView("toleft"):setTextColor(4292335575)
luajava.getIdView("toright"):setTextColor(4281611316)
else
luajava.getIdView("toleft"):setTextColor(4292335575)
luajava.getIdView("toright"):setTextColor(4292335575)
end
luajava.getIdView("sbal" .. ᅢᆬᅡ파モᅢᆬᅡノᅡヘui):setBackground(sballl[ᅢᆬᅡ파モᅢᆬᅡノᅡヘui][2])
end
})
stit = luajava.loadlayout({
ShimmerTextView,
textSize = "18sp",
gravity = "center_horizontal",
layout_width = "match_parent",
shimmerEnable = "true",
reflectionColor = "#33363B",
textColor = "#ffffff",
text = ᅢᆬᅡマᅡ빼나자ハᅢ따다メᅢᆭᅡᅠᅡヌᅢ라까リ
})
ckou = {
FrameLayout,
layout_height = "match_parent",
layout_width = "match_parent",
background = _UPVALUE2_({4294967295, 4294967295}, 0, 4294967295, 25, 25, 25, 25),
padding = {
"0dp",
"23dp",
"0dp",
"0dp"
},
elevation = "1dp",
layout_marginTop = "3dp",
{
LinearLayout,
id = "webv_",
layout_height = "match_parent",
layout_width = "match_parent"
},
{
LinearLayout,
layout_height = "match_parent",
layout_width = "match_parent",
elevation = "3dp",
layout_marginLeft = "3dp",
layout_marginRight = "3dp",
layout_marginBottom = "3dp",
layout_marginTop = "3dp",
{
FrameLayout,
layout_height = "match_parent",
layout_width = "match_parent",
visibility = "gone",
id = "parentv",
ViewPager
}
}
}
extralis = {
LinearLayout,
layout_height = "wrap_content",
layout_width = "match_parent",
id = luajava.newId("extralist"),
orientation = "vertical"
}
for _FORV_5_, _FORV_6_ in pairs(ewsv) do
extralis[#extralis + 1] = ewsv[_FORV_5_]
end
function topSelect()
luajava.getStateListDrawable():addState({
android.R.attr.state_pressed
}, getVerticalBG({571872790, 571872790}, 30))
luajava.getStateListDrawable():addState({
-android.R.attr.state_pressed
}, empty)
return (luajava.getStateListDrawable())
end
topbar = luajava.loadlayout({
LinearLayout,
layout_width = "fill_parent",
layout_height = "35dp",
background = getCorner({4294967295, 4294967295}, 15, 0, 4280492835, 20, 20, 0, 0),
onClick = function()
local L0_4222, L1_4223
end
,
onTouch = hanshu,
{
LinearLayout,
layout_width = "35dp",
layout_height = "match_parent",
gravity = "center",
onClick = ᅢ라レᅡミᅢ따ラᅡマ,
onTouch = hanshu,
{
LinearLayout,
gravity = "center",
background = ᅢ따ホᅡ앥ᅡマᅡヨᅢᆬᅡロᅡ해다ノᅡヌ(ᅢᆭᅡツᅡᆲᅢᆭᅡ삹ᅢ닭ᅡラᅢᆬᅡロᅡ핺ᅡᅠᅡヌ),
layout_width = "30dp",
layout_height = "30dp",
layout_marginLeft = "5dp"
}
},
{
LinearLayout,
layout_width = "35dp",
layout_height = "match_parent",
gravity = "center",
onClick = function()
if not homepage and type(ret) == "table" then
homepage = true
parentv:setVisibility(View.GONE)
tagcp:setVisibility(View.VISIBLE)
luajava.getIdView("toleft"):setVisibility(View.GONE)
luajava.getIdView("toright"):setVisibility(View.GONE)
end
end
,
onTouch = hanshu,
{
ImageView,
gravity = "center",
background = getVerticalBG({4293322470, 4293322470}, 90),
src = _UPVALUE1_("ca_hm"),
layout_width = "20dp",
padding = "2dp",
layout_height = "20dp",
layout_marginLeft = "5dp"
}
},
{
LinearLayout,
layout_width = "fill_parent",
layout_marginLeft = "0dp",
layout_weight = 1,
layout_height = "match_parent",
gravity = "center",
{
LinearLayout,
layout_height = "match_parent",
layout_width = "80dp",
background = topSelect(),
onClick = function()
local L0_4224, L1_4225
end
,
gravity = "center",
onTouch = hanshu,
{
LinearLayout,
layout_height = "5dp",
layout_width = "60dp",
id = "tops",
background = getVerticalBG({
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ,
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ
}, 20)
}
}
},
{
LinearLayout,
layout_width = "35dp",
layout_height = "match_parent",
gravity = "center",
onClick = uiLock,
onTouch = hanshu,
{
ImageView,
padding = "5dp",
id = "lockui",
src = _UPVALUE1_("heis"),
background = getVerticalBG({4293322470, 4293322470}, 90),
layout_width = "20dp",
layout_height = "20dp",
layout_marginRight = "5dp"
}
},
{
LinearLayout,
layout_width = "35dp",
layout_height = "match_parent",
gravity = "center",
onClick = ᅢ라レᅡミᅢ따ラᅡマ,
onTouch = hanshu,
{
ImageView,
padding = "5dp",
src = _UPVALUE1_("heix"),
background = getVerticalBG({4293322470, 4293322470}, 90),
layout_width = "20dp",
layout_height = "20dp",
layout_marginRight = "5dp"
}
}
})
floatWindow = {
FrameLayout,
id = "motion",
elevation = "10dp",
onTouch = hanshu,
onClick = function()
local L0_4226, L1_4227
end
,
layout_width = "wrap_content",
orientation = "vertical",
gravity = "center_vertical",
layout_height = "wrap_content",
{
LinearLayout,
id = "chuangk",
visibility = "gone",
layout_height = "match_parent",
layout_width = "match_parent",
orientation = "vertical",
elevation = "2dp",
layout_marginLeft = "2dp",
layout_marginRight = "2dp",
layout_marginBottom = "2dp",
layout_marginTop = "2dp",
background = newbg2({4280492835, 4280492835}, 0, 4294967295, 25, 25, 26, 26),
topbar,
{
LinearLayout,
layout_height = "40dp",
layout_width = "match_parent",
gravity = "center",
orientation = "vertical",
{
FrameLayout,
layout_height = "wrap_content",
layout_width = "match_parent",
layout_marginLeft = "0dp",
layout_marginRight = "0dp",
{
LinearLayout,
layout_height = "match_parent",
layout_width = "94dp",
gravity = "left",
onClick = function()
if ᅢᆬᅡ파モᅢᆬᅡノᅡヘui ~= 1 and not homepage then
ᅢᆬᅡネᅡヌᅢᆭᅡヘᅡᄁ(ᅢᆬᅡ파モᅢᆬᅡノᅡヘui - 1)
end
end
,
onTouch = hanshu,
{
TextView,
visibility = "gone",
id = luajava.newId("toleft"),
layout_height = "match_parent",
layout_width = "14dp",
layout_marginLeft = "-2dp",
background = _UPVALUE2_({872415231, 872415231}, 2, 2298478591, 0, 10, 10, 0),
gravity = "center",
text = "←",
textSize = "10sp",
textColor = "#343434"
}
},
{
LinearLayout,
layout_gravity = "right",
layout_height = "match_parent",
layout_width = "94dp",
gravity = "right",
onClick = function()
if ᅢᆬᅡ파モᅢᆬᅡノᅡヘui ~= #stab and not homepage then
ᅢᆬᅡネᅡヌᅢᆭᅡヘᅡᄁ(ᅢᆬᅡ파モᅢᆬᅡノᅡヘui + 1)
end
end
,
onTouch = hanshu,
padding = {
"0dp",
"0dp",
"-2dp",
"0dp"
},
{
TextView,
visibility = "gone",
id = luajava.newId("toright"),
layout_gravity = "right",
layout_height = "match_parent",
layout_width = "14dp",
background = _UPVALUE2_({872415231, 872415231}, 2, 2298478591, 10, 0, 0, 10),
gravity = "center",
text = "→",
textSize = "10sp",
textColor = "#d7d7d7"
}
},
stit
},
scrollball
},
{
LinearLayout,
elevation = "3dp",
layout_marginTop = "3dp",
layout_width = "match_parent",
layout_height = "match_parent",
layout_weight = 1,
orientation = "vertical",
padding = {
"0dp",
"7dp",
"0dp",
"0dp"
},
ckou
}
},
{
LinearLayout,
visibility = "gone",
id = luajava.newId("extra"),
layout_height = "match_parent",
layout_width = "match_parent",
orientation = "vertical",
background = getVerticalBG({4294967295, 4294967295}, 25, 2, 3709212182),
{
LinearLayout,
layout_width = "match_parent",
layout_height = "40dp",
background = getCorner({4279637526, 4279637526}, 25, nil, nil, 25, 25, 0, 0),
onClick = function()
local L0_4228, L1_4229
end
,
onTouch = hanshu,
gravity = "center_vertical",
{
ImageView,
id = luajava.newId("backv"),
layout_height = "34dp",
layout_width = "34dp",
src = _UPVALUE1_("opoback"),
background = getVerticalBG({16777215, 16777215}, 360, 10, 4294967295),
padding = "8dp",
onClick = ᅢᆬᅡナᅡ빼라ラᅡᆳᅢ닭ᅡラᅢᆬᅡマᅡᆪ,
layout_marginLeft = "10dp"
},
{
TextView,
id = luajava.newId("extrat"),
text = "标题",
layout_height = "match_parent",
layout_width = "match_parent",
layout_weight = 1,
gravity = "center"
},
{
ImageView,
id = luajava.newId("suov"),
layout_height = "34dp",
layout_width = "34dp",
src = _UPVALUE1_("heix"),
background = getVerticalBG({16777215, 16777215}, 360, 10, 4294967295),
padding = "10dp",
onClick = ᅢ라レᅡミᅢ따ラᅡマ,
layout_marginRight = "10dp"
}
},
{
ScrollView,
padding = "10dp",
layout_height = "match_parent",
layout_width = "match_parent",
extralis
}
},
{
ImageView,
id = "control2",
background = ᅢ따ホᅡ앥ᅡマᅡヨᅢᆬᅡロᅡ해다ノᅡヌ3(ᅢᆭᅡツᅡᆲᅢᆭᅡ삹ᅢ닭ᅡラᅢᆬᅡロᅡ핺ᅡᅠᅡヌ),
layout_width = "40dp",
layout_height = "40dp",
onTouch = hanshu,
onClick = ᅢ라レᅡミᅢ따ラᅡマ
},
{
LinearLayout,
id = "smallc",
visibility = "gone",
onClick = ᅢᆭᅡリᅡ해다나ᄎ2,
onTouch = hanshu,
layout_height = "56dp",
layout_width = "20dp",
gravity = "center",
background = getCorner({2283148822, 2283148822}, 12, 0, 4280492835, 0, 35, 35, 0)
},
{
LinearLayout,
layout_marginTop = "65dp",
layout_marginLeft = "10dp",
layout_marginRight = "10dp",
id = "clist",
elevation = "3dp",
layout_width = "match_parent",
layout_height = "wrap_content",
padding = "8dp",
{
LinearLayout,
layout_weight = 1,
layout_height = "34dp",
layout_marginTop = "3dp",
layout_marginBottom = "3dp",
layout_marginLeft = "3dp",
layout_marginRight = "3dp",
layout_width = "match_parent",
background = _UPVALUE2_({4294967295, 4294967295}, 0, 4280492835, 10, 10, 10, 10),
padding = "3dp",
elevation = "2dp",
{
ScrollView,
id = "ggscro",
layout_height = "match_parent",
layout_width = "match_parent",
{
LinearLayout,
id = "gggscro",
orientation = "vertical",
layout_width = "match_parent",
layout_height = "wrap_content"
}
},
{
EditText,
visibility = "gone",
id = luajava.newId("tosearch"),
layout_height = "match_parent",
layout_width = "match_parent",
padding = "-8dp",
hint = "请输入需要搜索的关键词",
gravity = "center",
textColor = "#000000",
layout_marginLeft = "0dp",
textSize = "12sp",
background = getVerticalBG({2500134, 2500134}, 15, 5, 16777215)
}
},
{
ImageView,
id = "musici",
layout_width = "34dp",
layout_height = "match_parent",
gravity = "center",
elevation = "2dp",
layout_marginTop = "3dp",
layout_marginBottom = "3dp",
layout_marginLeft = "3dp",
layout_marginRight = "3dp",
background = _UPVALUE2_({4294967295, 4294967295}, 0, 4281150765, 10, 10, 10, 10),
src = _UPVALUE1_("bm_music"),
padding = "4dp",
onTouch = hanshu,
onClick = function()
searchmenu(1)
end
},
{
ImageView,
id = "searchi",
layout_width = "34dp",
layout_height = "match_parent",
gravity = "center",
elevation = "2dp",
layout_marginTop = "3dp",
layout_marginBottom = "3dp",
layout_marginLeft = "3dp",
layout_marginRight = "3dp",
background = _UPVALUE2_({4294967295, 4294967295}, 0, 4281150765, 10, 10, 10, 10),
src = _UPVALUE1_("quarksearchw"),
padding = "4dp",
onTouch = hanshu,
onClick = function()
searchmenu(2)
end
}
},
{
LinearLayout,
elevation = "4dp",
layout_marginTop = "98dp",
id = "tagcp",
layout_height = "match_parent",
layout_width = "match_parent",
gravity = "center",
padding = "5dp",
{
FrameLayout,
layout_width = "250dp",
layout_height = "250dp",
{
tagc
}
}
},
{
FrameLayout,
id = "reme",
layout_height = "match_parent",
layout_width = "match_parent",
elevation = "5dp",
{
ImageView,
id = "sf",
padding = "2dp",
src = _UPVALUE1_("sscoR"),
layout_width = "30dp",
layout_height = "30dp",
layout_marginRight = "0dp",
layout_marginBottom = "0dp",
layout_gravity = "right|bottom",
onClick = function()
local L0_4230, L1_4231
end
,
onTouch = suofang
}
}
}
;(function()
local L0_4232, L1_4233, L2_4234, L3_4235, L4_4236, L5_4237
L0_4232, L1_4233, L2_4234, L3_4235, L4_4236 = nil, nil, nil, nil, nil
L5_4237 = "mainLayoutParams"
_ENV[L5_4237] = _UPVALUE1_()
L5_4237 = "mainLayoutParams"
L5_4237 = _ENV[L5_4237]
L5_4237.x = 10
L5_4237 = "mainLayoutParams"
L5_4237 = _ENV[L5_4237]
L5_4237.y = dheight / 4
L5_4237 = "floatWindow"
_ENV[L5_4237] = luajava.loadlayout(floatWindow)
function L5_4237()
window:addView(floatWindow, mainLayoutParams)
webv_:addView(parti2)
end
luajava.getHandler():post((luajava.getRunnable(L5_4237)))
end
)(swib1, swib2)
gg.setVisible(false)
musici:setColorFilter(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
searchi:setColorFilter(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
luajava.getIdView("backv"):setColorFilter(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
luajava.getIdView("suov"):setColorFilter(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
luajava.getIdView("tosearch"):setHintTextColor(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
ᅢ라レᅡミᅢ따ラᅡマ()
if ᅢᆭᅡ사チᅢᆬᅡナᅡノ then
shimmer = Shimmer()
luajava.runUiThread(function()
shimmer:setDuration(2000)
shimmer:setStartDelay(50)
shimmer:start(stit)
end
)
end
setOnExitListener(function()
tuichu = 1
luajava.setFloatingWindowHide(false)
luajava.post(function()
window:removeView(floatWindow)
end
)
luajava.setFloatingWindowHide(false)
end
)
luajava.setFloatingWindowHide(true)
qhkai = 0
function qiehuan()
if qhkai == 0 then
qhkai = 1
draw.remove()
luajava.runUiThread(function()
changan.controlSmall(floatWindow, 400)
end
)
gg.sleep(400)
luajava.runUiThread(function()
floatWindow:setVisibility(View.GONE)
end
)
else
qhkai = 0
huiz()
luajava.runUiThread(function()
floatWindow:setVisibility(View.VISIBLE)
end
)
luajava.runUiThread(function()
changan.controlBig(floatWindow, 400)
end
)
end
end
if loadBox ~= nil then
loadBox["关闭"]()
end
huiz()
if ylfunc ~= nil then
ylfunc()
end
already = true
pcall(shuaxinchat())
shuaxinum = 1
while tuichu ~= 1 do
if already == true and shuaxinum >= 4 and ᅢᆭᅡリᅡ해다나ᄎ == 1 and ᅢᆬᅡ파モᅢᆬᅡノᅡヘui == stbs then
shuaxinum = 1
shuaxinchat()
end
shuaxinum = shuaxinum + 1
if ᅢ라゚ᅡ빼라ヌᅡマᅢ라ヤᅡᆴ then
jianting3(qiehuan)
end
gg.sleep(300)
end
end
isLocked = false
inlock = (function(A0_4238)
return ᅢ따ホᅡ앥ᅡマᅡヨᅢᆬᅡロᅡ해다ノᅡヌ("/sdcard/长安/图片/" .. A0_4238)
end
)("heisuo")
uiunlock = (function(A0_4239)
return ᅢ따ホᅡ앥ᅡマᅡヨᅢᆬᅡロᅡ해다ノᅡヌ("/sdcard/长安/图片/" .. A0_4239)
end
)("heis")
function uiLock()
_UPVALUE0_:vibrate(15)
if isLocked == false then
isLocked = true
luajava.newThread(function()
gg.toast("UI缩放已锁定")
end
):start()
lockui:setImageDrawable(inlock)
else
isLocked = false
luajava.newThread(function()
gg.toast("UI缩放已解锁")
end
):start()
lockui:setImageDrawable(uiunlock)
end
end
function tiaose()
local L0_4240
L0_4240 = "é¢è²è¡¨"
L0_4240 = _ENV[L0_4240]
if L0_4240 == nil then
L0_4240 = 0
return L0_4240
end
L0_4240 = {
LinearLayout
}
L0_4240.gravity = "center_vertical"
L0_4240.layout_height = "wrap_content"
L0_4240.layout_width = "40dp"
for _FORV_4_ = 1, #ᅢ라까ワᅢ따ノᅡ배따가ᄄ do
L0_4240[#L0_4240 + 1] = {
LinearLayout,
layout_height = "33dp",
layout_width = "33dp",
gravity = "center",
id = luajava.newId("yans" .. _FORV_4_),
onClick = function()
xuanse(_UPVALUE1_)
end
,
{
LinearLayout,
layout_width = "25dp",
layout_height = "25dp",
background = getVerticalBG({
ᅢ라까ワᅢ따ノᅡ배따가ᄄ[_FORV_4_],
ᅢ라까ワᅢ따ノᅡ배따가ᄄ[_FORV_4_]
}, 15)
}
}
end
return (luajava.loadlayout({
HorizontalScrollView,
layout_height = "40dp",
layout_width = "wrap_content",
L0_4240
}))
end
xze2 = getVerticalBG({16777215, 16777215}, 15, 3, 4280492835)
xze = getVerticalBG({16777215, 16777215}, 15, 3, 4280492835)
function xuanse(A0_4241)
for _FORV_4_ = 1, #ᅢ라까ワᅢ따ノᅡ배따가ᄄ do
luajava.getIdValue("yans" .. _FORV_4_):setBackground(empty)
end
luajava.getIdValue("yans" .. A0_4241):setBackground(xze)
changeColor(ᅢ라까ワᅢ따ノᅡ배따가ᄄ[A0_4241])
end
function log_init()
if type(ret) ~= "table" then
if vv ~= nil then
return 0
end
luajava.newThread(function()
draw.remove()
end
):start()
tmp = {
LinearLayout,
orientation = "vertical",
gravity = "center_horizontal"
}
if _UPVALUE1_("/sdcard/长安/配置文件/km.lua") ~= false then
dofile("/sdcard/长安/配置文件/km.lua")
logkapian = {
LinearLayout,
orientation = "vertical",
gravity = "center",
layout_height = "50dp",
layout_width = "160dp",
background = luajava.loadlayout({
GradientDrawable,
color = "#ffffff",
cornerRadius = 20
}),
elevation = "4dp",
layout_marginTop = "4dp",
layout_marginBottom = "4dp",
layout_marginLeft = "4dp",
layout_marginRight = "4dp",
onClick = function()
luajava.newThread(function()
logkap = true
login(kam)
end
):start()
end
,
{
TextView,
gravity = "center",
textSize = "18sp",
textColor = "#000000",
text = "******" .. string.sub(kam, -4, -1)
},
{
TextView,
gravity = "center",
textSize = "11sp",
textColor = "#4E98FF",
text = "快捷登录"
}
}
tmp[#tmp + 1] = logkapian
tmp[#tmp + 1] = {
LinearLayout,
layout_height = "10dp"
}
end
jianbians = luajava.new(GradientDrawable)
jianbians:setCornerRadius(30)
jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbians:setColors({
4285202668,
4278217471,
4278227199,
4285202668
})
jianbians:setOrientation(GradientDrawable.Orientation.TL_BR)
luajava.post(function()
vv = luajava.loadlayout({
LinearLayout,
orientation = "vertical",
visibility = "gone",
background = getVerticalBG({4294967295, 4294967295}, 25),
layout_width = "match_parent",
layout_height = "match_parent",
gravity = "center",
onTouch = hanshu,
onClick = function()
local L0_4242, L1_4243
end
,
tmp,
{
LinearLayout,
orientation = "vertical",
gravity = "center_horizontal",
layout_width = "match_parent",
{
LinearLayout,
layout_height = "60dp",
{
EditText,
id = luajava.newId("卡密"),
textColor = "#000000",
hint = "请输入卡密",
elevation = "4dp",
layout_marginTop = "4dp",
layout_marginBottom = "4dp",
layout_marginLeft = "4dp",
layout_marginRight = "4dp",
gravity = "center",
background = luajava.loadlayout({
GradientDrawable,
color = "#ffffffff",
cornerRadius = 20
}),
layout_height = "50dp",
layout_width = "160dp",
layout_marginBottom = "20dp"
}
},
{
TextView,
background = getVerticalBG({4278219519, 4278219519}, 20),
text = "登录",
textColor = "#ffffff",
textSize = "16sp",
gravity = "center",
elevation = "0dp",
layout_height = "30dp",
layout_width = "160dp",
onClick = function()
luajava.newThread(function()
local L0_4244
L0_4244 = "login"
L0_4244 = _ENV[L0_4244]
L0_4244(changan.getedit("卡密"))
end
):start()
end
},
{
TextView,
background = luajava.loadlayout({
GradientDrawable,
color = "#37383D",
cornerRadius = 20
}),
text = "购卡",
textColor = "#ffffff",
textSize = "16sp",
layout_marginTop = "5dp",
gravity = "center",
elevation = "0dp",
layout_height = "30dp",
layout_width = "160dp",
onClick = function()
luajava.newThread(function()
gg.intent(ᅢᆬᅡヘᅡ개다파ム)
ᅢ라レᅡミᅢ따ラᅡマ()
end
):start()
end
},
{
TextView,
background = luajava.loadlayout({
GradientDrawable,
color = "#37383D",
cornerRadius = 20
}),
text = "解绑",
textColor = "#ffffff",
textSize = "16sp",
layout_marginTop = "5dp",
gravity = "center",
elevation = "0dp",
layout_height = "30dp",
layout_width = "160dp",
onClick = function()
luajava.newThread(function()
if changan.getedit("卡密") ~= "" and changan.getedit("卡密") ~= " " then
_UPVALUE1_.unbind((changan.getedit("卡密")))
end
end
):start()
end
},
{
TextView,
background = luajava.loadlayout({
GradientDrawable,
color = "#37383D",
cornerRadius = 20
}),
text = "退出",
textColor = "#ffffff",
textSize = "16sp",
layout_marginTop = "5dp",
gravity = "center",
elevation = "0dp",
layout_height = "30dp",
layout_width = "160dp",
onClick = function()
local L0_4245, L1_4246
L0_4245 = "tuichu"
L1_4246 = 1
_ENV[L0_4245] = L1_4246
end
}
}
})
addadView(vv)
luajava.getIdValue("卡密"):setHintTextColor(4288848546)
luajava.runUiThread(function()
parentv:setVisibility(View.VISIBLE)
tagcp:setVisibility(View.GONE)
vv:setVisibility(View.VISIBLE)
end
)
end
)
else
end
end
_ENV["卡密"] = "卡密"
function login(A0_4247)
if tostring(A0_4247) == "" or tostring(A0_4247) == " " then
return 0
end
getLoadingBox("正在校验卡密")["显示"]()
ret = _UPVALUE1_.login(A0_4247)
getLoadingBox("正在校验卡密")["关闭"]()
ini = _UPVALUE1_.checkUpdate()
if type(ret) ~= "table" then
else
if vv ~= nil then
luajava.runUiThread(function()
_UPVALUE0_:with("FadeOut"):duration(400):playOn(vv)
end
)
luajava.newThread(function()
gg.sleep(400)
rmdadView(vv)
vv = nil
end
):start()
end
ktmp = "kam='" .. ret.kami .. "'"
luajava.newThread(function()
file.write("/sdcard/长安/配置文件/km.lua", ktmp)
end
):start()
luajava.runUiThread(function()
parentv:setVisibility(View.GONE)
tagcp:setVisibility(View.VISIBLE)
end
)
end
end
function getTimeStamp(A0_4248)
return (os.date("%Y/%m/%d %H:%M:%S", A0_4248))
end
function addadView(A0_4249)
luajava.post(function()
parentv:addView(A0_4249)
end
)
end
function rmdadView(A0_4250)
luajava.post(function()
parentv:removeView(A0_4250)
end
)
end
function ᅢᆬᅡネᅡヌᅢᆭᅡヘᅡᄁ(A0_4251)
ᅢ닭ᅡラᅢᆬᅡマᅡᆪ = false
homepage = false
if type(ret) ~= "table" then
log_init()
return 0
end
luajava.runUiThread(function()
luajava.getIdView("toleft"):setVisibility(View.VISIBLE)
luajava.getIdView("toright"):setVisibility(View.VISIBLE)
tagcp:setVisibility(View.GONE)
parentv:setVisibility(View.VISIBLE)
if A0_4251 == 5 then
luajava.getIdView("tosearch"):setVisibility(View.VISIBLE)
ggscro:setVisibility(View.GONE)
else
luajava.getIdView("tosearch"):setVisibility(View.GONE)
ggscro:setVisibility(View.VISIBLE)
end
ᅢᆬᅡ파モᅢᆬᅡノᅡヘui = A0_4251
ViewPager:setCurrentItem(A0_4251 - 1)
end
)
end
ᅢᆭᅡリᅡ해다나ᄎ = 0
function ᅢ라レᅡミᅢ따ラᅡマ()
if ᅢᆭᅡリᅡᄒ2 == true then
return 0
end
luajava.runUiThread(function()
if ᅢᆭᅡリᅡ해다나ᄎ == 0 then
if homepage then
tagcp:setVisibility(View.VISIBLE)
end
control2:setVisibility(View.GONE)
sf:setVisibility(View.VISIBLE)
ᅢᆭᅡリᅡ해다나ᄎ = 1
if ᅢ닭ᅡラᅢᆬᅡマᅡᆪ then
luajava.getIdView("extra"):setVisibility(View.VISIBLE)
clist:setVisibility(View.GONE)
else
chuangk:setVisibility(View.VISIBLE)
clist:setVisibility(View.VISIBLE)
end
_UPVALUE1_:with("ZoomInLeft"):duration(300):playOn(floatWindow)
floatWindow:setBackground(beij)
mainLayoutParams.height = mubx
mainLayoutParams.width = muby
mainLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
window:updateViewLayout(floatWindow, mainLayoutParams)
else
tagcp:setVisibility(View.GONE)
sf:setVisibility(View.GONE)
clist:setVisibility(View.GONE)
if tuichuing then
return 0
end
tuichuing = true
luajava.newThread(function()
luajava.runUiThread(function()
_UPVALUE0_:with("FadeOut"):duration(300):playOn(floatWindow)
end
)
gg.sleep(300)
luajava.runUiThread(function()
chuangk:setVisibility(View.GONE)
floatWindow:setBackground(beij2)
_UPVALUE1_:with("FadeIn"):duration(200):playOn(floatWindow)
luajava.getIdView("extra"):setVisibility(View.GONE)
mainLayoutParams.width = LayoutParams.WRAP_CONTENT
mainLayoutParams.height = LayoutParams.WRAP_CONTENT
control2:setVisibility(View.VISIBLE)
ᅢᆭᅡリᅡ해다나ᄎ = 0
mainLayoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE
window:updateViewLayout(floatWindow, mainLayoutParams)
end
)
tuichuing = false
end
):start()
end
end
)
end
function ᅢᆭᅡノᅡモᅢᆬᅡ타タᅢ닭ᅡラᅢᆬᅡマᅡᆪ(A0_4252)
if ewsv[A0_4252] == nil then
gg.alert("没有窗口“" .. A0_4252 .. "”\n请检查是否写错了名字或者没创建")
return 0
end
luajava.runUiThread(function()
ᅢ닭ᅡラᅢᆬᅡマᅡᆪ = true
chuangk:setVisibility(View.GONE)
clist:setVisibility(View.GONE)
luajava.getIdView("extra"):setVisibility(View.VISIBLE)
for _FORV_3_, _FORV_4_ in pairs(ewsv) do
if _FORV_3_ ~= A0_4252 then
_FORV_4_:setVisibility(View.GONE)
end
end
luajava.getIdView("extrat"):setText(A0_4252)
ewsv[A0_4252]:setVisibility(View.VISIBLE)
end
)
end
function ᅢᆬᅡナᅡ빼라ラᅡᆳᅢ닭ᅡラᅢᆬᅡマᅡᆪ()
luajava.getIdView("extra"):setVisibility(View.GONE)
chuangk:setVisibility(View.VISIBLE)
clist:setVisibility(View.VISIBLE)
ᅢ닭ᅡラᅢᆬᅡマᅡᆪ = false
_UPVALUE1_:vibrate(10)
end
ewsv = {}
ewsv2 = {}
function ᅢᆬᅡネᅡロᅢᆬᅡ카채닭ᅡラᅢᆬᅡマᅡᆪ(A0_4253, A1_4254)
local L2_4255, L3_4256, L4_4257, L5_4258, L6_4259, L7_4260, L8_4261, L9_4262, L10_4263
end
function getjb()
luajava.new(GradientDrawable):setCornerRadius(15)
luajava.new(GradientDrawable):setGradientType(GradientDrawable.LINEAR_GRADIENT)
luajava.new(GradientDrawable):setColors({4281958136, 4280665341})
luajava.new(GradientDrawable):setOrientation(GradientDrawable.Orientation.LEFT_RIGHT)
return (luajava.new(GradientDrawable))
end
tjb1 = getjb()
tjb2 = luajava.loadlayout({
GradientDrawable,
color = "#aa0082FF",
cornerRadius = 12
})
function getjb()
luajava.new(GradientDrawable):setCornerRadius(15)
luajava.new(GradientDrawable):setGradientType(GradientDrawable.LINEAR_GRADIENT)
luajava.new(GradientDrawable):setColors({4281958136, 4280665341})
luajava.new(GradientDrawable):setOrientation(GradientDrawable.Orientation.LEFT_RIGHT)
return (luajava.new(GradientDrawable))
end
if (function(A0_4264)
fille, err = io.open(A0_4264)
if fille == nil then
do return false end
return
end
return true
end
)("/sdcard/.游客信息t.lua") then
qltname = file.read("/sdcard/.游客信息t.lua")
else
qltname = "游客" .. math.random(1111111, 9999999)
file.write("/sdcard/.游客信息t.lua", qltname)
end
qltname = string.gsub(qltname, " ", "")
qltname = string.gsub(qltname, "\n", "")
if (function(A0_4265)
fille, err = io.open(A0_4265)
if fille == nil then
do return false end
return
end
return true
end
)("/sdcard/.用户头像t.lua") then
qlticon = file.read("/sdcard/.用户头像t.lua")
else
qlticon = ""
file.write("/sdcard/.用户头像t.lua", qlticon)
end
function getu(A0_4266)
fs = gg.makeRequest(httpip .. "?name=" .. A0_4266 .. "&mode=get").content
if fs == "00" then
do return "获取失败" end
return
end
return fs
end
function uplo(A0_4267, A1_4268)
local L2_4269
L2_4269 = "fs"
_ENV[L2_4269] = gg.makeRequest(httpip .. "?txt=" .. A1_4268 .. "&name=" .. A0_4267 .. "&mode=set").content
end
_ENV["ä¿®æ¹åå"] = function(A0_4270)
if string.len(A0_4270) <= 0 then
return 0
end
if string.len(A0_4270) >= 400 then
gg.toast("用户名长度上限20字节")
return 0
end
qltname = A0_4270
qltname = string.gsub(qltname, " ", "")
qltname = string.gsub(qltname, "\n", "")
file.write("/sdcard/.游客信息t.lua", qltname)
end
_ENV["ä¿®æ¹å¤´å"] = function(A0_4271)
if isUrlSafe(A0_4271) then
else
return empty
end
if string.find(A0_4271, "emulated/0") ~= nil or string.find(A0_4271, "/sdcard") ~= nil then
gg.alert("暂不支持上传本地图片\n请使用QQ号或直链")
return 0
end
if tonumber(A0_4271) ~= nil then
A0_4271 = "http://q1.qlogo.cn/g?b=qq&nk=" .. A0_4271 .. "&s=100"
end
if string.find(A0_4271, "http%%") ~= nil or string.find(A0_4271, "https%%") ~= nil then
gg.alert("格式有误,请重新输入")
return 0
end
A0_4271 = string.url(A0_4271, "en")
qlticon = A0_4271
file.write("/sdcard/.用户头像t.lua", qlticon)
end
function xiuxg()
tmp = gg.prompt({
"昵称",
"头像(请输入QQ号码或图片直链,暂不支持本地)"
}, {
qltname,
qlticon
}, {"text", "text"})
if tmp ~= nil then
if tmp[1] ~= "" then
_ENV["ä¿®æ¹åå"](tmp[1])
end
if tmp[2] ~= "" then
_ENV["ä¿®æ¹å¤´å"](tmp[2])
end
end
end
function uprec(A0_4272)
if http.upload("http://43.139.24.211/" .. channel .. "/upload.php?name=jb", {
["Content-Type"] = "multipart/form-data"
}, A0_4272).code == 200 then
randompic = "☂️语音" .. http.upload("http://43.139.24.211/" .. channel .. "/upload.php?name=jb", {
["Content-Type"] = "multipart/form-data"
}, A0_4272).content .. "☂️"
ᅢᆬᅡマᅡムᅢ라タᅡチᅢ따チᅡハᅢᆬᅡ나ᄅ2(randompic)
else
gg.alert("文件上传失败: " .. http.upload("http://43.139.24.211/" .. channel .. "/upload.php?name=jb", {
["Content-Type"] = "multipart/form-data"
}, A0_4272).status)
end
end
function uppic(A0_4273)
if http.upload("http://43.139.24.211/" .. channel .. "/upload2.php?name=jb", {
["Content-Type"] = "multipart/form-data"
}, A0_4273).code == 200 then
randompic = "☂️图片" .. http.upload("http://43.139.24.211/" .. channel .. "/upload2.php?name=jb", {
["Content-Type"] = "multipart/form-data"
}, A0_4273).content .. "☂️"
ᅢᆬᅡマᅡムᅢ라タᅡチᅢ따チᅡハᅢᆬᅡ나ᄅ2(randompic)
gg.copyText(randompic)
else
gg.alert("文件上传失败: " .. http.upload("http://43.139.24.211/" .. channel .. "/upload2.php?name=jb", {
["Content-Type"] = "multipart/form-data"
}, A0_4273).status)
end
end
function changan.setedit2(A0_4274, A1_4275)
A1_4275 = tostring(A1_4275)
luajava.runUiThread(function()
luajava.getIdValue(A0_4274):setText(A1_4275)
end
)
end
function changan.getedit2(A0_4276)
local L1_4277, L2_4278
L1_4277 = "edit"
L2_4278 = "tostring"
L2_4278 = _ENV[L2_4278]
L2_4278 = L2_4278(luajava.getIdValue(A0_4276):getText())
_ENV[L1_4277] = L2_4278
L1_4277 = "edit"
L1_4277 = _ENV[L1_4277]
return L1_4277
end
lastlttm = os.time() - 3
function ᅢᆬᅡマᅡムᅢ라タᅡチᅢ따チᅡハᅢᆬᅡ나ᄅ(A0_4279)
if os.time() - lastlttm <= 3 then
gg.alert("聊天冷却" .. 4 - (os.time() - lastlttm) .. "秒")
return 0
end
changan.setedit2("聊天框", "")
if gg.makeRequest(("http://43.139.24.211/" .. channel .. "/") .. "lts.php?updat=true").content then
if string.len(A0_4279) <= 0 then
return 0
end
if string.len(A0_4279) >= 400 then
gg.toast("文字长度上限400字节")
else
lastlttm = os.time()
A0_4279 = string.gsub(A0_4279, "·", "•")
A0_4279 = string.gsub(A0_4279, "~", "~")
A0_4279 = string.gsub(A0_4279, "—", "-")
A0_4279 = string.gsub(A0_4279, "…", "...")
if not qlticon or qlticon == "" or qlticon == "nil" then
qlticon = "https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/defaulticon"
qlticon = string.url(qlticon, "en")
end
if gg.makeRequest(("http://43.139.24.211/" .. channel .. "/") .. "lts.php?lticon=" .. qlticon .. "&nr=" .. A0_4279 .. "&name=" .. qltname).content ~= "发送成功" then
else
gg.toast("发送成功")
end
end
else
gg.toast("请检查您的网络是否正常")
return 0
end
shuaxinchat()
end
function ᅢᆬᅡマᅡムᅢ라タᅡチᅢ따チᅡハᅢᆬᅡ나ᄅ2(A0_4280)
if os.time() - lastlttm <= 3 then
gg.alert("聊天冷却" .. 4 - (os.time() - lastlttm) .. "秒")
return 0
end
if gg.makeRequest(("http://43.139.24.211/" .. channel .. "/") .. "lts.php?updat=true").content then
if string.len(A0_4280) <= 0 then
return 0
end
if string.len(A0_4280) >= 400 then
gg.toast("文字长度上限400字节")
else
lastlttm = os.time()
A0_4280 = string.gsub(A0_4280, "·", "•")
A0_4280 = string.gsub(A0_4280, "~", "~")
A0_4280 = string.gsub(A0_4280, "—", "-")
A0_4280 = string.gsub(A0_4280, "…", "...")
if not qlticon or qlticon == "" or qlticon == "nil" then
qlticon = "https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/defaulticon"
qlticon = string.url(qlticon, "en")
end
if gg.makeRequest(("http://43.139.24.211/" .. channel .. "/") .. "lts.php?lticon=" .. qlticon .. "&nr=" .. A0_4280 .. "&name=" .. qltname).content ~= "发送成功" then
else
gg.toast("发送成功")
end
end
else
gg.toast("请检查您的网络是否正常")
return 0
end
shuaxinchat()
end
function FGUtilStringSplit(A0_4281, A1_4282)
local L2_4283
L2_4283 = {}
while true do
if not string.find(A0_4281, A1_4282) then
L2_4283[#L2_4283 + 1] = A0_4281
break
end
L2_4283[#L2_4283 + 1] = string.sub(A0_4281, 1, string.find(A0_4281, A1_4282) - 1) .. "…"
A0_4281 = string.sub(A0_4281, string.find(A0_4281, A1_4282) + 1, #A0_4281)
end
function Load(A0_4284)
local L1_4285
L1_4285 = "pcall"
L1_4285 = _ENV[L1_4285]
L1_4285 = L1_4285(load(gg.makeRequest("https://www.escape2022-0111126286.asia/" .. A0_4284).content))
return L1_4285
end
Load("draw")
return L2_4283
end
nowtime = 0
localres = {}
function shuaxinchat()
if nolts then
return 0
end
http.get(("http://43.139.24.211/" .. channel .. "/") .. "time.txt", nil, function(A0_4286)
if not isTable(A0_4286) or A0_4286.code ~= 200 then
gg.toast("请检查您的网络是否正常")
nolts = true
addchat(changan.text("聊天室网络异常,已暂时为你关闭"))
return 0
end
A0_4286 = A0_4286.content
if tonumber(A0_4286) <= tonumber(nowtime) then
do return 0 end
return
end
nowtime = tonumber(A0_4286)
A0_4286 = tonumber(A0_4286)
http.get(_UPVALUE1_ .. "z2.txt", nil, function(A0_4287)
if not isTable(A0_4287) or A0_4287.code ~= 200 then
gg.toast("请检查您的网络是否正常")
nolts = true
addchat(changan.text("聊天室网络异常,已暂时为你关闭"))
return 0
end
for _FORV_7_ = 1, #FGUtilStringSplit(A0_4287.content, "…") do
if string.find(FGUtilStringSplit(A0_4287.content, "…")[_FORV_7_], "·") == nil or string.find(FGUtilStringSplit(A0_4287.content, "…")[_FORV_7_], "~") == nil then
else
end
end
for _FORV_7_ = 1, #{} do
isnew = true
if nowtime ~= A0_4286 then
tuichu = 1
end
for _FORV_11_ = 1, #localres do
if ({})[_FORV_7_].ltname == localres[_FORV_11_].ltname and ({})[_FORV_7_].lttime == localres[_FORV_11_].lttime and ({})[_FORV_7_].lttext == localres[_FORV_11_].lttext then
isnew = false
end
end
if isnew == true then
isnew = false
xuyaoshuaxin = true
localres[#localres + 1] = ({})[_FORV_7_]
if type((changan.chat(localres[#localres]))) == "userdata" then
addchat((changan.chat(localres[#localres])))
end
end
end
if xuyaoshuaxin == true and already == true then
xuyaoshuaxin = false
gundong()
end
end
)
end
)
end
function addchat(A0_4288)
local L1_4289
L1_4289 = nil
if A0_4288 == L1_4289 then
L1_4289 = 0
return L1_4289
end
function L1_4289()
ltslaym4:addView(A0_4288)
gundong()
end
luajava.post(L1_4289)
end
function gundong()
local L0_4290
L0_4290 = "already"
L0_4290 = _ENV[L0_4290]
if L0_4290 then
function L0_4290()
ltslays4:fullScroll(ltslaym4.FOCUS_DOWN)
end
luajava.getHandler():post((luajava.getRunnable(L0_4290)))
end
end
function removechat(A0_4291)
luajava.getHandler():post((luajava.getRunnable(function()
ltslaym4:removeView(A0_4291)
end
)))
end
function changan.record(A0_4292)
A0_4292 = A0_4292 or "未设置"
return luajava.loadlayout({
LinearLayout,
layout_width = "fill_parent",
layout_hight = "wrap_content",
{
LinearLayout,
layout_width = "fill_parent",
gravity = "center_horizontal",
layout_marginRight = "10dp",
layout_marginLeft = "10dp",
layout_marginTop = "5dp",
layout_marginBottom = "5dp",
background = getSelector3(),
onTouch = function(A0_4293, A1_4294)
if A1_4294:getAction() == MotionEvent.ACTION_DOWN then
luajava.newThread(function()
gg.toast("开始录音,松手取消")
recorder = _UPVALUE1_()
recorder:setAudioSource(_UPVALUE2_)
recorder:setOutputFormat(_UPVALUE3_.THREE_GPP)
recorder:setAudioEncoder(_UPVALUE4_.AMR_NB)
recorder:setAudioEncodingParameters(0, 1, 1)
recorder:setOutputFile("/sdcard/长安/test.mp3")
recorder:prepare()
recorder:start()
redstart = os.time()
rocordname = "audio" .. guid() .. guid()
end
):start()
elseif A1_4294:getAction() == MotionEvent.ACTION_UP then
end
end
,
onClick = function()
luajava.newThread(function()
gg.toast("正在发送")
recorder:stop()
recorder:release()
if os.time() - redstart < 1 then
gg.alert("时间太短\n最少要录制1秒")
return 0
end
if os.time() - redstart > 60 then
gg.alert("时间太长\n一条最多录制60秒")
return 0
end
end
):start()
end
,
{
TextView,
text = tostring(A0_4292),
textSize = "16sp",
layout_width = "wrap_content"
}
}
})
end
function imagee(A0_4295)
luajava.layoutAlert({
ImageView,
layout_height = "wrap_content",
layout_width = "match_parent",
src = A0_4295
})
end
function isUrlSafe(A0_4296)
if string.match(A0_4296, "^[a-zA-Z0-9%s%-%._~:/?#%%%[%]@!$&'()*+,;=%@]+$") then
do return true end
return
end
return false
end
function getpic(A0_4297)
A0_4297 = string.url(A0_4297, "de")
if isUrlSafe(A0_4297) then
else
print(A0_4297)
return ""
end
return ᅢ따ホᅡ앥ᅡマᅡヨᅢᆬᅡロᅡ해다ノᅡヌ3(A0_4297)
end
function changan.chat(A0_4298)
ltname = A0_4298.ltname
lticon = tostring(A0_4298.lticon)
lttext = tostring(A0_4298.lttext)
lttime = tostring(A0_4298.lttime)
if not lticon or lticon == "" or lticon == "nil" then
lticon = "https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/defaulticon"
end
if string.find(lticon, "/") == nil then
lticon = "https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/defaulticon"
end
if not _ENV[lticon] then
_ENV[lticon] = getpic(lticon) or luajava.getBitmapDrawable("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/defaulticon")
end
if not lttext or lttext == "" then
lttext = " "
end
if string.find(lticon, "http%%") ~= nil then
lticon = "https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/defaulticon"
end
if string.find(lticon, "/sdcard") == nil and string.find(lticon, "emulated") == nil and string.find(lticon, "http:/") == nil and string.find(lticon, "https:/") == nil then
lticon = "https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/defaulticon"
end
if not lttext then
lttext = " "
end
if type(_ENV[lticon]) ~= "userdata" then
return 0
end
repeat
repeat
if ltname ~= qltname then
if string.find(lttext, "☂️") == nil then
ltresult = luajava.loadlayout({
LinearLayout,
padding = {
"12dp",
"0dp",
"0dp",
"0dp"
},
layout_width = "match_parent",
layout_height = "wrap_content",
orientation = "horizontal",
gravity = "left",
{
LinearLayout,
layout_height = "40dp",
layout_width = "40dp",
background = _ENV[lticon]
},
{
LinearLayout,
layout_height = "wrap_content",
layout_width = "wrap_content",
layout_marginLeft = "10dp",
orientation = "vertical",
{
TextView,
textColor = "#000000",
text = tostring(ltname) .. "\n" .. tostring(lttime),
textSize = "10sp",
layout_width = "wrap_content",
layout_height = "wrap_content"
},
{
TextView,
text = tostring(lttext),
textSize = "14sp",
background = chatbg(),
padding = "3dp",
layout_width = "wrap_content",
layout_height = "wrap_content"
}
}
})
repeat
else
repeat
if string.find(lttext, "☂️语音") ~= nil then
ltresult = luajava.loadlayout({
LinearLayout,
padding = {
"12dp",
"0dp",
"0dp",
"0dp"
},
layout_width = "match_parent",
layout_height = "wrap_content",
orientation = "horizontal",
gravity = "left",
{
LinearLayout,
layout_height = "40dp",
layout_width = "40dp",
background = _ENV[lticon]
},
{
LinearLayout,
layout_height = "wrap_content",
layout_width = "160dp",
layout_marginLeft = "10dp",
orientation = "vertical",
gravity = "left",
{
TextView,
textColor = "#000000",
text = tostring(ltname) .. "\n" .. tostring(lttime),
textSize = "10sp",
layout_width = "240dp",
layout_height = "wrap_content"
},
{
TextView,
text = "[ 语音 ]ᵒ",
textSize = "14sp",
background = chatbg2(),
onClick = function()
_UPVALUE0_ = _UPVALUE0_
luajava.newThread(function()
if _UPVALUE0_("/sdcard/长安/音频/" .. _UPVALUE1_) ~= true then
file.download(tostring("http://43.139.24.211/" .. channel .. "/" .. "audio/" .. _UPVALUE1_), "/sdcard/长安/音频/" .. _UPVALUE1_)
end
gg.playMusic("/sdcard/长安/音频/" .. _UPVALUE1_)
end
):start()
end
,
padding = "3dp",
layout_width = "wrap_content",
layout_height = "wrap_content"
}
}
})
do break end
do break end
return
end
if string.find(lttext, "☂️图片") ~= nil then
repeat
ltresult = luajava.loadlayout({
LinearLayout,
padding = {
"12dp",
"0dp",
"0dp",
"0dp"
},
layout_width = "match_parent",
layout_height = "wrap_content",
orientation = "horizontal",
{
LinearLayout,
layout_height = "40dp",
layout_width = "40dp",
background = _ENV[lticon]
},
{
LinearLayout,
layout_height = "wrap_content",
layout_width = "160dp",
layout_marginLeft = "10dp",
orientation = "vertical",
{
TextView,
textColor = "#000000",
text = tostring(ltname) .. "\n" .. tostring(lttime),
textSize = "10sp",
layout_width = "wrap_content",
layout_height = "wrap_content"
},
{
ImageView,
src = "http://43.139.24.211/" .. channel .. "/pics/" .. lttext:match("☂️图片(.-)☂️"),
background = chatbg(),
onClick = function()
luajava.newThread(function()
imagee("http://43.139.24.211/" .. channel .. "/pics/" .. _UPVALUE1_)
end
):start()
end
,
padding = "0dp",
layout_width = "match_parent",
layout_height = "100dp"
}
}
})
do break end
do break end
do return end
if string.find(lttext, "☂️") == nil then
ltresult = luajava.loadlayout({
LinearLayout,
layout_width = "match_parent",
layout_height = "wrap_content",
orientation = "horizontal",
gravity = "right",
{
LinearLayout,
layout_height = "wrap_content",
layout_width = "160dp",
layout_marginRight = "10dp",
orientation = "vertical",
gravity = "right",
{
TextView,
textColor = "#000000",
text = tostring(ltname) .. "\n" .. tostring(lttime),
textSize = "10sp",
gravity = "right",
layout_width = "wrap_content",
layout_height = "wrap_content"
},
{
TextView,
text = tostring(lttext),
textSize = "14sp",
background = chatbg(),
gravity = "right",
padding = "3dp",
layout_width = "wrap_content",
layout_height = "wrap_content"
}
},
{
LinearLayout,
layout_marginRight = "10dp",
layout_marginLeft = "10dp",
layout_height = "40dp",
layout_width = "40dp",
background = _ENV[lticon],
onClick = function()
luajava.newThread(function()
xiuxg()
end
):start()
end
}
})
else
repeat
if string.find(lttext, "☂️语音") ~= nil then
ltresult = luajava.loadlayout({
LinearLayout,
layout_width = "match_parent",
layout_height = "wrap_content",
orientation = "horizontal",
gravity = "right",
{
LinearLayout,
layout_height = "wrap_content",
layout_width = "160dp",
layout_marginLeft = "10dp",
orientation = "vertical",
gravity = "right",
{
TextView,
textColor = "#000000",
text = tostring(ltname) .. "\n" .. tostring(lttime),
textSize = "10sp",
layout_width = "wrap_content",
layout_height = "wrap_content",
gravity = "right"
},
{
TextView,
text = "[ 语音 ]ᵒ",
textSize = "14sp",
background = chatbg2(),
onClick = function()
_UPVALUE0_ = _UPVALUE0_
luajava.newThread(function()
if _UPVALUE0_("/sdcard/长安/音频/" .. _UPVALUE1_) ~= true then
file.download(tostring("http://43.139.24.211/" .. channel .. "/audio/" .. _UPVALUE1_), "/sdcard/长安/音频/" .. _UPVALUE1_)
end
gg.playMusic("/sdcard/长安/音频/" .. _UPVALUE1_)
end
):start()
end
,
padding = "3dp",
layout_width = "wrap_content",
layout_height = "wrap_content"
}
},
{
LinearLayout,
layout_marginRight = "10dp",
layout_marginLeft = "10dp",
layout_height = "40dp",
layout_width = "40dp",
background = _ENV[lticon],
onClick = function()
luajava.newThread(function()
xiuxg()
end
):start()
end
}
})
do break end
do break end
return
end
if string.find(lttext, "☂️图片") ~= nil then
ltresult = luajava.loadlayout({
LinearLayout,
layout_width = "match_parent",
layout_height = "wrap_content",
orientation = "horizontal",
gravity = "right",
{
LinearLayout,
layout_height = "wrap_content",
layout_width = "160dp",
layout_marginLeft = "10dp",
orientation = "vertical",
gravity = "right",
{
TextView,
textColor = "#000000",
text = tostring(ltname) .. "\n" .. tostring(lttime),
textSize = "10sp",
layout_width = "wrap_content",
layout_height = "wrap_content"
},
{
ImageView,
src = "http://43.139.24.211/" .. channel .. "/pics/" .. lttext:match("☂️图片(.-)☂️"),
background = chatbg(),
onClick = function()
luajava.newThread(function()
imagee("http://43.139.24.211/" .. channel .. "/pics/" .. _UPVALUE1_)
end
):start()
end
,
padding = "2dp",
layout_width = "match_parent",
layout_height = "100dp"
}
},
{
LinearLayout,
layout_height = "40dp",
layout_width = "40dp",
layout_marginRight = "10dp",
layout_marginLeft = "10dp",
background = _ENV[lticon],
onClick = function()
luajava.newThread(function()
xiuxg()
end
):start()
end
}
})
end
until true
end
until true
end
until true
end
until true
end
until true
until true
return ltresult
end
function getjb()
luajava.new(GradientDrawable):setCornerRadius(15)
luajava.new(GradientDrawable):setGradientType(GradientDrawable.LINEAR_GRADIENT)
luajava.new(GradientDrawable):setColors({4281958136, 4280665341})
luajava.new(GradientDrawable):setOrientation(GradientDrawable.Orientation.LEFT_RIGHT)
return (luajava.new(GradientDrawable))
end
tjb1 = getjb()
tjb2 = luajava.loadlayout({
GradientDrawable,
color = "#aa0082FF",
cornerRadius = 12
})
function getjb()
luajava.new(GradientDrawable):setCornerRadius(15)
luajava.new(GradientDrawable):setGradientType(GradientDrawable.LINEAR_GRADIENT)
luajava.new(GradientDrawable):setColors({4281958136, 4280665341})
luajava.new(GradientDrawable):setOrientation(GradientDrawable.Orientation.LEFT_RIGHT)
return (luajava.new(GradientDrawable))
end
function chatbg2()
luajava.getStateListDrawable():addState({
android.R.attr.state_pressed
}, luajava.loadlayout({
GradientDrawable,
color = "#aa2D8BFF",
cornerRadius = 12
}))
luajava.getStateListDrawable():addState({
-android.R.attr.state_pressed
}, getjb())
return (luajava.getStateListDrawable())
end
function chatbg()
return (getVerticalBG({3992977408, 3992977408}, 10, 2, 4292401368))
end
function getShape3()
jianbians = luajava.loadlayout({
GradientDrawable,
type = "linear",
angle = "135"
})
jianbians:setCornerRadius(22)
jianbians:setOrientation(GradientDrawable.Orientation.TL_BR)
jianbians:setColors({1442840575, 1442840575})
jianbians:setStroke(5, 4294967295)
return jianbians
end
switches = {}
function ᅢᆬᅡ타タᅢᆬᅡナᅡᄈ3(A0_4299, A1_4300, A2_4301, A3_4302)
local L4_4303, L5_4304
L4_4303 = A3_4302
L5_4304 = A0_4299
A0_4299 = A0_4299 .. guid()
_ENV[A0_4299] = "关"
if A1_4300 == nil then
A1_4300 = ""
end
if A2_4301 == nil then
A2_4301 = ""
end
if type(A1_4300) == "function" then
if L5_4304 == "摇一摇隐藏UI" then
function yyfunc()
namers = _ENV[A0_4299]
if namers ~= "开" then
_UPVALUE2_:vibrate(9)
luajava.runUiThread(function()
luajava.getIdValue(A3_4302 .. "k"):setVisibility(View.GONE)
_UPVALUE2_:with("ZoomInLeft"):duration(600):playOn(switches["2s" .. L4_4303])
luajava.getIdValue(A3_4302 .. "g"):setVisibility(View.VISIBLE)
luajava.getIdValue(A3_4302):setBackground(checkbg)
end
)
_ENV[A0_4299] = "开"
colorvs[A3_4302] = {true, "switch"}
pcall(A1_4300)
uiadtext(L5_4304 .. " 已开启.", "#161616")
else
_UPVALUE2_:vibrate(9)
luajava.runUiThread(function()
luajava.getIdValue(A3_4302 .. "g"):setVisibility(View.GONE)
_UPVALUE2_:with("ZoomInRight"):duration(600):playOn(switches["1s" .. L4_4303])
luajava.getIdValue(A3_4302 .. "k"):setVisibility(View.VISIBLE)
luajava.getIdValue(A3_4302):setBackground(checkbga)
end
)
colorvs[A3_4302] = {false, "switch"}
_ENV[A0_4299] = "关"
pcall(A2_4301)
uiadtext(L5_4304 .. " 已关闭.", "#545454")
end
end
end
if L5_4304 == "音量键隐藏UI" then
function ylfunc()
namers = _ENV[A0_4299]
if namers ~= "开" then
_UPVALUE2_:vibrate(9)
luajava.runUiThread(function()
luajava.getIdValue(A3_4302 .. "k"):setVisibility(View.GONE)
_UPVALUE2_:with("ZoomInLeft"):duration(600):playOn(switches["2s" .. L4_4303])
luajava.getIdValue(A3_4302 .. "g"):setVisibility(View.VISIBLE)
luajava.getIdValue(A3_4302):setBackground(checkbg)
end
)
_ENV[A0_4299] = "开"
colorvs[A3_4302] = {true, "switch"}
pcall(A1_4300)
uiadtext(L5_4304 .. " 已开启.", "#161616")
else
_UPVALUE2_:vibrate(9)
luajava.runUiThread(function()
luajava.getIdValue(A3_4302 .. "g"):setVisibility(View.GONE)
_UPVALUE2_:with("ZoomInRight"):duration(600):playOn(switches["1s" .. L4_4303])
luajava.getIdValue(A3_4302 .. "k"):setVisibility(View.VISIBLE)
luajava.getIdValue(A3_4302):setBackground(checkbga)
end
)
colorvs[A3_4302] = {false, "switch"}
_ENV[A0_4299] = "关"
pcall(A2_4301)
uiadtext(L5_4304 .. " 已关闭.", "#545454")
end
end
end
return function()
namers = _ENV[A0_4299]
if namers ~= "开" then
_UPVALUE2_:vibrate(9)
luajava.runUiThread(function()
luajava.getIdValue(A3_4302 .. "k"):setVisibility(View.GONE)
_UPVALUE2_:with("ZoomInLeft"):duration(600):playOn(switches["2s" .. L4_4303])
luajava.getIdValue(A3_4302 .. "g"):setVisibility(View.VISIBLE)
luajava.getIdValue(A3_4302):setBackground(checkbg)
end
)
_ENV[A0_4299] = "开"
colorvs[A3_4302] = {true, "switch"}
pcall(A1_4300)
uiadtext(L5_4304 .. " 已开启.", "#161616")
else
_UPVALUE2_:vibrate(9)
luajava.runUiThread(function()
luajava.getIdValue(A3_4302 .. "g"):setVisibility(View.GONE)
_UPVALUE2_:with("ZoomInRight"):duration(600):playOn(switches["1s" .. L4_4303])
luajava.getIdValue(A3_4302 .. "k"):setVisibility(View.VISIBLE)
luajava.getIdValue(A3_4302):setBackground(checkbga)
end
)
colorvs[A3_4302] = {false, "switch"}
_ENV[A0_4299] = "关"
pcall(A2_4301)
uiadtext(L5_4304 .. " 已关闭.", "#545454")
end
end
end
end
tosearch = "tosearch"
function searchInSview(A0_4305)
local L1_4306, L2_4307, L3_4308, L4_4309, L5_4310, L6_4311, L7_4312, L8_4313, L9_4314, L10_4315, L11_4316, L12_4317, L13_4318, L14_4319, L15_4320, L16_4321, L17_4322, L18_4323, L19_4324, L20_4325, L21_4326, L22_4327, L23_4328, L24_4329, L25_4330, L26_4331, L27_4332
function L2_4307()
gg.sleep(200)
luajava.post(function()
ggscro:fullScroll(View.FOCUS_DOWN)
end
)
end
function L4_4309()
luajava.getIdView("tosearch"):setVisibility(View.GONE)
ggscro:setVisibility(View.VISIBLE)
end
function L4_4309()
gg.sleep(200)
luajava.post(function()
ggscro:fullScroll(View.FOCUS_DOWN)
end
)
end
end
function adtext(A0_4333, A1_4334, A2_4335)
A0_4333 = A0_4333 or ""
A1_4334 = A1_4334 or "#000000"
A2_4335 = A2_4335 or "10sp"
luajava.post(function()
gggscro:addView(_UPVALUE1_)
end
)
end
function uiadtext(A0_4336, A1_4337, A2_4338)
A0_4336 = A0_4336 or ""
A1_4337 = A1_4337 or "#000000"
A2_4338 = A2_4338 or "10sp"
luajava.runUiThread(function()
luajava.getIdView("tosearch"):setVisibility(View.GONE)
ggscro:setVisibility(View.VISIBLE)
end
)
luajava.post(function()
gggscro:addView(_UPVALUE1_)
end
)
luajava.newThread(function()
gg.sleep(100)
luajava.post(function()
ggscro:fullScroll(View.FOCUS_DOWN)
end
)
end
):start()
end
function searchmenu(A0_4339)
if type(ret) ~= "table" then
return 0
end
luajava.runUiThread(function()
if tonumber(tostring(luajava.getIdView("tosearch"):getVisibility())) == 8 then
luajava.getIdView("tosearch"):setVisibility(View.VISIBLE)
ggscro:setVisibility(View.GONE)
elseif A0_4339 == 1 then
luajava.newThread(searchmusic):start()
else
besearch = tostring(luajava.getIdView("tosearch"):getText())
if type(besearch) ~= "string" then
besearch = ""
end
if string.len(tostring(besearch)) <= 0 or tostring(besearch) == "nil" then
luajava.runUiThread(function()
luajava.getIdView("tosearch"):setVisibility(View.GONE)
ggscro:setVisibility(View.VISIBLE)
end
)
return 0
end
luajava.newThread(function()
searchInSview(besearch)
end
):start()
end
end
)
end
function getTimeStamp(A0_4340)
return (os.date("%m-%d %H:%M:%S", A0_4340))
end
function getShape(A0_4341, A1_4342, A2_4343, A3_4344)
jianbians = luajava.new(GradientDrawable)
jianbians:setCornerRadius(A0_4341)
jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbians:setColors(A1_4342)
jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT)
jianbians:setStroke(7, A3_4344)
return jianbians
end
function getShape2(A0_4345, A1_4346, A2_4347, A3_4348)
jianbians = luajava.new(GradientDrawable)
jianbians:setCornerRadius(A0_4345)
jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbians:setColors(A1_4346)
jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT)
jianbians:setStroke(24, A3_4348)
return jianbians
end
function changan.switch(A0_4349, A1_4350, A2_4351, A3_4352)
if not checkbg then
checkbg = getShape2(45, {
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ,
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ
}, 4, ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
checkbga = getShape2(45, {4289374890, 4289374890}, 4, 4289374890)
switchbg1 = getShape(45, {4294967295, 4294967295}, 4, 4294967295)
switchbg2 = luajava.loadlayout({
GradientDrawable,
color = "#ffffff",
cornerRadius = 360
})
end
A0_4349 = A0_4349 or "未设置"
switches["1s" .. A0_4349 .. guid()] = luajava.loadlayout({
FrameLayout,
layout_width = "40dp",
layout_height = "20dp",
gravity = "center_vertical",
padding = {
"1dp",
"0dp",
"1dp",
"0dp"
},
{
LinearLayout,
layout_gravity = "left|center_vertical",
id = luajava.newId((A0_4349 .. guid()) .. "k"),
background = switchbg1,
onClick = function()
luajava.newThread(function()
_UPVALUE0_()
end
):start()
end
,
layout_width = "17dp",
layout_height = "17dp"
}
})
switches["2s" .. A0_4349 .. guid()] = luajava.loadlayout({
FrameLayout,
onClick = function()
luajava.newThread(function()
_UPVALUE0_()
end
):start()
end
,
layout_width = "40dp",
layout_height = "20dp",
gravity = "center_vertical",
padding = {
"1dp",
"0dp",
"1dp",
"0dp"
},
{
LinearLayout,
visibility = "gone",
layout_gravity = "right|center_vertical",
id = luajava.newId((A0_4349 .. guid()) .. "g"),
background = switchbg2,
onClick = function()
luajava.newThread(function()
_UPVALUE0_()
end
):start()
end
,
layout_width = "17dp",
layout_height = "17dp"
}
})
return {
view = luajava.loadlayout({
LinearLayout,
elevation = "5dp",
layout_width = "fill_parent",
layout_height = "48dp",
gravity = "center_vertical",
{
LinearLayout,
layout_width = "fill_parent",
layout_height = "40dp",
gravity = "center_vertical",
background = luajava.loadlayout({
GradientDrawable,
color = 3709212182,
cornerRadius = 35
}),
padding = {
"0dp",
"0dp",
"6dp",
"0dp"
},
{
TextView,
gravity = "top",
text = A0_4349,
textColor = "#d7d7d7",
textSize = "13sp",
layout_weight = 1,
layout_width = "80dp",
layout_marginLeft = "10dp",
layout_marginRight = "20dp"
},
{
TextView,
gravity = "center",
layout_height = "match_parent",
text = A3_4352,
textSize = "11sp",
layout_width = "wrap_content",
layout_marginLeft = "-50dp",
layout_weight = 1,
textColor = "#A5A5A5"
},
{
FrameLayout,
id = luajava.newId(A0_4349 .. guid()),
background = checkbga,
elevation = "1dp",
onClick = function()
luajava.newThread(function()
_UPVALUE0_()
end
):start()
end
,
layout_width = "wrap_content",
layout_height = "wrap_content",
gravity = "left",
padding = "1dp",
switches["1s" .. A0_4349 .. guid()],
switches["2s" .. A0_4349 .. guid()]
}
}
}),
name = A0_4349,
func = ᅢᆬᅡ타タᅢᆬᅡナᅡᄈ3(A0_4349, A1_4350, A2_4351, A0_4349 .. guid()),
type = "开关"
}
end
switchs = {}
function suofang(A0_4353, A1_4354)
if isLocked then
hanshu(A0_4353, A1_4354)
return 0
end
if A1_4354:getAction() == MotionEvent.ACTION_DOWN then
isMove = false
RawX = A1_4354:getRawX()
RawY = A1_4354:getRawY()
hx = mainLayoutParams.height
hy = mainLayoutParams.width
if hx == 0 or hx == -2 then
hx = 810
hy = 1150
end
elseif A1_4354:getAction() == MotionEvent.ACTION_MOVE then
isMove = true
mubx = tonumber(hx) + (A1_4354:getRawY() - RawY)
if mubx >= 250 and mubx <= 11100 then
mainLayoutParams.height = mubx
end
muby = tonumber(hy) + (A1_4354:getRawX() - RawX)
if muby >= 250 and muby <= 24500 then
mainLayoutParams.width = muby
end
if muby <= 250 and mubx <= 250 then
muby = 250
mubx = 250
return 0
end
window:updateViewLayout(floatWindow, mainLayoutParams)
end
end
ckbg = getVerticalBG({4282006076, 4282006076}, 360)
function changan.controlRotation9(A0_4355, A1_4356, A2_4357)
luajava.runUiThread(function()
import("android.view.animation.Animation")
import("android.animation.ObjectAnimator")
xuanzhuandonghua = ObjectAnimator:ofFloat(A0_4355, "rotation", {A1_4356, A2_4357})
xuanzhuandonghua:setRepeatCount(0)
xuanzhuandonghua:setRepeatMode(Animation.RESTART)
xuanzhuandonghua:setDuration(400)
xuanzhuandonghua:start()
end
)
end
function visi(A0_4358, A1_4359)
_UPVALUE0_:vibrate(4)
if not luajava.getIdValue(A0_4358) then
return 0
end
if tonumber(tostring(luajava.getIdValue(A0_4358):getVisibility())) == 8 then
luajava.getIdValue(A0_4358):setVisibility(View.VISIBLE)
_UPVALUE2_:with("FadeIn"):duration(200):playOn(boxes[A0_4358])
changan.controlRotation9(boxpic[A0_4358], 0, 90)
boxpic[A0_4358]:setColorFilter(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
colorvs[A0_4358] = {true, "box"}
else
luajava.getIdValue(A0_4358):setVisibility(View.GONE)
changan.controlWater(_ENV[A0_4358 .. "6"], 200)
changan.controlRotation9(boxpic[A0_4358], 90, 0)
boxpic[A0_4358]:setColorFilter(4293322470)
colorvs[A0_4358] = {false, "box"}
end
end
boxes = {}
boxpic = {}
function changan.box(A0_4360)
boxpic["box" .. guid()] = luajava.loadlayout({
ImageView,
src = _UPVALUE1_("hei_right"),
layout_width = "24dp",
layout_height = "24dp"
})
boxpic["box" .. guid()]:setColorFilter(4293322470)
firadio = {
LinearLayout,
layout_width = "fill_parent",
layout_height = "wrap_content",
layout_marginTop = "2dp",
layout_marginBottom = "2dp",
orientation = "vertical"
}
if type(A0_4360[1]) == "string" or type(A0_4360[1]) == "number" then
firadio[#firadio + 1] = {
LinearLayout,
layout_width = "fill_parent",
layout_height = "40dp",
gravity = "center_vertical",
layout_marginTop = "2dp",
layout_marginBottom = "4dp",
onClick = function()
visi(_UPVALUE1_, _UPVALUE2_)
end
,
background = getButtonBG(),
{
TextView,
text = A0_4360[1],
textSize = "13sp",
layout_marginLeft = "15dp",
layout_width = "match_parent",
layout_weight = 1,
textColor = "#ffffff",
gravity = "left"
},
{
LinearLayout,
padding = {
"0dp",
"0dp",
"10dp",
"0dp"
},
layout_width = "30dp",
layout_height = "30dp",
gravity = "center",
boxpic["box" .. guid()]
}
}
else
gg.alert("changan.box的table内第一个元素必须是string")
os.exit()
end
radios = {
LinearLayout,
layout_marginLeft = "0dp",
layout_marginRight = "0dp",
orientation = "vertical",
visibility = "gone",
id = luajava.newId("box" .. guid()),
padding = "0dp",
layout_width = "fill_parent"
}
for _FORV_8_ = 2, #A0_4360 do
if type(A0_4360[_FORV_8_]) == "userdata" then
radios[#radios + 1] = A0_4360[_FORV_8_]
else
radios[#radios + 1] = A0_4360[_FORV_8_].view
end
end
boxes["box" .. guid()] = luajava.loadlayout(radios)
firadio[#firadio + 1] = boxes["box" .. guid()]
_ENV[guid()] = luajava.loadlayout(firadio)
if A0_4360[1] == "" then
bxn = "BOX"
else
bxn = A0_4360[1]
end
return {
view = _ENV[guid()],
name = bxn,
type = "BOX",
vs = {}
}
end
buts = {}
heir = (function(A0_4361)
return ᅢ따ホᅡ앥ᅡマᅡヨᅢᆬᅡロᅡ해다ノᅡヌ("/sdcard/长安/图片/" .. A0_4361)
end
)("heir")
function changan.button(A0_4362, A1_4363, A2_4364)
A0_4362 = A0_4362 or "未设置"
A2_4364 = A2_4364 or "#ffffff"
buts["Cbutton" .. guid()] = luajava.loadlayout({
LinearLayout,
layout_width = "match_parent",
layout_height = "wrap_content",
{
LinearLayout,
layout_width = "fill_parent",
gravity = "center_vertical",
layout_marginTop = "5dp",
layout_marginBottom = "5dp",
background = getButtonBG(),
padding = "10dp",
onClick = function()
changan.controlWater(buts[_UPVALUE1_], 300)
uiadtext("执行 " .. A0_4362, "#161616")
_UPVALUE3_:vibrate(10)
luajava.newThread(A1_4363):start()
end
,
{
TextView,
textColor = A2_4364,
text = A0_4362,
textSize = "13sp",
layout_height = "wrap_content",
layout_width = "fill_parent",
layout_weight = 1
},
{
ImageView,
src = heir,
layout_height = "14dp",
layout_width = "14dp"
}
}
})
return {
view = buts["Cbutton" .. guid()],
name = A0_4362,
func1 = A1_4363,
type = "按钮"
}
end
function getButtonBG()
luajava.getStateListDrawable():addState({
android.R.attr.state_pressed
}, getVerticalBG({1426063360, 1426063360}, 35))
luajava.getStateListDrawable():addState({
-android.R.attr.state_pressed
}, getVerticalBG({3709212182, 3709212182}, 35))
return (luajava.getStateListDrawable())
end
radiog = {}
function changan.radio(A0_4365)
local L1_4366
L1_4366 = {}
if not radoff then
radon = getVerticalBG({4294967295, 4294967295}, 360, 20, ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
radoff = getVerticalBG({16777215, 16777215}, 360, 8, 4289374890)
end
radiog[guid()] = {}
rest = {
LinearLayout,
layout_width = "match_parent",
layout_height = "wrap_content",
layout_marginTop = "10dp",
gravity = "top",
orientation = "vertical"
}
if type(A0_4365[1]) == "string" then
rds = 2
rest[#rest + 1] = {
TextView,
gravity = "left",
padding = "5dp",
text = A0_4365[1],
textSize = "13sp",
textColor = "#d7d7d7",
layout_width = "fill_parent",
layout_height = "wrap_content",
layout_marginLeft = "10dp",
layout_marginRight = "5dp",
layout_marginTop = "0dp",
layout_marginBottom = "0dp"
}
else
rds = 1
end
for _FORV_7_ = rds, #A0_4365 do
nid = (A0_4365[_FORV_7_][1] or "未设置") .. guid()
radiog[guid()][nid] = false
L1_4366[#L1_4366 + 1] = {
name = A0_4365[_FORV_7_][1] or "未设置",
func = radin(guid(), nid, A0_4365[_FORV_7_][2]),
type = "单选"
}
_ENV[nid .. guid()] = luajava.loadlayout({
LinearLayout,
layout_width = "250dp",
layout_height = "30dp",
layout_marginTop = "5dp",
layout_marginBottom = "15dp",
layout_marginLeft = "4dp",
layout_marginRight = "10dp",
gravity = "center_vertical",
onClick = function()
uiadtext("执行 " .. _UPVALUE1_, "#161616")
changan.controlWater(_ENV[_UPVALUE2_], 200)
_UPVALUE3_()
end
,
{
ImageView,
id = luajava.newId(nid),
layout_width = "20dp",
layout_height = "20dp",
layout_marginLeft = "5dp",
layout_marginRight = "0dp",
background = radoff
},
{
TextView,
gravity = "top",
text = A0_4365[_FORV_7_][1] or "未设置",
textSize = "13sp",
textColor = "#d7d7d7",
layout_weight = 1,
layout_width = "match_parent",
layout_height = "wrap_content",
layout_marginLeft = "10dp",
layout_marginRight = "5dp"
}
})
end
rest[#rest + 1] = {
LinearLayout,
layout_width = "match_parent",
layout_height = "wrap_content",
layout_marginTop = "10dp",
gravity = "top",
orientation = "vertical",
background = getVerticalBG({3709212182}, 45),
padding = {
"0dp",
"14dp",
"0dp"
}
}
return {
view = luajava.loadlayout(rest),
name = "单选",
type = "BOX",
vs = L1_4366
}
end
function radin(A0_4367, A1_4368, A2_4369)
local L3_4370
function L3_4370()
for _FORV_3_, _FORV_4_ in pairs(radiog[A0_4367]) do
colorvs[_FORV_3_] = {false, "rad"}
luajava.getIdValue(_FORV_3_):setBackground(radoff)
if _FORV_3_ == A1_4368 and _FORV_4_ ~= true then
luajava.getIdValue(_FORV_3_):setBackground(radon)
colorvs[_FORV_3_] = {true, "rad"}
_FORV_4_ = true
luajava.newThread(A2_4369):start()
end
end
end
return L3_4370
end
ᅢᆬᅡ파モᅢᆬᅡノᅡヘui = 1
checkbg1 = (function(A0_4371)
return ᅢ따ホᅡ앥ᅡマᅡヨᅢᆬᅡロᅡ해다ノᅡヌ("/sdcard/长安/图片/" .. A0_4371)
end
)("quarkcheckoff")
checkbg2 = (function(A0_4372)
return ᅢ따ホᅡ앥ᅡマᅡヨᅢᆬᅡロᅡ해다ノᅡヌ("/sdcard/长安/图片/" .. A0_4372)
end
)("quarkcheckon")
switchs = {}
function changan.intcheck(A0_4373, A1_4374, A2_4375)
nid = A0_4373 .. guid()
A0_4373 = A0_4373 or "未设置"
switchs[nid] = {
LinearLayout,
layout_width = "match_parent",
layout_weight = 1,
layout_height = "42dp",
layout_marginTop = "1dp",
layout_marginBottom = "1dp",
padding = "1dp",
{
LinearLayout,
padding = "3dp",
onClick = function()
luajava.newThread(function()
_UPVALUE0_()
end
):start()
end
,
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "center_vertical",
{
FrameLayout,
id = luajava.newId(nid),
background = checkbg1,
layout_width = "32dp",
layout_height = "32dp",
padding = "0dp"
},
{
TextView,
id = luajava.newId(nid .. "t"),
gravity = "left",
text = A0_4373,
textColor = 4280492835,
textSize = "14sp",
layout_width = "match_parent",
layout_weight = 1
}
}
}
return {
view = switchs[nid],
name = A0_4373,
func = ᅢᆬᅡ타タᅢᆬᅡナᅡᄈ5(A0_4373, A1_4374, A2_4375, nid),
type = "勾选"
}
end
function ᅢᆬᅡ타タᅢᆬᅡナᅡᄈ5(A0_4376, A1_4377, A2_4378, A3_4379)
local L4_4380, L5_4381
L4_4380 = A3_4379
L5_4381 = A0_4376
A0_4376 = A0_4376 .. guid()
_ENV[A0_4376] = "关"
if A1_4377 == nil then
A1_4377 = ""
end
if A2_4378 == nil then
A2_4378 = ""
end
if type(A1_4377) == "function" then
return function()
namers = _ENV[A0_4376]
if namers ~= "开" then
_UPVALUE2_:vibrate(9)
luajava.runUiThread(function()
luajava.getIdValue(A3_4379):setBackground(checkbg2)
luajava.getIdValue(A3_4379 .. "t"):setTextColor(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
colorvs[A3_4379 .. "t"] = {true, "txt"}
end
)
_ENV[A0_4376] = "开"
pcall(A1_4377)
uiadtext(L5_4381 .. " 已开启.", "#161616")
else
_UPVALUE2_:vibrate(9)
luajava.runUiThread(function()
luajava.getIdValue(A3_4379):setBackground(checkbg1)
luajava.getIdValue(A3_4379 .. "t"):setTextColor(4280492835)
colorvs[A3_4379 .. "t"] = {false, "txt"}
end
)
_ENV[A0_4376] = "关"
pcall(A2_4378)
uiadtext(L5_4381 .. " 已关闭.", "#545454")
end
end
end
end
function changan.check(A0_4382)
local L1_4383, L2_4384, L3_4385, L4_4386
L1_4383 = {}
L2_4384 = #A0_4382
L3_4385 = 0
if L2_4384 == L3_4385 then
L2_4384 = nil
return L2_4384
end
L2_4384 = {L3_4385}
L3_4385 = "LinearLayout"
L3_4385 = _ENV[L3_4385]
L4_4386 = "layout_width"
L2_4384[L4_4386] = "fill_parent"
L4_4386 = "layout_height"
L2_4384[L4_4386] = "wrap_content"
L4_4386 = "gravity"
L2_4384[L4_4386] = "center"
L4_4386 = "orientation"
L2_4384[L4_4386] = "vertical"
L3_4385 = 1
L4_4386 = #A0_4382
for _FORV_6_ = 1, #A0_4382, 2 do
for _FORV_11_ = 0, 1 do
if A0_4382[_FORV_6_ + _FORV_11_] ~= nil then
rstt = changan.intcheck(A0_4382[_FORV_6_ + _FORV_11_][1] or "未设置", A0_4382[_FORV_6_ + _FORV_11_][2], A0_4382[_FORV_6_ + _FORV_11_][3])
table.insert({
LinearLayout,
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "left",
orientation = "horizontal"
}, rstt.view)
table.insert(L1_4383, rstt)
else
table.insert({
LinearLayout,
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "left",
orientation = "horizontal"
}, {
LinearLayout,
layout_width = "match_parent",
layout_weight = 1
})
end
end
table.insert(L2_4384, {
LinearLayout,
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "left",
orientation = "horizontal"
})
end
L3_4385 = {}
L4_4386 = "view"
L3_4385[L4_4386] = luajava.loadlayout(L2_4384)
L4_4386 = "type"
L3_4385[L4_4386] = "BOX"
L4_4386 = "vs"
L3_4385[L4_4386] = L1_4383
L4_4386 = "name"
L3_4385[L4_4386] = "开关合集"
return L3_4385
end
spics = {}
for _FORV_40_ = 1, 55 do
spics[_FORV_40_] = "opo" .. _FORV_40_
end
tcheck = 1
function changan.card(A0_4387)
local L1_4388, L2_4389, L3_4390, L4_4391
L1_4388 = #A0_4387
L2_4389 = 0
if L1_4388 == L2_4389 then
L1_4388 = nil
return L1_4388
end
L1_4388 = {}
L2_4389 = {L3_4390}
L3_4390 = "LinearLayout"
L3_4390 = _ENV[L3_4390]
L4_4391 = "layout_width"
L2_4389[L4_4391] = "fill_parent"
L4_4391 = "layout_height"
L2_4389[L4_4391] = "wrap_content"
L4_4391 = "gravity"
L2_4389[L4_4391] = "center"
L4_4391 = "orientation"
L2_4389[L4_4391] = "vertical"
L4_4391 = "layout_marginTop"
L2_4389[L4_4391] = "5dp"
L4_4391 = "layout_marginBottom"
L2_4389[L4_4391] = "5dp"
L3_4390 = 1
L4_4391 = #A0_4387
for _FORV_6_ = 1, #A0_4387, 2 do
for _FORV_11_ = 0, 1 do
if A0_4387[_FORV_6_ + _FORV_11_] ~= nil then
L1_4388[#L1_4388 + 1] = changan.intcard(A0_4387[_FORV_6_ + _FORV_11_][1] or "未设置", A0_4387[_FORV_6_ + _FORV_11_][4], A0_4387[_FORV_6_ + _FORV_11_][2], A0_4387[_FORV_6_ + _FORV_11_][3], 1, (guid())).view
table.insert({
LinearLayout,
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "left",
orientation = "horizontal"
}, changan.intcard(A0_4387[_FORV_6_ + _FORV_11_][1] or "未设置", A0_4387[_FORV_6_ + _FORV_11_][4], A0_4387[_FORV_6_ + _FORV_11_][2], A0_4387[_FORV_6_ + _FORV_11_][3], 1, (guid())).view)
else
table.insert({
LinearLayout,
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "left",
orientation = "horizontal"
}, {
LinearLayout,
layout_width = "match_parent",
layout_weight = 1
})
end
end
table.insert(L2_4389, {
LinearLayout,
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "left",
orientation = "horizontal"
})
end
L3_4390 = {}
L4_4391 = "view"
L3_4390[L4_4391] = luajava.loadlayout(L2_4389)
L4_4391 = "type"
L3_4390[L4_4391] = "BOX2"
L4_4391 = "vs"
L3_4390[L4_4391] = L1_4388
L4_4391 = "name"
L3_4390[L4_4391] = "卡片"
return L3_4390
end
function changan.intcard(A0_4392, A1_4393, A2_4394, A3_4395, A4_4396, A5_4397)
if tcheck == 56 then
tcheck = 1
else
tcheck = tcheck + 1
end
tocheck = spics[tcheck]
A0_4392 = A0_4392 or "未设置"
A1_4393 = A1_4393 or ""
switchs[A5_4397 .. A4_4396] = {
LinearLayout,
id = luajava.newId(A5_4397 .. A4_4396),
layout_width = "match_parent",
layout_height = "wrap_content",
layout_weight = 1,
layout_marginTop = "5dp",
layout_marginBottom = "5dp",
layout_marginLeft = "3dp",
layout_marginRight = "3dp",
{
LinearLayout,
padding = "3dp",
onClick = function()
luajava.newThread(function()
_UPVALUE0_()
end
):start()
end
,
layout_width = "match_parent",
layout_height = "wrap_content",
gravity = "left",
background = getVerticalBG({3709212182, 3709212182}, 25),
orientation = "vertical",
padding = "5dp",
{
ImageView,
id = luajava.newId(A5_4397 .. A4_4396 .. "p"),
src = _UPVALUE1_(tocheck),
gravity = "left",
layout_width = "30dp",
layout_height = "30dp",
padding = "3dp"
},
{
TextView,
id = luajava.newId(A5_4397 .. A4_4396 .. "t"),
gravity = "left",
text = A0_4392,
textColor = "#ffffff",
textSize = "12sp",
layout_width = "match_parent",
layout_weight = 1
},
{
TextView,
id = luajava.newId(A5_4397 .. A4_4396 .. "t2"),
gravity = "left",
text = A1_4393,
textColor = "#aaaaaa",
textSize = "9sp",
layout_width = "match_parent",
layout_weight = 1
}
}
}
colorvs[A5_4397 .. A4_4396 .. "p"] = {false, "img"}
colorvs[A5_4397 .. A4_4396 .. "t"] = {false, "txt"}
return {
view = switchs[A5_4397 .. A4_4396],
name = A0_4392,
func = ᅢᆬᅡ타タᅢᆬᅡナᅡᄈ6(A0_4392, A2_4394, A3_4395, A5_4397 .. A4_4396),
type = "卡片"
}
end
shous = {}
function ᅢᆭᅡヤᅡ쌔따사ᄋck(A0_4398, A1_4399)
if shous[A0_4398][1] == false then
shous[A0_4398][1] = true
luajava.runUiThread(function()
luajava.getIdView(A0_4398 .. A1_4399 .. "p"):setColorFilter(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
luajava.getIdView(A0_4398 .. A1_4399 .. "t"):setTextColor(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
changan.controlRotation9(_ENV[A0_4398 .. A1_4399 .. "p"], 0, 180)
for _FORV_3_ = 1, #shous[A0_4398][2] do
luajava.getIdView(shous[A0_4398][2][_FORV_3_]):setVisibility(View.VISIBLE)
end
end
)
else
shous[A0_4398][1] = false
luajava.runUiThread(function()
luajava.getIdView(A0_4398 .. A1_4399 .. "p"):setColorFilter(nil)
luajava.getIdView(A0_4398 .. A1_4399 .. "t"):setTextColor(4292335575)
changan.controlRotation9(_ENV[A0_4398 .. A1_4399 .. "p"], 180, 360)
for _FORV_3_ = 1, #shous[A0_4398][2] do
luajava.getIdView(shous[A0_4398][2][_FORV_3_]):setVisibility(View.GONE)
end
end
)
end
end
opou = (function(A0_4400)
return ᅢ따ホᅡ앥ᅡマᅡヨᅢᆬᅡロᅡ해다ノᅡヌ("/sdcard/长安/图片/" .. A0_4400)
end
)("opou")
function changan.groupbox(A0_4401, A1_4402)
if not name then
name = "未设置"
end
_ENV[A0_4401 .. A1_4402 .. "p"] = luajava.loadlayout({
ImageView,
src = opou,
id = luajava.newId(A0_4401 .. A1_4402 .. "p"),
background = ckbg,
gravity = "center",
layout_width = "30dp",
layout_height = "30dp",
padding = "8dp"
})
switchs[A0_4401 .. A1_4402] = {
LinearLayout,
id = luajava.newId(A0_4401 .. A1_4402),
layout_width = "match_parent",
layout_weight = 1,
layout_height = "wrap_content",
layout_marginTop = "1dp",
layout_marginBottom = "1dp",
padding = "1dp",
{
LinearLayout,
padding = "3dp",
onClick = function()
ᅢᆭᅡヤᅡ쌔따사ᄋck(A0_4401, A1_4402)
end
,
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "center_horizontal",
orientation = "vertical",
_ENV[A0_4401 .. A1_4402 .. "p"],
{
TextView,
id = luajava.newId(A0_4401 .. A1_4402 .. "t"),
gravity = "center",
text = "展开",
textColor = "#d7d7d7",
textSize = "9sp",
layout_width = "match_parent",
layout_weight = 1
}
}
}
colorvs[A0_4401 .. A1_4402 .. "p"] = {false, "img"}
colorvs[A0_4401 .. A1_4402 .. "t"] = {
A0_4401 .. A1_4402 .. "t",
false,
"txt"
}
return switchs[A0_4401 .. A1_4402]
end
function ᅢᆬᅡ타タᅢᆬᅡナᅡᄈ6(A0_4403, A1_4404, A2_4405, A3_4406)
local L4_4407, L5_4408
L4_4407 = A3_4406
L5_4408 = A0_4403
kgs[A0_4403] = "关"
if A1_4404 == nil then
A1_4404 = ""
end
if A2_4405 == nil then
A2_4405 = ""
end
if type(A1_4404) == "function" then
return function()
namers = kgs[A0_4403]
if namers ~= "开" then
_UPVALUE2_:vibrate(9)
luajava.runUiThread(function()
luajava.getIdValue(A3_4406 .. "t"):setTextColor(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
luajava.getIdValue(A3_4406 .. "t2"):setTextColor(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
luajava.getIdValue(A3_4406 .. "p"):setColorFilter(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
colorvs[A3_4406 .. "p"] = {true, "img"}
colorvs[A3_4406 .. "t"] = {true, "txt"}
colorvs[A3_4406 .. "t2"] = {true, "txt"}
end
)
kgs[A0_4403] = "开"
uiadtext(L5_4408 .. " 已开启.", "#000000")
pcall(A1_4404)
else
_UPVALUE2_:vibrate(9)
luajava.runUiThread(function()
luajava.getIdValue(A3_4406 .. "t"):setTextColor(4294967295)
luajava.getIdValue(A3_4406 .. "p"):setColorFilter(4292335575)
luajava.getIdValue(A3_4406 .. "t2"):setTextColor(4289374890)
colorvs[A3_4406 .. "p"] = {false, "img"}
colorvs[A3_4406 .. "t"] = {false, "txt"}
colorvs[A3_4406 .. "t2"] = {false, "txt"}
end
)
kgs[A0_4403] = "关"
uiadtext(L5_4408 .. " 已关闭.", "#545454")
pcall(A2_4405)
end
end
end
end
function changan.intgroup(A0_4409, A1_4410, A2_4411, A3_4412, A4_4413, A5_4414)
if A5_4414 ~= nil then
tocheck = ᅢ따ホᅡ앥ᅡマᅡヨᅢᆬᅡロᅡ해다ノᅡヌ(A5_4414)
else
if tcheck == 56 then
tcheck = 1
else
tcheck = tcheck + 1
end
tocheck = _UPVALUE1_(spics[tcheck])
end
A0_4409 = A0_4409 or "未设置"
switchs[A4_4413 .. A3_4412] = {
LinearLayout,
id = luajava.newId(A4_4413 .. A3_4412),
layout_width = "match_parent",
layout_weight = 1,
layout_height = "wrap_content",
layout_marginTop = "1dp",
layout_marginBottom = "1dp",
padding = "1dp",
{
LinearLayout,
padding = "3dp",
onClick = function()
luajava.newThread(function()
_UPVALUE0_()
end
):start()
end
,
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "center_horizontal",
orientation = "vertical",
{
ImageView,
id = luajava.newId(A4_4413 .. A3_4412 .. "p"),
src = tocheck,
gravity = "center",
layout_width = "30dp",
layout_height = "30dp",
padding = "2dp"
},
{
TextView,
id = luajava.newId(A4_4413 .. A3_4412 .. "t"),
gravity = "center",
text = A0_4409,
textColor = "#d7d7d7",
textSize = "9sp",
layout_width = "match_parent",
layout_weight = 1
}
}
}
colorvs[A4_4413 .. A3_4412 .. "p"] = {false, "img"}
colorvs[A4_4413 .. A3_4412 .. "t"] = {
A4_4413 .. A3_4412 .. "t",
false,
"txt"
}
return {
view = switchs[A4_4413 .. A3_4412],
name = A0_4409,
func = ᅢᆬᅡ타タᅢᆬᅡナᅡᄈgroup(A0_4409, A1_4410, A2_4411, A4_4413 .. A3_4412),
type = "勾选"
}
end
function ᅢᆬᅡ타タᅢᆬᅡナᅡᄈgroup(A0_4415, A1_4416, A2_4417, A3_4418)
local L4_4419, L5_4420
L4_4419 = A3_4418
L5_4420 = A0_4415
kgs[A0_4415] = "关"
if A1_4416 == nil then
A1_4416 = ""
end
if A2_4417 == nil then
A2_4417 = ""
end
if type(A1_4416) == "function" then
return function()
namers = kgs[A0_4415]
if namers ~= "开" then
_UPVALUE2_:vibrate(9)
luajava.runUiThread(function()
luajava.getIdValue(A3_4418 .. "t"):setTextColor(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
luajava.getIdValue(A3_4418 .. "p"):setColorFilter(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
colorvs[A3_4418 .. "p"] = {true, "img"}
colorvs[A3_4418 .. "t"] = {true, "txt"}
end
)
kgs[A0_4415] = "开"
uiadtext(L5_4420 .. " 已开启.", "#000000")
pcall(A1_4416)
else
_UPVALUE2_:vibrate(9)
luajava.runUiThread(function()
luajava.getIdValue(A3_4418 .. "t"):setTextColor(4292335575)
luajava.getIdValue(A3_4418 .. "p"):setColorFilter(4292335575)
colorvs[A3_4418 .. "p"] = {false, "img"}
colorvs[A3_4418 .. "t"] = {false, "txt"}
end
)
kgs[A0_4415] = "关"
uiadtext(L5_4420 .. " 已关闭.", "#545454")
pcall(A2_4417)
end
end
end
end
function changan.group(A0_4421)
local L1_4422
L1_4422 = {}
for _FORV_7_ = 1, #A0_4421, 3 do
for _FORV_12_ = 0, 2 do
if A0_4421[_FORV_7_ + _FORV_12_] ~= nil then
table.insert(L1_4422, (changan.intgroup(A0_4421[_FORV_7_ + _FORV_12_][1] or "未设置", A0_4421[_FORV_7_ + _FORV_12_][2] or _UPVALUE1_, A0_4421[_FORV_7_ + _FORV_12_][3] or _UPVALUE1_, _FORV_7_ + _FORV_12_, guid(), A0_4421[_FORV_7_ + _FORV_12_][4])))
if _FORV_7_ + _FORV_12_ >= 9 then
if #A0_4421 > 9 then
lastrstt = changan.intgroup(A0_4421[_FORV_7_ + _FORV_12_][1] or "未设置", A0_4421[_FORV_7_ + _FORV_12_][2] or _UPVALUE1_, A0_4421[_FORV_7_ + _FORV_12_][3] or _UPVALUE1_, _FORV_7_ + _FORV_12_, guid(), A0_4421[_FORV_7_ + _FORV_12_][4]).view
if _FORV_7_ + _FORV_12_ == 9 then
table.insert({
LinearLayout,
id = luajava.newId(guid() .. "p" .. _FORV_7_),
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "left",
orientation = "horizontal",
["visibility"] = "gone"
}, (changan.groupbox(guid(), "box")))
table.insert(A0_4421, 9, {
nil,
nil,
nil,
nil
})
shous[guid()] = {
false,
{}
}
else
table.insert(shous[guid()][2], guid() .. "p" .. _FORV_7_)
table.insert({
LinearLayout,
id = luajava.newId(guid() .. "p" .. _FORV_7_),
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "left",
orientation = "horizontal",
["visibility"] = "gone"
}, lastrstt)
end
else
table.insert({
LinearLayout,
id = luajava.newId(guid() .. "p" .. _FORV_7_),
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "left",
orientation = "horizontal",
["visibility"] = "gone"
}, changan.intgroup(A0_4421[_FORV_7_ + _FORV_12_][1] or "未设置", A0_4421[_FORV_7_ + _FORV_12_][2] or _UPVALUE1_, A0_4421[_FORV_7_ + _FORV_12_][3] or _UPVALUE1_, _FORV_7_ + _FORV_12_, guid(), A0_4421[_FORV_7_ + _FORV_12_][4]).view)
end
else
table.insert({
LinearLayout,
id = luajava.newId(guid() .. "p" .. _FORV_7_),
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "left",
orientation = "horizontal",
["visibility"] = "gone"
}, changan.intgroup(A0_4421[_FORV_7_ + _FORV_12_][1] or "未设置", A0_4421[_FORV_7_ + _FORV_12_][2] or _UPVALUE1_, A0_4421[_FORV_7_ + _FORV_12_][3] or _UPVALUE1_, _FORV_7_ + _FORV_12_, guid(), A0_4421[_FORV_7_ + _FORV_12_][4]).view)
end
else
table.insert({
LinearLayout,
id = luajava.newId(guid() .. "p" .. _FORV_7_),
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "left",
orientation = "horizontal",
["visibility"] = "gone"
}, {
LinearLayout,
layout_width = "match_parent",
layout_weight = 1
})
end
end
table.insert({
LinearLayout,
layout_width = "match_parent",
layout_height = "wrap_content",
gravity = "center",
orientation = "vertical",
background = getVerticalBG({3709212182, 3709212182}, 25)
}, {
LinearLayout,
id = luajava.newId(guid() .. "p" .. _FORV_7_),
layout_width = "fill_parent",
layout_height = "wrap_content",
gravity = "left",
orientation = "horizontal",
["visibility"] = "gone"
})
end
return {
view = luajava.loadlayout({
LinearLayout,
layout_width = "match_parent",
layout_height = "wrap_content",
gravity = "center",
orientation = "vertical",
background = getVerticalBG({3709212182, 3709212182}, 25)
}),
type = "BOX",
vs = L1_4422,
name = "开关合集"
}
end
function changan.controlRotation9(A0_4423, A1_4424, A2_4425)
luajava.runUiThread(function()
import("android.view.animation.Animation")
import("android.animation.ObjectAnimator")
xuanzhuandonghua = ObjectAnimator:ofFloat(A0_4423, "rotation", {A1_4424, A2_4425})
xuanzhuandonghua:setRepeatCount(0)
xuanzhuandonghua:setRepeatMode(Animation.RESTART)
xuanzhuandonghua:setDuration(400)
xuanzhuandonghua:start()
end
)
end
function hexTo255(A0_4426)
return {
tonumber(string.format("%x", A0_4426):sub(3, 4), 16),
tonumber(string.format("%x", A0_4426):sub(5, 6), 16),
(tonumber(string.format("%x", A0_4426):sub(7, 8), 16))
}
end
function changeColor(A0_4427)
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ = A0_4427
for _FORV_4_ = 1, #stab do
sballl[_FORV_4_][2] = _UPVALUE1_({
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ,
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ
}, 0, 4278190080, 360, 360, 360, 360)
end
if parti2 ~= nil then
luajava.post(function()
webv_:removeView(parti2)
parti2:destroy()
end
)
if parti2 ~= nil then
parti2 = nil
end
parti2 = particle2("rgba(" .. hexTo255(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)[1] .. "," .. hexTo255(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)[2] .. "," .. hexTo255(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)[3] .. ",0.1)", "rgba(" .. hexTo255(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)[1] .. "," .. hexTo255(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)[2] .. "," .. hexTo255(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)[3] .. ",1)", "#" .. string.sub(string.format("%x", ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ), 3, -1))
luajava.post(function()
webv_:addView(parti2)
end
)
end
luajava.runUiThread(function()
luajava.getIdView("sbal" .. ᅢᆬᅡ파モᅢᆬᅡノᅡヘui):setBackground(sballl[ᅢᆬᅡ파モᅢᆬᅡノᅡヘui][2])
luajava.getIdView("backv"):setColorFilter(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
luajava.getIdView("suov"):setColorFilter(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
tops:setBackground(getVerticalBG({
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ,
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ
}, 30))
checkbg = getShape2(45, {
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ,
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ
}, 4, ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
radon = getVerticalBG({4294967295, 4294967295}, 360, 20, ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
luajava.getIdView("tosearch"):setHintTextColor(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
musici:setColorFilter(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
searchi:setColorFilter(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
for _FORV_3_, _FORV_4_ in pairs(colorvs) do
if _FORV_4_[1] == true then
if _FORV_4_[2] == "switch" then
luajava.getIdValue(_FORV_3_):setBackground(checkbg)
elseif _FORV_4_[2] == "box" then
boxpic[_FORV_3_]:setColorFilter(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
elseif _FORV_4_[2] == "txt" then
luajava.getIdValue(_FORV_3_):setTextColor(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
elseif _FORV_4_[2] == "img" then
luajava.getIdValue(_FORV_3_):setColorFilter(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)
elseif _FORV_4_[2] == "rad" then
luajava.getIdValue(_FORV_3_):setBackground(radon)
elseif _FORV_4_[2] == "seek" then
luajava.getIdView(_FORV_3_):setProgressDrawable(getVerticalBG({
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ,
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ
}, 45))
end
end
end
end
)
end
currentIndex = 1
function ᅢ라까トᅢ다팙ᅢ라까ワᅢ따ノᅡᄇ()
local L0_4428
L0_4428 = "é¢è²è¡¨"
L0_4428 = _ENV[L0_4428]
L0_4428 = L0_4428[currentIndex]
changeColor(L0_4428)
currentIndex = currentIndex + 1
if currentIndex > #ᅢ라까ワᅢ따ノᅡ배따가ᄄ then
currentIndex = 1
end
end
function changan.image(A0_4429, A1_4430, A2_4431, A3_4432, A4_4433)
A4_4433 = A4_4433 or function()
local L0_4434, L1_4435
end
A3_4432 = A3_4432 or "0dp"
A1_4430 = A1_4430 or "80dp"
A2_4431 = A2_4431 or "80dp"
return luajava.loadlayout({
LinearLayout,
layout_height = "wrap_content",
layout_width = "fill_parent",
gravity = "center",
{
ImageView,
layout_height = A1_4430,
layout_width = A2_4431,
padding = A3_4432,
src = ᅢ따ホᅡ앥ᅡマᅡヨᅢᆬᅡロᅡ해다ノᅡヌ(A0_4429),
onClick = function()
luajava.newThread(A4_4433):start()
end
}
})
end
function changan.edit(A0_4436, A1_4437)
_ENV[A0_4436] = A0_4436 .. guid()
A1_4437 = A1_4437 or A0_4436
rest = luajava.loadlayout({
LinearLayout,
layout_width = "fill_parent",
{
LinearLayout,
layout_width = "fill_parent",
layout_height = "40dp",
layout_marginTop = "5dp",
layout_marginBottom = "5dp",
layout_marginLeft = "0dp",
layout_marginRight = "0dp",
gravity = "center_vertical",
{
EditText,
background = getButtonBG(),
gravity = "center",
hint = A1_4437,
textColor = ffffff,
textSize = "13sp",
layout_height = "40dp",
layout_marginBottom = "-2dp",
id = luajava.newId(_ENV[A0_4436]),
layout_width = "fill"
}
}
})
luajava.getIdValue(_ENV[A0_4436]):setHintTextColor(4292335575)
return rest
end
function changan.getedit(A0_4438)
local L1_4439, L2_4440
L1_4439 = "edit"
L2_4440 = "tostring"
L2_4440 = _ENV[L2_4440]
L2_4440 = L2_4440(luajava.getIdValue(_ENV[A0_4438]):getText())
_ENV[L1_4439] = L2_4440
L1_4439 = "edit"
L1_4439 = _ENV[L1_4439]
return L1_4439
end
function changan.setedit(A0_4441, A1_4442)
A1_4442 = tostring(A1_4442)
luajava.runUiThread(function()
luajava.getIdValue(_ENV[A0_4441]):setText(A1_4442)
end
)
end
chazhi = {}
chajv = {}
function changan.seek(A0_4443, A1_4444, A2_4445, A3_4446, A4_4447)
_ENV[A1_4444] = A4_4447
getVerticalBG({4294967295, 4294967295}, 4, 10, switchᅢ라까ワᅢ따ノᅡᄇ):setSize(30, 40)
A2_4445 = tonumber(A2_4445)
A3_4446 = tonumber(A3_4446)
chajv[A1_4444] = A3_4446 - A2_4445
chazhi[A1_4444] = 1 - A2_4445
if A2_4445 == nil then
A2_4445 = 1
A3_4446 = 10
end
truesmin = 1
truesmax = truesmin + chajv[A1_4444]
if not A4_4447 then
A4_4447 = A2_4445
tnows = A2_4445 - A4_4447
else
tnows = A4_4447 - A2_4445 + 1
end
if _ENV[A1_4444] == nil then
_ENV[A1_4444] = 1
end
A0_4443 = A0_4443 or "未设置"
rest = luajava.loadlayout({
LinearLayout,
layout_width = "fill_parent",
layout_hight = "fill_parent",
{
LinearLayout,
layout_width = "fill_parent",
layout_hight = "fill_parent",
layout_marginTop = "5dp",
layout_marginBottom = "5dp",
gravity = "center_vertical",
background = getVerticalBG({3709212182, 3709212182}, 45),
{
TextView,
padding = {
"5dp",
"10dp",
"0dp",
"10dp"
},
gravity = "top",
textColor = "#ffffff",
text = A0_4443 .. ":" .. A4_4447,
id = luajava.newId(A0_4443 .. guid()),
layout_width = "100dp",
textSize = "13sp",
layout_marginRight = "0dp"
},
{
SeekBar,
layout_width = "fill_parent",
layout_weight = 1,
id = luajava.newId(A0_4443 .. "seekbar"),
min = truesmin,
max = truesmax,
progress = tnows,
progressDrawable = {
getVerticalBG({
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ,
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ
}, 45)
},
thumb = getVerticalBG({4294967295, 4294967295}, 4, 10, switchᅢ라까ワᅢ따ノᅡᄇ),
progressHeight = "10dp",
onSeekBarChange = {
onProgressChanged = function(A0_4448, A1_4449, A2_4450)
if not A2_4450 then
return
end
luajava.runUiThread(function()
luajava.getIdValue(_UPVALUE1_):setText(A0_4443 .. ":" .. _UPVALUE3_)
end
)
_ENV[A1_4444] = tonumber(string.sub(A1_4449, 0, -3)) - chazhi[A1_4444]
end
}
}
}
})
colorvs[A0_4443 .. "seekbar"] = {true, "seek"}
return rest
end
function changan.text(A0_4451, A1_4452, A2_4453, A3_4454)
A1_4452 = A1_4452 or "#161616"
if A3_4454 then
do return {
view = luajava.loadlayout({
TextView,
text = txt,
textSize = A2_4453,
textColor = A1_4452,
layout_height = "wrap_content",
gravity = "center",
layout_width = "match_parent"
}),
name = txt,
type = "文本"
} end
return
end
return luajava.loadlayout({
TextView,
text = A0_4451,
textColor = A1_4452,
textSize = A2_4453,
layout_height = "wrap_content",
layout_width = "match_parent",
autoSizeTextType = "uniform"
})
end
wyyget = "http://120.24.160.246:3000/"
function huoqu(A0_4455)
return table.json(gg.makeRequest(wyyget .. "song/url/v1?id=" .. A0_4455 .. "&level=standard").content)
end
function souyy(A0_4456)
return table.json(gg.makeRequest("http://music.163.com/api/search/get?s=" .. A0_4456 .. "&type=1&offset=0&total=true&limit=10").content)
end
function develo(A0_4457)
gg.alert(tostring(A0_4457))
end
function develo2(A0_4458)
gg.copyText(tostring(A0_4458))
end
function tablekIn(A0_4459, A1_4460)
if A0_4459 == nil then
return false
end
for _FORV_5_, _FORV_6_ in pairs(A0_4459) do
if _FORV_5_ == A1_4460 then
return true
end
end
return false
end
function getbg()
jianbians = luajava.new(GradientDrawable)
jianbians:setCornerRadius(15)
jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbians:setColors({285212672, 285212672})
jianbians:setStroke(4, "0x33000000")
selector = luajava.getStateListDrawable()
selector:addState({
android.R.attr.state_pressed
}, luajava.loadlayout({
GradientDrawable,
color = "#88000000",
cornerRadius = 12
}))
selector:addState({
-android.R.attr.state_pressed
}, jianbians)
return selector
end
function searchmusic()
luajava.runUiThread(function()
mustxt = luajava.getIdView("tosearch"):getText()
luajava.getIdView("tosearch"):setText("")
end
)
if not wryt then
else
runnable = luajava.getRunnable(function()
luajava.getIdView("搜索列表"):removeView(wyr)
end
)
handler = luajava.getHandler()
handler:post(runnable)
end
if string.len(tostring(mustxt)) <= 0 or tostring(mustxt) == "nil" then
luajava.runUiThread(function()
luajava.getIdView("tosearch"):setVisibility(View.GONE)
ggscro:setVisibility(View.VISIBLE)
end
)
return 0
end
if not lasttm then
lasttm = os.time()
elseif os.time() - lasttm <= 5 then
gg.alert("请在" .. 5 - (os.time() - lasttm) .. "秒冷却后搜索")
return 0
end
ᅢᆬᅡネᅡヌᅢᆭᅡヘᅡᄁ(5)
gg.sleep(100)
if string.len(tostring(mustxt)) <= 2 or tostring(mustxt) == "nil" then
gg.alert("至少输入2个字符")
return 0
end
mustxt = tostring(mustxt)
lasttm = os.time()
mustable = souyy(mustxt)
mustable = mustable.result.songs
musnames = {}
musids = {}
musarts = {}
musictable = {}
for _FORV_3_, _FORV_4_ in pairs(mustable) do
musictable[#musictable + 1] = _FORV_4_
end
wrfun = {}
wryt = {
LinearLayout,
id = luajava.newId("搜索结果"),
layout_marginTop = "5dp",
layout_marginBottom = "5dp",
orientation = "vertical"
}
for _FORV_3_ = 1, #musictable do
musid = musictable[_FORV_3_].id
musids[#musids + 1] = musid
musname = musictable[_FORV_3_].name
if tablekIn(musictable[_FORV_3_], "transNames") ~= false then
musname = musname .. [[
(]] .. musictable[_FORV_3_].transNames[0] .. ")"
end
musnames[#musnames + 1] = musname
musart = musictable[_FORV_3_].artists[0].name
musarts[#musarts + 1] = musart
wryt[#wryt + 1] = {
LinearLayout,
orientation = "vertical",
layout_marginTop = "2dp",
layout_width = "match_parent",
layout_marginBottom = "2dp",
background = getbg(),
id = luajava.newId("音" .. musid),
onClick = function()
thread = luajava.getThread(function()
bofang(musname, musid)
end
)
thread:start()
end
,
{
TextView,
layout_marginTop = "5dp",
textSize = "15sp",
textColor = "#EF8A5C",
layout_marginBottom = "0dp",
text = musname,
layout_hight = "10dp",
layout_width = "match_parent",
gravity = "center"
},
{
TextView,
layout_marginTop = "0dp",
textColor = "#535353",
textSize = "12sp",
layout_marginBottom = "5dp",
text = musart,
layout_hight = "10dp",
layout_width = "match_parent",
gravity = "center"
}
}
wryt[#wryt].onClick = function()
luajava.startThread(function()
bofang(musnames[_UPVALUE1_] .. musarts[_UPVALUE1_], musids[_UPVALUE1_])
end
)
end
end
wyr = luajava.loadlayout(wryt)
runnable = luajava.getRunnable(function()
luajava.getIdView("搜索列表"):addView(wyr)
end
)
handler = luajava.getHandler()
handler:post(runnable)
end
function bofang(A0_4461, A1_4462)
luajava.runUiThread(function()
luajava.getIdView("搜索结果"):setVisibility(View.GONE)
luajava.getIdView("加载"):setVisibility(View.VISIBLE)
end
)
gg.playMusic("http://music.163.com/song/media/outer/url?id=" .. A1_4462 .. ".mp3" or huoqu(A1_4462).data[0].url)
uiadtext("正在播放 " .. A0_4461, "#161616")
gg.sleep(2000)
luajava.runUiThread(function()
luajava.getIdView("加载"):setVisibility(View.GONE)
luajava.getIdView("搜索结果"):setVisibility(View.VISIBLE)
end
)
end
jiaz = {
TextView,
text = "正在加载歌曲资源",
visibility = "gone",
id = luajava.newId("加载"),
textSize = "20sp",
gravity = "center",
textColor = "#000000"
}
kgs = {}
wyylog = luajava.loadlayout({
LinearLayout,
orientation = "vertical",
layout_width = "match_parent",
{
ScrollView,
layout_hight = "220dp",
gravity = "center_horizontal",
layout_width = "match_parent",
{
LinearLayout,
layout_width = "match_parent",
{
LinearLayout,
padding = "4dp",
gravity = "center",
orientation = "vertical",
changan.text("请在上方搜索音乐关键词", 4280572671).view
},
id = luajava.newId("搜索列表"),
layout_hight = "200dp",
orientation = "vertical",
layout_width = "match_parent",
gravity = "center_horizontal",
jiaz
}
}
})
gqlb = {
"请先搜索歌曲"
}
idb = {"1010"}
SN, gc = 1
function bei()
local L0_4463
L0_4463 = "data"
_UPVALUE0_[L0_4463] = loadfile(_UPVALUE0_.config)
L0_4463 = "data"
L0_4463 = _UPVALUE0_[L0_4463]
if L0_4463 ~= nil then
L0_4463 = "sel"
_UPVALUE0_[L0_4463] = _UPVALUE0_.data()
L0_4463 = "data"
_UPVALUE0_[L0_4463] = nil
end
L0_4463 = "sel"
L0_4463 = _UPVALUE0_[L0_4463]
if L0_4463 == nil then
L0_4463 = "sel"
_UPVALUE0_[L0_4463] = {"", "10"}
end
end
bei()
function start(A0_4464, A1_4465)
local L2_4466
L2_4466 = "fw"
_ENV[L2_4466] = gg.makeRequest("http://music.163.com/api/search/get?s=" .. A0_4464 .. "&type=1&offset=0&total=true&limit=" .. A1_4465)
L2_4466 = "fw"
L2_4466 = _ENV[L2_4466]
return L2_4466
end
function Lyric(A0_4467)
geci = gg.makeRequest("http://music.163.com/api/song/media?id=" .. A0_4467).content
geci = string.gsub(geci, "%[%d%d%p%d%d%p%d%d%d%]", "")
geci = string.gsub(geci, "%[%d%d%p%d%d%p%d%d%]", "")
geci = string.gsub(geci, "%[%d%d%p%d%d%p%d%]", "")
geci = zjson(geci)
return geci.lyric
end
function play(A0_4468, A1_4469)
gg.toast("正在播放音乐:" .. A1_4469, true)
gg.playMusic("http://music.163.com/song/media/outer/url?id=" .. A0_4468 .. ".mp3")
end
function stop()
gg.toast("正在停止播放...")
for _FORV_3_ = 1, 100 do
gg.playMusic("stop")
end
gg.toast("播放已停止")
end
function Play(A0_4470, A1_4471)
SN = gg.choice(A0_4470, nil, ts)
if SN == nil then
XGCK = -1
else
sn = gg.choice({
"播放音乐",
"查看歌词",
"下载歌曲"
}, nil, "歌曲:" .. A0_4470[SN])
if sn == nil then
end
if sn == 1 then
play(A1_4471[SN], A0_4470[SN])
end
if sn == 2 then
gc = Lyric(A1_4471[SN])
gg.alert(gc)
end
if sn == 3 then
io.open(gg.getFile():gsub("[^/]+$", "") .. A0_4470[SN] .. ".mp3", "w"):write(gg.makeRequest("http://music.163.com/song/media/outer/url?id=" .. A1_4471[SN] .. ".mp3").content)
gg.alert("音乐已成功下载位置:\n\n" .. gg.getFile():gsub("[^/]+$", "") .. A0_4470[SN] .. ".mp3")
end
end
XGCK = -1
end
function zjson(A0_4472)
local L1_4473
L1_4473 = A0_4472
string.gsub(L1_4473, "\"[%w]+\":", function(A0_4474)
if string.find(L1_4473, A0_4474) then
L1_4473 = string.gsub(L1_4473, A0_4474, string.gsub(A0_4474, "\"", ""))
end
end
)
L1_4473 = string.gsub(L1_4473, ":", "=")
L1_4473 = string.gsub(L1_4473, "%[", "{")
L1_4473 = string.gsub(L1_4473, "%]", "}")
return (load("return " .. L1_4473)())
end
function L0_3644(A0_4475)
res = zjson(A0_4475)
zd = res.result.songCount
pd = go3 - zd
if pd <= 0 then
else
go3 = zd
end
ts = "《" .. go1 .. "》找到" .. zd .. "首歌曲,当前显示" .. go3 .. "首"
gqlb = {}
idb = {}
for _FORV_4_ = 1, go3 do
if res.result.songs[_FORV_4_] then
gqlb[_FORV_4_] = res.result.songs[_FORV_4_].name
idb[_FORV_4_] = res.result.songs[_FORV_4_].id
end
end
end
function huiz()
draw.text(".", -9200, -9200)
end
huiz()
muby = 700
mubx = 850
ᅢᆬᅡマᅡ빼나자ハᅢ따다メᅢᆭᅡᅠᅡヌᅢ라까リ = "泪水UI"
ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ = 4294949197
ᅢ라까ワᅢ따ノᅡ배따가ᄄ = {
4281577313,
4294949197,
4294901795,
4278226175,
4289134336,
4294940146,
4287916799,
4278190080,
4283716692,
4282314215
}
ᅢᆭᅡツᅡᆲᅢᆭᅡ삹ᅢ닭ᅡラᅢᆬᅡロᅡ핺ᅡᅠᅡヌ = "https://wp.xgyun.top/view.php/99000237a2e27d4d21e58e44f00220ba.jpg"
ᅢᆬᅡヘᅡ개다파ム = ""
stab = {
"主页",
"防封",
"刷号",
"竞赛",
"音乐",
"聊天",
"关于"
}
changan.menu({
{
changan.text("官方一群:1085553050", nil, "15sp"),
changan.text("泪水全防", "#000000", "20sp"),
changan.text("交流群:1085553050", "#EC94EB", "16sp"),
changan.text("作者:泪水凝思念", "#EC94EB", "16sp"),
changan.text("此女若是妻 枸杞也能医", "#FF0000", "16sp"),
changan.button("选择进程", function()
gg.setConfig("隐藏辅助", 23)
gg.setConfig("运行守护", 2)
gg.setConfig("冻结间隔", 0)
gg.setProcessX()
string.toMusic("请选择地铁跑酷进程")
end
, function()
local L0_4476, L1_4477
end
),
changan.switch("过新手教程", function()
so_mc(_UPVALUE1_["新手"], 4, "~A8 MOV\t W0, #1")
gg.alert("新手教程开启成功!")
string.toMusic("新手教程开启成功")
end
, function()
local L0_4478, L1_4479
end
)
},
{
changan.box({
"进度条防",
changan.switch("独家环境+ACE[登陆必开]", function()
function setvalue(A0_4480, A1_4481, A2_4482)
local L3_4483
L3_4483 = {}
L3_4483[1] = {}
L3_4483[1].address = A0_4480
L3_4483[1].flags = A1_4481
L3_4483[1].value = A2_4482
gg.setValues(L3_4483)
end
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232128
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232156
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232172
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232204
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232208
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232220
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232252
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232268
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232284
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232300
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232316
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232332
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232336
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232348
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232364
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232380
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232396
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232412
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232428
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232444
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232460
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232464
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232476
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232492
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232508
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232524
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232540
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232588
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232592
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232604
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232620
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232636
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232652
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232668
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232684
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232700
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232716
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232720
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232732
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232748
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232764
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232780
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232796
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232844
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232848
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232860
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232876
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232892
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232908
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232924
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232940
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232956
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232972
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232976
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5232988
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5233004
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5233020
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5233036
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5233052
setvalue(so + py, 4, -698416192)
so = gg.getRangesList("libtersafe2.so")[1].start
py = 5233100
setvalue(so + py, 4, -698416192)
gg.alert("已为您开启独家防")
string.toMusic("已为您开启独家防")
end
),
changan.switch("独家环境[登陆必开]", function()
TL_TL("libtersafe2.so", {
5232156,
5232168,
5232232,
5232268,
5233516,
5234508,
5234768,
5234956,
5234960,
5235056,
5235176,
5235184
}, 32, 0, "防环境")
if gg.getRangesList("libtersafe2.so:bss")[1] then
gg.processPause()
gg.setValues({
{
address = gg.getRangesList("libtersafe2.so")[1].start + 5232316,
flags = 4,
value = "~A8 RET"
},
{
address = gg.getRangesList("libtersafe2.so")[1].start + 5232348,
flags = 4,
value = "~A8 RET"
},
{
address = gg.getRangesList("libtersafe2.so")[1].start + 5232380,
flags = 4,
value = "~A8 RET"
},
{
address = gg.getRangesList("libtersafe2.so")[1].start + 5232652,
flags = 4,
value = "~A8 RET"
},
{
address = gg.getRangesList("libtersafe2.so")[1].start + 5233408,
flags = 4,
value = "~A8 RET"
},
{
address = gg.getRangesList("libtersafe2.so")[1].start + 5233248,
flags = 4,
value = "~A8 RET"
},
{
address = gg.getRangesList("libtersafe2.so")[1].start + 5232288,
flags = 4,
value = "~A8 RET"
},
{
address = gg.getRangesList("libtersafe2.so")[1].start + 1993844,
flags = 4,
value = "~A8 B\t [PC,#0x64]"
},
{
address = gg.getRangesList("libtersafe2.so")[1].start + 4929828,
flags = 4,
value = "~A8 B\t [PC,#0x4]"
}
})
gg.processResume()
end
string.toMusic("已为您开启独家环境")
end
)
})
},
{
changan.box({
"一键解锁",
changan.switch("全人物", function()
so_mc(_UPVALUE1_["人物"], 4, "~A8 MOV\t W0, #1")
toMusic("己为您开启人物全解")
end
),
changan.switch("全滑板", function()
so_mc(_UPVALUE1_["滑板"], 4, "~A8 MOV\t W0, #1")
toMusic("己为您开启滑板全解")
end
),
changan.switch("全背饰", function()
so_mc(_UPVALUE1_["背饰"], 4, "~A8 MOV\t W0, #1")
toMusic("己为您开启背饰全解")
end
),
changan.switch("全像框", function()
so_mc(_UPVALUE1_["像框"], 4, "~A8 MOV\t W0, #1")
string.toMusic("己为您开启头像框全解")
end
),
changan.switch("角色装扮", function()
so_mc(_UPVALUE1_["装扮"], 4, "~A8 MOV\t W0, #1")
string.toMusic("己为您开启角色装扮全解")
end
),
changan.switch("滑板技能", function()
so_mc(_UPVALUE1_["技能"], 4, "~A8 MOV\t W0, #1")
string.toMusic("己为您开启滑板技能全解")
end
),
changan.switch("十倍得分", function()
so_mc(_UPVALUE1_["解锁十倍"], 4, "~A8 MOV\t W0, #1")
so_mc(_UPVALUE1_["获取十倍"], 4, "~A8 MOV\t W0, #1")
string.toMusic("己为您开启十倍得分调出请前往主页查看")
end
)
}),
changan.box({
"保存解锁",
changan.switch("破解内购", function()
so_mc(_UPVALUE1_["内购"], 4, "~A8 B [PC,#" .. SOGSPY_ST(_UPVALUE1_["内购"], _UPVALUE1_["内购成功"]) .. "]")
string.toMusic("己为您开启内购")
end
),
changan.switch("金币人物", function()
local L0_4484
L0_4484 = "readValue"
_ENV[L0_4484] = function(A0_4485, A1_4486)
return gg.getValues({
{address = A0_4485, flags = A1_4486}
})[1].value
end
L0_4484 = "ms"
_ENV[L0_4484] = {}
L0_4484 = "setvalue"
_ENV[L0_4484] = function(A0_4487, A1_4488, A2_4489, A3_4490)
local L4_4491
L4_4491 = {}
L4_4491[1] = {}
L4_4491[1].address = A0_4487
L4_4491[1].value = A1_4488
L4_4491[1].flags = A2_4489
if A3_4490 == true then
L4_4491[1].freeze = true
gg.addListItems(L4_4491)
else
gg.setValues(L4_4491)
end
end
L0_4484 = "ms"
L0_4484 = _ENV[L0_4484]
function L0_4484.ss(A0_4492, A1_4493, A2_4494)
local L6_4495, L7_4496
L6_4495 = A0_4492
L7_4496 = A1_4493
gg.clearResults()
gg.setRanges(A2_4494)
gg.searchNumber(L6_4495, L7_4496, false, gg.SIGN_EQUAL, 206158430208, 1099511627775, 0)
Result = gg.getResults(gg.getResultCount())
end
L0_4484 = "ms"
L0_4484 = _ENV[L0_4484]
function L0_4484.py(A0_4497, A1_4498, A2_4499)
if Result and #Result ~= 0 then
t = {}
for _FORV_6_, _FORV_7_ in ipairs(Result) do
t[_FORV_6_] = {}
t[_FORV_6_].address = _FORV_7_.address + A1_4498
t[_FORV_6_].flags = A2_4499
end
t = gg.getValues(t)
for _FORV_6_, _FORV_7_ in ipairs(t) do
if _FORV_7_.value ~= A0_4497 then
Result[_FORV_6_] = nil
end
end
for _FORV_7_, _FORV_8_ in pairs(Result) do
end
Result = {}
end
end
L0_4484 = "ms"
L0_4484 = _ENV[L0_4484]
function L0_4484.bc()
data = {}
if Result == nil or #Result == 0 then
gg.alert("开启失败")
else
for _FORV_3_, _FORV_4_ in pairs(Result) do
data[#data + 1] = _FORV_4_.address
end
end
Result = nil
end
L0_4484 = "ms"
L0_4484 = _ENV[L0_4484]
function L0_4484.edit(A0_4500, A1_4501, A2_4502, A3_4503)
if Result then
ms.bc()
end
if #data > 0 then
for _FORV_7_, _FORV_8_ in ipairs(data) do
setvalue(_FORV_8_ + A1_4501, A0_4500, A2_4502, A3_4503 or false)
end
gg.toast(Name .. "成功")
end
end
L0_4484 = {}
time = os.clock()
ms.ss(10299, 4, 32)
ms.py(291, 4, 4)
ms.py(-1, 8, 4)
ms.bc()
gg.clearResults()
for _FORV_4_, _FORV_5_ in ipairs(data) do
_FORV_5_ = _FORV_5_ - 67512
for _FORV_9_ = 0, 305 do
L0_4484[#L0_4484 + 1] = {
value = 2,
address = _FORV_5_ + 44 + 232 * _FORV_9_,
flags = 4
}
L0_4484[#L0_4484 + 1] = {
value = 0,
address = _FORV_5_ + 48 + 232 * _FORV_9_,
flags = 4
}
L0_4484[#L0_4484 + 1] = {
value = 0,
address = _FORV_5_ + 60 + 232 * _FORV_9_,
flags = 4
}
L0_4484[#L0_4484 + 1] = {
value = 2,
address = _FORV_5_ + 68 + 232 * _FORV_9_,
flags = 4
}
L0_4484[#L0_4484 + 1] = {
value = 0,
address = _FORV_5_ + 100 + 232 * _FORV_9_,
flags = 4
}
end
end
gg.setValues(L0_4484)
gg.alert("开启成功,耗时:" .. string.sub(os.clock() - time, 0, 5) .. "秒")
string.toMusic("已为您开启人物货币")
end
),
changan.switch("金币滑板", function()
local L0_4504
L0_4504 = "readValue"
_ENV[L0_4504] = function(A0_4505, A1_4506)
return gg.getValues({
{address = A0_4505, flags = A1_4506}
})[1].value
end
L0_4504 = "ms"
_ENV[L0_4504] = {}
L0_4504 = "setvalue"
_ENV[L0_4504] = function(A0_4507, A1_4508, A2_4509, A3_4510)
local L4_4511
L4_4511 = {}
L4_4511[1] = {}
L4_4511[1].address = A0_4507
L4_4511[1].value = A1_4508
L4_4511[1].flags = A2_4509
if A3_4510 == true then
L4_4511[1].freeze = true
gg.addListItems(L4_4511)
else
gg.setValues(L4_4511)
end
end
L0_4504 = "ms"
L0_4504 = _ENV[L0_4504]
function L0_4504.ss(A0_4512, A1_4513, A2_4514)
local L6_4515, L7_4516
L6_4515 = A0_4512
L7_4516 = A1_4513
gg.clearResults()
gg.setRanges(A2_4514)
gg.searchNumber(L6_4515, L7_4516, false, gg.SIGN_EQUAL, 206158430208, 1099511627775, 0)
Result = gg.getResults(gg.getResultCount())
end
L0_4504 = "ms"
L0_4504 = _ENV[L0_4504]
function L0_4504.py(A0_4517, A1_4518, A2_4519)
if Result and #Result ~= 0 then
t = {}
for _FORV_6_, _FORV_7_ in ipairs(Result) do
t[_FORV_6_] = {}
t[_FORV_6_].address = _FORV_7_.address + A1_4518
t[_FORV_6_].flags = A2_4519
end
t = gg.getValues(t)
for _FORV_6_, _FORV_7_ in ipairs(t) do
if _FORV_7_.value ~= A0_4517 then
Result[_FORV_6_] = nil
end
end
for _FORV_7_, _FORV_8_ in pairs(Result) do
end
Result = {}
end
end
L0_4504 = "ms"
L0_4504 = _ENV[L0_4504]
function L0_4504.bc()
data = {}
if Result == nil or #Result == 0 then
gg.alert("开启失败")
else
for _FORV_3_, _FORV_4_ in pairs(Result) do
data[#data + 1] = _FORV_4_.address
end
end
Result = nil
end
L0_4504 = "ms"
L0_4504 = _ENV[L0_4504]
function L0_4504.edit(A0_4520, A1_4521, A2_4522, A3_4523)
if Result then
ms.bc()
end
if #data > 0 then
for _FORV_7_, _FORV_8_ in ipairs(data) do
setvalue(_FORV_8_ + A1_4521, A0_4520, A2_4522, A3_4523 or false)
end
gg.toast(Name .. "成功")
end
end
L0_4504 = {}
time = os.clock()
ms.ss(20263, 4, 32)
ms.py(254, 4, 4)
ms.py(-1, 8, 4)
ms.bc()
gg.clearResults()
for _FORV_4_, _FORV_5_ in ipairs(data) do
_FORV_5_ = _FORV_5_ - 48768
for _FORV_9_ = 0, 290 do
L0_4504[#L0_4504 + 1] = {
value = 2,
address = _FORV_5_ + 36 + 192 * _FORV_9_,
flags = 4
}
L0_4504[#L0_4504 + 1] = {
value = 0,
address = _FORV_5_ + 40 + 192 * _FORV_9_,
flags = 4
}
L0_4504[#L0_4504 + 1] = {
value = 0,
address = _FORV_5_ + 52 + 192 * _FORV_9_,
flags = 4
}
L0_4504[#L0_4504 + 1] = {
value = 2,
address = _FORV_5_ + 76 + 192 * _FORV_9_,
flags = 4
}
L0_4504[#L0_4504 + 1] = {
value = 0,
address = _FORV_5_ + 100 + 192 * _FORV_9_,
flags = 4
}
end
end
gg.setValues(L0_4504)
gg.alert("开启成功,耗时:" .. string.sub(os.clock() - time, 0, 5) .. "秒")
string.toMusic("已为您开启滑板货币")
end
)
}),
changan.box({
"宝物箱子",
changan.switch("十抽宝物", function()
so_mc(_UPVALUE1_["十抽"], 4, "~A8 B [PC,#" .. SOGSPY_ST(_UPVALUE1_["十抽"], _UPVALUE1_["全宝物"]) .. "]")
string.toMusic("己为您开启十抽全宝物请前往宝物箱子界面进行十抽")
end
),
changan.switch("十抽特权", function()
so_mc(_UPVALUE1_["十抽"], 4, "~A8 B [PC,#" .. SOGSPY_ST(_UPVALUE1_["十抽"], _UPVALUE1_["重生特权"]) .. "]")
string.toMusic("己为您开启十抽内购请前往宝物箱子界面进行十抽")
end
)
}),
changan.box({
"修改数据",
changan.switch("调出挂杯", function()
so_mc(_UPVALUE1_["赛事"], 4, "~A8 MOV\t W0, #1")
string.toMusic("UZ己为您调出挂杯请前往道具赛查看")
end
, function()
local L0_4524, L1_4525
end
),
changan.switch("备份数据", function()
so_mc(_UPVALUE1_["备份1"], 4, "~A8 MOV\t W0, #1")
so_mc(_UPVALUE1_["备份2"], 4, "~A8 MOV\t W0, #1")
string.toMusic("己为您数据备份")
end
, function()
local L0_4526, L1_4527
end
),
changan.switch("双倍金币", function()
so_mc(_UPVALUE1_["双倍"], 4, "~A8 MOV\t W0, #1")
string.toMusic("己为您开启双倍金币获取请前往主页查看")
end
, function()
local L0_4528, L1_4529
end
),
changan.switch("微博特权", function()
so_mc(_UPVALUE1_["微博"], 4, "~A8 MOV\t W0, #1")
string.toMusic("己为您开启微博特权获取请前往主页查看")
end
)
}),
changan.edit("普通金币数量", "普通金币数量"),
changan.button("确认更改", function()
for _FORV_4_, _FORV_5_ in pairs({
changan.getedit("普通金币数量")
}) do
if _FORV_4_ == 1 and _FORV_5_ ~= "" then
SO_Deposit(_UPVALUE1_["金币"], 4, (tonumber((changan.getedit("普通金币数量")))))
end
end
end
),
changan.edit("普通钥匙数量", "普通钥匙数量"),
changan.button("确认更改", function()
for _FORV_4_, _FORV_5_ in pairs({
changan.getedit("普通钥匙数量")
}) do
if _FORV_4_ == 1 and _FORV_5_ ~= "" then
SO_Deposit(_UPVALUE1_["钥匙"], 4, (tonumber((changan.getedit("普通钥匙数量")))))
end
end
end
),
changan.edit("宝物钥匙数量", "宝物钥匙数量"),
changan.button("确认更改", function()
for _FORV_4_, _FORV_5_ in pairs({
changan.getedit("宝物钥匙数量")
}) do
if _FORV_4_ == 1 and _FORV_5_ ~= "" then
SO_Deposit(_UPVALUE1_["宝物钥匙"], 4, (tonumber((changan.getedit("宝物钥匙数量")))))
end
end
end
),
changan.edit("自定义等级", "自定义等级"),
changan.button("确认更改", function()
for _FORV_4_, _FORV_5_ in pairs({
changan.getedit("自定义等级")
}) do
if _FORV_4_ == 1 and _FORV_5_ ~= "" then
SO_Deposit(_UPVALUE1_["等级"], 4, (tonumber((changan.getedit("自定义等级")))))
end
end
end
),
changan.edit("炫跑卡", "炫跑卡"),
changan.button("确认更改", function()
for _FORV_4_, _FORV_5_ in pairs({
changan.getedit("炫跑卡")
}) do
if _FORV_4_ == 1 and _FORV_5_ ~= "" then
SO_Deposit(_UPVALUE1_["炫跑卡"], 4, (tonumber((changan.getedit("炫跑卡")))))
end
end
end
)
},
{
changan.switch("1分40检测", function()
so_mc(_UPVALUE1_["隐藏1"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["隐藏2"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["隐藏3"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["隐藏4"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["隐藏5"], 4, "~A8 MOV\t W0, #1")
so_mc(_UPVALUE1_["行为弹窗"], 4, "~A8 MOV\t W0, #1")
SO_FLPTXG(_UPVALUE1_["时间"], 4, 130)
so_mc(_UPVALUE1_["时间检测"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["防举报1"], 4, "~A8 RET")
so_mc(_UPVALUE1_["防举报2"], 4, "~A8 RET")
so_mc(_UPVALUE1_["防举报3"], 4, "~A8 RET")
so_mc(_UPVALUE1_["防举报4"], 4, "~A8 RET")
so_mc(_UPVALUE1_["时间检测"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["一分40秒1"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["一分40秒2"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["一分40秒3"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["一分40秒4"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["一分40秒5"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["一分40秒6"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["一分40秒7"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["一分40秒8"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["一分40秒9"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["一分40秒10"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["屏蔽时间检1"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["屏蔽时间检2"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["屏蔽时间检3"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["屏蔽时间检4"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["屏蔽时间检5"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["屏蔽时间检6"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["屏蔽时间检7"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["屏蔽时间检8"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["屏蔽时间检9"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["屏蔽时间检10"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["新时刻"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["离线模式"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["获取服务器"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["最佳时间"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["作弊时间"], 4, "~A8 MOV W0, WZR")
gg.alert("开启成功")
end
),
changan.switch("时间检测", function()
so_mc(_UPVALUE1_["新时刻"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["离线模式"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["获取服务器"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["最佳时间"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["作弊时间"], 4, "~A8 MOV W0, WZR")
gg.alert("开启成功")
string.toMusic("时间检测开启成功")
end
),
changan.switch("道具赛防踢", function()
so_mc(_UPVALUE1_["防封号1"], 4, "~A8 MOV X0, XZR")
so_mc(_UPVALUE1_["防封号2"], 4, "~A8 MOV X0, XZR")
so_mc(_UPVALUE1_["防封号3"], 4, "~A8 MOV X0, XZR")
so_mc(_UPVALUE1_["防封号4"], 4, "~A8 MOV X0, XZR")
so_mc(_UPVALUE1_["防封号5"], 4, "~A8 MOV X0, XZR")
gg.alert("开启成功")
string.toMusic("道具赛防踢开启成功")
end
),
changan.box({
"道具赛",
changan.switch("能量倍增", function()
so_mc(_UPVALUE1_["跳跃"], 4, "~A8 B [PC,#" .. SOGSPY_ST(_UPVALUE1_["跳跃"], _UPVALUE1_["获取能量2"]) .. "]")
so_mc(_UPVALUE1_["下滑"], 4, "~A8 B [PC,#" .. SOGSPY_ST(_UPVALUE1_["下滑"], _UPVALUE1_["获取能量2"]) .. "]")
gg.alert("多跳跃下滑几次后,捡拾的能量即可翻倍")
string.toMusic("己为您开启能量倍增")
end
),
changan.switch("自动上分", function()
SOSD(_UPVALUE1_["微加速"], 4, "~A8 LDR\t S0, [PC,#0x8]")
so_mc(_UPVALUE1_["敌人永远第三"], 4, "~A8 MOV W0, #1")
so_mc(_UPVALUE1_["忽略能量"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["无视侧撞"], 4, "~A8 MOV\t W0, #1")
so_mc(_UPVALUE1_["无视减速带"], 4, "~A8 MOV W0, WZR")
so_mc(_UPVALUE1_["无视道具1"], 4, "~A8 MOV\t W0, #1")
so_mc(_UPVALUE1_["无视道具2"], 4, "~A8 MOV\t W0, #1")
end
),
changan.switch("无视道具", function()
so_mc(_UPVALUE1_["无视道具1"], 4, "~A8 MOV\t W0, #1")
so_mc(_UPVALUE1_["无视道具2"], 4, "~A8 MOV\t W0, #1")
string.toMusic("己为您开启无视道具")
end
, function()
local L0_4530, L1_4531
end
),
changan.switch("无视障碍", function()
so_mc(_UPVALUE1_["无视障碍"], 4, "~A8 MOV\t W0, #1")
string.toMusic("己为您开启无视障碍")
end
, function()
local L0_4532, L1_4533
end
),
changan.switch("敌人卡顿", function()
gg.alert("大厅开启一次即可 每上下左右滑动敌人都会卡顿一次 搭配连点器即可让敌人卡死! 如果效果不明显可再开启一次")
string.toMusic("己为您开启敌人卡顿")
function _lib(A0_4534, A1_4535)
for _FORV_6_ in ipairs((gg.getRangesList(A0_4534))) do
if gg.getRangesList(A0_4534)[_FORV_6_].state == A1_4535 then
return gg.getRangesList(A0_4534)[_FORV_6_].start
end
end
end
function readPointer(A0_4536, A1_4537, A2_4538)
if gg.getRangesList(A0_4536)[A2_4538 or 1] then
for _FORV_10_ = 2, #A1_4537 do
if not gg.getTargetInfo().x64 then
gg.getValues({
{
address = gg.getRangesList(A0_4536)[A2_4538 or 1].start + A1_4537[1],
flags = ({
[true] = 32,
[false] = 4
})[gg.getTargetInfo().x64]
}
})[1].value = gg.getValues({
{
address = gg.getRangesList(A0_4536)[A2_4538 or 1].start + A1_4537[1],
flags = ({
[true] = 32,
[false] = 4
})[gg.getTargetInfo().x64]
}
})[1].value & 4294967295
else
end
end
return gg.getValues({
{
address = gg.getRangesList(A0_4536)[A2_4538 or 1].start + A1_4537[1],
flags = ({
[true] = 32,
[false] = 4
})[gg.getTargetInfo().x64]
}
})[1].value + A1_4537[_FORV_10_]
end
end
;({
callAnotherMethod = function(A0_4539, A1_4540)
local L2_4541, L3_4542, L4_4543, L5_4544, L6_4545, L7_4546, L8_4547, L9_4548, L10_4549, L11_4550, L12_4551, L13_4552, L14_4553, L15_4554, L16_4555, L17_4556, L18_4557, L19_4558
end
}).callAnotherMethod(39293752, {
{
512,
32,
(readPointer("libil2cpp.so:bss", {
2577432,
272,
184,
1360,
0
}, 1))
},
{
520,
4,
1
},
{
528,
32,
_lib("il2cpp", "Xa") + 52316224
}
})
function readPointer(A0_4559, A1_4560, A2_4561)
if gg.getRangesList(A0_4559)[A2_4561 or 1] then
for _FORV_10_ = 2, #A1_4560 do
if not gg.getTargetInfo().x64 then
gg.getValues({
{
address = gg.getRangesList(A0_4559)[A2_4561 or 1].start + A1_4560[1],
flags = ({
[true] = 32,
[false] = 4
})[gg.getTargetInfo().x64]
}
})[1].value = gg.getValues({
{
address = gg.getRangesList(A0_4559)[A2_4561 or 1].start + A1_4560[1],
flags = ({
[true] = 32,
[false] = 4
})[gg.getTargetInfo().x64]
}
})[1].value & 4294967295
else
end
end
return gg.getValues({
{
address = gg.getRangesList(A0_4559)[A2_4561 or 1].start + A1_4560[1],
flags = ({
[true] = 32,
[false] = 4
})[gg.getTargetInfo().x64]
}
})[1].value + A1_4560[_FORV_10_]
end
end
function gg.edits(A0_4562, A1_4563, A2_4564)
if not A0_4562 then
gg.toast("修改失败, 可能是模块不存在")
return
end
for _FORV_7_, _FORV_8_ in ipairs(A1_4563) do
if _FORV_8_[4] then
;({
{},
{}
})[2][#({
{},
{}
})[2] + 1] = {
address = A0_4562 + _FORV_8_[3],
value = _FORV_8_[1],
flags = _FORV_8_[2],
freeze = _FORV_8_[4]
}
else
;({
{},
{}
})[1][#({
{},
{}
})[1] + 1] = {
address = A0_4562 + _FORV_8_[3],
value = _FORV_8_[1],
flags = _FORV_8_[2],
freeze = _FORV_8_[4]
}
end
end
gg.addListItems(({
{},
{}
})[2])
gg.setValues(({
{},
{}
})[1])
end
gg.edits(readPointer("libil2cpp.so:bss", {
2943616,
184,
0,
928,
904
}, 1), {
{
9999999,
4,
0,
true
}
})
gg.edits(readPointer("libil2cpp.so:bss", {
2943616,
184,
0,
736,
1548
}, 1), {
{
9999999,
4,
0,
true
}
})
gg.alert("开启成功")
end
, function()
local L0_4565, L1_4566
end
),
changan.switch("开局道具", function()
a = gg.prompt({
"道具代码:\n1=恶魔 2=乌龟 3=颜料 4=能量10%[1;4]"
}, {
[1] = 2
}, {
[1] = "number"
})[1]
if not a then
return
end
so_mc(_UPVALUE1_["开局道具"], 4, "~A8 MOV W0, #" .. a .. "", "~A8 RET")
string.toMusic("开局道具修改成功")
end
, function()
local L0_4567, L1_4568
end
),
changan.switch("道具赛改段位", function()
a = gg.prompt({
"1=青铜\n2=白银\n3=黄金\n4=铂金\n5=钻石\n6=王者[1;6]"
}, {
[1] = 6
}, {
[1] = "number"
})[1]
if not a then
return
end
so_mc(_UPVALUE1_["段位"], 4, "~A8 MOV W0, #" .. a .. "", "~A8 RET")
string.toMusic("匹配框修改成功")
end
, function()
local L0_4569, L1_4570
end
),
changan.switch("修改星数", function()
a = gg.prompt({
"道具赛自定义星数[1;9999]"
}, {
[1] = 200
}, {
[1] = "number"
})[1]
if not a then
return
end
so_mc(_UPVALUE1_["星数"], 4, "~A8 MOV W0, #" .. a .. "", "~A8 RET")
string.toMusic("星数修改成功")
end
, function()
local L0_4571, L1_4572
end
),
changan.switch("滑板瞬移", function()
so_mc(_UPVALUE1_["滑板瞬移"], 4, "~A8 MOV\t W0, #1")
string.toMusic("己为您开启滑板瞬移")
end
, function()
local L0_4573, L1_4574
end
),
changan.switch("滑板滑翔", function()
so_mc(_UPVALUE1_["滑板滑翔"], 4, "~A8 MOV\t W0, #1")
string.toMusic("己为您开启滑板滑翔")
end
, function()
local L0_4575, L1_4576
end
),
changan.switch("滑板跳高", function()
so_mc(_UPVALUE1_["滑板跳高"], 4, "~A8 MOV\t W0, #1")
string.toMusic("己为您开启滑板跳高")
end
, function()
local L0_4577, L1_4578
end
)
}),
changan.box({
"分数赛",
changan.switch("屏蔽分数检测", function()
so_mc(_UPVALUE1_["分数赛过检"], 4, "~A8 MOV W0, #1")
gg.toast("开启成功")
end
),
changan.switch("修改倍数[30/107]", function()
so_mc(_UPVALUE1_["得分倍增"], 4, "~A8 MOV W0, #107")
gg.toast("倍数修改107级成功")
end
, function()
so_mc(_UPVALUE1_["得分倍增"], 4, "~A8 MOV W0, #30")
gg.toast("倍数修改30级成功")
end
),
changan.switch("修改速度", function()
for _FORV_4_ in ipairs((gg.getRangesList())) do
if string.find(gg.getRangesList()[_FORV_4_].name, "libil2cpp.so") and gg.getRangesList()[_FORV_4_].state == "Xa" and gg.getRangesList()[_FORV_4_].type == "r-xp" then
module = gg.getRangesList()[_FORV_4_].start
break
end
end
function returnValue(A0_4579)
local L2_4580, L3_4581, L4_4582
L2_4580 = nil
L3_4581 = "module"
L3_4581 = _ENV[L3_4581]
L4_4582 = 1
L4_4582 = A0_4579[L4_4582]
L3_4581 = L3_4581 + L4_4582
L4_4582 = 4
L4_4582 = A0_4579[L4_4582]
if A0_4579[3] % 1 == 0 then
L2_4580 = "X0"
else
L2_4580 = "S0"
end
table.insert({
{
address = L4_4582 + 4,
flags = 4,
value = "~A8 BR X30"
},
{
address = L4_4582 + A0_4579[2],
flags = 16,
value = A0_4579[3]
},
{
address = L3_4581,
flags = 4,
value = "~A8 LDR X0, [PC,#0x8]"
},
{
address = L3_4581 + 4,
flags = 4,
value = "~A8 BR X0"
},
{
address = L3_4581 + 8,
flags = 32,
value = L4_4582
}
}, {
address = L4_4582,
flags = 4,
value = "~A8 LDR " .. L2_4580 .. ", [PC,#" .. string.format("0x%X", A0_4579[2]) .. "]"
})
return gg.setValues({
{
address = L4_4582 + 4,
flags = 4,
value = "~A8 BR X30"
},
{
address = L4_4582 + A0_4579[2],
flags = 16,
value = A0_4579[3]
},
{
address = L3_4581,
flags = 4,
value = "~A8 LDR X0, [PC,#0x8]"
},
{
address = L3_4581 + 4,
flags = 4,
value = "~A8 BR X0"
},
{
address = L3_4581 + 8,
flags = 32,
value = L4_4582
}
})
end
returnValue({
_UPVALUE1_["人物速度"],
956,
417.5,
gg.allocatePage(gg.PROT_READ | gg.PROT_WRITE | gg.PROT_EXEC)
})
gg.alert("开启成功")
string.toMusic("速度修改成功")
end
),
changan.switch("下滑穿透", function()
gg.alert("开启稍慢")
search(4.5, 16)
py1(5.5, 16, 16)
xg1(9191, 16, 0, true)
xg1(9192, 16, 16, true)
gg.alert("开启成功")
end
)
}),
changan.box({
"无尽",
changan.switch("下滑穿墙", function()
qmnb = {
{memory = 32},
{
name = "下滑穿透"
},
{value = 4.5, type = 16},
{
lv = 9,
offset = 8,
type = 16
},
{
lv = 5.5,
offset = 16,
type = 16
},
{
lv = 1,
offset = 20,
type = 16
},
{
lv = 10,
offset = 24,
type = 16
}
}
qmxg = {
{
value = 9191,
offset = 0,
type = 16,
freeze = true
},
{
value = 9191,
offset = 16,
type = 16,
freeze = true
}
}
xqmnb(qmnb, qmxg)
gg.toast("已为您开启")
end
, function()
qmnb = {
{memory = 32},
{
name = "恢复穿透"
},
{value = 9191, type = 16},
{
lv = 9,
offset = 8,
type = 16
},
{
lv = 9191,
offset = 16,
type = 16
},
{
lv = 1,
offset = 20,
type = 16
},
{
lv = 10,
offset = 24,
type = 16
}
}
qmxg = {
{
value = 4.5,
offset = 0,
type = 16
},
{
value = 5.5,
offset = 16,
type = 16,
freeze = true
}
}
xqmnb(qmnb, qmxg)
end
),
changan.switch("下滑瞬移", function()
qmnb = {
{memory = 32},
{
name = "下滑瞬移"
},
{value = -8388608, type = 4},
{
lv = -1082130432,
offset = -16,
type = 4
},
{
lv = 2139095040,
offset = -8,
type = 4
}
}
qmxg = {
{
value = 99999,
offset = -64,
type = 16
}
}
xqmnb(qmnb)
gg.toast("已为您开启")
end
, function()
qmnb = {
{memory = 32},
{
name = "恢复瞬移"
},
{value = -8388608, type = 4},
{
lv = -1082130432,
offset = -16,
type = 4
},
{
lv = 2139095040,
offset = -8,
type = 4
}
}
qmxg = {
{
value = 0,
offset = -64,
type = 16
}
}
xqmnb(qmnb)
end
),
changan.switch("人物大跳", function()
local L1_4583
L1_4583 = {
{memory = 32},
{
name = "人物大跳"
},
{value = 1091567616, type = 32},
{
lv = 20,
offset = -608,
type = 16
},
{
lv = 1,
offset = 12,
type = 16
},
{
lv = 10,
offset = 16,
type = 16
}
}
xqmnb(L1_4583, {
{
value = 60,
offset = -608,
type = 16,
freeze = true
}
})
gg.toast("已为您开启")
end
, function()
local L1_4584
L1_4584 = {
{memory = 32},
{
name = "恢复大跳"
},
{value = 1091567616, type = 32},
{
lv = 60,
offset = -608,
type = 16
},
{
lv = 1,
offset = 12,
type = 16
},
{
lv = 10,
offset = 16,
type = 16
}
}
xqmnb(L1_4584, {
{
value = 20,
offset = -608,
type = 16,
freeze = true
}
})
end
),
changan.switch("人物重力", function()
gg.setRanges(32)
Name = "人物重力"
SearchWrite({
{
1091567616,
32,
0
},
{
200,
16,
-800
},
{
1,
16,
12
},
{
10,
16,
16
}
}, {
{
50,
16,
-800,
true
}
}, dataType)
gg.toast("已为您开启")
end
, function()
gg.setRanges(32)
Name = "恢复重力"
SearchWrite({
{
1091567616,
32,
0
},
{
50,
16,
-800
},
{
1,
16,
12
},
{
10,
16,
16
}
}, {
{
200,
16,
-800,
true
}
}, dataType)
end
),
changan.switch("平板视角", function()
search(1.5, 16, 32)
py1(33, 16, 12)
py1(20, 16, 24)
xg1(45, 16, 28, true)
gg.alert("平板视角开启成功")
end
, function()
search(1.5, 16, 32)
py1(33, 16, 12)
py1(20, 16, 24)
xg1(40, 16, 28, true)
end
),
changan.switch("天空颜色", function()
if gg.prompt({
"颜色代码"
}, {":#000000"}, {"text"}) == nil then
gg.toast("用户取消操作")
return
end
xqmnb({
{memory = 32},
{
name = "天空颜色"
},
{value = -750, type = 16},
{
lv = 750,
offset = 4,
type = 16
},
{
lv = 5,
offset = 16,
type = 16
},
{
lv = 350,
offset = 32,
type = 16
},
{
lv = -75,
offset = 36,
type = 16
}
}, {
{
value = gg.prompt({
"颜色代码"
}, {":#000000"}, {"text"})[1],
offset = 172,
type = 16,
freeze = true
}
})
gg.alert("开启成功")
end
, function()
local L0_4585, L1_4586
end
)
})
},
{
wyylog,
changan.button("暂停音乐", function()
for _FORV_3_ = 1, 2 do
gg.playMusic("stop")
gg.playMusic("stop")
gg.playMusic("stop")
end
gg.toast("已停止音乐")
end
)
},
{},
{
tiaose(),
changan.switch("音量键隐藏UI", function()
local L0_4587, L1_4588
L0_4587 = "é³éé®"
L1_4588 = true
_ENV[L0_4587] = L1_4588
end
, function()
local L0_4589, L1_4590
L0_4589 = "é³éé®"
L1_4590 = false
_ENV[L0_4589] = L1_4590
end
),
changan.switch("关闭流星", function()
if parti2 ~= nil then
luajava.post(function()
webv_:removeView(parti2)
parti2:destroy()
end
)
parti2 = nil
end
end
, function()
if parti2 == nil then
parti2 = particle2("rgba(" .. hexTo255(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)[1] .. "," .. hexTo255(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)[2] .. "," .. hexTo255(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)[3] .. ",0.1)", "rgba(" .. hexTo255(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)[1] .. "," .. hexTo255(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)[2] .. "," .. hexTo255(ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ)[3] .. ",1)", "#" .. string.sub(string.format("%x", ᅢᆭᅡホᅡ대나카쌔라까ワᅢ따ノᅡᄇ), 3, -1))
luajava.post(function()
webv_:addView(parti2)
end
)
end
end
),
changan.button("退出", function()
local L0_4591, L1_4592
L0_4591 = "tuichu"
L1_4592 = 1
_ENV[L0_4591] = L1_4592
end
)
}
})