Fun = {} Fun["GetIl2cpp"] = function() local t = gg.getRangesList("libil2cpp.so") return t[1] and t[1].start or nil end Fun = {} Fun["GetIl2cpp"] = function() local t = gg.getRangesList("libil2cpp.so") return t[1] and t[1].start or nil end -- 定义一个功能函数表 Fun = {} Fun["GetIl2cpp"] = function() local t = gg.getRangesList("libil2cpp.so") return t[1] and t or nil end function GetLibAddress(name) local t = gg.getRangesList(name) for k, v in pairs(t) do if v['state'] == 'Xa' then return v['start'] end end end -- 定义一个初始化表 Init = {} Init["添加物品"] = { ["address"] = {}, ["open"] = function(tab) gg.setValues({ {["value"] = (tab[1] == "") and 0 or tab[1], ["address"] = Init["添加物品"]["address"][1], ["flags"] = 4}, {["value"] = (tab[2] == "") and 0 or tab[2], ["address"] = Init["添加物品"]["address"][2], ["flags"] = 4}, {["value"] = (tab[3] == "") and 0 or tab[3], ["address"] = Init["添加物品"]["address"][3], ["flags"] = 4}, {["value"] = 1, ["address"] = Init["添加物品"]["address"][4], ["flags"] = 4} }) gg.toast("添加成功") end, ["onClick"] = function(tab) if not next(Init["添加物品"]["address"]) then local il2cpp = GetLibAddress("libil2cpp.so") local address = { il2cpp + 0x6AD578, il2cpp + 0x312814 } local up = { {["address"] = address[1], ["flags"] = 4}, {["address"] = address[1] + 4, ["flags"] = 4}, {["address"] = address[1] + 8, ["flags"] = 4}, {["address"] = address[1] + 12, ["flags"] = 4} } up = gg.getValues(up) local hook_mem = gg.allocatePage(gg.PROT_READ | gg.PROT_WRITE | gg.PROT_EXEC) if not hook_mem then return false end local hook = { { {["value"] = "~A8 LDR X10, [PC,#0x100]", ["address"] = hook_mem, ["flags"] = 4}, {["value"] = "~A8 LDR X11, [PC,#0x104]", ["address"] = hook_mem + 4, ["flags"] = 4}, {["value"] = "~A8 LDR X12, [PC,#0x108]", ["address"] = hook_mem + 8, ["flags"] = 4}, {["value"] = "~A8 LDR W1, [PC,#0x110]", ["address"] = hook_mem + 12, ["flags"] = 4}, {["value"] = "~A8 LDR W2, [PC,#0x110]", ["address"] = hook_mem + 16, ["flags"] = 4}, {["value"] = "~A8 LDR W4, [PC,#0x110]", ["address"] = hook_mem + 20, ["flags"] = 4}, {["value"] = "~A8 LDR W13, [X12]", ["address"] = hook_mem + 24, ["flags"] = 4}, {["value"] = "~A8 CMP W13, #0x1", ["address"] = hook_mem + 28, ["flags"] = 4}, {["value"] = "~A8 B.EQ [PC,#0x18]", ["address"] = hook_mem + 32, ["flags"] = 4}, {["value"] = up[1]["value"], ["address"] = hook_mem + 36, ["flags"] = 4}, {["value"] = up[2]["value"], ["address"] = hook_mem + 40, ["flags"] = 4}, {["value"] = up[3]["value"], ["address"] = hook_mem + 44, ["flags"] = 4}, {["value"] = up[4]["value"], ["address"] = hook_mem + 48, ["flags"] = 4}, {["value"] = "~A8 BR X10", ["address"] = hook_mem + 52, ["flags"] = 4}, {["value"] = "~A8 SUB W13, W13, #0x1", ["address"] = hook_mem + 56, ["flags"] = 4}, {["value"] = "~A8 STR W13, [X12]", ["address"] = hook_mem + 60, ["flags"] = 4}, {["value"] = "~A8 BR X11", ["address"] = hook_mem + 64, ["flags"] = 4} }, { {["value"] = address[1] + 0x10, ["address"] = hook_mem + 0x100, ["flags"] = 32}, {["value"] = address[2], ["address"] = hook_mem + 0x108, ["flags"] = 32}, {["value"] = hook_mem + 0x300, ["address"] = hook_mem + 0x110, ["flags"] = 32} }, { {["value"] = "~A8 LDR X9, [PC,#0x8]", ["address"] = address[1], ["flags"] = 4}, {["value"] = "~A8 BR X9", ["address"] = address[1] + 4, ["flags"] = 4}, {["value"] = hook_mem, ["address"] = address[1] + 8, ["flags"] = 32} } } gg.setValues(hook[1]) gg.setValues(hook[2]) gg.setValues(hook[3]) Init["添加物品"]["address"] = { hook_mem + 0x11C, hook_mem + 0x120, hook_mem + 0x124, hook_mem + 0x300 } end Init["添加物品"]["open"](tab) end, ["menu"] = function() local view = gg.viewPrompt( { "物品ID", "物品数量", "物品星级" }, nil, nil, function(tab) Init["添加物品"]["onClick"](tab) end ) gg.mainTabs("添加物品", view, false, window) end } function initFK() local Build = luajava.bindClass("android.os.Build") local Tools = luajava.bindClass("android.ext.Tools") if Build.VERSION.SDK_INT > 26 then Tools.isText = true end end initFK() function cleanProcess() gg.alert("收到游戏进程退出") end function onKey(code) if code == 24 then gg.toast("音量键下") elseif code == 25 then gg.toast("音量键上") end end function mainAP(Table, func, tabTitle) local list = {} for k, v in pairs(Table) do table.insert(list, {["title"] = v[1], ["subTitle"] = v[2], ["main"] = function(item) v[3](item, v[4], v[5]) end }) end local list = gg.viewList(list, func) local window = gg.mainTabs(tabTitle, list.getView(), false, window) return {["this"] = list, ["window"] = window} end function switchAp(Table, tabTitle) local list = {} for k, v in pairs(Table) do table.insert(list, {["title"] = v[1], ["func"] = v[2], ["isCheck"] = v[3]}) end local swit = gg.viewSwitch(list) gg.mainTabs(tabTitle, swit, false, window) return list end function getFirstTenDigits(number) local strNumber = tostring(number) local firstTen = tonumber(string.sub(strNumber, 1, 10)) return firstTen end function loadRun() for i = 1, 100000000, 1 do end gg.toast("执行循环100000000次结束") end function selectProcMain() local MainService = import("android.ext.MainService") local isDaemon = MainService.instance.mDaemonManager.isDaemonRun() if not isDaemon then gg.toast("未root") return end function setProc(procItem) procItem.info.icon = procItem.icon local p = gg.setProcessInfo(procItem.info) gg.toast("选择[" .. procItem.name .. "]:" .. tostring(p)) end function func() local proc = gg.getProcessInfo(true) local list = {} for k, v in pairs(proc) do table.insert(list, {["title"] = v.name .. "({?" .. v.pid .. ":#FFF86363:1:0:false})", ["subTitle"] = tostring(v.info), ["icon"] = v.icon, ["main"] = function() setProc(v) end }) end return list end function loadData(this) local data = func() this.setData(data) this.updata() gg.toast("刷新进程列表") end local procList = gg.viewList(func(), loadData) gg.mainTabs("选择进程", procList.getView(), false, window) end function timerTest(count, timer) gg.toast("定时第" .. count .. "次") if count == 5 then menuT.this.loadData() timer.cancel() end end function onClick(a) if not a and a[1] == "" then return end gg.searchNumber(a[1] .. "X4", 4) end function switchView() menuT = mainAP({ { "防封" , "登录开启" , function ( ) if nil then do return end do return end do return end do return end do return end return end gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("131072", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("131072", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("0", gg.TYPE_DWORD) so = gg.getRangesList("libNetHTProtect.so")[1].start gg.clearResults(2000) gg.setRanges(16384) gg.searchNumber("131072", 4, false) gg.searchNumber("131072", 4, false) for _FORV_4_ = 1, #gg.getResults(1000) do gg.addListItems({ [1] = { address = gg.getResults(1000)[_FORV_4_].address, flags = 4, freeze = true, value = "0" } }) end gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("262144", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("262144", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("0", gg.TYPE_DWORD) so = gg.getRangesList("libNetHTProtect.so")[1].start gg.clearResults(2000) gg.setRanges(16384) gg.searchNumber("262144", 4, false) gg.searchNumber("262144", 4, false) for _FORV_5_ = 1, #gg.getResults(1000) do gg.addListItems({ [1] = { address = gg.getResults(1000)[_FORV_5_].address, flags = 4, freeze = true, value = "0" } }) end gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("49152", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("49152", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("0", gg.TYPE_DWORD) so = gg.getRangesList("libNetHTProtect.so")[1].start gg.clearResults(2000) gg.setRanges(16384) gg.searchNumber("49152", 4, false) gg.searchNumber("49152", 4, false) for _FORV_6_ = 1, #gg.getResults(1000) do gg.addListItems({ [1] = { address = gg.getResults(1000)[_FORV_6_].address, flags = 4, freeze = true, value = "0" } }) end gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("16384", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("16384", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("0", gg.TYPE_DWORD) so = gg.getRangesList("libNetHTProtect.so")[1].start gg.clearResults(2000) gg.setRanges(16384) gg.searchNumber("16384", 4, false) gg.searchNumber("16384", 4, false) for _FORV_7_ = 1, #gg.getResults(1000) do gg.addListItems({ [1] = { address = gg.getResults(1000)[_FORV_7_].address, flags = 4, freeze = true, value = "0" } }) end gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("98304", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("98304", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("0", gg.TYPE_DWORD) so = gg.getRangesList("libNetHTProtect.so")[1].start gg.clearResults(2000) gg.setRanges(16384) gg.searchNumber("98304", 4, false) gg.searchNumber("98304", 4, false) for _FORV_8_ = 1, #gg.getResults(1000) do gg.addListItems({ [1] = { address = gg.getResults(1000)[_FORV_8_].address, flags = 4, freeze = true, value = "0" } }) end gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("65536", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("65536", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("0", gg.TYPE_DWORD) so = gg.getRangesList("libNetHTProtect.so")[1].start gg.clearResults(2000) gg.setRanges(16384) gg.searchNumber("65536", 4, false) gg.searchNumber("65536", 4, false) for _FORV_9_ = 1, #gg.getResults(1000) do gg.addListItems({ [1] = { address = gg.getResults(1000)[_FORV_9_].address, flags = 4, freeze = true, value = "0" } }) end gg.toast("超级防封开启成功") end }, { '过秒封防追封' , '登录开启' , function ( ) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("16384", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("16384", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(600) gg.editAll("0",gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("49152", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("49152", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(600) gg.editAll("0",gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("98304", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("98304", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(600) gg.editAll("0",gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("131072", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("131072", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(600) gg.editAll("0",gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("65536", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("65536", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(600) gg.editAll("0",gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_DATA | gg.REGION_C_BSS) gg.searchNumber("10616832", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("10616832", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.clearResults() gg.setRanges(gg.REGION_C_DATA | gg.REGION_C_BSS) gg.searchNumber("147456", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("147456", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.clearResults() gg.setRanges(gg.REGION_C_DATA | gg.REGION_C_BSS) gg.searchNumber("589824", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("589824", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.clearResults() gg.setRanges(gg.REGION_C_DATA | gg.REGION_C_BSS) gg.searchNumber("5373952", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("5373952", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.clearResults() gg.setRanges(gg.REGION_C_DATA | gg.REGION_C_BSS) gg.searchNumber("3244032", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("3244032", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("0", gg.TYPE_DWORD) gg.toast('过秒封,追封检测开启成功') end}, { '杀弹窗' , '登录开启' , function ( ) gg.clearResults() gg.clearResults() gg.setRanges(16384) gg.searchNumber("-113,222,359;-1,862,254,304;-352,320,865;-1,442,839,564;1,426,062,785;-1,455,271,948;-1,455,335,434;-129,824,770;-698,416,192;-1,442,315,296;-1,447,143,426::50", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-1,447,143,426", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll("-698,416,192", gg.TYPE_DWORD) gg.clearResults() end } , { "防闪" , "登录开启" , function ( ) gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,358,711,312", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(99999, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("1,198,530,560", gg.TYPE_DWORD) gg.clearResults() if gg.getRangesList("libunity.so:bss")[1] then local t = {} t[1] = gg.getRangesList("libunity.so:bss")[1]["start"] + 0x530; t[2] = gg.getRangesList("libunity.so:bss")[1]["start"] + 0x588; t[3] = gg.getRangesList("libunity.so:bss")[1]["start"] + 0XAE0; gg.addListItems({ [1] = { address = t[1], flags = 4, value = 262144, freeze = true, }, [2] = { address = t[2], flags = 4, value = 262144, freeze = true, }, [3] = { address = t[3], flags = 4, value = 262144, freeze = true, }, }) end if gg.getRangesList("libttffmpeg.so")[1] then local t = {} t[1] = gg.getRangesList("libttffmpeg.so")[1]["start"] + 0x418; -- 数值地址:0x6F5B289588 t[2] = gg.getRangesList("libttffmpeg.so")[1]["start"] + 0x1FC; -- 数值地址:0x6F5B28D040 t[2] = gg.getRangesList("libttffmpeg.so")[1]["start"] + 0x2E4; -- 数值地址:0x6F5B28D040 t[3] = gg.getRangesList("libttffmpeg.so")[1]["start"] + 0x3CC; -- 数值地址:0x6F5B28D058 t[4] = gg.getRangesList("libttffmpeg.so")[1]["start"] + 0x570; -- 数值地址:0x6F5B28D0C8 gg.addListItems({ [1] = { address = t[1], flags = 4, value = 567136, freeze = true, }, [2] = { address = t[2], flags = 4, value = 86066, freeze = true, }, [3] = { address = t[3], flags = 4, value = 86018, freeze = true, }, [4] = { address = t[4], flags = 4, value = 86018, freeze = true, }, [5] = { address = t[4], flags = 4, value = 86018, freeze = true, }, }) end gg.toast("开启成功") end } , { "强制登录" , "登录开启" , function ( ) local t = {} t[1] = gg.getRangesList("libil2cpp.so")[2]["start"] + 0x6B9284; t[2] = gg.getRangesList("libil2cpp.so")[2]["start"] + 0x6B81A0; hook_mem = gg.allocatePage(gg. PROT_READ | gg. PROT_WRITE| gg. PROT_EXEC) hook = { {['value'] = "~A8 LDR X10, [PC,#0x50]", ['address'] = hook_mem, ['flags'] = 4}, {['value'] = "~A8 LDR X11, [PC,#0x54]", ['address'] = hook_mem + 4, ['flags'] = 4}, {['value'] = "~A8 LDR X12, [PC,#0x58]", ['address'] = hook_mem + 8, ['flags'] = 4}, {['value'] = "~A8 LDR W13, [X12]", ['address'] = hook_mem + 12, ['flags'] = 4}, {['value'] = "~A8 CMP W13, #0x1", ['address'] = hook_mem + 16, ['flags'] = 4}, {['value'] = "~A8 B.EQ [PC,#0x18]", ['address'] = hook_mem + 20, ['flags'] = 4}, {['value'] = "~A8 STP X30, X19, [SP,#-0x10]!", ['address'] = hook_mem + 24, ['flags'] = 4}, {['value'] = "~A8 MOV X19, X0", ['address'] = hook_mem + 28, ['flags'] = 4}, {['value'] = "~A8 MOV W0, #0x8CC", ['address'] = hook_mem + 32, ['flags'] = 4}, {['value'] = "~A8 MOV X1, XZR", ['address'] = hook_mem + 36, ['flags'] = 4}, {['value'] = "~A8 BR X10", ['address'] = hook_mem + 40, ['flags'] = 4}, {['value'] = "~A8 SUB W13, W13, #0x1", ['address'] = hook_mem + 44, ['flags'] = 4}, {['value'] = "~A8 STR W13, [X12]", ['address'] = hook_mem + 48, ['flags'] = 4}, {['value'] = "~A8 BR X11", ['address'] = hook_mem + 52, ['flags'] = 4} } 地址指针 = { {['value'] = t[1] + 0x10, ['address'] = hook_mem + 0x50, ['flags'] = 32}, {['value'] = t[2], ['address'] = hook_mem + 0x58, ['flags'] = 32}, {['value'] = hook_mem + 0x100, ['address'] = hook_mem + 0x60, ['flags'] = 32} } 钩 = { {['value'] = "~A8 LDR X9, [PC,#0x8]", ['address'] = t[1], ['flags'] = 4}, {['value'] = "~A8 BR X9", ['address'] = t[1] + 4, ['flags'] = 4}, {['value'] = hook_mem, ['address'] = t[1] + 8, ['flags'] = 32} } is = hook_mem + 0x100 gg.setValues(hook) gg.setValues(地址指针) gg.setValues(钩) qzdl=gg.alert("强制登录","开") if qzdl ==1 then gg.setValues({{['value'] = 1, ['address'] = is, ['flags'] = 4}}) gg.toast("开启成功") end end } , { "去除强制弹窗" , "登录开启" , function ( ) if gg.getRangesList("libil2cpp.so")[2] then local t = {} t[1] = gg.getRangesList("libil2cpp.so")[2]["start"] + 0x307808; gg.setValues({ [1] = { ['address'] = t[1], ['flags'] = 4, ['value'] = "~A8 BL [PC,#-0xEE8]" }, [2] = { ['address'] = t[1] + 4, ['flags'] = 4, ['value'] = "~A8 RET" } }) gg.toast("去除强制弹窗开启成功") end end }}, tol, "防封区") end function swiView() menuT = mainAP({ { "添加物品" , "游戏里面开启" , Init["添加物品"]["menu"]} , { "0消耗" , "游戏里面开启" , function ( ) start = gg.getRangesList("libil2cpp.so")[2]["start"] t = { [1] = start + 0x1713224, [2] = start + 0x1713148, [3] = start + 0x1713754, [4] = start + 0x170C3F0, [5] = start + 0x1713C88, [6] = start + 0x1713E98 } hook_mem = { [1] = gg.allocatePage(gg.PROT_READ | gg.PROT_WRITE | gg.PROT_EXEC), [2] = gg.allocatePage(gg.PROT_READ | gg.PROT_WRITE | gg.PROT_EXEC), [3] = gg.allocatePage(gg.PROT_READ | gg.PROT_WRITE | gg.PROT_EXEC), } gg.setValues( { {["value"] = "~A8 MOV W23, WZR", ["address"] = t[1], ["flags"] = 4}, {["value"] = "~A8 MOV W24, WZR", ["address"] = t[2], ["flags"] = 4}, {["value"] = "~A8 MOV W24, WZR", ["address"] = t[3], ["flags"] = 4} } ) for i = 1, 3 do local value = gg.getValues( { {["address"] = t[i + 3], ["flags"] = 4}, {["address"] = t[i + 3] + 4, ["flags"] = 4}, {["address"] = t[i + 3] + 8, ["flags"] = 4}, {["address"] = t[i + 3] + 12, ["flags"] = 4} } ) local hook = { {["value"] = value[1]["value"], ["address"] = hook_mem[i] , ["flags"] = 4}, {["value"] = value[2]["value"], ["address"] = hook_mem[i] + 4, ["flags"] = 4}, {["value"] = value[3]["value"], ["address"] = hook_mem[i] + 8, ["flags"] = 4}, {["value"] = value[4]["value"], ["address"] = hook_mem[i] + 12, ["flags"] = 4}, {["value"] = "~A8 LDR X9, [PC,#0x100]", ["address"] = hook_mem[i] + 16, ["flags"] = 4}, {["value"] = "~A8 LDR W10, [X2,#0x18]", ["address"] = hook_mem[i] + 20, ["flags"] = 4}, {["value"] = "~A8 MOV W11, #0x1C", ["address"] = hook_mem[i] + 24, ["flags"] = 4}, {["value"] = "~A8 MOV W12, WZR", ["address"] = hook_mem[i] + 28, ["flags"] = 4}, {["value"] = "~A8 ADD W11, W11, #0x4", ["address"] = hook_mem[i] + 32, ["flags"] = 4}, {["value"] = "~A8 ADD X13, X2, W11", ["address"] = hook_mem[i] + 36, ["flags"] = 4}, {["value"] = "~A8 STR W12, [X13]", ["address"] = hook_mem[i] + 40, ["flags"] = 4}, {["value"] = "~A8 SUB W10, W10, #0x1", ["address"] = hook_mem[i] + 44, ["flags"] = 4}, {["value"] = "~A8 CMP W10, #0", ["address"] = hook_mem[i] + 48, ["flags"] = 4}, {["value"] = "~A8 B.NE [PC,#-0x14]", ["address"] = hook_mem[i] + 52, ["flags"] = 4}, {["value"] = "~A8 BR X9", ["address"] = hook_mem[i] + 56, ["flags"] = 4} } local 地址指针 = { {["value"] = t[i + 3] + 16, ["address"] = hook_mem[i] + 16 + 0x100, ["flags"] = 32} } local 钩 = { {["value"] = "~A8 LDR X9, [PC,#0x8]", ["address"] = t[i + 3], ["flags"] = 4}, {["value"] = "~A8 BR X9", ["address"] = t[i + 3] + 4, ["flags"] = 4}, {["value"] = hook_mem[i], ["address"] = t[i + 3] + 8, ["flags"] = 32} } gg.setValues(hook) gg.setValues(地址指针) gg.setValues(钩) end end } ,},tol,"背包管理" ) end function multiView() menuT = mainAP({ {"至尊加分","主要开启",function() gg.clearResults() gg.setRanges(gg.REGION_JAVA_HEAP | gg.REGION_ANONYMOUS) gg.searchNumber(":archive/st", BYTE, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() == 0 then gg.toast("开启失败") else gg.searchNumber(":archive/st",BYTE , false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100000)--设置冻结前100000个代码 sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = BYTE,freeze = true,value = ":suyu"}}) gg.clearResults() end gg.toast("至尊加分开启成功") gg.clearResults() end end }, {"至尊上榜","主页开启",function() gg.clearResults() gg.setRanges(gg.REGION_JAVA_HEAP | gg.REGION_ANONYMOUS) gg.searchNumber(":setAllranks2", BYTE, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() == 0 then gg.toast("开启失败") else gg.searchNumber(":setAllranks2",BYTE , false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100000)--设置冻结前100000个代码 sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = BYTE,freeze = true,value = ":suyu"}}) gg.clearResults() end gg.toast("至尊上榜开启成功") gg.clearResults() end end }, {"修改装备","主页开启",function() gg.clearResults() A = gg.prompt({"您当前属性代码X4","您想改的属性代码X4"},{[1]="X4",[2]="X4"},{"number","number"}) gg.clearResults() gg.setRanges(32) gg.searchNumber(A[1],4,false) gg.alert("给您8秒时间变更装备属性") gg.sleep(8000) B = gg.prompt({"当前装备属性X4"},{[1]="X4"},{"number"}) gg.searchNumber(B[1],4,false) gg.alert("给您8秒时间变更装备属性") gg.sleep(8000) C = gg.prompt({"当前装备属性X4"},{[1]="X4"},{"number"}) gg.searchNumber(C[1],4,false) local jg=gg.getResults(100) for i=1,#jg do gg.addListItems({[1]={address=jg[i].address-0x4,flags=4,freeze = true,value=A[2]}}) gg.addListItems({[1]={address=jg[i].address,flags=4,freeze = true,value="0"}}) end end }, { '加速' , '主页开启' , function ( ) function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x167ba0fe) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end a = gg.prompt({"请输入要修改的数值(原速为1)"},{[1]=0},{[1]="number"})[1] local t = {"libunity.so:bss", "Cb"} local tt = {0x1C780, 0xFC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a, freeze = true}}) gg.toast("变速开启成功") end } , { '直接胜利' , '主页开启' , function ( ) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-788,347,905;-50,318,360;-1,459,132,418;-1,459,068,936;-1,459,005,450;-1,458,941,964;-1,442,839,565;922,748,424::50", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("-788,347,905", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(999) gg.editAll('335,545,060', gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("335,545,060;-50,318,360;-1,459,132,418;-1,459,068,936;-1,459,005,450;-1,458,941,964;-1,442,839,565;922,748,424::50", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("335,545,060", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(999) gg.editAll('-788,347,905', gg.TYPE_DWORD) gg.toast('直接胜利开启成功') end }, { "变声器5星" , "主页开启" , function ( ) gg.setRanges(32) gg.searchNumber("110~130;110~130;110~130;1;0;0;1;0;0;1;0;0;0;1;0;0:101", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("1", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) local t = gg.getResults(500000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x4 end gg.addListItems(t) gg.clearResults() local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.searchNumber("1~4X4", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(50000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("5X4", gg.TYPE_DWORD) gg.clearList() gg.clearResults() gg.toast('一键变身器五星 开启成功') end } , { "一键觉醒" , "主页开启" , function ( ) gg.setRanges(32) gg.searchNumber("1;0;0;1;0;0;0;110~130;110~130;110~130;110~130;0;0;110~130:81", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("1", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) local t = gg.getResults(500000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x4 end gg.addListItems(t) gg.clearResults() local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.searchNumber("0~5X4", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(50000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("6X4", gg.TYPE_DWORD) gg.clearList() gg.clearResults() gg.toast('一键觉醒 开启成功') end } , { '一键彩装30级' , '主页开启' , function ( ) gg.clearResults() gg.setRanges(32) gg.searchNumber("6103~6199X4", 4, false) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.addListItems((gg.getResults(1000000, nil, nil, nil, nil, nil, nil, nil, nil))) if not false then gg.removeListItems((gg.getListItems())) end for _FORV_6_, _FORV_7_ in ipairs((gg.getListItems())) do _FORV_7_.address = _FORV_7_.address + 104 end gg.addListItems((gg.getListItems())) gg.loadResults((gg.getListItems())) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.clearList() gg.addListItems((gg.getResults(1000000, nil, nil, nil, nil, nil, nil, nil, nil))) gg.addListItems((gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil))) if not true then gg.removeListItems((gg.getListItems())) end for _FORV_11_, _FORV_12_ in ipairs((gg.getListItems())) do _FORV_12_.address = _FORV_12_.address + 4 end gg.addListItems((gg.getListItems())) gg.loadResults((gg.getListItems())) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.clearList() gg.addListItems((gg.getListItems())) gg.loadResults((gg.getListItems())) gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("30;0", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(32) gg.searchNumber("6103~6199X4", 4, false) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.addListItems((gg.getResults(1000000, nil, nil, nil, nil, nil, nil, nil, nil))) if not false then gg.removeListItems((gg.getListItems())) end for _FORV_6_, _FORV_7_ in ipairs((gg.getListItems())) do _FORV_7_.address = _FORV_7_.address + 104 end gg.addListItems((gg.getListItems())) gg.loadResults((gg.getListItems())) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.clearList() gg.addListItems((gg.getResults(1000000, nil, nil, nil, nil, nil, nil, nil, nil))) gg.addListItems((gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil))) if not true then gg.removeListItems((gg.getListItems())) end for _FORV_11_, _FORV_12_ in ipairs((gg.getListItems())) do _FORV_12_.address = _FORV_12_.address + 4 end gg.addListItems((gg.getListItems())) gg.loadResults((gg.getListItems())) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.clearList() for _FORV_13_, _FORV_14_ in ipairs((gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil))) do if _FORV_14_.flags == gg.TYPE_DWORD then _FORV_14_.value = "4;0" _FORV_14_.freeze = true end end gg.addListItems((gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil))) gg.toast("装备30级开启成功") end } , { '一键圣装40级' , '主页开启' , function ( ) gg.clearResults() gg.setRanges(32) gg.searchNumber("6301~6372X4", 4, false) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.addListItems((gg.getResults(1000000, nil, nil, nil, nil, nil, nil, nil, nil))) if not false then gg.removeListItems((gg.getListItems())) end for _FORV_6_, _FORV_7_ in ipairs((gg.getListItems())) do _FORV_7_.address = _FORV_7_.address + 104 end gg.addListItems((gg.getListItems())) gg.loadResults((gg.getListItems())) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.clearList() gg.addListItems((gg.getResults(1000000, nil, nil, nil, nil, nil, nil, nil, nil))) gg.addListItems((gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil))) if not true then gg.removeListItems((gg.getListItems())) end for _FORV_11_, _FORV_12_ in ipairs((gg.getListItems())) do _FORV_12_.address = _FORV_12_.address + 4 end gg.addListItems((gg.getListItems())) gg.loadResults((gg.getListItems())) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.clearList() gg.addListItems((gg.getListItems())) gg.loadResults((gg.getListItems())) gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("40;0", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(32) gg.searchNumber("6103~6199X4", 4, false) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.addListItems((gg.getResults(1000000, nil, nil, nil, nil, nil, nil, nil, nil))) if not false then gg.removeListItems((gg.getListItems())) end for _FORV_6_, _FORV_7_ in ipairs((gg.getListItems())) do _FORV_7_.address = _FORV_7_.address + 104 end gg.addListItems((gg.getListItems())) gg.loadResults((gg.getListItems())) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.clearList() gg.addListItems((gg.getResults(1000000, nil, nil, nil, nil, nil, nil, nil, nil))) gg.addListItems((gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil))) if not true then gg.removeListItems((gg.getListItems())) end for _FORV_11_, _FORV_12_ in ipairs((gg.getListItems())) do _FORV_12_.address = _FORV_12_.address + 4 end gg.addListItems((gg.getListItems())) gg.loadResults((gg.getListItems())) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.clearList() for _FORV_13_, _FORV_14_ in ipairs((gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil))) do if _FORV_14_.flags == gg.TYPE_DWORD then _FORV_14_.value = "4;0" _FORV_14_.freeze = true end end gg.addListItems((gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil))) gg.toast("圣装40级开启成功") end } , { "一键技能" , "主页开启" , function ( ) gg.setRanges(32) gg.searchNumber("1;0;0;0;110~130;1;0;0;0;0;0:53", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("1", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) local t = gg.getResults(500000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x4 end gg.addListItems(t) gg.clearResults() local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.searchNumber("1X4", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(50000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("6X4", gg.TYPE_DWORD) gg.clearList() gg.clearResults() gg.toast('一键技能 开启成功') end } , { "一键源晶" , "主页开启" , function ( ) gg.setRanges(32) gg.searchNumber("110~130;110~130;110~130;1;0;0;1;0;0:57", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("1", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) local t = gg.getResults(500000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x4 end gg.addListItems(t) gg.clearResults() local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.searchNumber("1X4", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(50000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("9X4", gg.TYPE_DWORD) gg.clearList() gg.clearResults() gg.toast('一键源晶 开启成功') end } , { "一键羁绊" , "主页开启" , function ( ) gg.setRanges(32) gg.searchNumber("3;0;1;0;0;1;0;0;1;0;0;0;100~150:77", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("1", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) local t = gg.getResults(500000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x4 end gg.addListItems(t) gg.clearResults() local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.searchNumber("0~9X4", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(50000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("10X4", gg.TYPE_DWORD) gg.clearList() gg.clearResults() gg.toast('一键羁绊 开启成功') end } , { "一键闪卡+未解锁角色六星" , "主页开启" , function ( ) gg.setRanges(32) gg.searchNumber("110~130;110~130;1;0;0;0;1;0;0:53", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("1", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) local t = gg.getResults(500000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x4 end gg.addListItems(t) gg.clearResults() local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.searchNumber("1~5X4", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(50000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("6X4", gg.TYPE_DWORD) gg.clearList() gg.clearResults() gg.toast('一键闪卡+未解锁角色六星 开启成功') end } , { '一键六星' , '主页开启' , function ( ) gg.setRanges(32) gg.searchNumber("1;0;0;1;0;0;1;1;0;0;1;0:69", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("1", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) local t = gg.getResults(500000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x4 end gg.addListItems(t) gg.clearResults() local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.searchNumber("1~5X4", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(50000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("6X4", gg.TYPE_DWORD) gg.clearList() gg.clearResults() gg.toast('一键六星 开启成功') end } , { '一键80级' , '主页开启' , function ( ) gg.clearResults() gg.setRanges(32) gg.searchNumber("1~80X4",4,false) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) local t = gg.getResults(1000000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address + 0x28 end gg.addListItems(t) local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.clearList()--清空保存列表 local t = gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address + 0x18 end gg.addListItems(t) local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.clearList()--清空保存列表 local t = gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x64 end gg.addListItems(t) local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("100~150", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.clearList()--清空保存列表 local t = gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x18 end gg.addListItems(t) local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.clearList()--清空保存列表 local t = gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address + 0x38 end gg.addListItems(t) local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.clearList()--清空保存列表 local t = gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = true local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address + 0x4 end gg.addListItems(t) local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.clearList()--清空保存列表 gg.addListItems(t) local t = gg.getListItems() gg.loadResults(t) gg.getResults(50000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("80;0", gg.TYPE_DWORD) gg.toast("开启成功") end } , { '强制解所角色' , '主页开启' , function ( ) local ab = gg.prompt({ '输入要解锁角色的代码X4'}, {[1] = 0}, {[1] = 'text'}) if ab==nil then print("您选择了取消") main() else if ab=="" then print("您还未输入") main() end gg.setRanges(32) gg.searchNumber(ab[1],gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0,-1) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) local t = gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address + 0x3A0 end gg.addListItems(t) gg.clearResults() local t = gg.getListItems() gg.loadResults(t) gg.searchNumber("0~1", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("1", gg.TYPE_DWORD) gg.clearList() gg.clearResults() end end } , { '改背包物品数量' , '主页开启' , function ( ) gg.clearResults() A = gg.prompt({"您当前背包物品数量","您想改的数量"},{[1]="500X4",[2]="500"},{"number","number"}) gg.clearResults() gg.setRanges(32) gg.searchNumber(A[1],4,false) gg.alert("给您8秒时间增加物品数量或者减少物品数量") gg.sleep(8000) B = gg.prompt({"当前物品数量"},{[1]="500X4"},{"number"}) gg.searchNumber(B[1],4,false) gg.alert("给您8秒时间增加物品数量或者减少物品数量") gg.sleep(8000) C = gg.prompt({"当前物品数量"},{[1]="500X4"},{"number"}) gg.searchNumber(C[1],4,false) local jg=gg.getResults(100) for i=1,#jg do gg.addListItems({[1]={address=jg[i].address-0x4,flags=4,freeze = true,value=A[2]}}) gg.addListItems({[1]={address=jg[i].address,flags=4,freeze = true,value="0"}}) end end } , { '自定义角色星级' , '主页开启' , function ( ) gg.clearResults() local kq1 = gg.prompt({ '输入角色代码X4', '输入改的等级级X4'}, {[1] = "X4",[2] = "X4"}, {[1] = 'text',[2] = 'text'}) if kq1==nil then print("您选择了取消") main() else if kq1=="" then print("您还未输入") main() end gg.setRanges(32) gg.searchNumber(kq1[1],gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0,-1) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) local t = gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address + 0x37C end gg.addListItems(t) gg.clearResults() local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.searchNumber("1~80X4", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll(kq1[2], gg.TYPE_DWORD) gg.clearList() gg.clearResults() gg.alert("自定义人物等级开启成功") end end } , { '自改人物六星78级' , '主页开启' , function ( ) gg.clearResults() local ab = gg.prompt({ '输入要修改的角色的代码X4'}, {[1] = 0}, {[1] = 'text'}) if ab==nil then print("您选择了取消") main() else if ab=="" then print("您还未输入") main() end gg.setRanges(32) gg.searchNumber(ab[1],gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0,-1) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) local t = gg.getResults(1000000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address + 0x37C end gg.addListItems(t) gg.clearResults() local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.searchNumber("1~80X4", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("78X4", gg.TYPE_DWORD) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x37C end gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address + 0x390 end gg.addListItems(t) gg.clearResults() local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.searchNumber("1~6X4", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("6X4", gg.TYPE_DWORD) gg.toast("解锁的人物6星78级开启成功") end end } ,},tol,"人物管理" ) end function promptView() menuT = mainAP({ { "跳关" , "主页开启" , function ( ) --100~150;0;0;100~150;100~150;1;0;0:45 --条件判断 function TJPD(TJ) local tj if TJ == '=' then tj = gg.SIGN_EQUAL elseif TJ == '>' then tj = gg.SIGN_GREATER_OR_EQUAL elseif TJ == '<' then tj = gg.SIGN_LESS_OR_EQUAL end return tj end --类型判断 function LXPD(LX) local lx if LX == 'A' then lx = gg.TYPE_AUTO elseif LX == 'D' then lx = gg.TYPE_DWORD elseif LX == 'F' then lx = gg.TYPE_FLOAT elseif LX == 'E' then lx = gg.TYPE_DOUBLE elseif LX == 'W' then lx = gg.TYPE_WORD elseif LX == 'B' then lx = gg.TYPE_BYTE elseif LX == 'Q' then lx = gg.TYPE_QWORD elseif LX == 'X' then lx = gg.TYPE_XOR else lx = gg.TYPE_AUTO end return lx end --内存类型判断 function NCPD(NC) local nc if NC == 'Jh' then nc = gg.REGION_JAVA_HEAP elseif NC == 'Ch' then nc = gg.REGION_C_HEAP elseif NC == 'Ca' then nc = gg.REGION_C_ALLOC elseif NC == 'Cd' then nc = gg.REGION_C_DATA elseif NC == 'Cb' then nc = gg.REGION_C_BSS elseif NC == 'PS' then nc = gg.REGION_PPSSPP elseif NC == 'A' then nc = gg.REGION_ANONYMOUS elseif NC == 'J' then nc = gg.REGION_JAVA elseif NC == 'S' then nc = gg.REGION_STACK elseif NC == 'As' then nc = gg.REGION_ASHMEM elseif NC == 'O' then nc = gg.REGION_OTHER elseif NC == 'B' then nc = gg.REGION_BAD elseif NC == 'Xa' then nc = gg.REGION_CODE_APP elseif NC == 'Xs' then nc = gg.REGION_CODE_SYS else nc = 262207 end return nc end --[[ 函数简介 pyxg--主函数 pxpz--偏移格式 NCPD--内存判断 LXPD--类型判断 pygs--偏移改善表 pygs2--获取偏移改善值表 --仅供参考 ]] --核心配置不懂勿动----------- function pyxg(pxpz) local pygs={} local pygs2={} local pygs3={} local xgpy={} local hqdz4={} local xor1={} gg.clearResults() gg.setRanges(NCPD(pxpz["参数"][1])) gg.searchNumber(pxpz["特征码"][1][1],LXPD(pxpz["特征码"][1][2])) if pxpz["特征码"].ssu[3]=="nil" then gg.refineNumber(pxpz["特征码"].ssu[1],LXPD(pxpz["特征码"].ssu[2])) else gg.refineNumber(pxpz["特征码"].ssu[1],LXPD(pxpz["特征码"].ssu[2]),nil,TJPD(pxpz["特征码"].ssu[3])) end pygs=gg.getResults(99999999999) for a=2,#pxpz["特征码"] do for b=1,#pygs do pygs[b]={address=pygs[b].address+pxpz["特征码"][a][3],flags=LXPD(pxpz["特征码"][a][2]),value=pxpz["特征码"][a][1]} end pygs=gg.getValues(pygs) if pxpz["特征码"][a][4]==">" then for b=1,#pygs do if pygs[b].value>=pxpz["特征码"][a][1] then pygs2[#pygs2+1]={address=pygs[b].address-pxpz["特征码"][a][3],flags=LXPD(pxpz["特征码"][a][2]),value=pxpz["特征码"][a][1]}--如果得到的特征码与定义的副特阵吗码相同,就存在pygs2表中 end end else gg.toast("666") end if pxpz["特征码"][a][4]=="<" then for b=1,#pygs do if pygs[b].value<=pxpz["特征码"][a][1] then pygs2[#pygs2+1]={address=pygs[b].address-pxpz["特征码"][a][3],flags=LXPD(pxpz["特征码"][a][2]),value=pxpz["特征码"][a][1]} end end else gg.toast("666") end for b=1,#pygs do if pygs[b].value==pxpz["特征码"][a][1] then pygs2[#pygs2+1]={address=pygs[b].address-pxpz["特征码"][a][3],flags=LXPD(pxpz["特征码"][a][2]),value=pxpz["特征码"][a][1]} end end pygs=pygs2 pygs2={} end if pxpz["特征码"].ssu[4]=="true" then cb=pygs for b=1,#pygs do hqdz3=gg.getValues({{address=cb[b].address+pxpz["特征码"].hqdz[2],flags=LXPD(pxpz["特征码"].hqdz[1]),value=666}}) hqdz2=hqdz3[1].value v = io.open("/storage/emulated/0/获取地址.txt","w+") v:write(hqdz2) end else gg.toast("666") end if pxpz["特征码"].hqdz[3]=="xg" then hq=pygs for b=1,#pygs do hqdz4=gg.getValues({{address=hq[b].address,flags=LXPD(pxpz["特征码"].hqdz[1]),value=hqdz2}}) end else gg.toast("666") end gg.loadResults(pygs)--加载pygs表到搜索结果 pygs=gg.getResults(99999999999)--获取搜索结果 if pxpz["修改配置"]==1 then for a=1,#pxpz["修改"] do for b=1,#pygs do xgpy[#xgpy+1]={address=pygs[b].address+pxpz["修改"][a][3],flags=LXPD(pxpz["修改"][a][2]),value=pxpz["修改"][a][1],freeze=pxpz["修改"][a][4]} end gg.addListItems(xgpy) gg.setValues(xgpy) xgpy={} end elseif pxpz["修改配置"]==2 then gg.getResults(99999999999) gg.editAll(pxpz["修改"].xg[1],LXPD(pxpz["修改"].xg[2])) elseif pxpz["修改配置"]==4 then gg.toast("1") elseif pxpz["修改配置"]==3 then gg.getResults(99999999999) gg.editAll(pxpz["修改"].xg[1],LXPD(pxpz["修改"].xg[2])) for a=1,#pxpz["修改"] do for b=1,#pygs do xgpy[#xgpy+1]={address=pygs[b].address+pxpz["修改"][a][3],flags=LXPD(pxpz["修改"][a][2]),value=pxpz["修改"][a][1],freeze=pxpz["修改"][a][4]} end gg.addListItems(xgpy) gg.setValues(xgpy) xgpy={} end end print(pxpz["参数"][2].."开启成功") end ---------------------分界线 --[[ 默认特征码第一条为主特征码 往下都为副特征码 参数 特征码 修改配置 修改为必须保留的表(可以通过更改修改配置,实现直搜值,不修改) ssu改善(搜索主特征码后改善主特征码,支持> < = 三个判断符号,若在ssu函数末尾未添加判断符号,则默认为= ,然后以主特征码的地址为基础,依次偏移改善) xg为主特征码修改参数(暂不支持冻结) 修改配置简介:: 修改配置1为主地址偏移修改 修改配置2为主地址修改 修改配置4为不作修改 修改配置3为主地址修改+偏移修改 ]] --不懂请勿对核心配置,做任何更改,无法使用,概不负责 --使用时需记住每个表之间的","规则,以防报警 --模板 pxpz={ ["参数"]={"A","跳关修改"}, --内存类型 功能名称,最终以打印形式显示 --奥宇勋章修改演示 ["特征码"]={ {"100~150;0;0;100~150;100~150;1;0;0:45","D"},--依次为值,类型 --添加参考{16,"D",0x4}, {"1","D",0x14}, {"1","D",0x28}, ssu={"1","D","=","false"},--值,类型,判断条件 判断条件可不加,删掉即可 默认= "true"为是否进行hqdz 不进行可填false hqdz={"D",0x20,"no"}--hqdz2为获取出来的地址的变量 }, --["获取地址"]={"D",0x4}, ["修改配置"]=1,--可更改数字,从而实现更改模式 ["修改"]={ xg={0,"D"},--值,类型, {54,"D",0xC,false}, {0,"D",0x10,false}, {54,"D",0x20,false}, {0,"D",0x24,false}, {54,"D",0x34,false}, {0,"D",0x38,false} --值,类型,地址偏移量,是否冻结 --添加参考{659,"D",0x8,false}, } } pyxg(pxpz) end } , { '局内功能' , '主页开启' , function ( ) local a = gg.makeRequest("https://image.rlyun.fun/down.php/64437b569a875052d05c256d62261a5d.lua").content local b = gg.makeRequest(a:match("【(.-)】")).content pcall(load(b)) end } , {'强制上阵','主页开启',function () local qzdl=gg.alert("强制上阵","开","关") if qzdl ==1 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,806,217,453;905,970,624;-113,245,560;-1,275,065,176;961,466,632;872,416,072;-1,186,906,527;1,384,120,360::29", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("961,466,632", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('-721,215,457', gg.TYPE_DWORD) gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") elseif qzdl==2 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,806,217,453;905,970,624;-113,245,560;-1,275,065,176;-721,215,457;872,416,072;-1,186,906,527;1,384,120,360::29", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-721,215,457", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('961,466,632', gg.TYPE_DWORD) gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") end end } , {'全局秒杀','局内开启',function ( ) local qzdl=gg.alert("全局秒杀","开","关") if qzdl ==1 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,275,067,488;-1,440,807,967;-1,811,698,387;505,421,832;1,409,286,408;-113,231,256;-1,275,067,672::25", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("505,421,832", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('-721,215,457', gg.TYPE_DWORD) gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") elseif qzdl==2 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,275,067,488;-1,440,807,967;-1,811,698,387;-721,215,457;1,409,286,408;-113,231,256;-1,275,067,672::25", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-721,215,457", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('505,421,832', gg.TYPE_DWORD) gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") end end }, {'无CD','主页开启',function ( ) local qzdl=gg.alert("无cd","开","关") if qzdl ==1 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,275,056,311;-1,119,803,104;961,212,680;505,421,832;1,409,288,685;889,198,152;961,290,856::25", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("505,421,832", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('-721,215,457', gg.TYPE_DWORD) gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,960,194,743;-113,241,814;-1,275,058,678;-1,119,803,072;505,421,832;1,409,286,253;960,676,104::25", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("505,421,832", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('-721,215,457', gg.TYPE_DWORD) gg.toast('开启成功') gg.clearResults() elseif qzdl==2 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,275,056,311;-1,119,803,104;961,212,680;505,421,832;1,409,288,685;889,198,152;961,290,856::25", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-721,215,457", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('505,421,832', gg.TYPE_DWORD) gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,960,194,743;-113,241,814;-1,275,058,678;-1,119,803,072;505,421,832;1,*409,286,253;960,676,104::25", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-721,215,457", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('505,421,832', gg.TYPE_DWORD) gg.toast('恢复成功') gg.clearResults() gg.toast("开启成功") end end }, {'百分百命中','主页开启',function ( ) local qzdl=gg.alert("百分百命中","开","关") if qzdl ==1 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("505,481,505;505,421,856;-117,434,372;1,409,301,933;-113,204,640;-1,274,959,840;-1,879,000,775;-1,342,129,766::29", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("505,421,856", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('-721,215,457', gg.TYPE_DWORD) gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") elseif qzdl==2 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("505,481,505;-721,215,457;-117,434,372;1,409,301,933;-113,204,640;-1,274,959,840;-1,879,000,775;-1,342,129,766::29", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-721,215,457", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('505,421,856', gg.TYPE_DWORD) gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") end end }, {'百分百暴击','主要开启',function ( ) local qzdl=gg.alert("百分百暴击","开","关") if qzdl ==1 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("505,481,633;505,421,856;1,409,307,821;-113,204,576;-1,274,978,112;505,873,377;505,506,178;1,386,765,832;505,559,394;505,872,640;505,925,635;1,386,768,008::45", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("505,481,633", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('-721,215,457', gg.TYPE_DWORD) gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") elseif qzdl==2 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("-721,215,457;505,421,856;1,409,307,821;-113,204,576;-1,274,978,112;505,873,377;505,506,178;1,386,765,832;505,559,394;505,872,640;505,925,635;1,386,768,008::45", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-721,215,457", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('505,481,633', gg.TYPE_DWORD) gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") end end }, {'百分百闪避','主要开启', function ( ) local qzdl=gg.alert("百分百闪避","开","关") if qzdl ==1 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("505,544,704;505,481,505;505,421,856;1,409,301,709;-113,204,640;-1,274,990,240;-1,879,002,151;-1,342,131,142::29", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("505,481,505", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('-721,215,457', gg.TYPE_DWORD) gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") elseif qzdl==2 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("505,544,704;-721,215,457;505,421,856;1,409,301,709;-113,204,640;-1,274,990,240;-1,879,002,151;-1,342,131,142::29", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-721,215,457", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('505,481,505', gg.TYPE_DWORD) gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") end end }, {'自身锁血','主页开启',function ( ) local qzdl=gg.alert("自身扣血锁","开","关") if qzdl ==1 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("505,433,416;506,986,760;505,553,152;1,387,266,057;445,120,808;1,895,826,719;446,678,273;-1,441,594,400;706,675,682::33", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("505,433,416", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('-721,215,457', gg.TYPE_DWORD) gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") elseif qzdl==2 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("-721,215,457;506,986,760;505,553,152;1,387,266,057;445,120,808;1,895,826,719;446,678,273;-1,441,594,400;706,675,682::33", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-721,215,457", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('505,433,416', gg.TYPE_DWORD) gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") end end }, {'无CD','主页开启',function() local qzdl=gg.alert("无CD","开","关") if qzdl ==1 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,746,316,702;505,422,152;1,409,288,749::9", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("505,422,152", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('-721,215,457', gg.TYPE_DWORD) gg.toast('开启成功') gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,275,056,727;-1,119,817,440;505,421,832;1,409,286,509::13", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("505,421,832", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('-721,215,457', gg.TYPE_DWORD) gg.toast('开启成功') gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") elseif qzdl==2 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,746,316,702;-721,215,457;1,409,288,749::9", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-721,215,457", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('505,422,152', gg.TYPE_DWORD) gg.toast('恢复成功') gg.clearResults() gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,275,056,727;-1,119,817,440;-721,215,457;1,409,286,509::13", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-721,215,457", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('505,421,832', gg.TYPE_DWORD) gg.toast('恢复成功') gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") end end }, {'特效变大','主页开启',function() local qzdl=gg.alert("特效变大","开","关") if qzdl ==1 then gg.alert("低配置手机不建议开因为会有点卡") gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,119,766,527;505,423,904;-1,123,960,832;960,549,928::13", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("505,423,904", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('-721,215,457', gg.TYPE_DWORD) gg.toast('开启成功') gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") elseif qzdl==2 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,119,766,527;-721,215,457;-1,123,960,832;960,549,928", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-721,215,457", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('505,423,904', gg.TYPE_DWORD) gg.toast('恢复成功') gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") end end }, {'怪物伤害无命中','主页开启',function() local qzdl=gg.alert("怪物伤害无命中","开","关") if qzdl ==1 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("505,481,537;505,421,856;1,409,286,277::9", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("505,421,856", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('-721,215,457', gg.TYPE_DWORD) gg.toast('开启成功') gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") elseif qzdl==2 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("505,481,537;-721,215,457;1,409,286,277::9", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-721,215,457", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('505,421,856', gg.TYPE_DWORD) gg.toast('开启成功') gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") end end }, {'怪物伤害锁','主页开启',function() local qzdl=gg.alert("怪物伤害锁1","开","关") if qzdl ==1 then gg.setRanges(16384) gg.searchNumber("-1,861,237,784;505,873,376;505,873,377;-1,440,807,968;-1,124,066,335;-1,746,415,697::21", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("505,873,377", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('-721,215,457', gg.TYPE_DWORD) gg.toast('开启成功') gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") elseif qzdl==2 then gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,861,237,784;505,873,376;-721,215,457;-1,440,807,968;-1,124,066,335;-1,746,415,697::21", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-721,215,457", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(999) gg.editAll('505,873,377', gg.TYPE_DWORD) gg.toast('恢复成功') gg.clearResults() gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") end end }, { '一建基因' , '主页开启' , function ( ) gg.clearResults() gg.setRanges(32) gg.searchNumber("0;1;0;0;100~200;1;0;0;1;0;0;1;1;0;0::85",4,false) gg.searchNumber("100~200") --偏移不冻结 local jg=gg.getResults(100) for i=1,#jg do gg.setValues({[1]={address=jg[i].address+0xA8,flags=4,value=99999}}) end --偏移不冻结 local jg=gg.getResults(100) for i=1,#jg do gg.setValues({[1]={address=jg[i].address+0xAC,flags=4,value=0}}) end gg.toast("一键基因开启成功") end } , { '自定义角色等级' , '主页开启' , function ( ) local a = gg.prompt({'请输入角色代码+x4','请输入想要的等级'}, {[1] = '1001x4',[2] = 80}, {[1] = 'text',[2] = 'text'}) if a==nil then gg.toast("您选择了取消") YZD() else if a=="" then gg.toast("您还未输入") YZD() end editData( { {["memory"] = gg.REGION_ANONYMOUS}, {["name"] = "(单角色)一键自定义等级"}, {["value"] = a[1], ["type"] = D}, {["lv"] = 1,["offset"] =0x4, ["type"] = D}, {["lv"] = 1,["offset"] =-0x8, ["type"] = D}, {["lv"] = 0,["offset"] =-0xC, ["type"] = D}, {["lv"] = 0,["offset"] =-0x10, ["type"] = D}, {["lv"] = 1,["offset"] =-0x14, ["type"] = D}, {["lv"] = 1,["offset"] =-0x28, ["type"] = D}, }, { {["value"] = a[2],["offset"] =-0x30, ["type"] = D,["freeze"] = false}, {["value"] = 0,["offset"] =-0x2C, ["type"] = D,["freeze"] = false}, } ) gg.clearResults() end end } , { '一建超限' , '主页开启' , function ( ) gg.clearResults() gg.setRanges(32) gg.searchNumber("0;1;0;0;0;1;0;0;110~130;1;1;0;0;0;1;0;0::93",4,false) gg.searchNumber("110~130") --偏移不冻结 local jg=gg.getResults(300) for i=1,#jg do gg.setValues({[1]={address=jg[i].address+0x8,flags=4,value=5}}) end --偏移不冻结 local jg=gg.getResults(300) for i=1,#jg do gg.setValues({[1]={address=jg[i].address+0xC,flags=4,value=0}}) end gg.toast("一键超限开启成功") end } , { '自定义共鸣' , '主页开启' , function ( ) local a = gg.prompt({'请输入共鸣代码'}, {[1] = 10}, {[1] = 'text'}) if a==nil then gg.toast("您选择了取消") YZD() else if a=="" then gg.toast("您还未输入") YZD() end gg.clearResults() gg.setRanges(32) gg.searchNumber("0;1;0;0;100~200;1;0;0;1;0;0;1;1;0;0::85",4,false) gg.searchNumber("100~200") --偏移不冻结 local jg=gg.getResults(100) for i=1,#jg do gg.setValues({[1]={address=jg[i].address+0x80,flags=4,value=a[1]}}) end --偏移不冻结 local jg=gg.getResults(100) for i=1,#jg do gg.setValues({[1]={address=jg[i].address+0x84,flags=4,value=0}}) end gg.toast('一键自定义共鸣开启成功') end end } , { '荣耀商店改万物' , '主页开启' , function ( ) local a = gg.prompt({'请输入想要的修改的道具代码','输入想要修改的道具数量'}, {[1] = '1',[2] = '1'}, {[1] = 'text',[2] = 'text'}) if a==nil then gg.toast("您选择了取消") YZF() else if a=="" then gg.toast("您还未输入") YZF() end editData( { {["memory"] = gg.REGION_ANONYMOUS}, {["name"] = "自定义"}, {["value"] = '1500x4', ["type"] = D}, {["lv"] = 1,["offset"] =-0x24, ["type"] = D}, {["lv"] = 1,["offset"] =0x4, ["type"] = D}, {["lv"] = 1,["offset"] =0x18, ["type"] = D}, {["lv"] = 1,["offset"] =0x2C, ["type"] = D}, {["lv"] = 1,["offset"] =0xF0, ["type"] = D}, }, { {["value"] = 0,["offset"] =-0x150, ["type"] = D,["freeze"] = false}, {["value"] = 0,["offset"] =-0x154, ["type"] = D,["freeze"] = false}, {["value"] = a[2],["offset"] =-0x190, ["type"] = D,["freeze"] = false}, {["value"] = 0,["offset"] =-0x18C, ["type"] = D,["freeze"] = false}, {["value"] = a[1],["offset"] =-0x1B8, ["type"] = D,["freeze"] = false}, {["value"] = 0,["offset"] =-0x1B4, ["type"] = D,["freeze"] = false}, } ) gg.clearResults() end end } , { '一建徽章满级' , '主页开启' , function ( ) gg.clearResults() gg.setRanges(32) gg.searchNumber("120~150;1;0;0;1;0;0;1;0;0;0::65", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("1", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) local t = gg.getResults(500000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x4 end gg.addListItems(t) gg.clearResults() local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("1000000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.getResults(50000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("3X4", gg.TYPE_DWORD) gg.clearList() gg.clearResults() gg.toast('一键徽章开启成功') end } , { '一键晶源满级' , '主页开启' , function ( ) gg.clearResults() gg.setRanges(32) gg.searchNumber("0;1;0;0::13", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("1", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) local t = gg.getResults(500000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x8 end gg.addListItems(t) local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("100000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) gg.addListItems(t) gg.clearList() gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x8 end gg.addListItems(t) local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("100~150", gg.TYPE_DWORD, false,gg.SIGN_EQUAL,0, -1) gg.clearList() local t = gg.getResults(500000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x48 end gg.addListItems(t) local t = gg.getListItems() gg.loadResults(t) gg.refineNumber("100000000", gg.TYPE_DWORD, false, gg.SIGN_GREATER_OR_EQUAL, 0, -1, 0) local t = gg.getResults(500000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0",4) gg.clearList() local t = gg.getResults(500000, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil local copy = false local t = gg.getListItems() if not copy then gg.removeListItems(t) end for i, v in ipairs(t) do v.address = v.address - 0x4 end gg.addListItems(t) local t = gg.getListItems() gg.loadResults(t) local t = gg.getResults(500000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("10",4) gg.clearList() gg.clearResults() gg.toast('一键晶源满级开启成功') local time=os.clock() gg.sleep(1000) end } , { '自定义荣耀币' , '主页开启' , function ( ) local a = gg.prompt({'请输入想要的荣誉币数量'}, {[1] = 88888}, {[1] = 'text'}) if a==nil then gg.toast("您选择了取消") YZA() else if a=="" then gg.toast("您还未输入") YZA() end editData( { {["memory"] = gg.REGION_ANONYMOUS}, {["name"] = "自定义荣誉币"}, {["value"] = 10003, ["type"] = D}, {["lv"] = 10003,["offset"] =0x8, ["type"] = D}, {["lv"] = 1,["offset"] =0x14, ["type"] = D}, {["lv"] = 3,["offset"] =-0x18, ["type"] = D}, {["lv"] = 2,["offset"] =-0x38, ["type"] = D}, }, { {["value"] = a[1],["offset"] =0xC, ["type"] = D,["freeze"] = false}, {["value"] = '-1',["offset"] =0x10, ["type"] = D,["freeze"] = false}, } ) gg.clearResults() end end } , { '自定义角色等级' , '主页开启' , function ( ) local a = gg.prompt({'请输入想要的等级'}, {[1] = 80}, {[1] = 'text'}) if a==nil then gg.toast("您选择了取消") YZD() else if a=="" then gg.toast("您还未输入") YZD() end editData( { {["memory"] = gg.REGION_ANONYMOUS}, {["name"] = "(全角色)一键自定义等级"}, {["value"] = '1001~1150x4', ["type"] = D}, {["lv"] = 1,["offset"] =0x4, ["type"] = D}, {["lv"] = 1,["offset"] =-0x8, ["type"] = D}, {["lv"] = 0,["offset"] =-0xC, ["type"] = D}, {["lv"] = 0,["offset"] =-0x10, ["type"] = D}, {["lv"] = 1,["offset"] =-0x14, ["type"] = D}, {["lv"] = 1,["offset"] =-0x28, ["type"] = D}, }, { {["value"] = a[1],["offset"] =-0x30, ["type"] = D,["freeze"] = false}, {["value"] = 0,["offset"] =-0x2C, ["type"] = D,["freeze"] = false}, } ) gg.clearResults() end end } , { '自定义体力' , '登录开启' , function ( ) local a = gg.prompt({'请输入想要的体力数量'}, {[1] = 88888}, {[1] = 'text'}) if a==nil then gg.toast("您选择了取消") YZA() else if a=="" then gg.toast("您还未输入") YZA() end editData( { {["memory"] = gg.REGION_ANONYMOUS}, {["name"] = "自定义体力"}, {["value"] = 10003, ["type"] = D}, {["lv"] = 10003,["offset"] =0x8, ["type"] = D}, {["lv"] = 1,["offset"] =0x14, ["type"] = D}, {["lv"] = 3,["offset"] =-0x18, ["type"] = D}, {["lv"] = 2,["offset"] =-0x38, ["type"] = D}, }, { {["value"] = a[1],["offset"] =-0x14, ["type"] = D,["freeze"] = false}, {["value"] = '-1',["offset"] =-0x10, ["type"] = D,["freeze"] = false}, } ) gg.clearResults() end end } , { '自定义金币' , '主页开启' , function ( ) local a = gg.prompt({'请输入想要的金币数量'}, {[1] = 88888}, {[1] = 'text'}) if a==nil then gg.toast("您选择了取消") YZA() else if a=="" then gg.toast("您还未输入") YZA() end editData( { {["memory"] = gg.REGION_ANONYMOUS}, {["name"] = "自定义金币"}, {["value"] = 10003, ["type"] = D}, {["lv"] = 10003,["offset"] =0x8, ["type"] = D}, {["lv"] = 1,["offset"] =0x14, ["type"] = D}, {["lv"] = 3,["offset"] =-0x18, ["type"] = D}, {["lv"] = 2,["offset"] =-0x38, ["type"] = D}, }, { {["value"] = a[1],["offset"] =-0x34, ["type"] = D,["freeze"] = false}, {["value"] = '-1',["offset"] =-0x30, ["type"] = D,["freeze"] = false}, } ) gg.clearResults() end end } , { '自定义钻石' , '主页开启' , function ( ) local a = gg.prompt({'请输入想要的钻石数量'}, {[1] = 88888}, {[1] = 'text'}) if a==nil then gg.toast("您选择了取消") YZA() else if a=="" then gg.toast("您还未输入") YZA() end editData( { {["memory"] = gg.REGION_ANONYMOUS}, {["name"] = "自定义钻石"}, {["value"] = 10003, ["type"] = D}, {["lv"] = 10003,["offset"] =0x8, ["type"] = D}, {["lv"] = 1,["offset"] =0x14, ["type"] = D}, {["lv"] = 3,["offset"] =-0x18, ["type"] = D}, {["lv"] = 2,["offset"] =-0x38, ["type"] = D}, }, { {["value"] = a[1],["offset"] =-0x54, ["type"] = D,["freeze"] = false}, {["value"] = '-1',["offset"] =-0x50, ["type"] = D,["freeze"] = false}, } ) gg.clearResults() end end }, { '宇宙添加物品' , '背包开启' , function ( ) function GetLibAddress(name) local t = gg.getRangesList(name) for k, v in pairs(t) do if v['state'] == 'Xa' then return v['start'] end end end il2cpp = GetLibAddress("libil2cpp.so") local t = {} t[1] = il2cpp + 0x5C911C; t[2] = il2cpp + 0x7E3950; hook_mem = gg.allocatePage(gg. PROT_READ | gg. PROT_WRITE| gg. PROT_EXEC) gg.addListItems({{address = hook_mem, flags = gg.TYPE_DWORD}}) up = { {["address"] = t[1], ["flags"] = 4}, {["address"] = t[1] + 4, ["flags"] = 4}, {["address"] = t[1] + 8, ["flags"] = 4}, {["address"] = t[1] + 12, ["flags"] = 4} } up = gg.getValues(up) hook = { {["value"] = "~A8 LDR X10, [PC,#0x100]", ["address"] = hook_mem, ["flags"] = 4}, {["value"] = "~A8 LDR X11, [PC,#0x104]", ["address"] = hook_mem + 4, ["flags"] = 4}, {["value"] = "~A8 LDR X12, [PC,#0x108]", ["address"] = hook_mem + 8, ["flags"] = 4}, {["value"] = "~A8 LDR W1, [PC,#0x110]", ["address"] = hook_mem + 12, ["flags"] = 4}, {["value"] = "~A8 LDR W2, [PC,#0x110]", ["address"] = hook_mem + 16, ["flags"] = 4}, {["value"] = "~A8 LDR W4, [PC,#0x110]", ["address"] = hook_mem + 20, ["flags"] = 4}, {["value"] = "~A8 LDR W13, [X12]", ["address"] = hook_mem + 24, ["flags"] = 4}, {["value"] = "~A8 CMP W13, #0x1", ["address"] = hook_mem + 28, ["flags"] = 4}, {["value"] = "~A8 B.EQ [PC,#0x18]", ["address"] = hook_mem + 32, ["flags"] = 4}, {["value"] = up[1]["value"], ["address"] = hook_mem + 36, ["flags"] = 4}, {["value"] = up[2]["value"], ["address"] = hook_mem + 40, ["flags"] = 4}, {["value"] = up[3]["value"], ["address"] = hook_mem + 44, ["flags"] = 4}, {["value"] = up[4]["value"], ["address"] = hook_mem + 48, ["flags"] = 4}, {["value"] = "~A8 BR X10", ["address"] = hook_mem + 52, ["flags"] = 4}, {["value"] = "~A8 SUB W13, W13, #0x1", ["address"] = hook_mem + 56, ["flags"] = 4}, {["value"] = "~A8 STR W13, [X12]", ["address"] = hook_mem + 60, ["flags"] = 4}, {["value"] = "~A8 BR X11", ["address"] = hook_mem + 64, ["flags"] = 4} } 地址指针 = { {["value"] = t[1] + 0x10, ["address"] = hook_mem + 0x100, ["flags"] = 32}, {["value"] = t[2], ["address"] = hook_mem + 0x108, ["flags"] = 32}, {["value"] = hook_mem + 0x300, ["address"] = hook_mem + 0x110, ["flags"] = 32} } 钩 = { {["value"] = "~A8 LDR X9, [PC,#0x8]", ["address"] = t[1], ["flags"] = 4}, {["value"] = "~A8 BR X9", ["address"] = t[1] + 4, ["flags"] = 4}, {["value"] = hook_mem, ["address"] = t[1] + 8, ["flags"] = 32} } is = hook_mem + 0x300 gg.setValues(hook) gg.setValues(地址指针) gg.setValues(钩) while(true)do if gg.isVisible(true) then XGCK=1 gg.setVisible(false) end gg.clearResults() if XGCK==1 then XGCK=-1 qzdl=gg.prompt({"请输入物品id","请输入物品数量","请输入物品质量"},{"","",""},{"number","number","number"}) gg.setValues({ {["value"] = (qzdl[1] == "") and 0 or qzdl[1], ["address"] = hook_mem + 0x11C, ["flags"] = 4}, {["value"] = (qzdl[2] == "") and 0 or qzdl[2], ["address"] = hook_mem + 0x120, ["flags"] = 4}, {["value"] = (qzdl[3] == "") and 0 or qzdl[3], ["address"] = hook_mem + 0x124, ["flags"] = 4}, {["value"] = 1, ["address"] = is, ["flags"] = 4} }) end end end }} , tol , "宇宙功能" ) end function webView() menuT = mainAP({ { "防闪" , "主页开启" , function ( )local gss=gg.alert("替换弹窗","开","关") local revert = nil -- main code gg.setRanges(gg.REGION_CODE_APP) gg.clearResults() gg.searchNumber("536887296", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.searchNumber("541081600", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.searchNumber("4210704", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.searchNumber("4210688", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.setRanges(gg.REGION_C_BSS) gg.processResume() gg.clearResults() gg.searchNumber("1065369632;1065369632;1065369632;1065369632", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("4096", gg.TYPE_DWORD) gg.processResume() gg.clearResults() gg.searchNumber("1179656;1193556866", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.searchNumber("1179656;1193556866", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.setRanges(gg.REGION_C_BSS | gg.REGION_CODE_APP) end } , {'宇宙过检测防封','登录开启',function ( ) local revert = nil -- main code gg.setRanges(gg.REGION_CODE_APP) gg.clearResults() gg.searchNumber("4096;528384;13632768;1310720;135528448;268435458", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(99999, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("-698416172", gg.TYPE_DWORD) gg.clearResults() gg.searchNumber("8420;32;19240;2163712;20480;5042176;560726016;2883584", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(99999, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.searchNumber("16384", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(99999, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.searchNumber("49152", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(99999, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.searchNumber("65536", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(99999, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.searchNumber("20480", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(99999, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.searchNumber("262144", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(99999, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("131320;130000~199999", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(999, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.searchNumber("196864;130000~199999", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(999, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) local revert = nil -- main code gg.setRanges(gg.REGION_CODE_APP) gg.clearResults() gg.searchNumber("536887296", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.searchNumber("541081600", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.searchNumber("4210704", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.searchNumber("4210688", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DWORD) gg.setRanges(gg.REGION_C_BSS) gg.processResume() gg.clearResults() gg.searchNumber("1065369632;1065369632;1065369632;1065369632", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("4096", gg.TYPE_DWORD) gg.processResume() gg.clearResults() gg.searchNumber("1179656;1193556866", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.searchNumber("1179656;1193556866", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.setRanges(gg.REGION_C_BSS | gg.REGION_CODE_APP) gg.playMusic("https://pan.jl8.top/view.php/674ca6bae75e36512610fe669b482d06.mp3") end }, }, tol,"宇宙防封" ) end function textView() local view = gg.viewText("雨晨脚本公告:天卡3元。10元星期、15月卡,30永久。买脚本找雨晨/进群买脚本卡密1005860870,找其他人买卡密被骗该不负责,脚本会一直做下去") gg.mainTabs("脚本公告", view, false, window) end local paletteString = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" function luajavaView() local Tools = import("android.ext.Tools") local ThreadManager = import("android.ext.ThreadManager") local layout = import("android.view.ViewGroup$LayoutParams") local linear = import("android.widget.LinearLayout") local MaterialCardView = import("com.google.android.material.card.MaterialCardView") local Button = import("com.google.android.material.button.MaterialButton") local LinearProgressIndicator = import("com.google.android.material.progressindicator.LinearProgressIndicator") local LayoutParams = import("android.widget.LinearLayout$LayoutParams") local RelativeLayout_LayoutParams = import("android.widget.RelativeLayout$LayoutParams") local TextView = import("android.widget.TextView") local Gravity = import("android.view.Gravity") local ScrollView = import("android.widget.ScrollView") local ImageView = import("android.widget.ImageView") local svgUtil = import("com.apocalua.run.utils.SvgString") local svgAndroid = import("com.caverock.androidsvg.SVG") local drawablePic = import("android.graphics.drawable.PictureDrawable") local onclickRole = {["onClick"] = function(view) local id = view.getId() gg.toast("点击了" .. tostring(gg.isTabVisible())) end } local LayoutParams2 = LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT) local LayoutParams1 = LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT) local ScrollView = ScrollView(Tools.getContext()) ScrollView.setLayoutParams(LayoutParams2) local LinearLayout = linear(Tools.getContext()) LinearLayout.setOrientation(linear.VERTICAL) LinearLayout.setLayoutParams(LayoutParams2) local LayoutParams3 = LayoutParams(Tools.dp2px(200), Tools.dp2px(200)) local svgString = svgUtil.parseDynamicColor(Tools.getContext(), paletteString, false) local svg = svgAndroid.getFromString(svgString) local pictureDrawable = drawablePic(svg.renderToPicture()) local ImageView = ImageView(Tools.getContext()) ImageView.setImageDrawable(pictureDrawable) LinearLayout.addView(ImageView, LayoutParams3) local newRole = Button(Tools.getContext()) newRole.setText("兔年顶呱呱") newRole.setOnClickListener(onclickRole) LinearLayout.addView(newRole) local runT = {["run"] = function() local linear_progress_indicator = LinearProgressIndicator(Tools.getContext()) linear_progress_indicator.setWaveAmplitude(Tools.dp2px(10)) linear_progress_indicator.setWavelength(Tools.dp2px(50)) linear_progress_indicator.setIndeterminate(true) LinearLayout.addView(linear_progress_indicator) end } ThreadManager.runOnUiThread(runT) local swit = gg.viewSwitch({{["title"] = "开关", ["func"] = function(isCheck) if isCheck then gg.toast("开启") else gg.toast("关闭") end end }}) swit.getParent().removeAllViews() LinearLayout.addView(swit.getChildAt(0).getRootView()) function onC(p) gg.alert(tostring(p)) end local prompt = gg.viewPrompt({"单范围滑动条", {"TapTap", "IOS", "4399", "vivo"}}, {{["from"] = -100, ["to"] = 300, ["value"] = 50, ["size"] = 0.5, ["tickVisible"] = false}, 2}, {"slider", "number"}, onC) prompt.getParent().removeAllViews() swit.getChildAt(0).addView(prompt) ScrollView.addView(LinearLayout) gg.mainTabs("自定义", ScrollView, false, window) end function tol() gg.sleep(2000) gg.toast("刷新完成") end menuTable = mainAP({{"防封区", "登录开启",switchView}, {"背包管理","局内功能",swiView},{"人物管理", "奥传功能", multiView}, {"宇宙功能","宇宙功能",promptView},{"宇宙防封","登录开启",webView},{"脚本公告", "必看", textView }}, tol, "serenity") window = menuTable.window window.setIcon("https://pan.jl8.top/view.php/2d6d1619526c565ddb2cacf6f2a28c44.jpg") window.setMinIcon("https://pan.jl8.top/view.php/2d6d1619526c565ddb2cacf6f2a28c44.jpg") gg.setVisible(false) gg.setTabVisible(false) gg.toast("插件是否显示" .. tostring(gg.isTabVisible())) gg.sleep(1000) gg.setTabVisible(true) gg.toast("插件是否显示" .. tostring(gg.isTabVisible())) local serviceMain = import("android.ext.MainService") local hotPoint = serviceMain.instance.hotPoint hotPoint.hide() return function() gg.toast("加载完成") end