-- 修复异常版本 适配4.5.4体验服 draw.setStyle("描边") draw3 = require("draw3") draw.text("晴空反胃", 300, 250) draw.setColor("#00ffff") draw.setSize(50) draw.setStyle("描边并填充") DM="欢迎使用晴空反胃" gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") -- ========== 核心函数定义 ========== function PS() end function GB() end function GBK() end function GBKL() end function HK() end function F3() end function DF() end function GAB() end function DJKS() end function DJPS() end function FW78() end function FW1() end local function interruptThread(thread) if thread then pcall(function() thread:interrupt() end) end end -- ========== 修复浮动窗口管理器 ========== local floatingWindowManager = require('floatingWindowManager') if not floatingWindowManager then gg.alert("加载浮动窗口失败,请更新GG版本") os.exit() end pcall(function() floatingWindowManager:init() end) -- ========== 防闪功能 ========== function FSKQ() local items, count = {}, 0 local liblist = { {"libUE4.so", { {0x7E0, 4096, 4}, {0x808, 4096, 4}, {0xCA4, 4096, 4}, {0xCCC, 4096, 4}, {0xCF4, 4096, 4}, {0xD1C, 4096, 4} }}, {"libanogs.so", { {0x300, 4096, 4}, {0x3F8, 4096, 4}, {0x430, 4096, 4}, {0x550, 4096, 4}, {0x5D8, 4096, 4}, {0x45E0, 4096, 4}, {0x4610, 4096, 4}, {0x463C, 4096, 4}, {0x4670, 4096, 4} }} } for i=1,#liblist do local r = gg.getRangesList(liblist[i][1] .. ":bss")[1] if r then local base = r.start for j=1,#liblist[i][2] do count = count + 1 items[count] = { address = base + liblist[i][2][j][1], flags = liblist[i][2][j][3], value = liblist[i][2][j][2] } end end end if count > 0 then gg.setValues(items) gg.toast("防闪HOOK成功") else gg.toast("未找到内存,请先配置进程") 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() if not ti then return nil end local S_list = getRanges() 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 addr = Get_Address(t_So, t_Offset, _bit) if addr then return string.format('0x%X', addr) end return nil end -- ========== 主菜单 ========== floatingWindowManager:newWindow('晴空', { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_margin = '0dp', layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '5dp', { Button, background = {GradientDrawable, cornerRadius='10dp', color='#5000000'}, layout_width = 'match_parent', layout_margin = '1dp', text = '配置进程', textColor = "#FF14DAFF", textSize = '16sp', onClick = function() gg.setProcessX() end }, { Button, background = {GradientDrawable, cornerRadius='10dp', color='#5000000'}, layout_width = 'match_parent', layout_margin = '1dp', text = '范围区域', textColor = "#FF14DAFF", textSize = '16sp', onClick = function() floatingWindowManager:start('晴空[范围]') end }, { Button, background = {GradientDrawable, cornerRadius='10dp', color='#5000000'}, layout_width = 'match_parent', layout_margin = '1dp', text = '通用防闪', textColor = "#FF14DAFF", textSize = '16sp', onClick = function() FSKQ() end }, { Button, background = {GradientDrawable, cornerRadius='10dp', color='#5000000'}, layout_width = 'match_parent', layout_margin = '1dp', text = '工具箱', textColor = "#FF14DAFF", textSize = '16sp', onClick = function() floatingWindowManager:start('晴空[工具]') end }, } }) end, onDestroy = function() 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 = '5dp', { Button, background = {GradientDrawable, cornerRadius='34dp', color='0xE0F7F9'}, layout_width = 'match_parent', layout_margin = '1dp', text = '隐藏电报', textColor = "#FF14DAFF", textSize = '16sp', onClick = function() draw.remove() gg.toast("关闭成功") end }, { Button, background = {GradientDrawable, cornerRadius='34dp', color='0xE0F7F9'}, layout_width = 'match_parent', layout_margin = '1dp', text = '显示电报', textColor = "#FF14DAFF", textSize = '16sp', onClick = function() draw.setStyle("描边") draw3 = require("draw3") draw.text("晴空反胃", 300, 250) draw.setColor("#00ffff") draw.setSize(50) draw.setStyle("描边并填充") gg.toast("开启成功") 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 = '0dp', { TextView, text = "晴空防卡伤:", textSize = "12sp", textColor = "#FFFFFF" }, { LinearLayout, padding = {'0dp', '0dp', '0dp', '0dp'}, layout_marginTop = '1dp', { Switch, layout_marginLeft = '0dp', text = "防卡伤(新偏移待更新)", textColor = "#01FFFF", layout_height = "30dp", layout_width = "220dp", background = luajava.loadlayout { GradientDrawable, color = "#00000000", cornerRadius = 28 }, onCheckedChange = function(CompoundButton, state) if state then gg.toast("防卡伤已开启(请更新偏移)") else gg.toast("防卡伤已关闭") end end } }, { TextView, text = "范围一把一开:", textSize = "12sp", textColor = "#FFFFFF" }, { LinearLayout, padding = {'0dp', '0dp', '0dp', '1dp'}, layout_marginTop = '1dp', { Switch, layout_marginLeft = '0dp', text = "打击范围", textColor = "#01FFFF", layout_height = "30dp", layout_width = "200dp", background = luajava.loadlayout { GradientDrawable, color = "#00000000", cornerRadius = 28 }, onCheckedChange = function(CompoundButton, state) if state then -- 这里填入4.5.4体验服的新范围偏移 gg.toast("范围已开启(请更新偏移)") else gg.toast("范围已关闭") end end } }, { TextView, text = "特效一把一开:", textSize = "12sp", textColor = "#FFFFFF" }, { LinearLayout, padding = {'0dp', '0dp', '0dp', '1dp'}, layout_marginTop = '1dp', { Switch, layout_marginLeft = '0dp', text = "打击特效", textColor = "#01FFFF", layout_height = "30dp", layout_width = "200dp", background = luajava.loadlayout { GradientDrawable, color = "#00000000", cornerRadius = 28 }, onCheckedChange = function(CompoundButton, state) if state then gg.toast("特效已开启(请更新偏移)") else gg.toast("特效已关闭") end end } }, { TextView, layout_width = 'match_parent', layout_margin = '0dp', gravity = "center", text = '✶ Telegram: @qingkong ✶', textSize = '12sp', textColor = '#FF01FFFF' } } }) end }) floatingWindowManager:run() gg.toast("晴空已加载")