loadYunLua("1B681E51261138106110345B1275EA8CE583F02D2259403120550A7AE56AE771BF90DA8D8ED592D598FC1671AFF24C0E5F") do if -xlyz ~= 'xlyz' then gg.alert('运行异常,请重试') os.exit() return end local info = { ['appid'] = "11726", ['appkey'] = "Q4q49yz9QqDSZqSs", ['rc4_key'] = "gUZOAI36Gyf11726", ['version'] = "1.0", ['url_kawang'] = "卡网", } local r = xlyz[info] local p = r.SsAvAFFuyPPF55FvyuxooSFOUAAHSyoA if -r['登录状态'] ~= 'oOxxFyyyvHOMuvPvUFxA5FxvSOFs5HOo' then gg.alert('签名异常') return end end -- 把以上代码复制到你脚本最前面即可 function readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = { [true] = 32, [false] = 4 } if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({ { address = addr, flags = va[x64] } }) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF else end addr = addr[1].value + offset[i] end return addr end end function gg.edits(addr, Table, name) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr + v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2] + 1] = value else Table1[1][#Table1[1] + 1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) gg.toast((name or "") .. "开启成功") end function Aex_SetPointer(_so, _state, _index, _list, _val, _type, _freeze) local range=gg.getRangesList(_so..'*$') local tab,tab2={},{} errorflag = nil for i=1,#range do if string.find(_state, range[i].state) then table.insert(tab, range[i]) end end if _state == "Cb" then tab2 = tab goto label end Ae_stateToPerm = {Cd = "rw-p", Cdro = "r--p", Cdx = "rwxp", Xa = "r-xp"} perm = Ae_stateToPerm[_state] for i=1,#tab do if tab[i].type == perm then table.insert(tab2, tab[i]) end end if tab2 == nil then errorflag = 1 elseif tab2[_index] == nil then errorflag = 2 end if errorflag then local error = string.format("error:module %s[%s][%d] is not found [code:%d]", _so, _state, _index, errorflag) print(error) return end ::label::range = tab2[_index] tab,tab2={} local addr=(range.start+_list[1]) & 0xFFFFFFFFFF for i=2,#_list do local array=gg.getValues({{address=addr, flags=32}}) addr=(array[1].value+_list[i]) & 0xFFFFFFFFFF end local tab={{address=addr, flags=_type, freeze=_freeze}} if _val then tab[1].value=_val gg.setValues(tab) end if _freeze then gg.addListItems(tab) end end function Aex_GetPointer(_so, _state, _index, _list, _val, _type) local range=gg.getRangesList(_so..'*$') local tab,tab2={},{} errorflag = nil for i=1,#range do if string.find(_state, range[i].state) then table.insert(tab, range[i]) end end if _state == "Cb" then tab2 = tab goto label end Ae_stateToPerm = {Cd = "rw-p", Cdro = "r--p", Cdx = "rwxp", Xa = "r-xp"} perm = Ae_stateToPerm[_state] for i=1,#tab do if tab[i].type == perm then table.insert(tab2, tab[i]) end end if tab2 == nil then errorflag = 1 elseif tab2[_index] == nil then errorflag = 2 end if errorflag then local error = string.format("error:module %s[%s][%d] is not found [code:%d]", _so, _state, _index, errorflag) print(error) return end ::label::range = tab2[_index] tab,tab2={} local addr=(range.start+_list[1]) & 0xFFFFFFFFFF for i=2,#_list do local array=gg.getValues({{address=addr, flags=32}}) addr=(array[1].value+_list[i]) & 0xFFFFFFFFFF end return addr end function Aex_SetValues(_list) gg.setValues(_list) for i=1,#_list do if _list[i].freeze then gg.addListItems(_list) break end end end local cpp = gg.getRangesList("libil2cpp.so") if not cpp or #cpp == 0 then os.exit(gg.alert("获取配置失败,libil2cpp.so模块不存在!\n\n解决方案:\n\n请先选择逃跑吧少年游戏进程!")) end libil2cpp_so = cpp[1].start _ENV["ReadPointer"]=function(address) local x64 = gg.getTargetInfo().x64 local va = {[true]=32, [false]=4} local Table={{{address=address, flags=va[x64]}},{string.char(0)}} local addr = gg.getValues(Table[1]) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end _G[string.char(112,114,105,110,116)](Table[2][1]) addr = addr[1].value return addr end for k, v in pairs(gg.getRangesList('libil2cpp.so$')) do if (v.state == 'Xa') then il2cppStart = v['start'] break end end gg.toast("基地址: " .. string.format("%X", il2cppStart)) so = gg.getRangesList('libil2cpp.so')[2].start function BaseAddressY(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value gg.setValues(tt) end function BaseAddressD(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-698416192' gg.setValues(tt) end function BaseAddressK(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-1459531788' gg.setValues(tt) end function BaseAddressQZ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-1459520515' gg.setValues(tt) end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(681726122)--Q群 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 end return _S end local _A = string.format('0x%X',Get_Address(t_So, t_Offset, _bit)) return _A end local inject = {} inject.shellcode = function(addr,code) local resulM = {} for i=1,#code,2 do table.insert(results,{address = addr + (i + 1) / 2 - 1,flags = gg.TYPE_BYTE,value = string.sub(code,i,i + 1).."h"}) end gg.setValues(results) return saddr end function S_Pointer(t_So, t_Offset, _bit) local sjyy= cnm[math.random(1,#cnm)] local g=os.clock() 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 gg.toast("开启成功\n用时:"..os.clock()-g.."秒\n"..sjyy.."") end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function Aex_SetPointer(_so, _state, _index, _list, _val, _type, _freeze) local range=gg.getRangesList(_so..'*$') local tab,tab2={},{} errorflag = nil for i=1,#range do if string.find(_state, range[i].state) then table.insert(tab, range[i]) end end if _state == "Cb" then tab2 = tab goto label end Ae_stateToPerm = {Cd = "rw-p", Cdro = "r--p", Cdx = "rwxp", Xa = "r-xp"} perm = Ae_stateToPerm[_state] for i=1,#tab do if tab[i].type == perm then table.insert(tab2, tab[i]) end end if tab2 == nil then errorflag = 1 elseif tab2[_index] == nil then errorflag = 2 end if errorflag then local error = string.format("error:module %s[%s][%d] is not found [code:%d]", _so, _state, _index, errorflag) print(error) return end ::label::range = tab2[_index] tab,tab2={} local addr=(range.start+_list[1]) & 0xFFFFFFFFFF for i=2,#_list do local array=gg.getValues({{address=addr, flags=32}}) addr=(array[1].value+_list[i]) & 0xFFFFFFFFFF end local tab={{address=addr, flags=_type, freeze=_freeze}} if _val then tab[1].value=_val gg.setValues(tab) end if _freeze then gg.addListItems(tab) end end function xiaoqian(_so, _state, _index, _list, _val, _type) local range=gg.getRangesList(_so..'*$') local tab,tab2={},{} errorflag = nil for i=1,#range do if string.find(_state, range[i].state) then table.insert(tab, range[i]) end end if _state == "Cb" then tab2 = tab goto label end Ae_stateToPerm = {Cd = "rw-p", Cdro = "r--p", Cdx = "rwxp", Xa = "r-xp"} perm = Ae_stateToPerm[_state] for i=1,#tab do if tab[i].type == perm then table.insert(tab2, tab[i]) end end if tab2 == nil then errorflag = 1 elseif tab2[_index] == nil then errorflag = 2 end if errorflag then local error = string.format("error:module %s[%s][%d] is not found [code:%d]", _so, _state, _index, errorflag) print(error) return end ::label::range = tab2[_index] tab,tab2={} local addr=(range.start+_list[1]) & 0xFFFFFFFFFF for i=2,#_list do local array=gg.getValues({{address=addr, flags=32}}) addr=(array[1].value+_list[i]) & 0xFFFFFFFFFF end return addr end function Aex_SetValues(_list) gg.setValues(_list) for i=1,#_list do if _list[i].freeze then gg.addListItems(_list) break end end end function mhpz(addr, Table, name) local Table1 = {} local name = {} local namet='' for k, v in ipairs(Table) do local value = {address = addr + v[1], flags = 4} Table1[#Table1 + 1] = value end pf=gg.getValues(Table1) for y,m in ipairs(pf) do for i,v in ipairs(allSkin) do if m.value == v[2] then m.value=v[3] table.insert(name,v[1]) end end end if #name == 0 then gg.toast('美化失败,道具卡皮肤可能不是局内') else for i=1,#name do namet=namet..'第'..i..'张道具卡为: '..name[i]..'\n' end gg.toast('当前获取到您的道具卡为\n'..namet..'已极速美化!') gg.setValues(pf) end end cnm={"别拿曾经讲故事谁也不是曾经的那个自己.","每到晚上睡不着的时候我总喜欢看快手刷文案总会反反复复怀疑.","没说出口的话乱七八糟的心情和凌晨的心事都藏在我的心底.","我没有忘记谁只是在我最难的时候也没有人记住过我.","后来熬夜成瘾也习惯了没人关心我没有那么坚强.","其实那边风景也不错可惜我回不了头了.","苦而不严喜而不语或许才是生活中最好的状况.","既然幸福不了 那就做幸福的旁观者咯.","永远不成熟但永远真诚的做自己.","世界之大为何我们相遇.","花开花落缘聚缘散谁又能记得谁几年.","所有的承诺最后变成了一句对不起.","不要赌天意不要猜人心天意赌不起人心猜不透.","要开始好好努力啦.","你是朵花才会觉得春天离开你如果你是春天就永远有花."} ----------------------------------------------------------------------------------------------------------- function Main() menu = gg.multiChoice({ "1.选择进程[登录]", "2.清除列表[结算][必开]", "3.武器一键[稳定][局内]", "4.移速高跳[半稳][局内]", "5.超级武器[稳定][局内]", "6.终极刷钱[半稳][局内]", "7.SSS结算[稳定][1:30之后]", "8.火箭筒改迫击炮[半稳][局内]", "9.道具无冷[半稳][局内]", "10.疾跑改烟花[稳定][局内]", "11.人物加速[稳定][局内]", "12.倒地购物[稳定][局内]", "13.追捕破盾[半稳][局内]", "14.不死捐钱[半稳][局内]", "15.", "16.", "17.", "18.", "19.", "20.", "21.", "22.", "23.", "24.", "25.", "️️退出脚本️️", }, nil, os.date("每局结束必须清除列表")) if menu == nil then else if menu[1] == true then DLFS() end if menu[2] == true then QCLB() end if menu[3] == true then WQYJ() end if menu[4] == true then QYJT() end if menu[5] == true then Exit() end if menu[6] == true then JYQB() end if menu[7] == true then FUFU() end if menu[8] == true then BRMSM() end if menu[9] == true then FFNB() end if menu[10] == true then LDJS() end if menu[11] == true then CGFG() end if menu[12] == true then RWMH() end if menu[13] == true then DJMH() end if menu[14] == true then TSMY() end if menu[15] == true then YDKW() end if menu[16] == true then KHJS() end if menu[17] == true then AZDH() end if menu[18] == true then AWZK() end if menu[19] == true then AWNU() end if menu[20] == true then AMSP() end if menu[21] == true then AZWR() end if menu[22] == true then AMLP() end if menu[23] == true then ZBHT() end if menu[24] == true then ZMHY() end if menu[25] == true then ZYPQ() end if menu[26] == true then JSZH() end end XGCK=-1 end ------------------------------------------------------------------------------------------------------------- function DLFS() gg.setProcessX() end function QCLB() gg.clearList() gg.alert("清除列表✓") end function WQYJ() local t = {"libil2cpp.so", "Cd"} local tt = {0x6A5160, 0xB8, 0x8, 0x228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 16842752, freeze = true}}) local t = {"libil2cpp.so", "Cd"} local tt = {0x6A13B8, 0xB8, 0x48, 0xB8, 0xBC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) gg.addListItems({{address = ttt+0x4, flags = 4, value = 0, freeze = true}}) local t = {"libil2cpp.so", "Cd"} local tt = {0x6A13B8, 0xB8, 0x48, 0xB8, 0x88} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 0, freeze = true}}) local t = {"libil2cpp.so", "Cd"} local tt = {0x6A13B8, 0xB8, 0x48, 0xB8, 0x94} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) local t = {"libil2cpp.so", "Cd"} local tt = {0x6A7938, 0xB8, 0x0, 0x1EC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 1, freeze = true}}) local t = {"libil2cpp.so", "Cd"} local tt = {0x6A13B8, 0xB8, 0x48, 0xB8, 0xC4} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 328630, freeze = true}}) gg.toast("开启成功") end function QYJT() local WQ = gg.prompt({'输入数值'},{80},{'number'}) if not WQ or WQ[1] == "" then return end local t = {"libil2cpp.so", "Cd"} local tt = {0x6A13B8, 0xB8, 0x48, 0x28, 0x58, 0x10, 0x60, 0xDC} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = tonumber(ttt) + 0x1C, flags = 16, value = -50, freeze = true}}) gg.toast("开启成功") end function BRMSM() local lz = gg.getRangesList('libil2cpp.so')[2].start gg.setValues({ {address = lz + 0x263C000, flags = 4, value = -1442839565}, {address = lz + 0x263C000 + 0x4, flags = 4, value = -763359647}, {address = lz + 0x263C000 + 0x8, flags = 4, value = -1440807966}, {address = lz + 0x263C000 + 0xC, flags = 4, value = -1440807965}, {address = lz + 0x263C000 + 0x10, flags = 4, value = -1440807964}, {address = lz + 0x263C000 + 0x14, flags = 4, value = -1440807962}, {address = lz + 0x263C000 + 0x18, flags = 4, value = -1440807961}, {address = lz + 0x263C000 + 0x1C, flags = 4, value = -1811660751}, {address = lz + 0x263C000 + 0x20, flags = 4, value = 335807377} }) gg.setValues({{address = lz + 0x273CE60, flags = 4, value = 402390120}}) gg.sleep(500) gg.setValues({{address = lz + 0x273CE60, flags = 4, value = -1442839565}}) gg.toast("开启成功") end function Exit() local t = {"libil2cpp.so", "Cd"} local tt = {0x69D8A8, 0xB8, 0x158, 0x28, 0x18, 0x330, 0x50} local ttt = S_Pointer(t, tt, true) local WQ=gg.getValues({{address=ttt,flags =4}})[1].value local a = {"libil2cpp.so", "Cd"} local aa = {0x6A13B8, 0xB8, 0x48, 0xB8, 0xD8, 0x50} local aaa = S_Pointer(a, aa, true) gg.setValues({{address = aaa, flags = 4, value = WQ}}) gg.toast("开启成功") end function JYQB() function readPointer(name, offset, i) local re = gg.getRangesList(name) local x64 = gg.getTargetInfo().x64 local va = { [true] = 32, [false] = 4 } if re[i or 1] then local addr = re[i or 1].start + offset[1] for i = 2, #offset do addr = gg.getValues({ { address = addr, flags = va[x64] } }) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end local real_addr = readPointer("libil2cpp.so", {0x263C000}, 2) gg.setValues({ {address = real_addr + 0x00, flags = 4, value = -1442839565}, {address = real_addr + 0x04, flags = 4, value = -763359647}, {address = real_addr + 0x08, flags = 4, value = -1440807966}, {address = real_addr + 0x0C, flags = 4, value = -1440807965}, {address = real_addr + 0x10, flags = 4, value = -1440807964}, {address = real_addr + 0x14, flags = 4, value = -1440807962}, {address = real_addr + 0x18, flags = 4, value = -1440807961}, {address = real_addr + 0x1C, flags = 4, value = -1811660751}, {address = real_addr + 0x20, flags = 4, value = 335807377}, }) local addr2 = readPointer("libil2cpp.so", {0x273CE60}, 2) gg.setValues({{address = addr2, flags = 4, value = 402390120}}) gg.sleep(500) gg.setValues({{address = addr2, flags = 4, value = -1442839565}}) gg.alert("开启成功") end function FUFU() math.randomseed(os.time()) local jiuren_value = math.random(8, 15) local shanghai_value = math.random(1350, 3000) local jidao_value = math.random(10, 20) local t = {"libil2cpp.so", "Cd"} local tt = {0x6A13B8, 0x40, 0xB8, 0x48, 0x520} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = jiuren_value}}) gg.setValues({{address = ttt+0x8, flags = 16, value = shanghai_value}}) gg.setValues({{address = ttt+0x1c, flags = 4, value = jidao_value}}) local lib=gg.getRangesList("libil2cpp.so")[2].start gg.setValues({{address=lib+0x420C984,flags=4,value=335545652}}) gg.sleep(10) gg.setValues({{address=lib+0x420C984,flags=4,value=-788446209}}) gg.toast("开启成功") end function BRMSM() local t = {"libil2cpp.so", "Cd"} local tt = {0x69D8A8,0xB8,0x68,0x28,0x18,0x198} local ttt = S_Pointer(t, tt, true) local x1=gg.getValues({{address=ttt,flags=32}}) local d = {"libil2cpp.so", "Cd"} local dd = {0x6A13B8, 0xB8, 0x48, 0xB8, 0x218} local ddd = S_Pointer(d, dd, true) gg.edits(ddd, {{x1[1].value, 32, 0, false}}) local t = {"libil2cpp.so", "Cd"} local tt = {0x69D8A8,0xB8,0x18,0xA8,0x138,0xC0} local ttt = S_Pointer(t, tt, true) local x1=gg.getValues({{address=ttt,flags=32}}) local d = {"libil2cpp.so", "Cd"} local dd = {0x6A13B8, 0xB8, 0x48, 0xB8, 0xD8} local ddd = S_Pointer(d, dd, true) gg.edits(ddd, {{x1[1].value, 32, 0, false}}) gg.toast("开启成功") end function FFNB() local t = {"libil2cpp.so", "Cd"} local tt = {0x6A13B8, 0xB8, 0x48, 0x138, 0x40} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = tonumber(ttt), flags = 16, value = 0, freeze = true}}) gg.toast("开启成功") end function LDJS() local t = {"libil2cpp.so", "Cd", 1} local tt = {0x69D8A8, 0xB8, 0x160, 0x28, 0x18, 0x870} local ttt = S_Pointer(t, tt, true) if not ttt then return end local src_addr = tonumber(ttt) + 0xCC0 local src_val = gg.getValues({{address = src_addr, flags = 4}})[1].value gg.setValues({{address = tonumber(ttt), flags = 4, value = src_val}}) gg.alert("疾跑改烟花开启成功") gg.toast("开启成功") end function CGFG() local t = {"libil2cpp.so", "Cd"} local tt = {0x6A13B8, 0xB8, 0x48, 0x3B0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt+-0x1E0, flags = 16, value = 1.9, freeze = true}}) local t = {"libil2cpp.so", "Cd"} local tt = {0x6A13B8, 0xB8, 0x48, 0x3B0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt+-0x1E0, flags = 16, value = 1.4, freeze = true}}) gg.toast("开启成功") end -- 主菜单函数 function RWMH() 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 end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function SetValue() local libList = gg.getRangesList('libil2cpp.so') if not libList or #libList < 2 then gg.alert("未检测到游戏进程") return end -- 基址 local so = gg.getRangesList('libil2cpp.so')[2].start gg.setValues({ {address = so + 0x4219508, flags = 4, value = -698416192} }) gg.alert("执行成功") end SetValue() gg.toast("开启成功") end function DJMH() function fastsearch(search, write, we) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then if we ~= nil then gg.toast(we .. " -> 主特征码不存在") end return false end local result = gg.getResults(gg.getResultsCount()) gg.clearResults() -- 多级偏移精确匹配 for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = {address = r.address + search[i][2], flags = search[i][3]} end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end -- 批量修改与冻结 if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do for _, vv in ipairs(write) do local p = { address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4] } if vv[4] then table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) if we ~= nil then gg.toast(we .. "\n -> 共修改" .. (#tb[1] + #tb[2]) .. "条数值") end else if we ~= nil then gg.toast(we .. " -> 开启失败,没有符合条件的值") end end end function BaseAddressY(address, value) local so = gg.getRangesList('libil2cpp.so')[2].start local tt = { { address = so + address, flags = 4, value = value } } gg.setValues(tt) end BaseAddressY(0x3923A94, 1384120352) BaseAddressY(0x3923A98, -698416192) end function TSMY() 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 end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function busi_juanqian() local libList = gg.getRangesList('libil2cpp.so') if not libList or #libList < 2 then gg.alert("未检测到游戏进程,请先选择进程") return end -- 第一个地址 local t1 = {"libil2cpp.so", "Cd", 1} local tt1 = {0x695B48, 0xB8, 0x0, 0x1A0, 0x18, 0x30} local ttt1 = S_Pointer(t1, tt1, true) -- 第二个地址 local t2 = {"libil2cpp.so", "Cd", 1} local tt2 = {0x695B48, 0xB8, 0x0, 0x1A8, 0x78, 0x30} local ttt2 = S_Pointer(t2, tt2, true) if not ttt1 or not ttt2 then gg.alert("功能开启失败,未找到对应内存地址") return end gg.addListItems({{address = tonumber(ttt1), flags = 4, value = 1, freeze = true}}) gg.addListItems({{address = tonumber(ttt2), flags = 4, value = 1, freeze = true}}) gg.alert("不死捐钱 开启成功") end busi_juanqian() gg.toast("开启成功") end function YDKW() gg.toast("开启成功") end function AZDH() gg.toast("开启成功") end function AWZK() end function AWNU() end function AMSP() gg.toast("开启成功") end function AZWR() end function AMLP() gg.toast("开启成功") end function ZBHT() end function ZYPQ() end function JSZH() print("芙芙NB") os.exit() end ------------------------------------------------------------------------------------------------------------- function HOME() lw=1 Main() end ------------------------------------------------------------------------------------------------------------- cs = '芙哥制作' while(true)do if gg.isVisible(true) then XGCK=1 gg.setVisible(false) end gg.clearResults() if XGCK==1 then Main() end end -------------------------------------------------------------------------------------------------------------