do if type(getrlyunyz) ~= 'function' then gg.alert('请使用RLGG执行') os.exit() return end local info = { example_version = '1.0.3', name = 'Xiaoyu开发者', appid = '100632', appkey = 'bFAiiaf9cCqqisyg', rc4key = '4uD230dPL9MC4GE2', version = '1.0', mi_type = '3' } local rlyunyz = getrlyunyz(info) local ret = rlyunyz.start() if not ret or not isTable(ret) or ret.sign ~= 'a33cb4069d5bd30b1ebf79037d7816c4' then os.exit() return end end function Main() SN = gg.choice({ "进程", "轻量", "退出脚本" }, 2026, "Xiaoyu开发者") if SN == 1 then 进程() end if SN == 2 then 轻量() end if SN == 3 then Exit() end XGCK = -1 end function Exit() os.exit() end function 进程() gg.setProcessX() end function 轻量() SN =gg.multiChoice({ "加速", "范围", "防闪", "秒落", "返回" }, nil, "Xiaoyu开发者版") if SN == nil then else if SN[1] == true then a() end if SN[2] == true then b() end if SN[3] == true then c() end if SN[4] == true then d() end if SN[5] == true then Exit() end end XGCK = -1 end function a() function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end --配置 function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return print(gg.getValues(tab)) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function ze(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end --配置文件-- function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return print(gg.getValues(tab)) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function ze(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end local Ranges=gg.getRangesList('/') local function Read(module,type) for k,v in pairs(Ranges) do if v['internalName']:match('[^/]*$')==module and v['type']==type then return v['start'] end end end local Table={} local function Modify(address,value,flags) Table[#Table+1]={address=address,value=value,flags=flags} end function Dec(tab,offset) local num = 0 local str = "" for k,v in pairs(tab) do str = str..v:gsub(".",function (str) num = num+1 return string.char(str:byte()-offset[k][num]) end) num = 0 end return str end load(Dec({" "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "},{{125,11,18},{128,12,23},{116,18,96},{150,50,62},{150,42,48},{187,31,28},{127,13,84},{109,31,20},{110,27,84},{125,20,31},{124,13,84},{125,14,27},{126,6,27},{183,18,31},{118,27,87},{119,17,29},{130,20,96},{127,31,12},{130,67,5},{104,96,37},{193,31,28},{127,14,27},{112,13,94},{134,67,31},{127,28,13},{183,37,94},{109,31,20},{110,27,94},{134,67,10},{130,20,11},{126,84,37},{193,26,20},{130,25,13},{193,35,67},{125,20,31},{124,13,84},{136,94,26},{113,27,27},{105,27,94},{134,67,26},{113,27,27},{105,27,3},{102,96,25},{124,82,13},{126,12,42},{130,20,11},{126,13,88},{127,31,12},{130,87,23},{125,96,26},{113,27,27},{105,27,67},{166,12,14},{110,27,96},{111,24,27},{117,96,25},{124,82,31},{127,28,52},{122,13,12},{154,12,27},{118,13,88},{127,31,12},{130,87,27},{117,28,96},{122,26,96},{117,31,19},{126,2,67},{117,23,20},{195,12,24},{126,18,96},{124,25,82},{111,17,31},{112,12,88},{188,37,89},{181,82,18},{130,19,27},{181,82,89},{134,89,87},{126,18,28},{195,27,18},{127,96,26},{110,18,29},{111,23,17},{117,96,51},{149,62,88},{130,28,28},{186,12,67},{124,25,82},{124,27,12},{141,31,20},{110,27,13},{187,5,37},{178,35,67},{104,31,28},{127,14,27},{112,13,67},{130,28,28},{183,26,20},{130,25,13},{166,76,3},{102,87,31},{127,28,67},{112,12,14},{122,18,25},{181,26,17},{113,19,31},{111,88,94},{190,40,94},{183,12,37},{178,35,82},{109,31,20},{110,27,87},{122,26,96},{187,93,31},{127,28,87},{166,67,79},{173,96,12},{123,27,18},{195,31,28},{127,67,31},{127,28,70},{112,11,30},{187,71,84},{178,74,87},{195,27,18},{127,96,23},{125,96,88},{192,31,28},{127,87,67},{166,79,96},{111,24,27},{117,96,31},{127,28,67},{130,28,28},{181,82,94},{179,80,80},{179,80,80},{179,94,96},{126,20,13},{126,96,31},{127,28,67},{112,12,14},{122,18,25},{181,26,17},{113,19,31},{111,88,94},{190,28,94},{183,94,80},{107,94,82},{181,31,28},{127,87,27},{117,28,96},{113,27,12},{110,14,18},{195,31,28},{127,96,27},{117,28,96},{217,118,118},{217,96,96}}))() so=gg.getRangesList('libUE4.so')[1].start py=0X2A9DA10 setvalue(so+py,16,-8.18934644e19)--没有 py=0X2710C8C setvalue(so+py,16,-1.8638977064931013E-20) py=0X26F9C00 setvalue(so+py,16,-3.7444097189855772E28) py=0X2C3B974 setvalue(so+py,16,6.163041208912419E-33) py=0X2C3B98C setvalue(so+py,16,2.647004150351742E-23) py=0X2C3BA14 setvalue(so+py,16,10.90734863281)-- py=0X2C3BA18 setvalue(so+py,16,-1.88909657e26)-- py=0X26CA960 setvalue(so+py,16,-8.1652423e22) py=0X2D107D0 setvalue(so+py,16,-6.152623126282461E27) so=gg.getRangesList('libUE4.so')[1].start py=0X26CA960 setvalue(so+py,16,-8.1652423e22) ze({'libUE4.so:bss','Cb'},{0x1EADC8,0x20,0x2CC,0x140,0x154},"冻结","152,773.828125",16,"x") ze({'libUE4.so:bss','Cb'},{0x1EADC8,0x20,0x2CC,0x140,0x150},"冻结","44,215.0234375",16,"y") ze({'libUE4.so:bss','Cb'},{0x1EADC8,0x20,0x2CC,0x140,0x158},"冻结","5,786.095703125",16,"z") so=gg.getRangesList('libUE4.so')[1].start py=0X26CA960 setvalue(so+py,16,0.0) gg.sleep(1800) gg.clearList() --so=gg.getRangesList('libUE4.so')[1].start --py=0X2650354 -- setvalue(so+py,16,0.0)--人物罚站-5.10801854e27 --ze({'libUE4.so:bss','Cb'},{0x1EADC8, 0x20, 0x2CC, 0x310, 0x1b8},"修改","220",16,"高仿定飞") ze({'libUE4.so:bss','Cb'},{0x1EADC8, 0x20, 0x2CC, 0x310, 0x2c},"冻结","15800",16,"冻结关键") ze({'libUE4.so:bss','Cb'},{0x1EADC8, 0x20, 0x2CC, 0x310, 0x174},"冻结","9999",16,"冻结关键") function Dec(tab,offset) local num = 0 local str = "" for k,v in pairs(tab) do str = str..v:gsub(".",function (str) num = num+1 return string.char(str:byte()-offset[k][num]) end) num = 0 end return str end load(Dec({" "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "},{{125,11,18},{128,12,23},{116,18,96},{150,50,62},{150,42,48},{187,31,28},{127,13,84},{109,31,20},{110,27,84},{125,20,31},{124,13,84},{125,14,27},{126,6,27},{183,18,31},{118,27,87},{119,17,29},{130,20,96},{127,31,12},{130,67,5},{104,96,37},{193,31,28},{127,14,27},{112,13,94},{134,67,31},{127,28,13},{183,37,94},{109,31,20},{110,27,94},{134,67,10},{130,20,11},{126,84,37},{193,26,20},{130,25,13},{193,35,67},{125,20,31},{124,13,84},{136,94,26},{113,27,27},{105,27,94},{134,67,26},{113,27,27},{105,27,3},{102,96,25},{124,82,13},{126,12,42},{130,20,11},{126,13,88},{127,31,12},{130,87,23},{125,96,26},{113,27,27},{105,27,67},{166,12,14},{110,27,96},{111,24,27},{117,96,25},{124,82,31},{127,28,52},{122,13,12},{154,12,27},{118,13,88},{127,31,12},{130,87,27},{117,28,96},{122,26,96},{117,31,19},{126,2,67},{117,23,20},{195,12,24},{126,18,96},{124,25,82},{111,17,31},{112,12,88},{188,37,89},{181,82,18},{130,19,27},{181,82,89},{134,89,87},{126,18,28},{195,27,18},{127,96,26},{110,18,29},{111,23,17},{117,96,51},{149,62,88},{130,28,28},{186,12,67},{124,25,82},{124,27,12},{141,31,20},{110,27,13},{187,5,37},{178,35,67},{104,31,28},{127,14,27},{112,13,67},{130,28,28},{183,26,20},{130,25,13},{166,76,3},{102,87,31},{127,28,67},{112,12,14},{122,18,25},{181,26,17},{113,19,31},{111,88,94},{190,40,94},{183,12,37},{178,35,82},{109,31,20},{110,27,87},{122,26,96},{187,93,31},{127,28,87},{166,67,79},{173,96,12},{123,27,18},{195,31,28},{127,67,31},{127,28,70},{112,11,30},{187,71,84},{178,74,87},{195,27,18},{127,96,23},{125,96,88},{192,31,28},{127,87,67},{166,79,96},{111,24,27},{117,96,31},{127,28,67},{130,28,28},{181,82,94},{179,80,80},{179,80,80},{179,94,96},{126,20,13},{126,96,31},{127,28,67},{112,12,14},{122,18,25},{181,26,17},{113,19,31},{111,88,94},{190,28,94},{183,94,80},{107,94,82},{181,31,28},{127,87,27},{117,28,96},{113,27,12},{110,14,18},{195,31,28},{127,96,27},{117,28,96},{217,118,118},{217,96,96}}))() local KKB=gg.getRangesList("libUE4.so")[1].start MNBMVP(KKB+0X1254310,0,16)--防拉1,477,779,456.0 so=gg.getRangesList('libUE4.so')[1].start py=0x119143c setvalue(so+py,16,0)--限速 ze({'libUE4.so:bss','Cb'},{0x1EADC8,0x20,0x2CC,0x310,0x7C4},"修改","20,000.0",16,"670关键") ze({'libUE4.so:bss','Cb'},{0x1EADC8,0x20,0x2CC,0x1558},"修改","70",16,"站") ze({'libUE4.so:bss','Cb'},{0x1EADC8,0x20,0x2CC,0x60},"修改",".3",16,"减速防") ze({'libUE4.so:bss','Cb'},{0x1EADC8, 0x20, 0x2CC, 0x310, 0x138},"修改","65",16,"人物爬墙") ze({'libUE4.so:bss','Cb'},{0x1EADC8,0x20,0x18,0x1C8,0x3C8},"修改",".2",16,"0.0005全局") ze({'libUE4.so:bss','Cb'},{0x1EADC8,0x20,0x18,0x1C8,0x3D4},"修改","0.1",16,"全局2") ze({'libUE4.so:bss','Cb'},{0x62EB8,0xA8,0x24C,0x24},"修改","1000000000",16,"开枪放拉") ze({'libUE4.so:bss','Cb'},{0x1EADC8,0x20,0x2CC,0x310,0x17C},"修改","21000",16,"300浮速") ze({'libUE4.so:bss','Cb'},{0x1EADC8,0x20,0x2CC,0x310,0x188},"修改","1,000,000,000.0",16,"8192") --ze({'libUE4.so:bss','Cb'},{0x211600, 0xA8, 0x30},"修改","-980",16,"-980") --ze({'libUE4.so:bss','Cb'},{0x1EADC8,0x20,0x2CC,0x310,0x170},"修改","300",16,"人物惯性") ze({'libUE4.so:bss','Cb'},{0x1EADC8, 0x20, 0x2CC, 0x310, 0x13C},"修改","1",16,"443") --ze({'libUE4.so:bss','Cb'},{0x1EADC8, 0x20, 0x2CC, 0x310, 0x134},"修改","-100",16,"1") gg.toast("开启成功") end function b() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("9.20161819458;23;25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResultCount() gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("444.1", gg.TYPE_FLOAT) gg.toast("开启成功") end function c() 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 local t = {"libanogs.so", "Cd"} local tt = {0x1CAE0} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 256, freeze = true}}) local t = {"libanogs.so", "Cd"} local tt = {0x40938} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 256, freeze = true}}) local t = {"libanogs.so", "Cd"} local tt = {0x40ADC} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 256, freeze = true}}) local t = {"libanogs.so", "Cd"} local tt = {0x40B20} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 256, freeze = true}}) gg.toast("开启成功") end function d() gg.clearResults() gg.setRanges(32) gg.searchNumber("1024",16) resultCounts=gg.getResultsCount() results=gg.getResults(resultCounts) for i=1,resultCounts do values={} values[1]={} values[1].address=results[i].address-4 values[1].flags=16 values=gg.getValues(values) if values[1].value==5000.0 then values={} values[1]={} values[1].address=results[i].address-8 values[1].flags=16 values=gg.getValues(values) if values[1].value==3000.0 then values={} values[1]={} values[1].address=results[i].address-12 values[1].flags=16 values=gg.getValues(values) if values[1].value==0.5 then setvalues={} setvalues[1]={} setvalues[1].address=results[i].address setvalues[1].flags=16 setvalues[1].value=200000 setvalues[2]={} setvalues[2].address=results[i].address-4 setvalues[2].flags=16 setvalues[2].value=200000 setvalues[3]={} setvalues[3].address=results[i].address-8 setvalues[3].flags=16 setvalues[3].value=200000 setvalues[4]={} setvalues[4].address=results[i].address-12 setvalues[4].flags=16 setvalues[4].value=200000 gg.setValues(setvalues) gg.toast("Xiaoyu") end end end end end function Exit() Main() end while true do if gg.isVisible(true) then XGCK = 1 gg.setVisible(false) end gg.clearResults() if XGCK == 1 then 轻量() end end function Exit() print("这里是退出脚本后的提示文字") os.exit() end cs = "这里可以改成你的QQ" while true do if gg.isVisible(true) then XGCK = 1 gg.setVisible(false) end gg.clearResults() if XGCK == 1 then Main() end end