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\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 ) } })