QQ=gg.alert([[ 版本1.0 🤓更新内容: 支持香肠派对16.38版本🤔 本全防没过不了检测请选择可以过检测的辅助来🤔 代理懒羊🤔 ]],'▶️▶️进入全防◀️◀️','','▶️▶️加入卡网◀️◀️') if QQ == 3 then gg.goURL("https://qtengc.com/liebiao/98FF452BD921137F")gg.toast("祝你购买愉快🤔") end do local ok, err = pcall(require, '中文模块') if not ok then error('中文模块加载失败,请确保是使用RLGG执行,或者尝试重启RLGG') end end do local ok, err = pcall(require, '中文模块') if not ok then error('中文模块加载失败,请确保是使用RLGG执行,或者尝试重启RLGG') end end string.toMusic('欢迎使用熊二1.0内置暂时收费版') 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 draw3 = require('draw3') draw3 = require('draw3') text1 = draw3.text('熊二内置',150,200) text2 = draw3.text('\n以上均为PS造成',150,250) text3 = draw3.text('作者:熊二🤔代理:懒羊🤔\n电报群:暂时没有',150,300) for i = 1, 4 do--这里改太大可能造成悬浮窗不出来 gg.sleep(50) -- 设置随机颜色 local color = 0xFF00DBFF text1.setColor(color) local color = 0xFF00DBFF text2.setColor(color) -- 更新文本 text1.update(i) text2.update(i) end local json =json--调用 local g = {} g.file = gg.getFile() g.sel = nil gqlb={"请先搜索歌曲",} idb={"1010"} SN,gc=1,nil g.config = gg.getFile():gsub("%lua$", "").."cfg" function bei() g.data = loadfile("-- WSG PRO 1.0.9(109)\n"..g.config) if g.data ~= nil then g.sel = g.data() g.data = nil end if g.sel == nil then g.sel = {"请输入歌曲名","10"} end end bei() --搜索歌曲 function start(name,sl) fw=gg.makeRequest("http://music.163.com/api/search/get?s="..name.."&type=1&offset=0&total=true&limit="..sl) return fw end --歌词 --播放音乐 function play(id,name) gg.toast("正在播放音乐:"..name,true) gg.playMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3") end --停止播放 function stop() gg.toast("正在停止音乐") for i=1,100 do gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end end ---- function Play(gqlb,idb) SN = gg.choice(gqlb,nil,ts) if SN == nil then XGCK =-1 else sn=gg.choice({"播放歌曲","播放并下载"},nil,"歌曲:"..gqlb[SN]) if sn == nil then end if sn == 1 then play(idb[SN],gqlb[SN]) end if sn == 2 then local XEY=gg.makeRequest("http://music.163.com/song/media/outer/url?id="..idb[SN]..".mp3").content local XEY1=gg.getFile():gsub("[^/]+$","")..gqlb[SN]..".mp3" io.open(XEY1,"w"):write(XEY) gg.alert("提示:\n\n音乐已成功下载位置:\n\n"..XEY1) end XGCK=-1 end end function zjson(jsonr) local str = jsonr -- 匹配Json Key的正则表达式 local pattern = "\"[%w]+\":" string.gsub(str, pattern, function(v) if string.find(str, v) then str = string.gsub(str, v, string.gsub(v, "\"", "")) end end) str = string.gsub(str, ":", "=") str = string.gsub(str, "%[", "{") str = string.gsub(str, "%]", "}") local data = "-- WSG PRO 1.0.9(109)\nreturn " .. str local res = load(data)() return res end function json(con) res=zjson(con) zd=res.result.songCount pd=go3-zd if pd <= 0 then else go3=zd end ts="《"..go1.."》找到"..zd.."首歌曲,当前显示"..go3.."首" gqlb={} idb={} for i=1,go3 do gqlb[i]=res.result.songs[i].name idb[i]=res.result.songs[i].id end --print(idb) end function YY998() Obtain=gg.makeRequest("https://api.uomg.com/api/rand.music?sort=热歌榜&format=json").content muchen=Obtain:match('url":"(.-)","picurl') gg.playMusic(muchen) end function SearchWrite(Search,Modification) gg.clearResults() gg.searchNumber(Search[1][1],Search[1][2],false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum=0 for i=2,#Search do for index=1,#Result do if gg.getValues({{address=Result[index].address+Search[i][3],flags=Search[i][2]}})[1].value~=Search[i][1]then Result[index].Usable=true sum=sum+1 end end end if sum==#Result then gg.toast(Name..'开启失败') return end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in pairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value[3],flags=value[2],value=value[1],freeze=true} sum=sum+1 if value[4]then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end end end end gg.setValues(Data) gg.addListItems(Freeze) if Freeze==0 then gg.toast(Name..'开启成功,共修改'..sum..'条数据.') else gg.toast(Name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据.') end end--指针 function HaoGe(Range,Type,Search,Write) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) gg.searchNumber(Search[1][1],Type) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][2] if(count>0)then for i,v in ipairs(result)do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2]-base local num=Search[k][1] for i,v in ipairs(result)do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=v.flags end tmp=gg.getValues(tmp) for i,v in ipairs(tmp)do if(tostring(v.value)~=tostring(num))then result[i].isUseful=false end end end for i,v in ipairs(result)do if(v.isUseful)then data[#data+1]=v.address end end if(#data>0)then gg.toast("\n🔍搜索到"..#data.."数据\n🔰开始进行偏移") local t={} local base=Search[1][2] for i=1,#data do for k,w in ipairs(Write)do offset=w[2]-base t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=Type t[#t].value=w[1] if(w[3]==true)then local item={} item[#item+1]=t[#t] item[#item].freeze=true gg.addListItems(item) end end end gg.setValues(t) gg.sleep(400) return false end else return false end 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(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--动态 function PS() end 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--静态 local function interruptThread(thread) if thread then pcall(function() thread:interrupt() end) end end function setvalue(address,flags,value) local CatWill={} CatWill[1]={} CatWill[1].address=address CatWill[1].flags=flags CatWill[1].value=value gg.setValues(CatWill) end function SearchWrite(Search,Modification) gg.clearResults() gg.searchNumber(Search[1][1],Search[1][2],false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum=0 for i=2,#Search do for index=1,#Result do if gg.getValues({{address=Result[index].address+Search[i][3],flags=Search[i][2]}})[1].value~=Search[i][1]then Result[index].Usable=true sum=sum+1 end end end if sum==#Result then gg.toast(Name..'开启失败') return end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in pairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value[3],flags=value[2],value=value[1],freeze=true} sum=sum+1 if value[4]then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end end end end gg.setValues(Data) gg.addListItems(Freeze) if Freeze==0 then gg.toast(Name..'开启成功,共修改'..sum..'条数据.') else gg.toast(Name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据.') end end--指针 function HaoGe(Range,Type,Search,Write) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) gg.searchNumber(Search[1][1],Type) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][2] if(count>0)then for i,v in ipairs(result)do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2]-base local num=Search[k][1] for i,v in ipairs(result)do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=v.flags end tmp=gg.getValues(tmp) for i,v in ipairs(tmp)do if(tostring(v.value)~=tostring(num))then result[i].isUseful=false end end end for i,v in ipairs(result)do if(v.isUseful)then data[#data+1]=v.address end end if(#data>0)then gg.toast("\n🔍搜索到"..#data.."数据\n🔰开始进行偏移") local t={} local base=Search[1][2] for i=1,#data do for k,w in ipairs(Write)do offset=w[2]-base t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=Type t[#t].value=w[1] if(w[3]==true)then local item={} item[#item+1]=t[#t] item[#item].freeze=true gg.addListItems(item) end end end gg.setValues(t) gg.sleep(400) return false end else return false end 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(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 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 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]) end ---------------------------------------------------------------------------------------------------------------- jianbian6 = luajava.new(GradientDrawable) jianbian6:setCornerRadius(20) jianbian6:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian6:setColors({0x660043FF,0x99FF84EB}) jianbian6:setStroke(0,"0x44FFffff")--边框宽度和颜色 jianbian7 = luajava.new(GradientDrawable) jianbian7:setCornerRadius(40) jianbian7:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian7:setColors({0x6600FF76,0x9900A5FF}) jianbian7:setStroke(8,"0xffffffff") jianbian8 = luajava.new(GradientDrawable) jianbian8:setCornerRadius(40) jianbian8:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian8:setColors({0x66FF2C22,0x998600FF}) jianbian8:setStroke(8,"0xffffffff") jianbian9 = luajava.new(GradientDrawable) jianbian9:setCornerRadius(4) jianbian9:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian9:setColors({0xddC70100,0x99000000}) jianbian9:setStroke(4,"0xaa000000") function balert(bltxt,bltxt1,bltxt2) result=0 if not bltxt then bltxt='这里写正文\n测试\n测试' end if not bltxt1 then bltxt1='取消' end if not bltxt2 then bltxt2='确定' end bltxt=tostring(bltxt) bltxt1=tostring(bltxt1) bltxt2=tostring(bltxt2) local dialog = luajava.new(AlertDialog.Builder, app.context) local block = luajava.getBlock() local result local function exit() block('end') end layoutabc=luajava.loadlayout({ScrollView, {LinearLayout, background="#00000000", orientation="vertical", layout_width="match_parent", layout_height="match_parent", gravity = 'center', {ScrollView, gravity="center", layout_height="230dp", layout_width="fill_parent", padding="25dp", {LinearLayout, layout_marginTop="20dp", gravity="center", layout_height="220dp", layout_width="fill_parent", padding="25dp", {TextView, id = luajava.newId('弹窗文字'), textSize="18sp", text = bltxt, layout_height="wrap_content", layout_width="fill_parent", layout_gravity="center", gravity="center", },}}, {LinearLayout, gravity="center", layout_height="90dp", layout_width="fill_parent", orientation="horizontal", {Button, id="balt1", gravity="center", background=jianbian7, text=bltxt1, layout_height="40dp", layout_width="wrap_content", layout_marginRight="70dp", }, {Button, id="balt2", gravity="center", background=jianbian8, text=bltxt2, layout_height="40dp", layout_width="wrap_content", layout_marginLeft="70dp", } }}}) balt1.onClick = function() result = 1 dialog:dismiss() exit() end balt2.onClick = function() result = 2 dialog:dismiss() exit() end dialog:setView(layoutabc) dialog:setOnDismissListener(luajava.createProxy('android.content.DialogInterface$OnDismissListener', { onDismiss = function(view) exit() end})) local function invoke() dialog = dialog:create() local window = dialog:getWindow() window:setType(Build.VERSION.SDK_INT >= 26 and 2038 or 2002) window:setBackgroundDrawable(jianbian6) window:getDecorView():setPadding(0,0,0,0) dialog:show() --window:setLayout(1400,1000) YoYoImpl:with("FadeIn"):duration(300):playOn(layoutabc) end luajava.handlerPost(invoke) block('join') return result end function tst(text) text = tostring(text) local block = luajava.getBlock() local layout = luajava.loadlayout({ LinearLayout, background=jianbian7, gravity='center', layout_height='match_parent', layout_width='match_parent', layout_wight='1', { TextView, id = luajava.newId('TextView'), text = text, textSize = '18sp', textColor = "#ffffffff", margins = {'20dp', '10dp', '20dp', '10dp'} } }) local function invoke() if toaa==nil then toaa = Toast:makeText(app.context, '', 1) end toaa:setView(layout) toaa:show() end luajava.handlerPost(invoke) end gg.sleep(2000) -------------------------------------------------------------------------------------------------- local function switch2(...) local menus = {...} local block = luajava.getBlock() local context = app.context local window = context:getSystemService("window") -- 获取窗口管理器 local function getWindowManagerParams() local params = luajava.new(WindowManager.LayoutParams) params.type = (Build.VERSION.SDK_INT >= 26 and 2038 or 2002) params.format = PixelFormat.RGBA_8888 -- 设置背景 params.flags = params.FLAG_NOT_FOCUSABLE -- 焦点设置Finish params.width = params.WRAP_CONTENT -- 布局宽度 params.height = params.WRAP_CONTENT -- 布局高度 params.gravity = Gravity.LEFT | Gravity.TOP -- 重力设置 luajava.setFloatingWindowHide(false) luajava.setFloatingWindowHide(true) return params end local mainLayout = { LinearLayout, background=jianbian6, orientation = 'vertical', layout_width = 'wrap_content', padding = {'10dp', '10dp', '10dp', '10dp'} } local function exit() window:removeView(mainLayout) block('end') end setExitEvent(exit) local hideLayout = { LinearLayout, orientation = 'horizontal', layout_width = 'fill_parent', gravity = 'center_horizontal', { ImageView, src = 0x7F02000C, padding = {'5dp', '5dp', '5dp', '5dp'}, onClick = function() local gridLayout = luajava.getIdView('功能界面') if not gridLayout then return end local VISIBLE = GridLayout.VISIBLE local GONE = GridLayout.GONE local visibility = gridLayout:getVisibility() > VISIBLE and VISIBLE or GONE gridLayout:setVisibility(visibility) end } } mainLayout[#mainLayout + 1] = hideLayout local main2Layout = { LinearLayout, id = luajava.newId('功能界面'), orientation = 'vertical', layout_width = 'wrap_content', gravity = 'center_horizontal' } mainLayout[#mainLayout + 1] = main2Layout local function formatList(list) local gridLayout = { GridLayout, orientation = 'horizontal', columnCount = '3', layout_width = 'wrap_content' } list[#list + 1] = { setText = '退出', onCheckedChanged = function(buttonView) return exit() end } for i, value in ipairs(list) do local name do local names = {'name', 'text', 'setText'} for i, key in ipairs(names) do name = value[key] if name then break end end if not name then name = string.format('功能%d', i) end for i, key in ipairs(names) do value[key] = name end end local switchLayout = { Switch, text = name, } local onCheckedChanged = value.onCheckedChanged if not isFunction(onCheckedChanged) then onCheckedChanged = function(switch, isChecked) if not isSurvive() then gg.toast('脚本已结束') return exit() end local mode = isChecked and 'open' or 'close' local func = value[mode] if not isFunction(func) then switch:setChecked(not isChecked) func = function(self) gg.alert(string.format('%s缺少%s函数,该属性必须为function类型', value.name, mode)) end end luajava.startThread(function(...) pcall(func, ...) end, name, value, switch) end end if isFunction(onCheckedChanged) then onCheckedChanged = luajava.createProxy('android.widget.CompoundButton$OnCheckedChangeListener', { onCheckedChanged = onCheckedChanged }) end switchLayout.onCheckedChangeListener = onCheckedChanged gridLayout[#gridLayout + 1] = switchLayout end return gridLayout end local navigate2 = { LinearLayout, orientation = 'horizontal', layout_width = 'match_parent', gravity = 'center_horizontal' } local ids = {} local views = {} for i, menu in ipairs(menus) do local name = menu.name if not name then name = ('菜单%s'):format(i) menu.name = name end ids[i] = string.format('%s-%s', i, name) local menuLayout = { Button, text = name, background = '#0000000', layout_width = 'wrap_content', onClick = function() for i2, id in ipairs(ids) do local view = views[i2] if not view then view = luajava.getIdView(id) if view then views[i2] = view end end if view then local VISIBLE = view.VISIBLE local GONE = view.GONE local state = i == i2 and VISIBLE or GONE view:setVisibility(state) end end end } navigate2[#navigate2 + 1] = menuLayout end main2Layout[#main2Layout + 1] = navigate2 local main3Layout = { LinearLayout, layout_width = 'match_parent', gravity = 'center_horizontal' } for i, menu in ipairs(menus) do local gridLayout = formatList(menu) gridLayout.id = luajava.newId(ids[i]) gridLayout.visibility = i == 1 and GridLayout.VISIBLE or GridLayout.GONE main3Layout[#main3Layout + 1] = gridLayout end main2Layout[#main2Layout + 1] = main3Layout local function setOnTouchListener(move, layout, params) local RawX, RawY, x, y local ACTION_DOWN = MotionEvent.ACTION_DOWN local ACTION_MOVE = MotionEvent.ACTION_MOVE local tonumber = tonumber move:setOnTouchListener(luajava.createProxy("android.view.View$OnTouchListener", { onTouch = function(v, event) local Action = event:getAction() if Action == ACTION_DOWN then -- 点击时的XY坐标 RawX = event:getRawX() -- 获取X坐标 RawY = event:getRawY() -- 获取Y坐标 x = params.x -- 申明变量xmX为原X坐标 y = params.y -- 申明变量xmY为原Y坐标 elseif Action == ACTION_MOVE then -- 移动时的XY坐标 params.x = tonumber(x) + (event:getRawX() - RawX) params.y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(layout, params) end end })) end local params = getWindowManagerParams() mainLayout = luajava.loadlayout(mainLayout) setOnTouchListener(mainLayout, mainLayout, params) local function invoke() window:addView(mainLayout, params) end gg.setVisible(false) luajava.post(invoke) block('join') gg.setVisible(true) end _ENV['菜单1'] = { name = '功能页面', [1] = { name = '游戏进程', open = function(self) gg.setProcessX() string.toMusic('请选择香肠派对进程')---语音 end, close = function(self) end, close = function(self) end }, [2] = { name = '人物加速', open = function(self) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("6.09999990463;4.5;3.25;6.15000009537::13", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) gg.editAll("12",gg.TYPE_FLOAT) gg.toast("人物加速开启成功") string.toMusic('人物加速开启成功')---语音 end, close = function(self) end }, [11] = { name = '无后', open = function(self) gg.clearResults() qmnb = { {["memory"] = 16384}, {["name"] = "ʟᴇss ʀᴇᴄᴏɪʟ"}, {["value"] = -1246341780945696240, ["type"] = 32}, {["lv"] = -6196952597921662448, ["offset"] = 8, ["type"] = 32}, } qmxg = { {["value"] = 0 , ["offset"] = 8, ["type"] = 16}, } xqmnb(qmnb) gg.clearResults() gg.setVisible(true) gg.clearResults() qmnb = { {["memory"] = 16384}, {["name"] = "ᴀɴᴛɪ sʜᴀᴋᴇ"}, {["value"] = -1292522028704724415, ["type"] = 32}, {["lv"] = -2220275582962234864, ["offset"] = 4, ["type"] = 32}, } qmxg = { {["value"] = 0, ["offset"] = 4, ["type"] = 16}, } xqmnb(qmnb) gg.clearResults() gg.setVisible(true) gg.clearResults() qmnb = { {["memory"] = 16384}, {["name"] = "ᴄʀᴏssʜᴀɪʀ"}, {["value"] = -1288018490030810555, ["type"] = 32}, {["lv"] = -1387800265460020720, ["offset"] = 12, ["type"] = 32}, } qmxg = { {["value"] = 90, ["offset"] = 12, ["type"] = 16}, } xqmnb(qmnb) gg.clearResults() gg.setVisible(true) Name = "LESS RECOIL" local Nc = 16392 local Lx = 4 local Sz1 = {{-1442840463, 0},{-286131696, -4},{-290186560, -8}} local Sz2 = {{0, -4}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "Anti-shake" local Nc = 16392 local Lx = 4 local Sz1 = {{-308340221, 0},{514853441, 8},{-300938736, 12}} local Sz2 = {{0, 12}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "NO RECOIL" local Nc = 16392 local Lx = 4 local Sz1 = {{-827323830, 0},{-286131696, 4},{-300938736, 8}} local Sz2 = {{0, 8}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "除草" local Nc = 32 local Lx = 4 local Sz1 = {{7632240, 0},{1633907556, -76}} local Sz2 = {{1936942449, 0}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "除雾" local Nc = 16392 local Lx = 4 local Sz1 = {{-486470524, 0},{-298841535, 4},{-409665536, 8}} local Sz2 = {{0, 4}} HaoGe(Nc, Lx, Sz1, Sz2) string.toMusic('无后开启成功')---语音 end, close = function(self) so=gg.getRangesList('libUE4.so')[1].start string.toMusic('无法关闭只支持一局一开')---语音 end }, [4] = { name = '[大厅]除草', open = function(self) function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) xgsl = xgsl + 1 end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) xgjg = true end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "已开启,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end end end qmnb = { {["memory"] = gg.REGION_ANONYMOUS}, {["name"] = "大厅仅除草"}, {["value"] = 29806, ["type"] = gg.TYPE_DWORD}, {["lv"] = 7630437, ["offset"] = 40, ["type"] = gg.TYPE_DWORD}, {["lv"] = 1633907556, ["offset"] = 64, ["type"] = gg.TYPE_DWORD},} qmxg = {{["value"] = 1936942449, ["offset"] =140 , ["type"] = gg.TYPE_DWORD}, } xqmnb(qmnb) string.toMusic('除草开启成功')---语音 end, close = function(self) string.toMusic('不支持关闭')---语音 end }, [5] = { name = '击中特效', open = function(self) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("10;45", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("10", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("9999", gg.TYPE_FLOAT) gg.toast("击中特效") gg.clearResults() string.toMusic('击中特效开启成功')---语音 end, close = function(self) string.toMusic('不支持关闭,只支持一局一开')---语音 end }, [6] = { name = '自改范围', open = function(self) st = gg.prompt({ "输入范围大小:" }, {"100~800"}) if st ~= nil then 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(1000) gg.editAll(st[1], gg.TYPE_FLOAT) gg.toast("超大范围开启成功") end string.toMusic('自改范围开启成功')---语音 end, close = function(self) string.toMusic('不支持关闭只支持一局一开')---语音 end }, [7] = { name = '秒开镜', open = function(self) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("0.37999999523F;1.0F:6", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("0.37999999523", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(55) gg.editAll("-9", gg.TYPE_FLOAT) gg.toast("秒开倍镜开启成功") string.toMusic('秒开镜开启成功')---语音 end, close = function(self) string.toMusic('不支持关闭,只支持一局一开')---语音 end }, [8] = { name = '上帝视角', open = function(self) gg.setRanges(gg.REGION_ANONYMOUS) gg.clearResults() gg.searchNumber("220;178;15 ", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("220", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(300) gg.editAll("657", gg.TYPE_FLOAT) gg.clearResults() gg.toast("上帝视角开启成功") string.toMusic('上帝视角开启成功') end, close = function(self) string.toMusic('不支持关闭只支持一局一开')---语音 end }, [9] = { name = '自改帧率', open = function(self) function YF(Search,Get,Type,Range,Name) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) if Search[1][1]~=false then gg.searchAddress(Search[1][1],0xFFFFFFFF,Search[1][4] or Type,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) end gg.searchNumber(Search[1][2],Search[1][4] or Type,false,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][3] if (count > 0) then for i,v in ipairs(result) do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2] - base local num=Search[k][1] for i,v in ipairs(result) do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=Search[k][3] or Type end tmp=gg.getValues(tmp) for i,v in ipairs(tmp) do if v.flags==16 or v.flags==64 then values=tostring(v.value):sub(1,6) num=tostring(num):sub(1,6) else values=v.value end if tostring(values)~=tostring(num) then result[i].isUseful=false end end end for i,v in ipairs(result) do if (v.isUseful) then data[#data+1]=v.address end end if (#data > 0) then local t,t_={},{} local base=Search[1][3] for i=1,#data do for k,w in ipairs(Get) do offset=w[2] - base if w[1]==false then t_[#t_+1]={} t_[#t_].address=data[i]+offset t_[#t_].flags=Type th_=(th_) and th_+1 or 1 else t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=w[3] or Type t[#t].value=w[1] tg_=(tg_) and tg_+1 or 1 if (w[4]==true) then local item={} item[#item+1]=t[#t] item[#item].freeze=w[4] gg.addListItems(item) end end end end tg=(tg_) and "修改"..tg_.."数据" or "" th=(th_) and "" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast(""..Name..tg) tg_,th_=nil,nil else gg.toast("搜索不到",false) return false end else gg.toast("搜索不到") return false end end ZDY=gg.prompt({'请输入帧数120'},{[1]='120'},{[1]='number'}) if ZDY == nil or ZDY[1] == '' or ZDY[1] == '0' then gg.toast("❌帧率取消") else YF({{false,150994944,0,4,nil,nil},{58,-4,4},{58,-8,4},{89,40,4},{1084227584,68,4}},{{ZDY[1],16,16,true},{ZDY[1],20,16,true}},4,32,""..ZDY[1].."帧") end string.toMusic('自改帧率开启成功')---语音 end, close = function(self) string.toMusic('不支持关闭只支持一局一开')---语音 end }, [10] = { name = '加速', open = function(self) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("50;50;50;1000;1,065,353,216D;1,065,353,216D;1,065,353,216D;1,065,353,216D;1,065,353,216D;1,065,353,216D;1F;1,065,353,216D::218", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("1", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0,-1) gg.getResults(100) gg.editAll("2.5",gg.TYPE_FLOAT) gg.toast("加速已开启") string.toMusic('加速开启成功')---语音 end, close = function(self) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("50;50;50;1000;1,065,353,216D;1,065,353,216D;1,065,353,216D;1,065,353,216D;1,065,353,216D;1,065,353,216D;2.5F;1,065,353,216D::218", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("2.5", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0,-1) gg.getResults(100) gg.editAll("1",gg.TYPE_FLOAT) gg.toast("加速关闭成功") string.toMusic('加速关闭成功')---语音 end }, [3] = { name = '连跳穿墙', open = function(self) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("1,055,286,886;1,065,353,216;1,067,869,798:9", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("1,055,286,886", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(10) gg.editAll("-99",gg.TYPE_DWORD) gg.toast("连跳穿墙开启成功") string.toMusic('连跳穿墙开启成功')---语音 end }, [12] = { name = '自改高度', open = function(self) MIAONEI=gg.prompt({'0关闭建议1600'},{[1]='1600'},{[1]='number'}) if MIAONEI == nil or MIAONEI[1] == '' or MIAONEI[1] == '0' then local t = {"libUE4.so:bss", "Cb"}local tt = {0x1EA3A8,0x20,0x2CC,0x310,0x13C}local ttt = S_Pointer(t, tt)gg.setValues({{address = ttt, flags = 16, value = 443}})--高度 else local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8,0x20,0x2CC,0x310,0x13C}--443 local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = MIAONEI[1]}})--高度 end string.toMusic('自改高度开启成功')---语音 end, close = function(self) string.toMusic('请再开一遍,改为零')---语音 end }, [13] = { name = '下降速度', open = function(self) MIAONEI=gg.prompt({'0关闭建议-10~-200'},{[1]='-50'},{[1]='number'}) if MIAONEI == nil or MIAONEI[1] == '' or MIAONEI[1] == '0' then local t = {"libUE4.so:bss", "Cb"}local tt = {0x210BE0,0xA8,0x30}local ttt = S_Pointer(t, tt)gg.setValues({{address = ttt, flags = 16, value = -980}})--下降速度 else local t = {"libUE4.so:bss", "Cb"} local tt = {0x210BE0,0xA8,0x30}---980 local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = MIAONEI[1]}})--高度 end string.toMusic('下降速度开启成功')---语音 end, close = function(self) string.toMusic('请再开一遍,改为零')---语音 end }, [14] = { name = '加速V2', open = function(self) function AnmolDk(Nc,Type,Search,Write) gg.clearResults() gg.setRanges(Nc) gg.setVisible(false) gg.searchNumber(Search[1][1],Type) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][2] if(count>0)then for i,v in ipairs(result)do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2]-base local num=Search[k][1] for i,v in ipairs(result)do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=v.flags end tmp=gg.getValues(tmp) for i,v in ipairs(tmp)do if(tostring(v.value)~=tostring(num))then result[i].isUseful=false end end end for i,v in ipairs(result)do if(v.isUseful)then data[#data+1]=v.address end end if(#data>0)then gg.toast("\n found"..#data.."data\n Start offset") local t={} local base=Search[1][2] for i=1,#data do for k,w in ipairs(Write)do offset=w[2]-base t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=Type t[#t].value=w[1] if(w[3]==true)then local item={} item[#item+1]=t[#t] item[#item].freeze=true gg.addListItems(item) end end end gg.setValues(t) gg.sleep(400) gg.toast("\n"..Name.."KILLERDK\n KILLERDK"..#t.."data") else gg.toast("\n"..Name.."KILLERDK") return false end else gg.toast("\n"..Name.."KILLERDK") return false end end Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744149883614555, 0}} local Sz2 = {{-1296744153870237696, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1505254313802431360, 0}} local Sz2 = {{-1505254313804169216, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408728725571, 0}} local Sz2 = {{-1328550408581493555, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744149883614555, 0}} local Sz2 = {{-1296744153870237696, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1505254313802431360, 0}} local Sz2 = {{-1505254313804431360, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408728725571, 0}} local Sz2 = {{-1328550408577467023, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744149883614555, 0}} local Sz2 = {{-1296744153870237696, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 32 local Lx = 32 local Sz1 = {{4525216907414147695, 0}} local Sz2 = {{4525216907475015434, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408728725571, 0}} local Sz2 = {{-1328550408576460390, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) gg.toast("加速开") gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("0.0001;0::16", 16,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber("0", 16,false,gg.SIGN_EQUAL,0, -1) gg.getResults(200) gg.editAll("5.6",16) gg.clearResults() gg.toast("slowmostion ") gg.clearResults() gg.toast("开启成功") string.toMusic('V2开启成功')---语音 end, close = function(self) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744153870237696, 0}} local Sz2 = {{-1296744149883614555, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1505254313804169216, 0}} local Sz2 = {{-1505254313802431360, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408581493555, 0}} local Sz2 = {{-1328550408728725571, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744153870237696, 0}} local Sz2 = {{-1296744149883614555, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1505254313804431360, 0}} local Sz2 = {{-1505254313802431360, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408577467023, 0}} local Sz2 = {{-1328550408728725571, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 16392 local Lx = 32 local Sz1 = {{-1296744153870237696, 0}} local Sz2 = {{-1296744149883614555, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "𝙺𝙸𝙻𝙻𝙴𝚁𝙳𝙺" local Nc = 32 local Lx = 32 local Sz1 = {{4525216907475015434, 0}} local Sz2 = {{4525216907414147695, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) Name = "666" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408576460390, 0}} local Sz2 = {{-1328550408728725571, 0}} AnmolDk(Nc, Lx, Sz1, Sz2) gg.toast("666") gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("4,895,342,427,383,806,976", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("4,895,342,427,272,904,704", gg.TYPE_QWORD) gg.clearResults() gg.toast("关闭成功") string.toMusic('V2关闭成功')---语音 end }, [15] = { name = '陆地翻倍', open = function(self) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("4,895,342,427,272,904,704", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("4,895,342,427,383,806,976", gg.TYPE_QWORD) gg.clearResults() gg.toast("开启翻倍") string.toMusic('陆地翻倍开启成功')---语音 end, close = function(self) string.toMusic('无法关闭只支持一局一开')---语音 end }, [16] = { name = '上下坡防拉', open = function(self) gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('-6.1526231e27;-1.0070975e28;::', gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber('-6.15', gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll('0', gg.TYPE_FLOAT) gg.toast("️开启成功") string.toMusic('上下坡防拉开启成功')---语音 end, close = function(self) string.toMusic('无法关闭只支持一局一开')---语音 end }, [17] = { name = '防拉', open = function(self) HaoGe(32, 16, { {1400, 0}, {88, 20}, {60, 24}, {50, 28}, {2, 32} }, { {-48, 24} }) gg.toast("防拉️开启成功") string.toMusic('防拉开启成功')---语音 end, close = function(self) string.toMusic('无法关闭只支持一局一开')---语音 end }, [18] = { name = '路飞[前]', open = function(self) gg.setRanges(32) Name='前' local tb1={{1091573303,4,0},{1108089305,4,8},} local tb2={{180,16,4},} SearchWrite(tb1,tb2,dataType) gg.toast("️路飞前开启成功") string.toMusic('路飞前开启成功')---语音 end, close = function(self) gg.setRanges(32) Name='关' local tb1={{1091573303,4,0},{1108089305,4,8},} local tb2={{-17.210750579833984,16,4},} SearchWrite(tb1,tb2,dataType) gg.toast("️路飞关闭成功") string.toMusic('路飞前关闭成功')---语音 end }, [19] = { name = '路飞[左]', open = function(self) gg.setRanges(32) Name='左' local tb1={{-1047941218,4,0},{1108089305,4,4},} local tb2={{180,16,-4},} SearchWrite(tb1,tb2,dataType) gg.toast("️路飞左开启成功") string.toMusic('路飞左开启成功')---语音 end, close = function(self) gg.setRanges(32) Name='关' local tb1={{-1047941218,4,0},{1108089305,4,4},} local tb2={{9.005423545837402,16,-4},} SearchWrite(tb1,tb2,dataType) gg.toast("️路飞左关闭成功") string.toMusic('路飞左关闭成功')---语音 end }, [20] = { name = '路飞[右]', open = function(self) gg.setRanges(32) gg.setRanges(32) Name='右' local tb1={{-1047941218,4,0},{1108089305,4,4},} local tb2={{-180,16,-4},} SearchWrite(tb1,tb2,dataType) gg.toast("️路飞右开启成功") string.toMusic('路飞右边开启成功')---语音 end, close = function(self) gg.setRanges(32) Name='关' local tb1={{-1047941218,4,0},{1108089305,4,4},} local tb2={{9.005423545837402,16,-4},} SearchWrite(tb1,tb2,dataType) gg.toast("️路飞右关闭成功") string.toMusic('路飞右关闭成功')---语音 end }, [21] = { name = '路飞[下]', open = function(self) gg.setRanges(32) Name='下' local tb1={{1091573303,4,0},{-1047941218,4,4},} local tb2={{-180,16,8},} SearchWrite(tb1,tb2,dataType) gg.toast("️路飞下开启成功") string.toMusic('路飞下开启成功')---语音 end, close = function(self) gg.setRanges(32) Name='关' local tb1={{-1047941218,4,0},{1091573303,4,-4},} local tb2={{35.02524185180664,16,4},} SearchWrite(tb1,tb2,dataType) gg.toast("️路飞下关闭成功") string.toMusic('路飞下关闭成功')---语音 end }, [22] = { name = '探头路飞循环', open = function(self) 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 function gg.edits(addr, Table) 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]) end --动态基址配置 function BaseAddressWrite(data) local so = gg.getRangesList(data.so) if so[1] ~= nil then local t = {} for i = 1, #data do t[#t+1] = {} t[#t].address = so[1].start + data[i].offset t[#t].value = data[i].value t[#t].flags = data[i].type end gg.setValues(t) else gg.toast("❌搜索不到") end end --仿Xs基址 gg.alert("开了就不要关了全局,也不要开虚体路飞不然会卡bug两个没用") --By.HaoGe --[[0x1E5C5C+0x20+0x200 gg.clearResults()--探头虚体 gg.setRanges(32) gg.searchNumber('-90.0;3.58732407e-43;1.08040112e-42:109',16) gg.refineNumber('-90',16) local ttz=gg.getResults(1)--探头值 ]] lhsl = readPointer('libUE4.so:bss', {0x62678,0xA8,0x2DC,0x24}, 1) --牛13东西 local ttsl = readPointer('libUE4.so:bss', {0x1FE88C,0x0,0xC,0x634,0x294,0x540,0x4C4,0x10,0x38,0x0}, 1) --探头锁链 local jznbsl = readPointer('libUE4.so:bss', {0x1E5C5C,0x20,0x200}, 1) --矩阵南北 local jzdxsl = readPointer('libUE4.so:bss', {0x1E5C5C,0x20,0x20C}, 1) --矩阵东西 local jzsxsl = readPointer('libUE4.so:bss', {0x1E5C5C,0x20,0x22C}, 1) --矩阵上下 zbxsl = readPointer('libUE4.so:bss', {0x1FE76C,0x74,0x94,0x140,0x150}, 1) --坐标x实体 zbysl = readPointer('libUE4.so:bss', {0x1FE76C,0x74,0x94,0x140,0x154}, 1) --坐标y实体 zbzsl = readPointer('libUE4.so:bss', {0x1FE76C,0x74,0x94,0x140,0x158}, 1) --坐标z实体 ttlf={} ttlf[1]={} ttlf[1].address=ttsl ttlf[1].flags=16 ttlf[2]={} ttlf[2].address=jznbsl ttlf[2].flags=16 ttlf[3]={} ttlf[3].address=jzdxsl ttlf[3].flags=16 ttlf[4]={} ttlf[4].address=jzsxsl ttlf[4].flags=16 ttlf[5]={} ttlf[5].address=zbxsl ttlf[5].flags=16 ttlf[6]={} ttlf[6].address=zbysl ttlf[6].flags=16 ttlf[7]={} ttlf[7].address=zbzsl ttlf[7].flags=16 gg.addListItems(ttlf)--保存 jznb=gg.getValues(ttlf)[2].value--矩阵方位南北 jzdx=gg.getValues(ttlf)[3].value--矩阵方位东西 jzsx=gg.getValues(ttlf)[4].value--矩阵方位上下 zbx=gg.getValues(ttlf)[5].value--坐标x zby=gg.getValues(ttlf)[6].value--坐标y zbz=gg.getValues(ttlf)[7].value--坐标z while true do--开始循环 --if gg.isVisible(true) then gg.removeListItems(ttlf) gg.setVisible(false) gg.toast("暂停") gg.sleep(1000) end tt=gg.getValues(ttlf)[1].value--探头 if tt == -1 then--左探头 gg.edits(lhsl, {{0, 16, 0, false}}) local data = {--0x62678,0xA8,0x2DC,0x24 ["so"] = "libUE4.so", {["value"] = 0, ["offset"] = 0x26F1700, ["type"] = 16},--空中强定 --{["value"] = 0, ["offset"] = 0xCB7BE4, ["type"] = 16},--灵魂出窍 } BaseAddressWrite(data) if jzsx>-0.8 and jzsx<0.3 then--视角中 if jznb>-1.2 and jznb<-0.7 then--南 gg.edits(zbxsl, {{zbx-80, 16, 0, true}}) gg.edits(zbysl, {{zby+250, 16, 0, true}}) gg.edits(zbzsl, {{zbz+5, 16, 0, true}}) else if jznb>0.7 and jznb<1.2 then--北 gg.edits(zbxsl, {{zbx+80, 16, 0, true}}) gg.edits(zbysl, {{zby-250, 16, 0, true}}) gg.edits(zbzsl, {{zbz+5, 16, 0, true}}) else if jzdx>-1.2 and jzdx<-0.5 then--西 gg.edits(zbxsl, {{zbx-250, 16, 0, true}}) gg.edits(zbysl, {{zby-80, 16, 0, true}}) gg.edits(zbzsl, {{zbz+5, 16, 0, true}}) else if jzdx>0.5 and jzdx<1.2 then--东 gg.edits(zbxsl, {{zbx+250, 16, 0, true}}) gg.edits(zbysl, {{zby+80, 16, 0, true}}) gg.edits(zbzsl, {{zbz+5, 16, 0, true}}) end end end end--东南西北结束 end--视角中结束 if jzsx>0.5 then--视角上 gg.edits(zbxsl, {{zbx, 16, 0, true}}) gg.edits(zbysl, {{zby, 16, 0, true}}) gg.edits(zbzsl, {{zbz+600, 16, 0, true}}) end--视角上结束 if jzsx<-0.8 then--视角下 gg.edits(zbxsl, {{zbx, 16, 0, true}}) gg.edits(zbysl, {{zby, 16, 0, true}}) gg.edits(zbzsl, {{zbz-300, 16, 0, true}}) end--视角下结束 end--左探头结束 if tt == 1 then--右探头 gg.edits(lhsl, {{0, 16, 0, false}}) local data = {--0x62678,0xA8,0x2DC,0x24 ["so"] = "libUE4.so", {["value"] = 0, ["offset"] = 0x26F1700, ["type"] = 16},--空中强定 --{["value"] = 0, ["offset"] = 0xCB7BE4, ["type"] = 16},--灵魂出窍 } BaseAddressWrite(data) if jzsx>-0.8 and jzsx<0.3 then--视角中 if jznb>-1.2 and jznb<-0.7 then--南 gg.edits(zbxsl, {{zbx-80, 16, 0, true}}) gg.edits(zbysl, {{zby+250, 16, 0, true}}) gg.edits(zbzsl, {{zbz+5, 16, 0, true}}) else if jznb>0.7 and jznb<1.2 then--北 gg.edits(zbxsl, {{zbx+80, 16, 0, true}}) gg.edits(zbysl, {{zby-250, 16, 0, true}}) gg.edits(zbzsl, {{zbz+5, 16, 0, true}}) else if jzdx>-1.2 and jzdx<-0.5 then--西 gg.edits(zbxsl, {{zbx-250, 16, 0, true}}) gg.edits(zbysl, {{zby-80, 16, 0, true}}) gg.edits(zbzsl, {{zbz+5, 16, 0, true}}) else if jzdx>0.5 and jzdx<1.2 then--东 gg.edits(zbxsl, {{zbx+250, 16, 0, true}}) gg.edits(zbysl, {{zby+80, 16, 0, true}}) gg.edits(zbzsl, {{zbz+5, 16, 0, true}}) end end end end--东南西北结束 end--视角中结束 if jzsx>0.5 then--视角上 gg.edits(zbxsl, {{zbx, 16, 0, true}}) gg.edits(zbysl, {{zby, 16, 0, true}}) gg.edits(zbzsl, {{zbz+600, 16, 0, true}}) end--视角上结束 if jzsx<-0.8 then--视角下 gg.edits(zbxsl, {{zbx, 16, 0, true}}) gg.edits(zbysl, {{zby, 16, 0, true}}) gg.edits(zbzsl, {{zbz-300, 16, 0, true}}) end--视角下结束 end--左探头结束 if tt == 0 then--不探头 gg.edits(lhsl, {{10000, 16, 0, false}}) local data = { ["so"] = "libUE4.so", {["value"] = -3.74440972e28, ["offset"] = 0X26F1700, ["type"] = 16},--空中强定 --{["value"] = -7.88044907e22, ["offset"] = 0xCB7BE4, ["type"] = 16},--灵魂出窍 } BaseAddressWrite(data) gg.removeListItems(ttlf)--解冻 jznb=gg.getValues(ttlf)[2].value--矩阵方位南北 jzdx=gg.getValues(ttlf)[3].value--矩阵方位东西 jzsx=gg.getValues(ttlf)[4].value--矩阵方位上下 zbx=gg.getValues(ttlf)[5].value--坐标x zby=gg.getValues(ttlf)[6].value--坐标y zbz=gg.getValues(ttlf)[7].value--坐标z end--不探头结束 end--循环结束 string.toMusic('探头路飞开启成功')---语音 end, close = function(self) string.toMusic('无法关闭只支持一局一开')---语音 end }, [23] = { name = '自瞄', open = function(self) mig({{-352321640,0,4},{-309327309,4,4},{-476053504,8,4},},{{-476053503,8,4}},16384,"持枪自瞄",true) mig({{64.50088500977,0,16},},{{0,0,16}},16384,"磁性自瞄",true) mig({{1324382787,0,4},{-305325242,-4,4},},{{0,0,4}},16384,"锁定头部",true) mig({{2.06214214e-19,0,16},},{{0,0,16},},16384,"趴下照锁",true) mig({{2015175168.0,0,16},},{{0,0,16},},16384,"强力锁定",true) qmnb = { {["memory"] = 16384}, {["name"] = "五幽牛逼"}, {["value"] = -1901891198734303227, ["type"] = 32}, {["lv"] = -1901310652910460920, ["offset"] = 4, ["type"] = 32}, } qmxg = { {["value"] = 0, ["offset"] = 0, ["type"] = 16}, } xqmnb(qmnb) qmnb = { {["memory"] = 16384}, {["name"] = "五幽牛逼"}, {["value"] = -1228926275344647612, ["type"] = 32}, {["lv"] = 5688110401404926480, ["offset"] = 4, ["type"] = 32}, } qmxg = { {["value"] = 0, ["offset"] = 0, ["type"] = 16}, } xqmnb(qmnb) qmnb = { {["memory"] = 16384}, {["name"] = "五幽牛逼"}, {["value"] = -2188749397870968792, ["type"] = 32}, {["lv"] = -1292240552196046846, ["offset"] = -24, ["type"] = 32}, } qmxg = { {["value"] = 2046820353, ["offset"] = -24, ["type"] = 4}, } xqmnb(qmnb) qmnb = { {["memory"] = 16384}, {["name"] = "五幽牛逼"}, {["value"] = -2044634226840561152, ["type"] = 32}, {["lv"] = -1246341781119827968, ["offset"] = 4, ["type"] = 32}, } qmxg = { {["value"] = -476053503, ["offset"] = 4, ["type"] = 4}, } xqmnb(qmnb) mig({{5.533321713993693E-21,0,16},{2.6253290925755273E-27,52,16},},{{0,52,16}},16384,"持枪圈透",true) mig({{-439287564,0,4},{-534315008,-40,4},},{{-534315007,-40,4}},16384,"圈圈闪动",true) mig({{-285787648,0,4},{-286131696,8,4},{-290108736,12,4},},{{0,8,4}},16384,"开火自瞄",true) mig({{-301258224,0,4},{167772309,-8,4},},{{0,0,4}},16384,"开镜自瞄",true) mig({{-309478912,0,4},{-289924415,-4,4},},{{0,0,4},{0,-4,4},},16384,"全屏自瞄",true) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-309323264;-476053504;-290186560;-286131696:13", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.processResume() gg.refineNumber("-476053504", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(10, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("-476053503", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("6.1629795e-33;2.62532909e-27;-9.15697096e22", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("6.1629795e-33", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(3, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_FLOAT) gg.toast("五幽") gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("360;0.0001;1478828288", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("0.0001", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("9999", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-1905726136855492093", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("-1905726136855492092", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-1901891198734303227", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1) gg.editAll("-1901891198902075392", gg.TYPE_QWORD) gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-1901891198734303227", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1) gg.editAll("-1901891198902075392", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("2015175168", gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.getResults(10) gg.editAll("0",gg.TYPE_FLOAT) gg.toast("五幽好帅") gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-299890176D;2046820354D;-494071768D", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("2046820354", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("2046820353", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-1,901,891,198,734,303,227", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1) gg.editAll("-1,901,891,198,902,075,392", gg.TYPE_QWORD) string.toMusic('自瞄开启成功')---语音 end, close = function(self) string.toMusic('无法关闭,只支持一局一开')---语音 end }, } _ENV['菜单2'] = { name = '美化页面', [1] = { name = '没有美化,后期会添加', open = function(self) string.toMusic('没有')---语音 end, close = function(self) string.toMusic('没有')---语音 end } } _ENV['菜单3'] = { name = '音乐', [1] = { name = '搜索歌曲',---8391694libil2cpp.so:bss+0x2E268+0xBB0+0x200+0x798+0x1A60 open = function(self) search = gg.prompt({ "输入要搜索的歌曲\n可加上歌手名字", "设置显示数量(数字)", },g.sel,{ "text", }) if not search then return end gg.saveVariable(search,g.config) bei() go1=search[1] go3=search[2] jg=start(go1,go3) if jg.code == 200 then fh=jg.content fh=json(fh) --print(fh) Play(gqlb,idb) else function inspect() gg.alert("访问网络异常,错误代码:\n\n"..jg.code) end if not pcall(inspect) then print("网络异常,请先连接上网络") os.exit() end end XGCK=-1 end, close = function(self) end }, [2] = { name = '停止播放', open = function(self) gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end, close = function(self) end }, [3] = { name = '起风了', open = function(self) gg.playMusic("https://link.hhtjim.com/163/1330348068.mp3") end, close = function(self) end }, [4] = { name = '武家坡', open = function(self) gg.playMusic("https://link.hhtjim.com/163/1891431677.mp3") end, close = function(self) end }, [5] = { name = '一笑江湖', open = function(self) gg.playMusic("https://link.hhtjim.com/163/2050215361.mp3") end, close = function(self) end }, [6] = { name = 'Shadow', open = function(self) gg.playMusic("https://link.hhtjim.com/163/1949606307.mp3") end, close = function(self) end }, [7] = { name = '向云端', open = function(self) gg.playMusic("https://link.hhtjim.com/163/2049512697.mp3") end, close = function(self) end } } switch2(_ENV['菜单1'], _ENV['菜单2'], _ENV['菜单3'])