draw.setSize(60) draw.setStyle("描边") draw3 = require("draw3") draw.text("XYBBZZ", 250, 400) draw.setColor("#00ffff") draw.setSize(50) draw.setStyle("描边并填充") do if type(getrlyunyz) ~= 'function' then gg.alert('请使用RLGG执行') os.exit() return end local info = { example_version = '1.0.3', name = '冷柠范围', appid = '99077', appkey = 'N5NYtyOubdBgun9z', rc4key = 'bwB00bNNZpL4pWtz', version = '1.0', mi_type = '3' } local rlyunyz = getrlyunyz(info) local ret = rlyunyz.start() if not ret or not isTable(ret) or ret.sign ~= '771a1c7e434469bbd33e65378e5045ef' then os.exit() return end end string.toMusic("欢迎使用冷柠国体范围") function A1() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("9.20161819458;15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("67.8", gg.TYPE_FLOAT) gg.toast("独家范围开启成功") string.toMusic("独家范围开启成功") end function A2() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("9.20161819458;15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("57", gg.TYPE_FLOAT) gg.toast("开启成功") string.toMusic("自用范围开启成功") end function A3() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("9.20161819458;15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("68", gg.TYPE_FLOAT) string.toMusic("爆头范围开启成功") end function A5() function Main() local SN = gg.choice({ "双X特效", "黑边双X特效", "自改特效" }, 2018, "冷柠范围") if SN == 1 then a() elseif SN == 2 then b() elseif SN == 3 then c() end end function a() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("10;46", 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) string.toMusic("开启成功") gg.toast("开启成功") end function b() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("10;46", 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("2500", gg.TYPE_FLOAT) string.toMusic("开启成功") gg.toast("开启成功") end function c() OP=gg.prompt({'推荐3500-9999'},{[1]='3500'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("10;46", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResultCount() gg.searchNumber("10", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll(OP[1], gg.TYPE_FLOAT) end gg.toast("开启成功") string.toMusic("开启成功") end -- 启动脚本 Main() end function A6() GJ=gg.prompt({'自改1-5'},{[1]='3'},{[1]='number'})---自改 if GJ == nil or GJ[1] == '' or GJ[1] == '0' then gg.toast("取消") else --广角原值:360.0 --广角原值:360.0 so=gg.getRangesList('libUE4.so')[1].start py=0x38ABE98 setvalue(so+py,16,GJ[1]) end string.toMusic('自改广角开启成功') end function A9() if gg.getRangesList("libUE4.so")[1] then local t = {} t[1] = gg.getRangesList("libUE4.so")[1]["start"] + 0x7F9A59C; -- 数值地址:0x7492DB759C t[2] = gg.getRangesList("libUE4.so")[1]["start"] + 0x835D58C; -- 数值地址:0x749317A58C t[3] = gg.getRangesList("libUE4.so")[1]["start"] + 0x8439968; -- 数值地址:0x7493256968 t[4] = gg.getRangesList("libUE4.so")[1]["start"] + 0x843B720; -- 数值地址:0x7493258720 t[5] = gg.getRangesList("libUE4.so")[1]["start"] + 0x8608978; -- 数值地址:0x7493425978 gg.setValues({ [1] = { address = t[1], flags = 4, value = -698416192, }, [2] = { address = t[2], flags = 4, value = -698416192, }, [3] = { address = t[3], flags = 4, value = -698416192, }, [4] = { address = t[4], flags = 4, value = -698416192, }, [5] = { address = t[5], flags = 4, value = -698416192, }, }) gg.toast("开启成功") end if gg.getRangesList("libanogs.so")[1] then local t = {} t[1] = gg.getRangesList("libanogs.so")[1]["start"] + 0x1D8CE0; -- 数值地址:0x7527021CE0 gg.setValues({ [1] = { address = t[1], flags = 4, value = 335544326, }, }) gg.toast("开启成功") string.toMusic("防卡伤开启成功") end end -- 线程回调函数 local function getASyncThreadCallbak(func) return function() luajava.startThread(function() return pcall(func) end) end end local task local function getSyncThreadCallbak(func) return function() if task then gg.toast('正在运行其它任务,再稍后!') return end luajava.startThread(function() task=true pcall(func) task=nil end) end end -- 悬浮窗模块 local floatingWindowManager = require('floatingWindowManager') floatingWindowManager:init() -- 主窗口 floatingWindowManager:newWindow(('冷柠范围'):format(floatingWindowManager.version), { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_margin = '10dp', layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '10dp', { Button, background = { GradientDrawable, cornerRadius='10dp', color='0x80b5dbff', }, layout_width = 'match_parent', layout_margin = '2dp', text = '选择进程', textSize = '16sp', onClick = function() gg.setProcessX() string.toMusic("请选择你的游戏进程") end }, { Button, background = { GradientDrawable, cornerRadius='10dp', color='0x80b5dbff', }, layout_width = 'match_parent', layout_margin = '2dp', text = '腾讯防闪', textSize = '16sp', onClick = function() function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x167ba0fe) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end local t = {"libanogs.so:bss", "Cb"} local tt = {0x9E60} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x9ED0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x9F80} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x9FB0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}}) local t = {"libanogs.so:bss", "Cb"} local tt = {0x9E18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}}) string.toMusic("防闪开启成功") gg.toast("开启成功") end }, { Button, background = { GradientDrawable, cornerRadius='10dp', color='0x80b5dbff', }, layout_width = 'match_parent', layout_margin = '2dp', text = '[范围区]', textSize = '16sp', onClick = function() floatingWindowManager:start('冷柠[范围区]') string.toMusic("范围区") end },{ Button, background = { GradientDrawable, cornerRadius='10dp', color='0x80b5dbff', }, layout_width = 'match_parent', layout_margin = '2dp', text = '工具区', textSize = '16sp', onClick = function() floatingWindowManager:start('[工具区]') string.toMusic("工具区") end } } }) end }) floatingWindowManager:newWindow('冷柠[范围区]', { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '10dp', { Switch, layout_width = 'match_parent', layout_margin = '5dp', text = '防卡伤[局内]', textSize = '16sp', textColor= "#32CD32", gravity="center", layout_height="30dp", background= luajava.loadlayout { GradientDrawable, color = "#DB809EB5", cornerRadius = 20 }, onClick = function(view) if view:isChecked() then A9() else string.toMusic("关闭成功") end end }, { Switch, layout_width = 'match_parent', layout_margin = '5dp', text = ' 独家范围', textSize = '16sp', textColor= "#FF3333", gravity="center", layout_height="30dp", background= luajava.loadlayout { GradientDrawable, color = "#DB809EB3", cornerRadius = 20 }, onClick = function(view) if view:isChecked() then A1() else local scriptName = [=====[冷柠入侵成功]=====] local scriptVersion = '独家头部' local scriptAuthor = 'HOOK' local startToast = '' -- 0 - no check; 1 - check package only, 2 - check package and build local checkTarget = 0 local targetName = [=====[BETA PUBG MOBILE]=====] local targetPkg = 'com.tencent.igce' local targetVersion = [=====[4.5.2]=====] local targetBuild = 21055 -- functions -- init gg.require('96.0', 15993) if startToast ~= '' then startToast = '\n'..startToast end gg.toast(scriptName..' v'..scriptVersion..' by '..scriptAuthor..startToast) if checkTarget ~= 0 then local info = gg.getTargetInfo() local check = false local current = false if checkTarget >= 1 then check = targetPkg current = info.packageName end if checkTarget >= 2 then check = check..' '..targetVersion..' ('..targetBuild..')' current = current..' '..info.versionName..' ('..info.versionCode..')' end if check ~= current then gg.alert('This script for "'..targetName..'" ['..check..'].\nYou select "'..info.label..'" ['..current..'].\nNow script exit.') os.exit() end end local revert = nil -- main code gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("67.8", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("15.75", gg.TYPE_FLOAT) string.toMusic("关闭成功") end end }, { Switch, layout_width = 'match_parent', layout_margin = '5dp', text = ' 自用范围', textSize = '16sp', textColor= "#FFB6C1", gravity="center", layout_height="30dp", background= luajava.loadlayout { GradientDrawable, color = "#DB809EB3", cornerRadius = 20 }, onClick = function(view) if view:isChecked() then A2() else local scriptName = [=====[冷柠入侵成功]=====] local scriptVersion = '独家头部' local scriptAuthor = 'HOOK' local startToast = '' -- 0 - no check; 1 - check package only, 2 - check package and build local checkTarget = 0 local targetName = [=====[BETA PUBG MOBILE]=====] local targetPkg = 'com.tencent.igce' local targetVersion = [=====[4.5.2]=====] local targetBuild = 21055 -- functions -- init gg.require('96.0', 15993) if startToast ~= '' then startToast = '\n'..startToast end gg.toast(scriptName..' v'..scriptVersion..' by '..scriptAuthor..startToast) if checkTarget ~= 0 then local info = gg.getTargetInfo() local check = false local current = false if checkTarget >= 1 then check = targetPkg current = info.packageName end if checkTarget >= 2 then check = check..' '..targetVersion..' ('..targetBuild..')' current = current..' '..info.versionName..' ('..info.versionCode..')' end if check ~= current then gg.alert('This script for "'..targetName..'" ['..check..'].\nYou select "'..info.label..'" ['..current..'].\nNow script exit.') os.exit() end end local revert = nil -- main code gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("57", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("15.75", gg.TYPE_FLOAT) string.toMusic("关闭成功") end end }, { Switch, layout_width = 'match_parent', layout_margin = '5dp', text = ' 爆头范围', textSize = '16sp', textColor= "#9933FF", gravity="center", layout_height="30dp", background= luajava.loadlayout { GradientDrawable, color = "#DB809EB3", cornerRadius = 20 }, onClick = function(view) if view:isChecked() then A3() else local scriptName = [=====[冷柠入侵成功]=====] local scriptVersion = '独家头部' local scriptAuthor = 'HOOK' local startToast = '' -- 0 - no check; 1 - check package only, 2 - check package and build local checkTarget = 0 local targetName = [=====[BETA PUBG MOBILE]=====] local targetPkg = 'com.tencent.igce' local targetVersion = [=====[4.5.2]=====] local targetBuild = 21055 -- functions -- init gg.require('96.0', 15993) if startToast ~= '' then startToast = '\n'..startToast end gg.toast(scriptName..' v'..scriptVersion..' by '..scriptAuthor..startToast) if checkTarget ~= 0 then local info = gg.getTargetInfo() local check = false local current = false if checkTarget >= 1 then check = targetPkg current = info.packageName end if checkTarget >= 2 then check = check..' '..targetVersion..' ('..targetBuild..')' current = current..' '..info.versionName..' ('..info.versionCode..')' end if check ~= current then gg.alert('This script for "'..targetName..'" ['..check..'].\nYou select "'..info.label..'" ['..current..'].\nNow script exit.') os.exit() end end local revert = nil -- main code gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("68", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("15.75", gg.TYPE_FLOAT) string.toMusic("关闭成功") end end },{ TextView, layout_width = 'match_parent', layout_margin = '0dp', gravity="center", text = '开启范围之后再开', textSize = '12sp', textColor = '#FF01FFFF' -- 只设置文字颜色,没有点击事件 }, { Switch, layout_width = 'match_parent', layout_margin = '5dp', text = ' 自选特效', textSize = '16sp', textColor= "#FFD700", gravity="center", layout_height="30dp", background= luajava.loadlayout { GradientDrawable, color = "#DB809EB3", cornerRadius = 20 }, onClick = function(view) if view:isChecked() then A5() else end end } } }) end }) -- 工具区窗口 floatingWindowManager:newWindow('[工具区]', { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '10dp', { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '隐藏水印', textSize = '16sp', onClick = function() draw.text("", 290,300) draw.setColor('#00FFFF') draw.setSize(0) draw.setStyle('描边并填充') end }, { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = '恢复水印', textSize = '16sp', onClick = function() draw.text("", 250,400) draw.setColor('#00FFFF') draw.setSize(50) draw.setStyle('描边并填充') end },{ Switch, layout_width = 'match_parent', layout_margin = '5dp', text = '自改广角', textSize = '16sp', textColor= "#ddffffff", gravity="center", layout_height="30dp", background= luajava.loadlayout { GradientDrawable, color = "#87CEEB", cornerRadius = 20 }, onClick = function(view) if view:isChecked() then A6() else gg.toast("关闭成功") string.toMusic("关闭成功") end end },{ Switch, layout_width = 'match_parent', layout_margin = '5dp', text = '免ROOT注入', textSize = '16sp', textColor= "#ddffffff", gravity="center", layout_height="30dp", background= luajava.loadlayout { GradientDrawable, color = "#87CEEB", cornerRadius = 20 }, onClick = function(view) if view:isChecked() then gg.setProcess("com.tencent.igce") os.execute("mkdir -p /storage/emulated/0/冰岛/") FY1 = gg.prompt({ "请选择so文件", "请选择inject文件" }, { "/storage/emulated/0/", "/storage/emulated/0/" }, { "file", "file" }) if FY1 then local file1Path = FY1[1] local file2Path = FY1[2] local destDir = "/storage/emulated/0/冰岛/" -- 固定的目标文件名 local file1NewName = "libbdnb.so" local file2NewName = "64bit" -- 复制文件并重命名 os.execute("cp " .. file1Path .. " " .. destDir .. file1NewName) os.execute("cp " .. file2Path .. " " .. destDir .. file2NewName) -- 删除原文件 os.execute("rm " .. file1Path) os.execute("rm " .. file2Path) gg.toast("文件已移动并重命名:\n" .. file1NewName .. "\n" .. file2NewName) end file.cpp(("eNq1U8tOwkAU3c9XXEfksWiHRpSFIcboxi0sCZLp9LadZPpIZzAiYetP+BPGf+I/HCgIEdTGYJo0aXvP4545PT1heqoNJsyXKdMxIUAG/dvx3X2/R5k2WcEjZJhMFDcYsDZbvLwt3l+pHcsLmZqxyFRWNFswIyoTXMHquVfziI5laMickIgnOM5l0GvmUYE5OCHQB5ElrsFUYGpcGQmkLSJDGILzDLS2QVAYXYGJMSU8AW14YcBJ4SuULV9gLsUSpt0JdtxBrriOb4SRj9JMS+batQUjtD858Uka8EgoiVZofXnuxVG87uQC5x5QuqOESuOBAfsF7FUk4BQhsIAbXt72dlXS94PUd3VWZfqy40uzohblLrXZ+nDnO0z0Rw4i4iQLoNvtVjW2r7XycRSZcqN1/lWjghHU62RoLTVti2yJBDTOeKMiukWhB9Qaoxsep0Lqf9FcAXflvm/U4R5tiwbrUrdtqbf1BvK77wN/GDg2w4qH/389/gBdkIGl"):base64("de"):unzip(), true) gg.alert("注入模块加载中请等待UI显示") else end end } } }) end }) -- 启动悬浮窗 floatingWindowManager:run()