---反编译成功冰冰冰 draw.text(os.date("story范围"), 290, 300) draw.setColor("#00FFFF") local function fn(a) if type(string.toMusic) == "function" then string.toMusic(a) end end function PS() end function setvalue(a, b, c) PS("修改地址数值(地址,数值类型,要修改的值)") local tbl = { {} } tbl[1].address = a tbl[1].flags = b tbl[1].value = c gg.setValues(tbl) end function S_Pointer(a, b, c) local function fn4() local tbl = {} local result = gg.getRangesList("^/data/*.so*$") for k, v in pairs(result) do local type = v.type if type:sub(2, 2) == "w" then table.insert(tbl, v) end end return tbl end local function fn5(d, e, f) local address local result = gg.getTargetInfo() local result2 = fn4() local result3 = tonumber(377200894) local tbl = {} local _, value17 = nil, nil local ok = f and 32 or 4 local result6, value18, value19 = pairs(result2) local item3 = value17 for item in result6, value18, value19 do local item4 = result2[item] local internalName = item4.internalName local value2 = "gsub" local result7 = internalName[value2](internalName, "^.*/", "") if d[1] == result7 and d[2] == result2[item].state then item3 = result2[item] break end end if item3 then tbl[#tbl + 1] = {} local item5 = tbl[#tbl] item5.address = item3.start + e[1] local item6 = tbl[#tbl] item6.flags = ok local tbl2 = tbl if #e ~= 1 then for i = 2, #e do local result5 = gg.getValues(tbl2) tbl2 = {} for item2 in pairs(result5) do if not result.x64 then result5[item2].value = result5[item2].value & 4294967295 end tbl2[#tbl2 + 1] = {} local item8 = tbl2[#tbl2] item8.address = result5[item2].value + e[i] local item9 = tbl2[#tbl2] item9.flags = ok end end end local item7 = tbl2[#tbl2] address = item7.address local print = print local result4 = string.char(231, 190, 164, 58) print(result4 .. result3) end return address end return (string.format("0x%X", fn5(a, b, c))) end function Unfreeze() local result = gg.getListItems() for k, v in pairs(result) do result[k].freeze = false end return gg.addListItems(result) end function xqmnb(a, b) gg.clearResults() local setRanges = gg.setRanges local item = a[1] setRanges(item.memory) local item2 = a[3] local item3 = a[3] gg.searchNumber(item2.value, item3.type, false, 536870912, 0, -1) if gg.getResultCount() == 0 then local item7 = a[2] gg.toast(item7.name .. "开启失败") return end local result = gg.getResults(gg.getResultCount()) for i = 4, #a do local ok3 = 0 for j = 1, #result do local value7 = nil local getValues = gg.getValues local tbl3 = { { address = result[j].address + a[i].offset, flags = a[i].type } } local result2 = getValues(tbl3) local ok4 = #result2 local value16 if ok4 > 0 then value16 = result2[1].value else value16 = value7 end local item5 = a[i] local lv = item5.lv if value16 ~= lv then result[j].Usable = true ok3 = ok3 + 1 end end local ok5 = #result if ok3 == ok5 then local item6 = a[2] gg.toast(item6.name .. "开启失败") return end end local tbl = {} local tbl2 = {} local ok, ok2 = 0, 0 for k, v in ipairs(b) do for i2 = 1, #result do local item8 = result[i2] if not item8.Usable then local tbl4 = { address = result[i2].address + v.offset, flags = v.type, value = v.value, freeze = true } if v.freeze then tbl2[#tbl2 + 1] = tbl4 ok = ok + 1 else tbl[#tbl + 1] = tbl4 end ok2 = ok2 + 1 end end end gg.addListItems(tbl) gg.addListItems(tbl2) local item4 = a[2] gg.toast(item4.name .. "开启成功,共修改" .. ok2 .. "条数据") gg.clearResults() end function XGBase(a, b) local value = 0 for k, v in ipairs(a) do if k == 1 then value = v else local getValues = gg.getValues local tbl3 = { { address = value + v, flags = 4 } } local result = getValues(tbl3) if #result == 0 then return end value = result[1].value end end local tbl = {} local tbl2 = {} for k2, v2 in ipairs(b) do local tbl4 = { address = value + v2[3], flags = v2[2], value = v2[1], freeze = true } if v2[4] then tbl2[#tbl2 + 1] = tbl4 else tbl[#tbl + 1] = tbl4 end end gg.addListItems(tbl) gg.addListItems(tbl2) end function Format(a, b, c, d, e) if b == "查看" then a[1].flags = d return print(gg.getValues(a)) end if b == "修改" then a[1].flags = d a[1].value = c return gg.addListItems(a) end if b == "冻结" then a[1].flags = d a[1].freeze = true a[1].value = c local ok = e or "功能" a[1].name = ok return gg.addListItems(a) end if b ~= "加载" then return end a[1].flags = d return gg.loadResults(a) end function LSQ_Chain(a, b, c, d, e, f) getRanges = getRanges or function() local tbl = {} local result = gg.getRangesList("^/data/*.so*$") for k, v in pairs(result) do local type = v.type if type:sub(2, 2) == "w" then tbl[#tbl + 1] = v end end return tbl end local tbl = {} local result = getRanges() local start, TYPE_DWORD = nil, gg.TYPE_DWORD local result2 = gg.getTargetInfo() if result2.x64 then local value11 TYPE_DWORD = value11.TYPE_QWORD end for item in pairs(result) do local item2 = result[item] local internalName = item2.internalName local value2 = "gsub" local result4 = internalName[value2](internalName, "^.*/", "") if a[1] == result4 and a[2] == result[item].state then start = result[item].start break end end if start then local item3, result3 = b[1], tbl if item3 then local value6 = start for i = 1, #b do local tbl2 = { { flags = TYPE_DWORD, address = value6 + b[i] } } result3 = gg.getValues(tbl2) local ok = #b if i == ok then break end local TYPE_DWORD2 = gg.TYPE_DWORD if TYPE_DWORD == TYPE_DWORD2 then value6 = result3[1].value & 4294967295 else value6 = result3[1].value end end end result3 = result3 local _ = #result3 return Format(result3, c, d, e, f) end gg.toast("功能:" .. f .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end function getZZ(a) local result = gg.getValues({ { address = a, flags = gg.TYPE_QWORD } }) local ok = #result if ok > 0 then local item = result[1] return item.value end return nil end function getDword(a) local result = gg.getValues({ { address = a, flags = 4 } }) local ok = #result if ok > 0 then local item = result[1] return item.value end return nil end function getFloat(a) local result = gg.getValues({ { address = a, flags = 16 } }) local ok = #result if ok > 0 then local item = result[1] return item.value end return nil end function WriteFloat(a, b, c) gg.setValues({ { address = a, flags = 16, value = b } }) if c then gg.addListItems({ { address = a, flags = 16, value = b, freeze = c } }) end end function WriteDword(a, b, c) gg.setValues({ { address = a, flags = 4, value = b } }) if c then gg.addListItems({ { address = a, flags = 4, value = b, freeze = c } }) end end function UnfreezeF(a, b) gg.addListItems({ { address = a, flags = 16, freeze = b } }) end function gai(a, b, c) local tbl = { {} } tbl[1].address = a tbl[1].flags = b tbl[1].value = c gg.setValues(tbl) end local function fn2(a) local result = gg.getValues({ { address = a, flags = gg.TYPE_QWORD } }) local ok = #result if ok > 0 then local item = result[1] return item.value end return nil end D = gg.TYPE_DWORD F = gg.TYPE_FLOAT function getvalue(a, b) local tbl = { {} } tbl[1].address = a tbl[1].flags = b tmp = gg.getValues(tbl) local ok = #tmp if ok > 0 then local tmp = tmp[1] return tmp.value end return nil end function RQI(a) return getvalue(a, gg.TYPE_QWORD) end function GotoPointer(a, b) local tbl = { [true] = 32, [false] = 4 } local result = gg.getTargetInfo() local x64 = result.x64 local item, ok = tbl[x64], 0 if a then local item2 = b[1] ok = a + item2 for i = 2, #b do local result2 = gg.getValues({ { address = ok, flags = item } }) if #result2 == 0 then return nil end if not x64 then result2[1].value = result2[1].value & 4294967295 end ok = result2[1].value + b[i] end end return ok end function readPointer(a, b, c) local result = gg.getRangesList(a) local result2 = gg.getTargetInfo() local x64 = result2.x64 local tbl = { [true] = 32, [false] = 4 } local ok = c or 1 if result[ok] then local ok2 = result[c or 1].start + b[1] for i = 2, #b do local result3 = gg.getValues({ { address = ok2, flags = tbl[x64] } }) if #result3 == 0 then return nil end if not x64 then result3[1].value = result3[1].value & 4294967295 end ok2 = result3[1].value + b[i] end return ok2 end return nil end function gg.edits(a, b, c) local tbl = { {}, {} } for k, v in ipairs(b) do local tbl2 = { address = a + v[3], value = v[1], flags = v[2], freeze = v[4] } if v[4] then tbl[2][#tbl[2] + 1] = tbl2 else tbl[1][#tbl[1] + 1] = tbl2 end end gg.addListItems(tbl[2]) gg.setValues(tbl[1]) gg.toast((c or "") .. "开启成功, 共修改" .. #b .. "个值") end local _ = gg.getRangesList("/") draw.setStyle("描边") draw3 = require("draw3") draw.text("", 300, 250) draw.setColor("#00ffff") draw.setSize(50) draw.setStyle("描边并填充") local value4 = 5769968 local value5 = 48 local value6 = 1344 local function fn3() local result = gg.getRangesList("libUE4.so:bss") if #result < 1 then gg.toast("错误:未找到 libUE4.so:bss") return end local result2 = getZZ(result[1].start + value4) if result2 then local result3 = getZZ(result2 + value5) if result3 then local result4 = getZZ(result3 + value6) if result4 then local result5 = getZZ(result4 + 1560) if result5 then if result5 == nil or result5 == 0 then gg.toast("获取地址失败,请确保在游戏大厅或对局中开启") return end local ok = result5 + 16 local ok2 = result5 + 80 local ok3 = result5 + 144 local ok4 = result5 + 208 local ok5 = result5 + 20 local ok6 = result5 + 84 local ok7 = result5 + 148 local ok8 = result5 + 212 local ok9 = result5 + 44 local ok10 = result5 + 96 local ok11 = result5 + 108 local ok12 = result5 + 112 local ok13 = result5 + 172 local ok14 = result5 + 176 local ok15 = result5 + 236 local ok16 = result5 + 240 local ok17 = result5 + 48 WriteFloat(ok9, 45) WriteFloat(ok10, 45) WriteFloat(ok11, 135) WriteFloat(ok12, 135) WriteFloat(ok13, 225) WriteFloat(ok14, 225) WriteFloat(ok15, 315) WriteFloat(ok16, 315) local result6 = gg.choice({ "大X特效", "双X特效", "细X特效", "细长特效", "歪把子特效", "细X特效(十字)", "双X特效(十字)", "细长特效(十字)", "全屏特效", "米字特效", "傻福特效" }, nil, "请选择运行模式") if result6 then if result6 == 1 then WriteFloat(ok, 300) WriteFloat(ok2, 300) WriteFloat(ok3, 300) WriteFloat(ok4, 300) WriteFloat(ok5, 1600) WriteFloat(ok6, 1600) WriteFloat(ok7, 1600) WriteFloat(ok8, 1600) gg.toast("大X特效 开启成功") gg.playMusic("https://pan.29o.cn/down.php/b9e82fa649b4130d8ed1e3621662e50c.mp3") elseif result6 == 2 then WriteFloat(ok, 99999) WriteFloat(ok2, 99999) WriteFloat(ok3, 99999) WriteFloat(ok4, 99999) WriteFloat(ok5, 46) WriteFloat(ok6, 46) WriteFloat(ok7, 46) WriteFloat(ok8, 46) gg.toast("双X特效 开启成功") gg.playMusic("https://pan.29o.cn/down.php/b9e82fa649b4130d8ed1e3621662e50c.mp3") elseif result6 == 3 then WriteFloat(ok, 150) WriteFloat(ok2, 150) WriteFloat(ok3, 150) WriteFloat(ok4, 150) WriteFloat(ok5, 1600) WriteFloat(ok6, 1600) WriteFloat(ok7, 1600) WriteFloat(ok8, 1600) gg.toast("细X特效 开启成功") gg.playMusic("https://pan.29o.cn/down.php/b9e82fa649b4130d8ed1e3621662e50c.mp3") elseif result6 == 4 then WriteFloat(ok, 10) WriteFloat(ok2, 10) WriteFloat(ok3, 10) WriteFloat(ok4, 10) WriteFloat(ok5, 1600) WriteFloat(ok6, 1600) WriteFloat(ok7, 1600) WriteFloat(ok8, 1600) gg.toast("细长特效 开启成功") gg.playMusic("https://pan.29o.cn/down.php/b9e82fa649b4130d8ed1e3621662e50c.mp3") elseif result6 == 5 then WriteFloat(ok, 300) WriteFloat(ok2, 300) WriteFloat(ok3, 300) WriteFloat(ok4, 300) WriteFloat(ok5, 1600) WriteFloat(ok6, 1600) WriteFloat(ok7, 1600) WriteFloat(ok8, 1600) WriteFloat(ok9, 30) WriteFloat(ok10, 30) gg.toast("歪把子特效 开启成功") gg.playMusic("https://pan.29o.cn/down.php/b9e82fa649b4130d8ed1e3621662e50c.mp3") elseif result6 == 6 then WriteFloat(ok, 150) WriteFloat(ok2, 150) WriteFloat(ok3, 150) WriteFloat(ok4, 150) WriteFloat(ok5, 1600) WriteFloat(ok6, 1600) WriteFloat(ok7, 1600) WriteFloat(ok8, 1600) WriteFloat(ok9, 0) WriteFloat(ok17, 0) WriteFloat(ok11, 90) WriteFloat(ok12, 90) WriteFloat(ok13, 180) WriteFloat(ok14, 180) WriteFloat(ok15, 270) WriteFloat(ok16, 270) gg.toast("细X特效(十字) 开启成功") gg.playMusic("https://pan.29o.cn/down.php/b9e82fa649b4130d8ed1e3621662e50c.mp3") elseif result6 == 7 then WriteFloat(ok, 99999) WriteFloat(ok2, 99999) WriteFloat(ok3, 99999) WriteFloat(ok4, 99999) WriteFloat(ok5, 46) WriteFloat(ok6, 46) WriteFloat(ok7, 46) WriteFloat(ok8, 46) WriteFloat(ok9, 0) WriteFloat(ok17, 0) WriteFloat(ok11, 90) WriteFloat(ok12, 90) WriteFloat(ok13, 180) WriteFloat(ok14, 180) WriteFloat(ok15, 270) WriteFloat(ok16, 270) gg.toast("双X特效(十字) 开启成功") gg.playMusic("https://pan.29o.cn/down.php/b9e82fa649b4130d8ed1e3621662e50c.mp3") elseif result6 == 8 then WriteFloat(ok, 10) WriteFloat(ok2, 10) WriteFloat(ok3, 10) WriteFloat(ok4, 10) WriteFloat(ok5, 1600) WriteFloat(ok6, 1600) WriteFloat(ok7, 1600) WriteFloat(ok8, 1600) WriteFloat(ok9, 0) WriteFloat(ok17, 0) WriteFloat(ok11, 90) WriteFloat(ok12, 90) WriteFloat(ok13, 180) WriteFloat(ok14, 180) WriteFloat(ok15, 270) WriteFloat(ok16, 270) gg.toast("细长特效(十字) 开启成功") gg.playMusic("https://pan.29o.cn/down.php/b9e82fa649b4130d8ed1e3621662e50c.mp3") elseif result6 == 9 then WriteFloat(ok, 9999) WriteFloat(ok2, 9999) WriteFloat(ok3, 9999) WriteFloat(ok4, 9999) WriteFloat(ok5, 9999) WriteFloat(ok6, 9999) WriteFloat(ok7, 9999) WriteFloat(ok8, 9999) gg.toast("全屏特效 开启成功") elseif result6 == 10 then WriteFloat(ok, 99999) WriteFloat(ok2, 99999) WriteFloat(ok3, 99999) WriteFloat(ok4, 99999) WriteFloat(ok5, 60) WriteFloat(ok6, 60) WriteFloat(ok7, 60) WriteFloat(ok8, 60) WriteFloat(ok9, 225) WriteFloat(ok10, 225) WriteFloat(ok11, 150) WriteFloat(ok12, 150) WriteFloat(ok13, 180) WriteFloat(ok14, 180) WriteFloat(ok15, 90) WriteFloat(ok16, 810) gg.toast("米字特效 开启成功") gg.playMusic("https://pan.29o.cn/down.php/b9e82fa649b4130d8ed1e3621662e50c.mp3") elseif result6 == 11 then WriteFloat(ok, 99999) WriteFloat(ok2, 99999) WriteFloat(ok3, 99999) WriteFloat(ok4, 99999) WriteFloat(ok5, 60) WriteFloat(ok6, 60) WriteFloat(ok7, 60) WriteFloat(ok8, 60) WriteFloat(ok9, 45) WriteFloat(ok10, 0) WriteFloat(ok11, 135) WriteFloat(ok12, 0) WriteFloat(ok13, 225) WriteFloat(ok14, 0) WriteFloat(ok15, 315) WriteFloat(ok16, 0) gg.toast("傻福特效 开启成功") gg.playMusic("https://pan.29o.cn/down.php/b9e82fa649b4130d8ed1e3621662e50c.mp3") end return end gg.toast("已取消选择") return end gg.toast("zs地址获取失败") return end gg.toast("指针3获取失败") return end gg.toast("指针2获取失败") return end gg.toast("指针1获取失败") end function newcheck(a) firadio = { LinearLayout, layout_width = "match_parent", layout_height = "match_parent", orientation = "vertical" } if type(a[1]) == "string" or type(a[1]) == "number" then firadio[#firadio + 1] = { TextView, text = a[1], textColor = "#ffffff" } end radios = { LinearLayout, orientation = "horizontal", gravity = "center", background = "#00C92E37", layout_width = "match_parent" } for i = 2, #a do local item = a[i] local _ = item[4] local result = guid() local result2 = _ENV["\195\165\194\188\194\128\195\165\194\133\194\179"]((a[i][1] or "未设置") .. result, a[i][2], a[i][3]) radios[#radios + 1] = { CheckBox, text = a[i][1], textSize = "9sp", textColor = "#ffffff", onClick = function() local result = luajava.newThread(function() pcall(result2) end) result:start() end } end firadio[#firadio + 1] = radios return luajava.loadlayout(firadio) end function newradio(a) firadio = { LinearLayout, layout_width = "match_parent", layout_height = "match_parent", orientation = "horizontal" } if type(a[1]) ~= "string" then local _ = type(a[1]) end radios = { RadioGroup, orientation = "horizontal", gravity = "center", background = "#00C92E37", layout_width = "match_parent" } for i = 2, #a do radios[#radios + 1] = { RadioButton, text = a[i][1], textColor = "#ffffff", textSize = "11sp", onClick = function() local result = luajava.newThread(function() pcall(a[i][2]) end) result:start() end } end firadio[#firadio + 1] = radios return luajava.loadlayout(firadio) end _ENV["\195\165\194\188\194\128\195\165\194\133\194\179"] = function(a, b, c) local value3, value = nil, b if b == value3 then value = "" end local value4 = nil local value2 = c if c == value4 then value2 = "" end if type(value) ~= "function" then return end return function() namers = _ENV[a] if namers == "开" then _ENV[a] = "关" value2() else _ENV[a] = "开" value() end end end function guid() seed = { "e", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" } tb = {} for i = 1, 32 do local tb = tb table.insert(tb, seed[math.random(1, 16)]) end sid = table.concat(tb) local result = string.format("%s%s%s%s%s", string.sub(sid, 1, 8), string.sub(sid, 10, 12), string.sub(sid, 21, 22)) local result2 = string.format("%s%s%s%s%s", string.sub(sid, 1, 6), string.sub(sid, 21, 25)) return result .. result2 end local result = require("floatingWindowManager") result:init() local value7 = "newWindow" local item, value8 = result[value7], "story范围" item(result, value8.format(value8, result.version), { onCreate = function(a) local value = "addlayout" local tbl = { ScrollView, layout_margin = "0dp", layout_width = "match_parent", layout_height = "match_parent", { LinearLayout, background = result:getStateListDrawable(), layout_width = "match_parent", layout_height = "match_parent", orientation = "vertical", padding = "5dp", { Button, background = { GradientDrawable, cornerRadius = "10dp", color = "#50000000" }, layout_width = "match_parent", layout_margin = "1dp", text = "配置进程", textColor = "#FF14DAFF", textSize = "16sp", onClick = function() gg.setProcessX() gg.playMusic("https://wl.luoyeyun.icu/view.php/00925a70743d8bede4df293bdfda0475.mp3") end }, { Button, background = { GradientDrawable, cornerRadius = "10dp", color = "#50000000" }, layout_width = "match_parent", layout_margin = "1dp", text = "腾讯防闪", textColor = "#FF14DAFF", textSize = "16sp", onClick = function() local tbl = { { "libanogs.so", { { 768, 1, 4 }, { 1016, 1, 4 }, { 1360, 1, 4 }, { 1496, 1, 4 } } } } local ok = 0 local tbl2 = {} for i = 1, #tbl do local value8 = nil for k, v in ipairs(gg.getRangesList(tbl[i][1] .. ":bss")) do break end if value8 and type(value8.start) == "number" then local start = value8.start local item = tbl[i] local item2 = item[2] for j = 1, #item2 do local item3 = item2[j] local item4 = item3[1] local item5 = item2[j] local item6 = item5[2] local item7 = item2[j] local item8 = item7[3] ok = ok + 1 tbl2[ok] = { address = start + item4, flags = item8, value = item6 } end end end local result2, value11 = pcall(function() if ok > 0 then gg.setValues(tbl2) end end) if result2 and ok > 0 then gg.toast("HOOK 成功,共修改 " .. ok .. " 处") elseif result2 then gg.toast("未找到 libanogs.so:bss 段,修改失败") else local result = tostring(value11) gg.toast("脚本异常:" .. result) end gg.toast("防闪开启成功") gg.playMusic("https://wl.luoyeyun.icu/view.php/34ddfc4a65cc17ab1c213c339b8d2721.mp3") end }, { Button, background = { GradientDrawable, cornerRadius = "10dp", color = "#50000000" }, layout_width = "match_parent", layout_margin = "1dp", text = "范围区域", textColor = "#FF14DAFF", textSize = "16sp", onClick = function() local value = result value:start("story[范围]") end }, { Button, background = { GradientDrawable, cornerRadius = "10dp", color = "#50000000" }, layout_width = "match_parent", layout_margin = "1dp", text = "工具区域", textColor = "#FF14DAFF", textSize = "16sp", onClick = function() local value = result value:start("story[工具]") end } } } a[value](a, tbl) end, onDestroy = function() end }) result:newWindow("story[工具]", { onCreate = function(a) local value = "addlayout" local tbl = { ScrollView, layout_width = "match_parent", layout_height = "match_parent", { LinearLayout, background = result: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() local result = luajava.startThread(sy) local value2 = a value2.setCache(value2, cacheName, result) end }, { Button, background = { GradientDrawable, cornerRadius = "34dp", color = 14743545 }, layout_width = "match_parent", layout_margin = "1dp", text = "隐藏水印", textColor = "#FF14DAFF", textSize = "16sp", onClick = function() draw.remove() end }, { Button, background = { GradientDrawable, cornerRadius = "34dp", color = 14743545 }, layout_width = "match_parent", layout_margin = "1dp", text = "显示水印", textColor = "#FF14DAFF", textSize = "16sp", onClick = function() draw.text(os.date("地铁江范围"), 290, 300) draw.setColor("#00FFFF") draw.setSize(45) draw.setStyle("描边并填充") end } } } a[value](a, tbl) end, onDestroy = function() end }) result:newWindow("story[范围]", { onCreate = function(a) local value = "addlayout" local tbl = { ScrollView, layout_width = "match_parent", layout_height = "match_parent", { LinearLayout, background = result:getStateListDrawable(), layout_width = "match_parent", layout_height = "match_parent", orientation = "vertical", padding = "0dp", { TextView, text = "防卡伤一把一开:", textSize = "12sp", textColor = "#FF69B4" }, { 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(b, b2) local result = gg.getRangesList("libUE4.so") if result[1] then local tbl = { gg.getRangesList("libUE4.so")[1].start + 179200656, gg.getRangesList("libUE4.so")[1].start + 179200664, gg.getRangesList("libUE4.so")[1].start + 179201996, gg.getRangesList("libUE4.so")[1].start + 179202396, gg.getRangesList("libUE4.so")[1].start + 179202404, gg.getRangesList("libUE4.so")[1].start + 179202408, gg.getRangesList("libUE4.so")[1].start + 179202816, gg.getRangesList("libUE4.so")[1].start + 179202828 } local addListItems = gg.addListItems local tbl2 = { { address = tbl[1], flags = 4, value = -721215457, freeze = true }, { address = tbl[2], flags = 4, value = -721215457, freeze = true }, { address = tbl[3], flags = 4, value = -721215457, freeze = true }, { address = tbl[4], flags = 4, value = -721215457, freeze = true }, { address = tbl[5], flags = 4, value = -721215457, freeze = true }, { address = tbl[6], flags = 4, value = -721215457, freeze = true }, { address = tbl[7], flags = 4, value = -721215457, freeze = true }, { address = tbl[8], flags = 4, value = -721215457, freeze = true } } addListItems(tbl2) gg.toast("开启成功") end end } }, { TextView, text = "范围一把一开:", textSize = "12sp", textColor = "#FF69B4" }, { 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(b, b2) if b2 then function getZZ(c) local result = gg.getValues({ { address = c, flags = 32 } }) local item = result[1] return item.value end function getFloat(c) local result = gg.getValues({ { address = c, flags = 16 } }) local item = result[1] return item.value end so = gg.getRangesList("libUE4.so")[1].start local getZZ = getZZ local getZZ2 = getZZ local result = getZZ(so + 265120496) local result2 = getZZ2(result + 48) Controller = getZZ(result2 + 1344) local tbl = { 1612, 1616, 1620 } local tbl2 = { 1, 0, 0 } for i = 1, #tbl do local setValues = gg.setValues local tbl5 = { { address = Controller + tbl[i], flags = 16, value = tbl2[i] } } setValues(tbl5) end local tbl3 = {} local tbl4 = {} for k, v in ipairs(tbl4) do local ok = Hit + v local ok2 = getFloat(ok) + 10 table.insert(tbl3, { address = ok, flags = 16, value = ok2 }) end function S_Pointer(c, d, c2) local function fn6() local tbl = {} local result = gg.getRangesList("^/data/*.so*$") for k, v in pairs(result) do local type = v.type if type:sub(2, 2) == "w" then table.insert(tbl, v) end end return tbl end local function fn7(e, f, g) local address local result = gg.getTargetInfo() local result2 = fn6() local result3 = tonumber(377200894) local tbl = {} local _, value17 = nil, nil local ok = g and 32 or 4 local result6, value18, value19 = pairs(result2) local item3 = value17 for item in result6, value18, value19 do local item4 = result2[item] local internalName = item4.internalName local value2 = "gsub" local result7 = internalName[value2](internalName, "^.*/", "") if e[1] == result7 and e[2] == result2[item].state then item3 = result2[item] break end end if item3 then tbl[#tbl + 1] = {} local item5 = tbl[#tbl] item5.address = item3.start + f[1] local item6 = tbl[#tbl] item6.flags = ok local tbl2 = tbl if #f ~= 1 then for i = 2, #f do local result5 = gg.getValues(tbl2) tbl2 = {} for item2 in pairs(result5) do if not result.x64 then result5[item2].value = result5[item2].value & 4294967295 end tbl2[#tbl2 + 1] = {} local item8 = tbl2[#tbl2] item8.address = result5[item2].value + f[i] local item9 = tbl2[#tbl2] item9.flags = ok end end end local item7 = tbl2[#tbl2] address = item7.address local print = print local result4 = string.char(231, 190, 164, 58) print(result4 .. result3) end return address end return (string.format("0x%X", fn7(c, d, c2))) end local result3 = S_Pointer({ "libUE4.so:bss", "Cb" }, { 5769968, 48, 1208, 1296, 2824, 56, 112, 40, 124 }, true) gg.addListItems({ { address = result3, flags = 16, value = 68.5, freeze = true } }) local result4 = S_Pointer({ "libUE4.so:bss", "Cb" }, { 5769968, 48, 1208, 1296, 2824, 56, 0, 88, 160 }, true) gg.addListItems({ { address = result4, flags = 16, value = 180, freeze = true } }) gg.playMusic("https://pan.29o.cn/down.php/1bd17daf4f4d83bd4a7a81f5bba983ce.mp3") end end } }, { 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(b, b2) if b2 then function getZZ(c) local result = gg.getValues({ { address = c, flags = 32 } }) local item = result[1] return item.value end function getFloat(c) local result = gg.getValues({ { address = c, flags = 16 } }) local item = result[1] return item.value end so = gg.getRangesList("libUE4.so")[1].start local getZZ = getZZ local getZZ2 = getZZ local result = getZZ(so + 265120496) local result2 = getZZ2(result + 48) Controller = getZZ(result2 + 1344) local tbl = { 1612, 1616, 1620 } local tbl2 = { 1, 0, 0 } for i = 1, #tbl do local setValues = gg.setValues local tbl5 = { { address = Controller + tbl[i], flags = 16, value = tbl2[i] } } setValues(tbl5) end local tbl3 = {} local tbl4 = {} for k, v in ipairs(tbl4) do local ok = Hit + v local ok2 = getFloat(ok) + 10 table.insert(tbl3, { address = ok, flags = 16, value = ok2 }) end function getZZ(c) local result = gg.getTargetInfo() local x64 = result.x64 local ok = x64 and 32 or 4 local value6 = gg.getValues({ { address = c, flags = ok } })[1].value local ok2 if x64 then ok2 = value6 elseif value6 < 0 then ok2 = value6 + 4294967296 else ok2 = value6 end return ok2 end function WriteValue(c, d, c2) gg.setValues({ { address = c, flags = d, value = c2 } }) end Unreal = gg.getRangesList("libUE4.so")[1].start local getZZ3 = getZZ local getZZ4 = getZZ local result3 = getZZ(Unreal + 318001264) local result4 = getZZ4(result3 + 48) Myself = getZZ3(result4 + 1208) local getZZ5 = getZZ SkeletalMeshComponent = getZZ5(Myself + 1296) local getZZ6 = getZZ PhysicsAsset = getZZ6(SkeletalMeshComponent + 2688) local getZZ7 = getZZ SkeletalBodySetup = getZZ7(PhysicsAsset + 56) local getZZ8 = getZZ local result5 = getZZ(SkeletalBodySetup + 112) CapsuleBody = getZZ8(result5 + 40) WriteValue(CapsuleBody + 124, 16, 300) gg.playMusic("https://pan.29o.cn/down.php/1bd17daf4f4d83bd4a7a81f5bba983ce.mp3") end end } }, { 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(b, b2) if b2 then function getZZ(c) local result = gg.getValues({ { address = c, flags = 32 } }) local item = result[1] return item.value end function getFloat(c) local result = gg.getValues({ { address = c, flags = 16 } }) local item = result[1] return item.value end so = gg.getRangesList("libUE4.so")[1].start local getZZ = getZZ local getZZ2 = getZZ local result = getZZ(so + 265120496) local result2 = getZZ2(result + 48) Controller = getZZ(result2 + 1344) local tbl = { 1612, 1616, 1620 } local tbl2 = { 1, 0, 0 } for i = 1, #tbl do local setValues = gg.setValues local tbl5 = { { address = Controller + tbl[i], flags = 16, value = tbl2[i] } } setValues(tbl5) end local tbl3 = {} local tbl4 = {} for k, v in ipairs(tbl4) do local ok = Hit + v local ok2 = getFloat(ok) + 10 table.insert(tbl3, { address = ok, flags = 16, value = ok2 }) end function setvalue(c, d, c2) gg.setValues({ { address = c, flags = d, value = c2 } }) end function getvalue(c, d) local result = gg.getValues({ { address = c, flags = d } }) local item = result[1] return item.value end function Unfreeze() local result = gg.getListItems() for k, v in pairs(result) do result[k].freeze = false end return gg.addListItems(result) end function X(c) local result = gg.getValues({ { address = c, flags = 4 } }) local item = result[1] return item.value & 4294967295 end fn2 = function(c) local result = gg.getValues({ { address = c, flags = gg.TYPE_QWORD } }) local item = result[1] return item.value end function getRanbss(c, d) r = gg.getRangesList("^/data/*.so*$") for k, v in ipairs(r) do local type = v.type if type:sub(2, 2) == "w" and c == v.internalName:gsub("^.*/", "") and d == v.state then return { start = v.start, is64bit = gg.getTargetInfo().x64 } end end return nil end function getCode(c, d) local result = gg.getTargetInfo() local TYPE_DWORD if result.x64 then local TYPE_QWORD = gg.TYPE_QWORD if TYPE_QWORD then TYPE_DWORD = TYPE_QWORD else TYPE_DWORD = gg.TYPE_DWORD end else TYPE_DWORD = gg.TYPE_DWORD end local value7 if d == nil then value7 = c else local ok2 = c + d if ok2 then value7 = ok2 else value7 = c end end local value6 = gg.getValues({ { address = value7, flags = TYPE_DWORD } })[1].value local TYPE_DWORD2 = gg.TYPE_DWORD local ok if TYPE_DWORD == TYPE_DWORD2 then ok = value6 & 4294967295 else ok = value6 end return ok end function callcode(c, d, c2, d2) local value11, value = nil, c2 if c2 == value11 then value = gg.getValues({ { address = c, flags = d } })[1].value end if d2 then gg.addListItems({ { address = c, flags = d, value = value, freeze = true, name = "45" } }) else local result = gg.getListItems() for k, v in ipairs(result) do if v.address == c and v.flags == d then gg.removeListItems({ v }) break end end gg.setValues({ { address = c, flags = d, value = value } }) end return value end so = gg.getRangesList("libUE4.so")[1].start gcloud = gg.getRangesList("libgcloud.so")[1].start local getCode = getCode LocalPlayer = getCode(so + 264388592) local getCode2 = getCode PlayerController = getCode2(LocalPlayer + 48) local getCode3 = getCode Self = getCode3(PlayerController + 10520) local getCode4 = getCode local getCode5 = getCode local getCode6 = getCode local getCode7 = getCode local result3 = getCode(Self + 1296) local result4 = getCode7(result3 + 2824) local result5 = getCode6(result4 + 56) local result6 = getCode5(result5 + 112) actor = getCode4(result6 + 40) callcode(actor + 124, 16, 78) gg.playMusic("https://pan.29o.cn/down.php/1bd17daf4f4d83bd4a7a81f5bba983ce.mp3") end end } }, { TextView, text = "特效一把一开:", textSize = "12sp", textColor = "#FF69B4" }, { 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(b, b2) if b2 then fn3() end end } }, { TextView, layout_width = "match_parent", layout_margin = "0dp", gravity = "center", text = "*Telegram:*", textSize = "12sp", textColor = "#FF01FFFF" } } } a[value](a, tbl) end }) function sy() local result = gg.getFile() local value2 = "match" local item = result[value2] local ok = item(result, "([^/]+)%.lua$") or "script" local ok2 = gg.EXT_FILES_DIR .. "/" .. ok .. "_水印坐标.cfg" local tbl = { x1 = 340, y1 = 230, x2 = 340, y2 = 180 } pcall(function() local result = loadfile(ok2) if result then local result2 = result() if result2.x1 then tbl.text = result2.text tbl.x1 = result2.x1 tbl.y1 = result2.y1 tbl.text3 = result2.text2 tbl.x2 = result2.x2 tbl.y2 = result2.y2 end end end) local result2 = gg.prompt({ "水印1文字", "水印1X", "水印1Y", "水印2文字", "水印2X", "水印2Y" }, { tbl.text, tbl.x1, tbl.y1, tbl.text2, tbl.x2, tbl.y2 }, { "text", "number", "number", "text", "number", "number" }) if not result2 then return end pcall(gg.saveVariable, { x1 = result2[2], y1 = result2[3], x2 = result2[5], y2 = result2[6] }, ok2) draw.remove() draw.text(result2[1], result2[2], result2[3]) draw.text(result2[4], result2[5], result2[6]) fn("开启成功") end result:run()