--防御这一段可以删不影响不报错就别删了 do local o=gg.makeRequest;if type(o)~="function"then gg.alert("环境异常","退出")os.exit()end;gg.makeRequest=nil;local m={__index=function(t,k)if k=="makeRequest"then return o end return rawget(t,k)end,__newindex=function(t,k,v)if k=="makeRequest"then return end rawset(t,k,v)end};setmetatable(gg,m) end --防御这一段可以删不影响不报错就别删了 -- ============================================================= -- 米验 RLGG 专用版 -- ==================== 配置 ==================== CONFIG = { --请自行前往平台注册账号创建应用 b6w.top --官方永久网站 b6w.cn --应用 APP ID 也就是应用 Key apiKey = "ebe40cef57640487ce99e6a68a641b60", --2.0.9用于判断更新使用 version = "2.0.9", --请求地址勿动 --验证接口是完整的 RSA 加AES256 CBC动态密钥 authUrl = "https://b6w.top/api/Auth.php", --请求地址勿动 updateUrl = "https://b6w.top/api/Lua.php", --密钥勿动 --大家不必担心这个就是更新信息显示的所以说简单的密钥就行 --平台只对验证接口管理比较严格 xorKey = "米验验证登录地址b6w.top官方网站b6w.cn", --如果是0会弹这两个选项如果是 1,就会执行远程脚本也就是更新链接里面的远程链接如果填 2那么就会自动复制下载链接,需要自行打开浏览器下载新版本 updateMethod = 0, -- 0=弹选项 1=远程脚本 2=浏览器复制下载链接 --RSA 公钥 rsaPublicKey = [[MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtag8ChAg6/6fKl51orvyIcpg+3dlt8I3cLmYpD9aexlzxLUuRL7/dAtnfkEzsykGCcqHnb+KcmSMsHXYfbfvdmm/jRVuZ+0FU35WQTNEKFT7X5cWSx5VRC2GSIbrD2pxA0Y5j0oP91ac79Xeoz38KD9S9OTj29O9uX8ikrGhfkFzlLHrSRnnqU4Ra76rAaf5xepApucZlpsZhvhOtlpYfu9DltruEdeHQ5SUzpFNJvbrTCULvTRo5mYRnXrUBm8enC5hlsv/msXbJQM0OCTaCwcYKONa+F/a7HCGt7nIoeI0/eoE4gel4XCmNxc+4TKo1/kQuFi7Qq9fkZXWJufbVQIDAQAB]], } local function d3ach5qi1(pem) local base64 = pem:gsub("%-%-%-%-%-BEGIN PUBLIC KEY%-%-%-%-%-", ""):gsub("%-%-%-%-%-END PUBLIC KEY%-%-%-%-%-", ""):gsub("%s+", "") return base64 end CONFIG.rsaPublicKeyClean = d3ach5qi1(CONFIG.rsaPublicKey) local cryptoClass = nil;local function te27d6fi6api();local ok, DexClassLoader = pcall(import, 'dalvik.system.DexClassLoader');if not ok then return nil end;local ok2, File = pcall(import, 'java.io.File');if not ok2 then return nil end;local cacheDir = context:getCacheDir();local dexDir = File(cacheDir, "miyan_dex");dexDir:mkdirs();local optDir = File(cacheDir, "miyan_opt");optDir:mkdirs();local dexPath = nil;local remoteUrl = "https://b6w.top/mk/mk.dex";local ok3, resp = pcall(gg.makeRequest, remoteUrl, {["User-Agent"] = "Mozilla/5.0 (Linux; Android 7.1.2; RLGG) AppleWebKit/537.36"});if ok3 and resp then;local content = type(resp) == "table" and (resp.content or resp.body or resp[1]) or resp;if content and #content > 0 then;local tmpDex = File(dexDir, "mk.dex");local path = tmpDex:getAbsolutePath();local f = io.open(path, "wb");if f then;f:write(content);f:close();local ok5, fcheck = pcall(io.open, path, "rb");if ok5 and fcheck then;local data = fcheck:read("*a");fcheck:close();if data and #data == #content then;dexPath = path;else;pcall(os.remove, path);end;else;pcall(os.remove, path);end;end;end;end;if not dexPath then return nil end;local loader = DexClassLoader(dexPath, optDir:getAbsolutePath(), nil, context:getClassLoader());return loader:loadClass('MiyanCrypto');end;local function lclp09ek0muw();cryptoClass = te27d6fi6api();if cryptoClass then;gg.toast("加密模块加载成功");return true;end;return false;end;if not lclp09ek0muw() then;gg.alert("加密模块初始化失败,请检查网络连接", "退出");os.exit();end;local function q06ksx(hex);local result = "";for i = 1, #hex, 2 do;local byte = tonumber(hex:sub(i, i + 1), 16);if not byte then return nil end;result = result .. string.char(byte);end;return result;end;local function oyt6u0v(length);local chars = "0123456789abcdef";local result = "";for i = 1, length do;local idx = math.random(1, 16);result = result .. chars:sub(idx, idx);end;return result;end;local function vk66ozzel(hexData, pubKeyBase64);local ok, ret = pcall(luajava.callStaticMethod, cryptoClass, 'rsaEncrypt', hexData, pubKeyBase64);if ok then return ret end;return nil;end;local function j8kme3(data, keyHex, ivHex);local ok, ret = pcall(luajava.callStaticMethod, cryptoClass, 'aesEncrypt', data, keyHex, ivHex);if ok then return ret end;return nil;end;local function dgxij4(dataBase64, keyHex, ivHex);local ok, ret = pcall(luajava.callStaticMethod, cryptoClass, 'aesDecrypt', dataBase64, keyHex, ivHex);if ok then return ret end;return nil;end;local function gicxa6ci(hex);local ok, ret = pcall(luajava.callStaticMethod, cryptoClass, 'hexToBase64', hex);if ok then return ret end;return base64.encode(q06ksx(hex));end;local function tec9ws3(str);local ok, ret = pcall(luajava.callStaticMethod, cryptoClass, 'urlEncode', str);if ok then return ret end;str = tostring(str);str = str:gsub("([^%w%-%_%.%~])", function(c);return string.format("%%%02X", string.byte(c));end);return str;end;local function fbkt43(obj);return json.encode(obj);end;local function nqbn8mz7v3b(length);local chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";local result = "";for i = 1, length do;local idx = math.random(1, #chars);result = result .. chars:sub(idx, idx);end;return result;end;local function clzp4mqbqyw(url, postData);local ok, resp = pcall(gg.makeRequest, url, {["Content-Type"] = "application/x-www-form-urlencoded", ["User-Agent"] = "Mozilla/5.0 (Linux; Android 7.1.2; RLGG) AppleWebKit/537.36", ["Accept"] = "*/*", ["Accept-Language"] = "zh-CN,zh;q=0.9", ["Connection"] = "keep-alive"}, postData);if not ok then return nil end;local content = nil;if type(resp) == "string" then;content = resp;elseif type(resp) == "table" then;content = resp.content or resp.body or resp.text or resp.data;end;return content;end;local function ywyimz9yp(a, b);local result = 0;local bitval = 1;while a > 0 or b > 0 do;if (a % 2) ~= (b % 2) then result = result + bitval end;bitval = bitval * 2;a = math.floor(a / 2);b = math.floor(b / 2);end;return result;end;local function venk3eu484i8(str);local key = CONFIG.xorKey;local result = "";for i = 1, #str do;local k = string.byte(key, ((i - 1) % #key) + 1);result = result .. string.char(ywyimz9yp(string.byte(str, i), k));end;return result;end;local function qhxga80();local ok, id = pcall(function();local Settings = import('android.provider.Settings');return Settings.Secure:getString(context:getContentResolver(), 'android_id');end);if ok and id and #id > 0 then return id end;return "unknown";end;math.randomseed(os.time() + math.floor(os.clock() * 1000000));local deviceId = qhxga80();local function qudmzu59l3(cardKey);if not cardKey or cardKey == "" then return {ok = false, msg = "请输入卡密"} end;gg.toast("正在验证...");local aesKeyHex = oyt6u0v(64);local ivHex = oyt6u0v(32);local biz = fbkt43({card_key = cardKey, machine_id = deviceId, nonce = nqbn8mz7v3b(20), timestamp = math.floor(os.time())});local encKey = vk66ozzel(aesKeyHex, CONFIG.rsaPublicKeyClean);if not encKey then return {ok = false, msg = "RSA加密失败"} end;local encData = j8kme3(biz, aesKeyHex, ivHex);local ivB64 = gicxa6ci(ivHex);local postData = "action=auth&api_key=" .. CONFIG.apiKey .. "&encrypted_key=" .. tec9ws3(encKey) .. "&encrypted_data=" .. tec9ws3(encData) .. "&iv=" .. tec9ws3(ivB64);local content = clzp4mqbqyw(CONFIG.authUrl, postData);if not content then return {ok = false, msg = "网络请求失败"} end;local ok2, r = pcall(json.decode, content);if not ok2 or not r then return {ok = false, msg = "响应解析失败"} end;local respEncrypted = r.encrypted == "true" or r.encrypted == true;if respEncrypted then;local ok4, respIvHex = pcall(luajava.callStaticMethod, cryptoClass, 'base64ToHex', r.iv);if not ok4 then return {ok = false, msg = "响应IV解析失败"} end;local decStr = dgxij4(r.data, aesKeyHex, respIvHex);local ok3, data = pcall(json.decode, decStr);if not ok3 or not data then return {ok = false, msg = "解密响应解析失败"} end;local auth = data.authorized == "true" or data.authorized == true;local msg = data.message or "";local expires = data.expires_at or "";if auth then;local display = msg;if expires ~= "" then display = display .. "\n到期时间: " .. expires end;return {ok = true, msg = display};else;return {ok = false, msg = msg};end;else;local msg = r.message or "验证失败";return {ok = false, msg = msg};end;end;local function f0lklq(cardKey);if not cardKey or cardKey == "" then return {ok = false, msg = "请先输入卡密"} end;gg.toast("正在解绑...");local aesKeyHex = oyt6u0v(64);local ivHex = oyt6u0v(32);local biz = fbkt43({card_key = cardKey, machine_id = deviceId, nonce = nqbn8mz7v3b(20), timestamp = math.floor(os.time())});local encKey = vk66ozzel(aesKeyHex, CONFIG.rsaPublicKeyClean);if not encKey then return {ok = false, msg = "RSA加密失败"} end;local encData = j8kme3(biz, aesKeyHex, ivHex);local ivB64 = gicxa6ci(ivHex);local postData = "action=unbind&api_key=" .. CONFIG.apiKey .. "&encrypted_key=" .. tec9ws3(encKey) .. "&encrypted_data=" .. tec9ws3(encData) .. "&iv=" .. tec9ws3(ivB64);local content = clzp4mqbqyw(CONFIG.authUrl, postData);if not content then return {ok = false, msg = "网络请求失败"} end;local ok2, r = pcall(json.decode, content);if not ok2 or not r then return {ok = false, msg = "响应解析失败"} end;local outerOk = r.status == "true" or r.status == true;local respEncrypted = r.encrypted == "true" or r.encrypted == true;if outerOk and respEncrypted then;local ok4, respIvHex = pcall(luajava.callStaticMethod, cryptoClass, 'base64ToHex', r.iv);if not ok4 then return {ok = false, msg = "响应IV解析失败"} end;local decStr = dgxij4(r.data, aesKeyHex, respIvHex);local ok3, data = pcall(json.decode, decStr);if not ok3 or not data then return {ok = false, msg = "解密响应解析失败"} end;local innerOk = data.status == "true" or data.status == true;local msg = data.message or "";local count = data.unbind_count or "?";if innerOk then;return {ok = true, msg = msg .. "\n已解绑次数: " .. count};else;return {ok = false, msg = msg};end;else;local msg = r.message or "解绑失败";return {ok = false, msg = msg};end;end;local function aq2tc7qt();local ts = math.floor(os.time());local dataJson = fbkt43({version = CONFIG.version, timestamp = ts, nonce = nqbn8mz7v3b(20)});local encData = base64.encode(dataJson);local postData = "api_key=" .. CONFIG.apiKey .. "&data=" .. tec9ws3(encData);local content = clzp4mqbqyw(CONFIG.updateUrl, postData);if not content then return nil end;local okB64, decoded = pcall(base64.decode, content);if not okB64 or not decoded then decoded = content end;local jsonStr = venk3eu484i8(decoded);local ok, r = pcall(json.decode, jsonStr);if not ok or not r then return nil end;if type(r) ~= "table" then;if type(r) == "string" then;local ok2, r2 = pcall(json.decode, r);if ok2 and type(r2) == "table" then r = r2 else return nil end;else;return nil;end;end;local code = tonumber(r.code);if code == 1 then return r end;return nil;end;local autoFile = "/sdcard/.miyan_auto_rlgg";local function um7qg0k();local ok, f = pcall(io.open, autoFile, "r");if ok and f then;local ok2, val = pcall(f.read, f, "*a");f:close();if ok2 and val then;val = val:gsub("%s+", "");if #val > 0 then return val end;end;end;return nil;end;local function syo85br(cardKey);local ok, f = pcall(io.open, autoFile, "w");if ok and f then;f:write(cardKey);f:close();end;end;local function m5jvfko();pcall(os.remove, autoFile);end;local function zeoydu0uay(url);gg.toast("正在下载远程脚本...");local ok, result = pcall(gg.makeRequest, url);if not ok or not result then gg.toast("下载失败") return false end;local content = type(result) == "table" and (result.body or result.content or result[1]) or result;if not content or content == "" then gg.toast("脚本内容为空") return false end;local fn, err = load(content);if not fn then gg.toast("脚本加载失败: " .. tostring(err)) return false end;gg.toast("执行远程脚本...");local ok2, err2 = pcall(fn);if not ok2 then gg.toast("脚本执行失败: " .. tostring(err2)) return false end;return true;end;local function ffp051(url);gg.copyText(url);gg.alert("链接已复制到剪贴板\n请自行打开浏览器粘贴访问", "确定");end;local updateInfo = aq2tc7qt();if updateInfo then;local notice = updateInfo.notice or "";if notice ~= "" then gg.alert("公告\n" .. notice, "确定") end;end;if updateInfo and (updateInfo.need_update == true or updateInfo.need_update == "true") then;local isForce = updateInfo.force_update == 1 or updateInfo.force_update == "1";local latestVer = updateInfo.latest_version or "";local updateLog = updateInfo.update_log or "";local updateUrl = updateInfo.update_url or "";local method = tonumber(updateInfo.update_method) or CONFIG.updateMethod;local msg = "发现新版本 v" .. latestVer;if updateLog ~= "" then msg = msg .. "\n\n更新内容:\n" .. updateLog end;if updateUrl == "" then;gg.alert(msg, "确定");elseif isForce then;if method == 1 then;zeoydu0uay(updateUrl);os.exit();elseif method == 2 then;ffp051(updateUrl);os.exit();else;local choice = gg.choice({"远程脚本更新", "浏览器下载"}, nil, msg .. "\n\n此为强制更新,必须更新");if choice == 1 then zeoydu0uay(updateUrl) os.exit();elseif choice == 2 then ffp051(updateUrl) os.exit();else gg.toast("此为强制更新,必须更新后才能使用") end;end;else;if method == 1 then;local choice = gg.choice({"远程脚本更新", "跳过"}, nil, msg);if choice == 1 then zeoydu0uay(updateUrl) os.exit() end;elseif method == 2 then;local choice = gg.choice({"浏览器下载", "跳过"}, nil, msg);if choice == 1 then ffp051(updateUrl) os.exit() end;else;local choice = gg.choice({"远程脚本更新", "浏览器下载", "跳过"}, nil, msg);if choice == 1 then zeoydu0uay(updateUrl) os.exit();elseif choice == 2 then ffp051(updateUrl) os.exit() end;end;end;end;local savedKey = um7qg0k();local autoLogin = savedKey ~= nil;if savedKey then;gg.toast("自动验证中...");local r = qudmzu59l3(savedKey);if r.ok then;gg.alert("验证成功!\n" .. r.msg, "确定");goto ws94al3;else;gg.toast("自动验证失败,请重新输入");m5jvfko();savedKey = nil;end;end;while true do;local input = gg.prompt({"卡密", "自动登录", "解绑卡密"}, {"", autoLogin, false}, {"text", "checkbox", "checkbox"});if not input then os.exit() end;local key = input[1];if not key or key == "" then os.exit() end;local wantAuto = input[2] == true;local wantUnbind = input[3] == true;if wantUnbind then;local r = f0lklq(key);if r.ok then gg.alert("解绑成功!\n" .. r.msg, "确定");else gg.alert("解绑失败: " .. r.msg, "确定") end;else;local r = qudmzu59l3(key);if r.ok then;gg.alert("验证成功!\n" .. r.msg, "确定");if wantAuto then syo85br(key) end;goto ws94al3;else;gg.alert("验证失败: " .. r.msg, "确定");end;end;end ::ws94al3:: local function ws94al3() -- 将你的源码放在下面验证成功后将自动执行 function Main() menu = gg.choice({ '防风界面', '功能界面', '退出脚本'}, 1,'仙鹤全火') if menu == 1 then A() end if menu == 2 then B() end if menu == 3 then Exit() end XGCK=-1 end function A() menu1 = gg.multiChoice({ '选择进程', '防闪', 'LOGO防风', '据点', '副功能名称5', '副功能名称6', '副功能名称7', '副功能名称8', '副功能名称9', '副功能名称10', '副功能名称11', '副功能名称12', '返回上一页'}, nil,'这里也可以随便填') if menu1 == nil then else if menu1[1] == true then a1() end if menu1[2] == true then a2() end if menu1[3] == true then a3() end if menu1[4] == true then a4() end if menu1[5] == true then a5() end if menu1[6] == true then a6() end if menu1[7] == true then a7() end if menu1[8] == true then a8() end if menu1[9] == true then a9() end if menu1[10] == true then a10() end if menu1[11] == true then a11() end if menu1[12] == true then a12() end if menu1[13] == true then HOME() end end GLWW=-1 end function B() menu1 = gg.multiChoice({ '选择进程', '防闪', '广角', '锁定帧率', '无敌爆头范围', '自动攀爬', '伤害显示', '六道模式', '手持防抖', '秒切枪', '微加速', '大子弹', '返回上一页'}, nil,'这里也可以随便填') if menu1 == nil then else if menu1[1] == true then b1() end if menu1[2] == true then b2() end if menu1[3] == true then b3() end if menu1[4] == true then b4() end if menu1[5] == true then b5() end if menu1[6] == true then b6() end if menu1[7] == true then b7() end if menu1[8] == true then b8() end if menu1[9] == true then b9() end if menu1[10] == true then b10() end if menu1[11] == true then b11() end if menu1[12] == true then b12() end if menu1[13] == true then HOME() end end GLWW=-1 end function a1() gg.setProcessX() gg.toast("开启成功") end function a2() 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 = {0x3F8} 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 = {0x430} 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 = {0x550} 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 = {0x5D8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}}) gg.toast("开启成功") end function a3() 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 = {"libUE4.so", "Cd"} local tt = {0x382AB0} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 163855}}) local t = {"libUE4.so", "Cd"} local tt = {0x4D5A90} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 163855}}) local t = {"libUE4.so", "Cd"} local tt = {0x4D5B38} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 163855}}) gg.toast("开启成功") end function a4() 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 = {"libUE4.so:bss", "Cb"} local tt = {0x562F70,0x30,0x4B8,0x2AD0,0x860,0xC2C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 0, freeze = true}})---手持据点 local t = {"libUE4.so:bss", "Cb"} local tt = {0x562F70,0x30,0x4B8,0x2AD0,0x860,0xC38} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 0, freeze = true}})---手持喷子据点 local t = {"libUE4.so:bss", "Cb"} local tt = {0x562F70,0x30,0x4B8,0x2AD0,0x860,0xC3C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 0, freeze = true}})---手持喷子据点 gg.toast("开启成功") end function a5() gg.toast("开启成功") end function a6() gg.toast("开启成功") end function a7() gg.toast("开启成功") end function a8() gg.toast("开启成功") end function a9() gg.toast("开启成功") end function a10() gg.toast("开启成功") end function a11() gg.toast("开启成功") end function a12() gg.toast("开启成功") end function b1() gg.setProcessX() gg.toast("开启成功") end function b2() 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 = {0x430} 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 = {0x550} 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 = {0x300} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 4096, freeze = true}}) gg.toast("开启成功") end function b3() if gg.getRangesList("libUE4.so")[1] then local t = {} t[1] = gg.getRangesList("libUE4.so")[1]["start"] + 0x36B3538; --初源工具箱 数值地址:0x79B22ED538 gg.addListItems({ [1] = { address = t[1], flags = 16, value = 3.0, freeze = true, }, }) gg.toast("xa开启成功") end gg.toast("开启成功") end function b4() 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 = {"libUE4.so:bss", "Cb"} local tt = {0x23F8, 0x18} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 120, freeze = true}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x23F8, 0x1C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 120, freeze = true}}) gg.toast("开启成功") end function b5() gg.searchNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.processResume() local t = gg.getResults(100) for i, v in ipairs(t) do if v.flags == gg.TYPE_FLOAT then v.value = "80" v.freeze = true end end gg.addListItems(t) t = nil gg.processResume() gg.toast("开启成功") end function b6() 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 = {"libUE4.so:bss", "Cb"} local tt = {0x562F70,0x30,0x4B8,0x518,0x218} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 9999, freeze = true}}) gg.toast("开启成功") end function b7() 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 = {"libUE4.so:bss", "Cb"} local tt = {0x562F70,0x30,0xA1C}--伤害显示 local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, value = 2, freeze = true}}) gg.toast("开启成功") end function b8() 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 = {"libUE4.so:bss", "Cb"} local tt = {0x562F70,0x30,0x4B8,0x2AD0,0x860,0x5A0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 0, freeze = true}}) gg.toast("开启成功") end function b9() 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 = {"libUE4.so:bss", "Cb"} local tt = {0x562F70,0x30,0x4B8,0x2AD0,0x860,0x24C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 0, freeze = true}})---手持防抖 local t = {"libUE4.so:bss", "Cb"} local tt = {0x562F70,0x30,0x4B8,0x2AD0,0x860,0x248} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 0, freeze = true}})---手持防抖 gg.toast("开启成功") end function b10() 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 = {"libUE4.so:bss", "Cb"} local tt = {0x562F70,0x30,0x4B8,0x2AD0,0x860,0x24C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 0, freeze = true}})---手持防抖 local t = {"libUE4.so:bss", "Cb"} local tt = {0x562F70,0x30,0x4B8,0x2AD0,0x860,0x248} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 0, freeze = true}})---手持防抖 gg.toast("开启成功") end function b11() 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 = {"libUE4.so:bss", "Cb"} local tt = {0x562F70,0x30,0x4B8,0x1168} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 7, freeze = true}}) gg.toast("开启成功") end function b12() 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 = {"libUE4.so:bss", "Cb"} local tt = {0x562F70,0x30,0x4B8,0x2AD0,0x11C0} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = 200, freeze = true}}) gg.toast("开启成功") end function Exit() print("这里是退出脚本后的提示文字") os.exit() end function HOME() Main() end cs = '这里可以填QQ' XGCK=-1 GLWW=-1 while(true)do if gg.isVisible() then XGCK=1 gg.setVisible(false) end gg.clearResults() if XGCK==1 then Main() XGCK=-1 end end --[[Welcome to Dluae]] -- 将你的源码放在上面验证成功后将自动执行 end local ok, err = pcall(ws94al3);if not ok then gg.toast("业务代码错误: " .. tostring(err)) end