-- ELGG修改器执行,作者:Shizuku,ELGG下载:https://www.xiaoman.top import "android.app.*" import "android.os.*" import "android.widget.*" import "android.view.*" import "android.content.*" import "java.util.*" import "java.lang.*" import "android.*" import "android.graphics.drawable.*" import "android.graphics.PixelFormat" import "android.view.animation.Animation" import "android.view.animation.RotateAnimation" import "android.animation.ObjectAnimator" import "android.view.animation.DecelerateInterpolator" import "android.ext.*" import "android.ext.MainService" import "android.graphics.drawable.GradientDrawable" import "android.graphics.Typeface" import "java.io.File" import "luaj.lib.ModLib" import "android.ext.Tools" import "android.view.inputmethod.InputMethodManager" import "android.graphics.PorterDuffColorFilter" import "android.graphics.PorterDuff" import "android.graphics.Paint" import "android.graphics.drawable.ColorDrawable" import "android.content.Context" import "android.media.AudioManager" context = activity window = context.getSystemService("window") -- 获取窗口管理器 if Build.VERSION.SDK_INT >= 26 then windowtype = 2038 else windowtype = 2003 end function threadStart(runnable) local newRun = luajava.createProxy("java.lang.Runnable", runnable) local subThread = luajava.newInstance("java.lang.Thread", newRun) subThread:start() return subThread end function getShepeBackground(color, radiu) --设置背景函数 drawable = luajava.new(GradientDrawable) drawable.setShape(GradientDrawable.RECTANGLE) drawable.setColor(color) drawable.setCornerRadii({ radiu, radiu, radiu, radiu, radiu, radiu, radiu, radiu }) return drawable end function miaobian(d, r, t, y) local InsideColor = Color.parseColor(t) local drawable = GradientDrawable() drawable.setShape(GradientDrawable.RECTANGLE) drawable.setColor(InsideColor) drawable.setCornerRadii({ r, r, r, r, r, r, r, r }); drawable.setStroke(d, Color.parseColor(y)) return drawable end function LoadUi() local login = loadlayout({ LinearLayout, layout_width = "fill", layout_height = "fill", gravity = "center", { CardView, layout_width = "180dp", layout_height = "290dp", Elevation = '15dp', radius = '15', CardBackgroundColor = "#FFFFFFFF", { LinearLayout, layout_width = -1, layout_height = -1, gravity = "center", orientation = "vertical", { CardView, layout_width = -1, layout_height = "140dp", layout_margin = "20dp", CardBackgroundColor = "#00FFFFFF", radius = '15', { ImageView, layout_width = -1, layout_height = -1, scaleType = "fitCenter", id = "pic", }, }, { EditText, layout_width = -1, layout_margin = "5dp", layout_height = "40dp", background = miaobian(3, 20, "#FFF9F9F9", "#FF000000"), textColor = 4278224127, padding = "5dp", id = "edit", }, { TextView, layout_width = -1, layout_margin = "10dp", layout_height = -1, text = "登录", gravity = "center", textSize = "17sp", textColor = 0xFFFFFFFF, background = getShepeBackground(4278224127, 20), onClick = function() dlg_create.dismiss() print("您输入的内容是:78" .. edit.getText().toString()) luajava.exit() end, }, }, }, }) threadStart({ run = function() bit1 = loadbitmap("http://q1.qlogo.cn/g?b=qq&nk=3896530536&s=640") -- 默认加载QQ号为2843833170的头像 activity.runOnUiThread(luajava.createProxy("java.lang.Runnable", { run = function() local create_dlg = AlertDialog.Builder(activity) create_dlg.setView(login) create_dlg.setCancelable(false) dlg_create = create_dlg.create() dlg_create.getWindow().setType(windowtype) dlg_create.getWindow().setBackgroundDrawable(ColorDrawable(0x00FFFFFF)) dlg_create.show() pic.setImageBitmap(bit1) edit.addTextChangedListener({ onTextChanged = function(v, start, before, count) if edit.getText().length() >= 5 then threadStart({ run = function() bit = loadbitmap("http://q1.qlogo.cn/g?b=qq&nk=" .. edit.getText().toString() .. "&s=640") -- 加载用户输入的QQ号的头像 activity.runOnUiThread(luajava.createProxy("java.lang.Runnable", { run = function() pic.setImageBitmap(bit) end })) end }) else pic.setImageBitmap(bit1) end end }) end })) end }) end Lock.Ui(LoadUi, nil, function(err) print(err) luajava.exit() end) loadYunLuaGroup("5C3C4E3813681C4C204C35346F1B4C2F7EFF612D2B221779A4DEA2EE4D5B0D1E6DCD82D1A08DE1") function init() stab = _ENV["分页"] ttitle = _ENV["标题"] xfcpic = _ENV["悬浮窗图标"] end gg.alert('导航频道FJHOOK') gg.playMusic("https://mpimg.cn/view.php/acfa77357e4b8121c19eb690db9f478f.mp3") 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 ---静态基址写法配置 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 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 _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function setvalue(address,flags,value) 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 -- 读取 DWORD 和 FLOAT 的函数 function readD(address) return gg.getValues({{address = address, flags = gg.TYPE_DWORD}})[1].value end function readF(address) return gg.getValues({{address = address, flags = gg.TYPE_FLOAT}})[1].value end -- 设置值的函数 function setvalue(address, flags, value, freeze) local t = {} t[1] = {address = address, flags = flags, value = value, freeze = freeze or false} gg.setValues(t) gg.addListItems(t) 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 _t = ti_bit and 32 or 4 local _S = nil 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 local t = {{address = _S.start + Offset[1], flags = _t}} for i = 2, #Offset do local S = gg.getValues(t) t = {{address = S[1].value + Offset[i], flags = _t}} end return t[1].address end end return string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) end -- LSQ_Chain 函数 function LSQ_Chain(so, offset, format, value, type, Function) local getRanges = function() 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 rest, ranges, sostart, valtype = {}, getRanges(), nil, gg.TYPE_DWORD if gg.getTargetInfo().x64 then valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i].internalName:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i].state then sostart = ranges[i].start break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype, address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF else sostart = rest[1].value end end end if #rest == 1 then return Format(rest, format, value, type, Function) end end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end -- 格式化内存操作的函数 function Format(tab, format, value, type, Function) if format == "查看" then tab[1].flags = type return gg.getValues(tab) elseif format == "修改" then tab[1].flags = type tab[1].value = value return gg.setValues(tab) elseif format == "冻结" then tab[1].flags = type tab[1].freeze = true tab[1].value = value tab[1].name = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1].flags = type return gg.loadResults(tab) end end function gai(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value gg.setValues(t) end local function RUI(address) return gg.getValues({{ address = address, flags = gg.TYPE_QWORD }})[1].value end D=gg.TYPE_DWORD F=gg.TYPE_FLOAT local function readD(a) return gg.getValues({{ address=a, flags=gg.TYPE_DWORD }})[1].value end local function readF(a) return gg.getValues({{ address=a, flags=gg.TYPE_FLOAT }})[1].value 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 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 _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end local function setvalue(address,flags,value,freeze) local t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.setValues(t) gg.addListItems(t) end local function X(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function gai(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value gg.setValues(t) end local function X(address) return gg.getValues({{ address = address, flags = gg.TYPE_QWORD }})[1].value end D=gg.TYPE_DWORD F=gg.TYPE_FLOAT -- 定义读取 DWORD 和 FLOAT 的函数 function readD(address) return getvalue(address, gg.TYPE_DWORD) end function readF(address) return getvalue(address, gg.TYPE_FLOAT) end -- 定义 RQI 函数(假设是读取 QWORD 类型的值) function RQI(address) return getvalue(address, gg.TYPE_QWORD) end local function interruptThread(thread) if thread then pcall(function() thread:interrupt() -- 调用线程的中断方法 end) end end -- 线程中断函数 local function interruptThread(thread) if thread then pcall(function() thread:interrupt() -- 调用线程的中断方法 end) end end -- 线程中断函数 local function interruptThread(thread) if thread then pcall(function() thread:interrupt() -- 调用线程的中断方法 end) end end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function GotoPointer(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end local function setvalue(address,flags,value,freeze) local t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.setValues(t) gg.addListItems(t) 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 Unfreeze() local t = gg.getListItems() for k, v in pairs(t) do t[k]["freeze"] = false end return gg.addListItems(t) end function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.addListItems(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function XGBase(Address,AFV) local address=0 for index,offset in ipairs(Address)do if index==1 then address=offset else address=gg.getValues({{address=address+offset,flags=4}})[1].value end end local Value,Freeze={},{} for index,value in ipairs(AFV)do local VALUE={address=address+value[3],flags=value[2],value=value[1],freeze=true} if value[4]then Freeze[#Freeze+1]=VALUE else Value[#Value+1]=VALUE end end gg.addListItems(Value) gg.addListItems(Freeze) end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return print(gg.getValues(tab)) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.addListItems(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function LSQ_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() 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 function setvalue(A0_146, A1_147, A2_148) PS("修改地址数值(地址,数值类型,要修改的值)") local tmp = {} tmp.address = A0_146 tmp.flags = A1_147 tmp.value = A2_148 gg.setValues({ [1] = tmp }) end local function X(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value 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 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 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"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true 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) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end end end local Offset_Yx = function(Tab,KT) gg.setVisible(false) gg.clearResults() gg.setRanges(Tab["内存"]) gg.searchNumber(Tab["主特征码"][1], Tab["主特征码"][2], false, gg.SIGN_EQUAL, 0, -1, 0) local results = gg.getResults(gg.getResultsCount()) if not results then return gg.toast("未搜到结果") end gg.clearResults() local Ton = tonumber local Tsr = tonumber if KT then Tsr = tostring end for index, value in pairs(Tab["副特征码"]) do for i = 1, #results do results[i].address = results[i].address + value[3] results[i].flags = value[2] end local _ofResults, Final = gg.getValues(results), {} for i = 1, #_ofResults do if type(value[1]) == "table" then for ind, key in pairs(value[1]) do local __npt = string.find(key, "~") local Min, Max, Length if __npt then Min = Ton(string.sub(key, 0, (__npt-1))) Max = Ton(string.sub(key, (__npt+1), -1)) if _ofResults[i].value >= Min and _ofResults[i].value <= Max then Length = #Final + 1 Final[Length] = {} Final[Length].address = _ofResults[i].address - value[3] Final[Length].flags = value[2] end elseif Tsr(_ofResults[i].value) == Tsr(key) then Length = #Final + 1 Final[Length] = {} Final[Length].address = _ofResults[i].address - value[3] Final[Length].flags = value[2] end end else local __npt = string.find(value[1], "~") local Min, Max, Length if __npt then Min = Ton(string.sub(value[1], 0, (__npt-1))) Max = Ton(string.sub(value[1], (__npt+1), -1)) if _ofResults[i].value >= Min and _ofResults[i].value <= Max then Length = #Final + 1 Final[Length] = {} Final[Length].address = _ofResults[i].address - value[3] Final[Length].flags = value[2] end elseif Tsr(_ofResults[i].value) == Tsr(value[1]) then Length = #Final + 1 Final[Length] = {} Final[Length].address = _ofResults[i].address - value[3] Final[Length].flags = value[2] end end end if #Final == 0 then return gg.toast("未偏移到结果") end results = gg.getValues(Final) end for index, value in pairs(Tab["修改"]) do local EditAll = {} for i = 1, #results do EditAll[i] = {} EditAll[i].address = results[i].address + value[3] EditAll[i].flags = value[2] EditAll[i].value = value[1] if value[4] or Tab["是否全部冻结"] then EditAll[i].freeze = true end end if value[4] or Tab["是否全部冻结"] then gg.addListItems(EditAll) else gg.setValues(EditAll) end end return gg.toast(Tab["功能名字"] .. "开启成功 共修改" .. (#results * #Tab["修改"]) .."条数据") 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(123456) 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 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 function setvalue ( address , flags , value , freeze ) local t = { } t [ 1 ] = { } t [ 1 ].address = address t [ 1 ].flags = flags t [ 1 ].value = value t [ 1 ].freeze = freeze gg.setValues ( t ) gg.addListItems ( t ) 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 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 _A = string.format ( '0x%X' , Get_Address ( t_So , t_Offset , _bit ) ) return _A end function Unfreeze ( ) -- 获取保存列表 local t = gg.getListItems ( ) for k , v in pairs ( t ) do t [ k ] [ "freeze" ] = false end return gg.addListItems ( t ) end local function readD(a) return gg.getValues({{ address=a, flags=gg.TYPE_DWORD }})[1].value end local function readF(a) return gg.getValues({{ address=a, flags=gg.TYPE_FLOAT }})[1].value end local function setvalue(address,flags,value,freeze) local t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.setValues(t) gg.addListItems(t) end --以上为读取d,f类型的值和修改某地址的值的函数 local function RUI(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value 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 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 _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 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 local Table={} local function Modify(address,value,flags) Table[#Table+1]={address=address,value=value,flags=flags} 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 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 _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end --遍历写法 local function readD ( a ) return gg.getValues ( { { address = a , flags = 4 } } ) [ 1 ].value end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end function xfnb(add,lx) return gg.getValues({ { address=add,flags = lx } })[1].value end local function RUI(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end local function RUI(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value 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]) gg.toast((name or "") .. "开启成功, 共修改" .. #Table .. "个值") end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return gg.getValues(tab) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function Unfreeze() --获取保存列表 local t = gg.getListItems() for k, v in pairs(t) do t[k]["freeze"] = false end return gg.addListItems(t) end function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function XGBase(Address,AFV) local address=0 for index,offset in ipairs(Address)do if index==1 then address=offset else address=gg.getValues({{address=address+offset,flags=4}})[1].value end end local Value,Freeze={},{} for index,value in ipairs(AFV)do local VALUE={address=address+value[3],flags=value[2],value=value[1],freeze=true} if value[4]then Freeze[#Freeze+1]=VALUE else Value[#Value+1]=VALUE end end gg.setValues(Value) gg.addListItems(Freeze) end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return print(gg.getValues(tab)) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function LSQ_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 频道:@dzyyds A91 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end 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 function setvalue(address, flags, value) local tt = {} tt[1] = {} tt[1].address = address tt[1].flags = flags tt[1].value = value gg.setValues(tt) end function read(address, flags) local tt = {} tt[1] = {} tt[1].address = address tt[1].flags = flags filzer = gg.getValues(tt)[1].value return filzer end function getbase(address) local tt = {} tt[1] = {} tt[1].address = address tt[1].flags = 32 filzer = gg.getValues(tt)[1].value return filzer 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("音乐配置"..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() 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 local Table={} local function Modify(address,value,flags) Table[#Table+1]={address=address,value=value,flags=flags} end 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 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 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 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(0x2C4D6BCE) 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 _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 ---静态基址写法配置 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"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true 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) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "地址成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "失败") end end end end --仿XS写法配置 function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() 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]) gg.toast((name or "") .. "开启成功, 共修改"..#Table.."个值") end 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 local Table={} local function Modify(address,value,flags) Table[#Table+1]={address=address,value=value,flags=flags} end function Unfreeze() --获取保存列表 local t = gg.getListItems() for k, v in pairs(t) do t[k]["freeze"] = false end return gg.addListItems(t) end function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function XGBase(Address,AFV) local address=0 for index,offset in ipairs(Address)do if index==1 then address=offset else address=gg.getValues({{address=address+offset,flags=4}})[1].value end end local Value,Freeze={},{} for index,value in ipairs(AFV)do local VALUE={address=address+value[3],flags=value[2],value=value[1],freeze=true} if value[4]then Freeze[#Freeze+1]=VALUE else Value[#Value+1]=VALUE end end gg.setValues(Value) gg.addListItems(Freeze) end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return print(gg.getValues(tab)) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function LSQ_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() 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 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 local Table={} local function Modify(address,value,flags) Table[#Table+1]={address=address,value=value,flags=flags} 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 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 _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end --遍历写法 local function readD ( a ) return gg.getValues ( { { address = a , flags = 4 } } ) [ 1 ].value end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end function xfnb(add,lx) return gg.getValues({ { address=add,flags = lx } })[1].value end local function X(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end local function X(address) return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value 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]) gg.toast((name or "") .. "开启成功, 共修改" .. #Table .. "个值") end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return gg.getValues(tab) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function Unfreeze() --获取保存列表 local t = gg.getListItems() for k, v in pairs(t) do t[k]["freeze"] = false end return gg.addListItems(t) end function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function XGBase(Address,AFV) local address=0 for index,offset in ipairs(Address)do if index==1 then address=offset else address=gg.getValues({{address=address+offset,flags=4}})[1].value end end local Value,Freeze={},{} for index,value in ipairs(AFV)do local VALUE={address=address+value[3],flags=value[2],value=value[1],freeze=true} if value[4]then Freeze[#Freeze+1]=VALUE else Value[#Value+1]=VALUE end end gg.setValues(Value) gg.addListItems(Freeze) end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return print(gg.getValues(tab)) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function XunK_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 频道:@dzyyds A91 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end 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 function setvalue(address, flags, value) local tt = {} tt[1] = {} tt[1].address = address tt[1].flags = flags tt[1].value = value gg.setValues(tt) end function read(address, flags) local tt = {} tt[1] = {} tt[1].address = address tt[1].flags = flags filzer = gg.getValues(tt)[1].value return filzer end function getbase(address) local tt = {} tt[1] = {} tt[1].address = address tt[1].flags = 32 filzer = gg.getValues(tt)[1].value return filzer 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("音乐配置"..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() 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 local Table={} local function Modify(address,value,flags) Table[#Table+1]={address=address,value=value,flags=flags} end 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 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 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 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(0x2C4D6BCE) 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 _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 ---静态基址写法配置 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"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true 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) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "地址成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "失败") end end end end --仿XS写法配置 function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() 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]) gg.toast((name or "") .. "开启成功, 共修改"..#Table.."个值") end 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 local Table={} local function Modify(address,value,flags) Table[#Table+1]={address=address,value=value,flags=flags} end function Unfreeze() --获取保存列表 local t = gg.getListItems() for k, v in pairs(t) do t[k]["freeze"] = false end return gg.addListItems(t) end function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function XGBase(Address,AFV) local address=0 for index,offset in ipairs(Address)do if index==1 then address=offset else address=gg.getValues({{address=address+offset,flags=4}})[1].value end end local Value,Freeze={},{} for index,value in ipairs(AFV)do local VALUE={address=address+value[3],flags=value[2],value=value[1],freeze=true} if value[4]then Freeze[#Freeze+1]=VALUE else Value[#Value+1]=VALUE end end gg.setValues(Value) gg.addListItems(Freeze) end function Format(tab, format, value, type, Function) if format == "查看" then tab[1]["flags"] = type return print(gg.getValues(tab)) elseif format == "修改" then tab[1]["flags"] = type tab[1]["value"] = value return gg.setValues(tab) elseif format == "冻结" then tab[1]["flags"] = type tab[1]["freeze"] = true tab[1]["value"] = value tab[1]["name"] = Function or "功能" return gg.addListItems(tab) elseif format == "加载" then tab[1]["flags"] = type return gg.loadResults(tab) end end function XunK_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 getRanges = getRanges or (function() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写 ranges[#ranges+1] = v end end return ranges end) local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位 valtype = gg.TYPE_QWORD end for i in pairs(ranges) do local _name = ranges[i]["internalName"]:gsub('^.*/', '') if so[1] == _name and so[2] == ranges[i]["state"] then sostart = ranges[i]["start"] break end end if sostart then if offset[1] then for i = 1, #offset do rest = {{flags = valtype,address = sostart + offset[i]}} rest = gg.getValues(rest) if i == #offset then break end if valtype == gg.TYPE_DWORD then sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作 else sostart = rest[1].value end end end if #rest == 1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:" .. Function .. "开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end --[免费UI] 代号E02 作者长安Q1903351873(定制200起 带详细需求来 其他事不管 不包使用教程) --此UI仅支持ELGG使用 --ELGG官方Q群778101805 --支持的控件有: --文字: --CAtext([string 文字] , [颜色RGB十六进制](可省略) , [string 大小sp](可省略) , [bool 写true居中false或留空不居中](可省略)) --第二第三第四参数可省略 详情看下方例子 --颜色可以是string '#ffffffff' 也可以是十六进制 0xffffffff 注意格式不要混 --按钮: --CAbutton([string 文字] , [function 功能] , [string 颜色RGB十六进制](可省略)) --颜色可以是string '#ffffffff' 也可以是十六进制 0xffffffff 注意格式不要混 --注意只传入一个function不要与switch搞混 --switch开关: --CAswitch([string 文字] , [function 功能开] , [function 功能关] , [string 描述](可省略)) --第四参数描述可省略 详情看下方例子 --注意需传入两个function不要与button搞混 --checkbox小开关列表 --CAcheck([table]) --比较复杂这里不说了 看下边例子 按需复制粘贴 只需要搞懂基础语法就能用 不要问我 --这里写你的验证、前置功能函数,下边UI配置区写按钮调用 function a() --例子,下方UI调用 gg.alert(6) end _ENV["悬浮窗图标"] = "https://pan.gt68.cn/view.php/90345b6cab6593f0d005621c304c8aeb.png" --写图片文件直链 _ENV["标题"] = "心碎国体" _ENV["分页"] = { --导航栏分页名字和图标,添加表即可加页数,需要与功能配置页面数量对应 "公告", "经典区", "加速区", "飞天区", "wow区", "正式服区", "设置", --'设置',--这样添加新页面 } init() --传递变量勿动 uistart({ --每一个功能页面需要有上边分页名字对应,多出来的不显示,少了需要补充 { --1 CAtext("欢迎大家使用心碎国体\n感谢大家的支持", "#000000", "12sp", true), CAbutton("选择进程", function() gg.setProcessX() string.toMusic('选择进程') end, 0xff0062ff), --第三参数颜色 CAline("功能区"), CAcheck({ { "防闪", function()if gg.getRangesList("libanogs.so:bss")[1] then local t = {} t[1] = gg.getRangesList("libanogs.so:bss")[1]["start"] + 0x300; -- 数值地址:0x7A74D89300 t[2] = gg.getRangesList("libanogs.so:bss")[1]["start"] + 0x3F8; -- 数值地址:0x7A74D893F8 t[3] = gg.getRangesList("libanogs.so:bss")[1]["start"] + 0x430; -- 数值地址:0x7A74D89430 t[4] = gg.getRangesList("libanogs.so:bss")[1]["start"] + 0x550; -- 数值地址:0x7A74D89550 t[5] = gg.getRangesList("libanogs.so:bss")[1]["start"] + 0x5D8; -- 数值地址:0x7A74D895D8 gg.addListItems({ [1] = { address = t[1], flags = 4, value = 64, freeze = true, }, [2] = { address = t[2], flags = 4, value = 64, freeze = true, }, [3] = { address = t[3], flags = 4, value = 64, freeze = true, }, [4] = { address = t[4], flags = 4, value = 64, freeze = true, }, [5] = { address = t[5], flags = 4, value = 64, freeze = true, }, }) gg.addListItems({{address = ttt, flags = 4, value = 64, freeze = true}}) gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end end, function() end, }, { "自改广角", function() 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=0x379E488 setvalue(so+py,16,GJ[1]) end gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function() end, }, }), CAline("音乐区"), CAswitch("搜索音乐", function() 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) 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, function() gg.playMusic("stop") end, "开完请等待一会"), CAswitch("戒烟", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=519250023&uct2.mp3") end, function() gg.playMusic("stop") end, "开完请等待一会"), CAswitch("予你", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1895330088&uct2.mp3") end, function() gg.playMusic("stop") end, "开完请等待一会"), CAswitch("起风了", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1330348068.mp3") end, function() gg.playMusic("stop") end, "开完请等待一会"), }, { --3 CAbutton("选择进程", function() gg.setProcessX() string.toMusic('选择进程') end, 0xff0062ff), --第三参数颜色 CAline("加速区"), CAswitch("防标记", function()so=gg.getRangesList('libgcloud.so')[1].start py=0x487128 setvalue(so+py,4,-698416192) py=0x506EB8 setvalue(so+py,4,-698416192) py=0x487CC4 setvalue(so+py,4,-698416192) py=0x507A54 setvalue(so+py,4,-698416192) string.toMusic('防止标记开启成功') end, function()so=gg.getRangesList('libgcloud.so')[1].start py=0x487128 setvalue(so+py,4,1033081774) py=0x506EB8 setvalue(so+py,4,1033081774) py=0x487CC4 setvalue(so+py,4,16843522) py=0x507A54 setvalue(so+py,4,16843522) string.toMusic('防止标记关闭成功') end, ""), CAcheck({ { "经典加速", function() so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) QA = gg.prompt({ "自改0.00几", "微加速", },cfg,{"text","text"}) if QA == nil then else if QA[1] == true then QA1() end if QA[2] == true then QA2() end LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结",QA[1],16,"xa变量") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x1168}--微加速 local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = QA[2], freeze = true}}) end so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,-721215457) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x20,0x400,0x75C},"冻结","100",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x20,0x400,0x770},"冻结","0.0001",16,"减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","150",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x64},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x68},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0xE4},"冻结","999999",16,"流畅落地") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"冻结","34",16,"50") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function() so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "利维科加速", function() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","0",4,"灵魂") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x220},"冻结","251,989.96875",16,"X") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x224},"冻结","241,704.40625",16,"Y") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x228},"冻结","721.1787109375",16,"Z") gg.sleep(2000) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) gg.sleep(1000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","167,772,680",4,"灵魂") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0xE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x220} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x224} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) QA = gg.prompt({ "自改0.00几", "微加速", },cfg,{"text","text"}) if QA == nil then else if QA[1] == true then QA1() end if QA[2] == true then QA2() end LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结",QA[1],16,"xa变量") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x1168}--微加速 local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = QA[2], freeze = true}}) end so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,-721215457) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x20,0x400,0x75C},"冻结","100",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x20,0x400,0x770},"冻结","0.0001",16,"减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","150",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x64},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x68},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0xE4},"冻结","999999",16,"流畅落地") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"冻结","34",16,"50") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function() so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "沙漠加速", function() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","0",4,"灵魂") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x220},"冻结","521,332.4375",16,"X") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x224},"冻结","533,227.625",16,"Y") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x228},"冻结","20,335.32421875",16,"Z") gg.sleep(2000) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) gg.sleep(1000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","167,772,680",4,"灵魂") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0xE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x220} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x224} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) QA = gg.prompt({ "自改0.00几", "微加速", },cfg,{"text","text"}) if QA == nil then else if QA[1] == true then QA1() end if QA[2] == true then QA2() end LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结",QA[1],16,"xa变量") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x1168}--微加速 local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = QA[2], freeze = true}}) end so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,-721215457) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x20,0x400,0x774},"冻结","100",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x20,0x400,0x770},"冻结","1",16,"减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","150",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x64},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x68},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0xE4},"冻结","999999",16,"流畅落地") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"冻结","34",16,"50") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function() so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "度假岛加速", function() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","0",4,"灵魂") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x220},"冻结","76,764.4296875",16,"X") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x224},"冻结","131,476.65625",16,"Y") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x228},"冻结","119.78674316406",16,"Z") gg.sleep(2000) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) gg.sleep(1000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","167,772,680",4,"灵魂") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0xE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x220} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x224} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) QA = gg.prompt({ "自改0.00几", "微加速", },cfg,{"text","text"}) if QA == nil then else if QA[1] == true then QA1() end if QA[2] == true then QA2() end LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结",QA[1],16,"xa变量") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x1168}--微加速 local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = QA[2], freeze = true}}) end so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,-721215457) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x20,0x400,0x75C},"冻结","90",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x20,0x400,0x770},"冻结","0.0001",16,"减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","150",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x64},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x68},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0xE4},"冻结","999999",16,"流畅落地") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"冻结","34",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"冻结","999",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"冻结","4500",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"冻结","5.5",16,"0.05") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function() so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "判断跳远", function() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"冻结","4800",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"冻结","7",16,"防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"冻结","15",16,"v加速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"冻结","34",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0xE4},"冻结","999",16,"流畅落地") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x64},"冻结","0.00001",16,"趴下后摇") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x68},"冻结","0.00001",16,"趴下后摇") play = true while play do function zhi(a, b)--a是地址,b是类型,c是返回值 local c = gg.getValues({{address = a, flags = b}})[1].value return c end local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x1058}--加上判断链条 local ttt = S_Pointer(t, tt, true) r={} r[1] = {} r[1].address = ttt r[1].name = "判断" r[1].flags = 4 gg.addListItems(r) -- 获取地址值并返回 play = true while play do if zhi(ttt,4)==72 then LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","999999",16,"8192") --写当判断值等于这个时执行的东西 gg.sleep(2000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") end if zhi(ttt,4)==75 then LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","999999",16,"8192") --写当判断值等于这个时执行的东西 gg.sleep(2000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") end end end end, function() play = false so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "自改高跳", function() local a1 = gg.prompt ( { '高度自改' , '防摔自改' , } , { 4500 , 5.5 , false } , { 'number' , 'number' } ) if a1 then local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x518,0x21C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a1[1], freeze = true}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x518,0x214} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a1[2], freeze = true}}) end LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"冻结","34",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"冻结","9999",16,"0.05") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function()LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast("关闭成功") gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, }), }, { --2 CAtext("调用加速不用开初始化\n七图两个加速是一样的只不过调用位置不同", "#000000", "12sp", true), CAbutton("选择进程", function() gg.setProcessX() string.toMusic('选择进程') end, 0xff0062ff), --第三参数颜色 CAline("加速区"), CAswitch("防标记", function()so=gg.getRangesList('libgcloud.so')[1].start py=0x487128 setvalue(so+py,4,-698416192) py=0x506EB8 setvalue(so+py,4,-698416192) py=0x487CC4 setvalue(so+py,4,-698416192) py=0x507A54 setvalue(so+py,4,-698416192) string.toMusic('防止标记开启成功') end, function()so=gg.getRangesList('libgcloud.so')[1].start py=0x487128 setvalue(so+py,4,1033081774) py=0x506EB8 setvalue(so+py,4,1033081774) py=0x487CC4 setvalue(so+py,4,16843522) py=0x507A54 setvalue(so+py,4,16843522) string.toMusic('防止标记关闭成功') end, ""), CAswitch("趴下移动开火", function() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1058},"冻结","11",4,"8d") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function() Unfreeze() gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, "开完加速开"), CAswitch("初始化", function() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","150",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x64},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x68},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0xE4},"冻结","999999",16,"流畅落地") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function() Unfreeze() end, "配合地铁加速用"), CAswitch("hook范围", function() function gg.getResultsCount(Search, Write,Neicun,Mingcg,Shuzhiliang) gg.clearResults() gg.setRanges(Neicun) gg.setVisible(false) gg.searchNumber(Search[1][1], Search[1][3]) 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 = Search[k][3] 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(Mingcg.."搜索到"..#data.."条数据") local t = {} local base = Search[1][2] if Shuzhiliang == "" and Shuzhiliang > 0 and Shuzhiliang < #data then Shuzhiliang=Shuzhiliang else Shuzhiliang=#data end for i=1, Shuzhiliang do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = w[3] t[#t].value = w[1] if (w[4] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Mingcg.."已修改"..#t.."条数据") gg.addListItems(t) else gg.toast(Mingcg.."开启失败", false) return false end else gg.toast("搜索失败") return false end end function gg.getResultsCount(Search, Write,Neicun,Mingcg,Shuzhiliang) gg.clearResults() gg.setRanges(Neicun) gg.setVisible(false) gg.searchNumber(Search[1][1], Search[1][3]) 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 = Search[k][3] 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(Mingcg.."搜索到"..#data.."条数据") local t = {} local base = Search[1][2] if Shuzhiliang == "" and Shuzhiliang > 0 and Shuzhiliang < #data then Shuzhiliang=Shuzhiliang else Shuzhiliang=#data end for i=1, Shuzhiliang do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = w[3] t[#t].value = w[1] if (w[4] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Mingcg.."已修改"..#t.."条数据") gg.addListItems(t) else gg.toast(Mingcg.."开启失败", false) return false end else gg.toast("搜索失败") return false end end function xyh(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 "by守护神提示修改"..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 function Fxs(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 "\n📥修改"..tg_.."数据📥" or "" th=(th_) and "" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast("\n"..Name..tg) tg_,th_=nil,nil else gg.toast("❌搜索不到❌",false) return false end else gg.toast("❌开启失败") return false end end function ALI() end function setvalue(address,flags,value) ALI('Modify address value(Address, value type, value to be modified)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function libBase(offset, type, value, name) gg.setValues({[1] = {address = gg.getRangesList('libUE4.so')[1].start + offset, flags = type, value = value}}) gg.toast(name .. '') end function setvalue(A0_35, A1_36, A2_37) ALIMOE(("Modify address value(Address, value type, value to be modified)")) local konzlet = { } konzlet[1] = { } konzlet[1].address = A0_35 konzlet[1].flags = A1_36 konzlet[1].value = A2_37 gg.setValues(konzlet) end function ALIMOE() end function setvalue(address,flags,value) ALIMOE('Modify address value(Address, value type, value to be modified)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function setvalue(address,flags,value) PS('Modify address value (address, value type, value to be modified)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function edit(orig,ret)_om=orig[1].memory or orig[1][1]_ov=orig[3].value or orig[3][1]_on=orig[2].name or orig[2][1]gg.clearResults()gg.setRanges(_om)gg.searchNumber(_ov,orig[3].type or orig[3][2])sz=gg.getResultCount()if sz<1 then gg.toast(_on.." ")else sl=gg.getResults(720)for i=1,sz do ist=true for v=4,#orig do if ist==true and sl[i].value==_ov then cd={{}}cd[1].address=sl[i].address+(orig[v].offset or orig[v][2])cd[1].flags=orig[v].type or orig[v][3]szpy=gg.getValues(cd)cdlv=orig[v].lv or orig[v][1]cdv=szpy[1].value if cdlv==cdv then pdjg=true ist=true else pdjg=false ist=false end end end if pdjg==true then szpy=sl[i].address for x=1,#(ret)do xgpy=szpy+(ret[x].offset or ret[x][2])xglx=ret[x].type or ret[x][3]xgsz=ret[x].value or ret[x][1]xgdj=ret[x].freeze or ret[x][4]xgsj={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xgsj[1].freeze=xgdj gg.addListItems(xgsj)else gg.setValues(xgsj)end end xgjg=true end end if xgjg==true then gg.toast(_on.."开启成功")else gg.toast(_on.." ")end end end function SearchWrite(Search, Write, Type) gg.clearResults() 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("搜索到"..#data.."条数据") 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.toast("已修改"..#t.."条数据") gg.addListItems(t) else gg.toast("not found", false) return false end else gg.toast("Not Found") return false end end function js(address,flags,value) local jz={} jz[1]={} jz[1].address=address jz[1].flags=flags jz[1].value=value gg.setValues(jz) end function Fxs(Search, Write,Neicun,Mingcg,Shuzhiliang) gg.clearResults() gg.setRanges(Neicun) gg.setVisible(false) gg.searchNumber(Search[1][1], Search[1][3]) 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 = Search[k][3] 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(Mingcg.." 开启成功 "..#data.."") local t = {} local base = Search[1][2] if Shuzhiliang == "" and Shuzhiliang > 0 and Shuzhiliang < #data then Shuzhiliang=Shuzhiliang else Shuzhiliang=#data end for i=1, Shuzhiliang do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = w[3] t[#t].value = w[1] if (w[4] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Mingcg.." 开启成功 "..#t.."") gg.addListItems(t) else gg.toast(Mingcg.." ", false) return false end else gg.toast(" ") return false end end function gg.getResultsCount(Nc,Type,Search,Write) ASHUSINGH.clearResults() ASHUSINGH.setRanges(Nc) ASHUSINGH.setVisible(false) ASHUSINGH.searchNumber(Search[1][1],Type) local count=ASHUSINGH.getResultCount() local result=ASHUSINGH.getResults(count) ASHUSINGH.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=ASHUSINGH.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 ASHUSINGH.toast("\n𝙰𝚜𝚑𝚞"..#data.."\nᴀsʜᴜ_sɪɴɢʜ") 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 ASHUSINGH.addListItems(item) end end end ASHUSINGH.setValues(t) ASHUSINGH.sleep(400) ASHUSINGH.toast("\n"..Name.."\nASHU"..#t.."") else ASHUSINGH.toast("\n"..Name.."ᴀsʜᴜ_sɪɴɢʜ") return false end else ASHUSINGH.toast("\n"..Name.."ᴀsʜᴜ_sɪɴɢʜ") return false end end function mnyq(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 "\n修改"..tg_.."数据" or "" th=(th_) and "" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast("\n"..Name..tg) tg_,th_=nil,nil else gg.toast("搜索不到",false) return false end else gg.toast("搜索不到") return false end end function gg.getResultsCount(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 "\n👿修改"..tg_.."数据" or "" th=(th_) and "" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast("\n"..Name..tg) tg_,th_=nil,nil else gg.toast("❌搜索不到",false) return false end else gg.toast("❌搜索不到") return false end end function LouZhu(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 "\n📥修改"..tg_.."数据" or "" th=(th_) and "" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast("\n"..Name..tg) tg_,th_=nil,nil else gg.toast("❌搜索不到",false) return false end else gg.toast("❌搜索不到") return false end end function TNRNB(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🔍搜索到"..#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) gg.toast("\n🚬"..Name.."成功\n🛠共修改"..#t.."数据") else gg.toast("\n❌"..Name.."失败") return false end else gg.toast("\n❌"..Name.."失败") return false end end function gg.getResultsCount(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🔍搜索到"..#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) gg.toast("\n🚬"..Name.."成功\n🛠共修改"..#t.."数据") else gg.toast("\n❌"..Name.."失败") return false end else gg.toast("\n❌"..Name.."失败") return false end 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 function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function gg.getResultsCount(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(""..#data.."") 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(""..Name..""..#t.."") else gg.toast(""..Name.."") return false end else gg.toast(""..Name.."") return false end end function gg.getResultsCount(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(""..#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.."KD GAMER\n KD GAMER"..#t.."data") else gg.toast("\n"..Name.."KD GAMER") return false end else gg.toast("\n"..Name.."KD GAMER") return false end end function gg.getResultsCount(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 "\n📥修改"..tg_.."数据" or "" th=(th_) and "" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast("\n"..Name..tg) tg_,th_=nil,nil else gg.toast("❌搜索不到",false) return false end else gg.toast("❌搜索不到") return false end end function editData(qmnb,qmxg)gg.setVisible(false)gg.clearResults()qmnbv=qmnb[3]["value"]or qmnb[3][1]qmnbt=qmnb[3]["type"]or qmnb[3][2]qmnbn=qmnb[2]["name"]or qmnb[2][1]gg.setRanges(qmnb[1]["memory"]or qmnb[1][1])gg.searchNumber(qmnbv,qmnbt)gg.refineNumber(qmnbv,qmnbt)sz=gg.getResultCount()if sz==0 then gg.toast(qmnbn.."开启失败")else sl=gg.getResults(999999)for i=1,sz do pdsz=true for v=4,#qmnb do if pdsz==true then pysz={{}}pysz[1].address=sl[i].address+(qmnb[v]["offset"]or qmnb[v][2])pysz[1].flags=qmnb[v]["type"]or qmnb[v][3]szpy=gg.getValues(pysz)tzszpd=tostring(qmnb[v]["lv"]or qmnb[v][1]):gsub(",","")pyszpd=tostring(szpy[1].value):gsub(",","")if tzszpd==pyszpd then pdjg=true pdsz=true else pdjg=false pdsz=false end end end if pdjg==true then szpy=sl[i].address for x=1,#qmxg do xgsz=qmxg[x]["value"]or qmxg[x][1]xgpy=szpy+(qmxg[x]["offset"]or qmxg[x][2])xglx=qmxg[x]["type"]or qmxg[x][3]xgdj=qmxg[x]["freeze"]or qmxg[x][4]xg={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xg[1].freeze=xgdj gg.addListItems(xg)else gg.setValues(xg)end end xgjg=true end end if xgjg==true then gg.toast(qmnbn.."开启成功")else gg.toast(qmnbn.."开启失败")end end end function gg.getResultsCount(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("gg.getResultsCount",false) return false end else gg.toast("gg.getResultsCount") return false end end 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"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true 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) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,一共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "未搜索到数据,开启失败") end end end end function SearchWrite(Search, Write, Type) gg.clearResults() 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 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.toast("开启成功,一共修改"..#t.."条数据") gg.addListItems(t) else gg.toast("未搜索到数据,开启失败", false) return false end else gg.toast("Not Found") return false end end function HaoGe(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 tPUBGMH={} local offset=Search[k][2]-base local num=Search[k][1] for i,v in ipairs(result)do tPUBGMH[#tPUBGMH+1]={} tPUBGMH[#tPUBGMH].address=v.address+offset tPUBGMH[#tPUBGMH].flags=v.flags end tPUBGMH=gg.getValues(tPUBGMH) for i,v in ipairs(tPUBGMH)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 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) else return false end else return false end end gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("4771563806291656704", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(100) gg.editAll("4,771,563,806,403,022,720", gg.TYPE_QWORD) gg.clearResults()--特效 gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("-6,155,480,658,609,176,576", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(100) gg.editAll("-6,155,480,656,426,696,704", gg.TYPE_QWORD) gg.clearResults()--26修伤 gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("-6,156,377,860,096,393,216", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.toast("xa修伤 50%") gg.getResults(100) gg.editAll("-6,156,377,857,912,471,552", gg.TYPE_QWORD)--28修伤 gg.clearResults() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("4,745,105,158,488,195,072", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(100) gg.editAll("4,745,105,160,678,998,016", gg.TYPE_QWORD)--18修伤 gg.clearResults() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("-6,138,504,199,075,659,776", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(100) gg.editAll("-6,138,504,196,889,706,496", gg.TYPE_QWORD)--27.25修伤 gg.toast("xa修伤 100%") gg.clearResults() gg.toast("xa开启成功") gg.getResultsCount({{false,88000.0,0,16,nil,nil}},{{35000,0,16,false}},16,32,"xa") gg.getResultsCount({{false,90000.0,0,16,nil,nil}},{{35000,0,16,false}},16,32,"修伤") gg.getResultsCount({{false,23.0,0,16,nil,nil},{25.0,4,16},{30.5,8,16}},{{100,4,16,false},{100,8,16,false}},16,32,"修伤") 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"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true 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) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,一共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "未搜索到数据,开启失败") end end end end function SearchWrite(Search, Write, Type) gg.clearResults() 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 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.toast("开启成功,一共修改"..#t.."条数据") gg.addListItems(t) else gg.toast("未搜索到数据,开启失败", false) return false end else gg.toast("Not Found") return false end end function HaoGe(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 tPUBGMH={} local offset=Search[k][2]-base local num=Search[k][1] for i,v in ipairs(result)do tPUBGMH[#tPUBGMH+1]={} tPUBGMH[#tPUBGMH].address=v.address+offset tPUBGMH[#tPUBGMH].flags=v.flags end tPUBGMH=gg.getValues(tPUBGMH) for i,v in ipairs(tPUBGMH)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 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) else return false end else return false end end Name = "ʜᴇᴀᴅ ʜɪᴛᴛɪɴɢ ᴡɪᴛʜᴏᴜᴛ ᴡᴀsᴛᴇ ᴏғ ʙᴜʟʟᴇᴛ" local Nc = 16384 local Lx = 16 local Sz1 = {{-1.42781105e28, 0}} local Sz2 = {{0, 0}} HaoGe(Nc, Lx, Sz1, Sz2) qmnb = { {["memory"] = 32}, {["name"] = "ᴍᴀɪɴ ʜɪᴛᴛɪɴɢ ᴄᴏᴍᴘᴏɴᴇɴᴛ ᴀʟʟ ʙᴏᴅʏ"}, {["value"] = 4740038608910024704, ["type"] = 32}, {["lv"] = 4752423507886342144, ["offset"] = 4, ["type"] = 32}, {["lv"] = 1106509824, ["offset"] = 8, ["type"] = 32}, } qmxg = { {["value"] = 700, ["offset"] = 4, ["type"] = 16}, {["value"] = 700, ["offset"] = 8, ["type"] = 16}, } xqmnb(qmnb) qmnb = { {["memory"] = 32}, {["name"] = "sᴜᴘᴘᴏʀᴛ sᴋʏ sʜᴏᴏᴛ ᴠ1"}, {["value"] = 4719772412750681353, ["type"] = 32}, {["lv"] = 4742290408720039936, ["offset"] = 4, ["type"] = 32}, } qmxg = { {["value"] = -460, ["offset"] = 8, ["type"] = 16}, } xqmnb(qmnb) qmnb = { {["memory"] = 32}, {["name"] = "sᴜᴘᴘᴏʀᴛ sᴋʏ sʜᴏᴏᴛ ᴠ2"}, {["value"] = -4417614866316724128, ["type"] = 32}, {["lv"] = 4724276012378061487, ["offset"] = 4, ["type"] = 32}, } qmxg = { {["value"] = -560, ["offset"] = 12, ["type"] = 16}, } xqmnb(qmnb) qmnb = { {["memory"] = 32}, {["name"] = "sᴜᴘᴘᴏʀᴛ sᴋʏ sʜᴏᴏᴛ ᴠ3"}, {["value"] = -4416487068034336677, ["type"] = 32}, {["lv"] = 4724276012378324073, ["offset"] = 4, ["type"] = 32}, } qmxg = { {["value"] = -660, ["offset"] = 8, ["type"] = 16}, {["value"] = -660, ["offset"] = 12, ["type"] = 16}, } xqmnb(qmnb) qmnb = { {["memory"] = 32}, {["name"] = "xʜɪᴛ"}, {["value"] = 4771563806291656704, ["type"] = 32}, {["lv"] = 1110966272, ["offset"] = 4, ["type"] = 32}, {["lv"] = 4692750811720056832, ["offset"] = -4, ["type"] = 32},} qmxg = { {["value"] = 999, ["offset"] = 0, ["type"] = 16},} xqmnb(qmnb) gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-3.77830899e28;-3.74440972e28;-3.71834013e28;-1.7334334e28", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-3.77830899e28", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(999999, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_FLOAT) gg.toast("开启成功") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function() so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, "自带防卡伤"), CAcheck({ { "七图调用加速", function() choice = gg.alert("请选择传送点位", "广告", "挖掘机") if choice == 1 then if choice == 2 then end end if choice == 1 then LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","0",4,"灵魂") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x220},"冻结","185,115.96875",16,"X") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x224},"冻结","107,536.546875",16,"Y") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x228},"冻结","7,758.48046875",16,"Z") end if choice == 2 then LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","0",4,"灵魂") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x220},"冻结","136,497.953125",16,"X") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x224},"冻结","163,064.796875",16,"Y") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x228},"冻结","5,937.17626953125",16,"Z") end gg.sleep(2000) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) gg.sleep(1000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","167,772,680",4,"灵魂") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0xE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x220} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x224} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) QA = gg.prompt({ "自改0.00几", "微加速", },cfg,{"0.002","4"}) if QA == nil then else if QA[1] == true then QA1() end if QA[2] == true then QA2() end LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结",QA[1],16,"xa变量") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"冻结",QA[2],16,"微加速") end so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,-721215457) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x64},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x68},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0xE4},"冻结","999999",16,"流畅落地") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function() so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"冻结","1",16,"流畅落地") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "五图调用加速", function() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","0",4,"灵魂") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x220},"冻结","122,961.1015625",16,"X") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x224},"冻结","203,550.09375",16,"Y") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x228},"冻结","3,543.267578125",16,"Z") gg.sleep(2000) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) gg.sleep(1000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","167,772,680",4,"灵魂") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0xE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x220} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x224} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) QA = gg.prompt({ "自改0.00几", "微加速", },cfg,{"text","text"}) if QA == nil then else if QA[1] == true then QA1() end if QA[2] == true then QA2() end LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结",QA[1],16,"xa变量") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x1168}--微加速 local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = QA[2], freeze = true}}) end so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,-721215457) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x64},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x68},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0xE4},"冻结","999999",16,"流畅落地") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function()so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"修改","1",16,"V加") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "无调用(搭配初始化)", function() QA = gg.prompt({ "自改0.00几", "微加速", },cfg,{"text","text"}) if QA == nil then else if QA[1] == true then QA1() end if QA[2] == true then QA2() end LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结",QA[1],16,"xa变量") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x1168}--微加速 local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = QA[2], freeze = true}}) end so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,-721215457) gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function()so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "自改高跳", function()local a1 = gg.prompt ( { '高度自改' , '防摔自改' , } , { 4500 , 5.5 , false } , { 'number' , 'number' } ) if a1 then local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x518,0x21C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a1[1], freeze = true}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x518,0x214} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a1[2], freeze = true}}) end LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"冻结","34",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"冻结","999",16,"0.05") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "判断超级跳远", function() local a1 = gg.prompt ( { '高度自改' , '防摔自改' , '微加速自改' , } , { 15000 , 27 , 15 ,false } , { 'number' , 'number', 'number' } ) if a1 then local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x518,0x21C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a1[1], freeze = true}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x518,0x214} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a1[2], freeze = true}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x1168} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a1[3], freeze = true}}) end LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"冻结","34",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x20,0x400,0x75C},"冻结","80",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x20,0x400,0x770},"冻结","0.0001",16,"减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"修改","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x64},"冻结","0.00001",16,"趴下后摇") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x68},"冻结","0.00001",16,"趴下后摇") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1990},"冻结","0.00001",16,"秒趴") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0xE4},"冻结","999",16,"流畅落地") play = true while play do function zhi(a, b)--a是地址,b是类型,c是返回值 local c = gg.getValues({{address = a, flags = b}})[1].value return c end local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x1058}--加上判断链条 local ttt = S_Pointer(t, tt, true) r={} r[1] = {} r[1].address = ttt r[1].name = "判断" r[1].flags = 4 gg.addListItems(r) -- 获取地址值并返回 play = true while play do if zhi(ttt,4)==72 then LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","999999",16,"8192") --写当判断值等于这个时执行的东西 gg.sleep(2000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") end if zhi(ttt,4)==75 then LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","999999",16,"8192") --写当判断值等于这个时执行的东西 gg.sleep(2000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") end end end end, function() play = false so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "判断跳远", function() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"冻结","4800",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"冻结","7",16,"防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"冻结","15",16,"v加速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"冻结","34",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0xE4},"冻结","999",16,"流畅落地") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x64},"冻结","0.00001",16,"趴下后摇") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x68},"冻结","0.00001",16,"趴下后摇") play = true while play do function zhi(a, b)--a是地址,b是类型,c是返回值 local c = gg.getValues({{address = a, flags = b}})[1].value return c end local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x1058}--加上判断链条 local ttt = S_Pointer(t, tt, true) r={} r[1] = {} r[1].address = ttt r[1].name = "判断" r[1].flags = 4 gg.addListItems(r) -- 获取地址值并返回 play = true while play do if zhi(ttt,4)==72 then LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","999999",16,"8192") --写当判断值等于这个时执行的东西 gg.sleep(2000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") end if zhi(ttt,4)==75 then LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","999999",16,"8192") --写当判断值等于这个时执行的东西 gg.sleep(2000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") end end end end, function() play = false so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, }), }, { --3 CAbutton("选择进程", function() gg.setProcessX() string.toMusic('选择进程') end, 0xff0062ff), --第三参数颜色 CAline("飞天区"), CAswitch("防标记", function()so=gg.getRangesList('libgcloud.so')[1].start py=0x487128 setvalue(so+py,4,-698416192) py=0x506EB8 setvalue(so+py,4,-698416192) py=0x487CC4 setvalue(so+py,4,-698416192) py=0x507A54 setvalue(so+py,4,-698416192) string.toMusic('防止标记开启成功') end, function()so=gg.getRangesList('libgcloud.so')[1].start py=0x487128 setvalue(so+py,4,1033081774) py=0x506EB8 setvalue(so+py,4,1033081774) py=0x487CC4 setvalue(so+py,4,16843522) py=0x507A54 setvalue(so+py,4,16843522) string.toMusic('防止标记关闭成功') end, ""), CAswitch("中断循环线程", function() zvg = false while zvg do end end, function() zvg = false while zvg do end end, ""), CAcheck({ { "防拉", function()choice=gg.alert("选择","七图","五图","经典") if choice==1 or choice==2 or choice==3 then end if choice==1 then LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","0",4,"灵魂") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x220},"冻结","136,497.953125",16,"X") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x224},"冻结","163,064.796875",16,"Y") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x228},"冻结","5,937.17626953125",16,"Z") --地皮 gg.sleep(2000) --锁地皮原值:-117284230 so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) gg.sleep(1000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","167,772,680",4,"灵魂") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0xE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x220} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x224} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) end if choice==2 then LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","0",4,"灵魂") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x220},"冻结","122,961.1015625",16,"X") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x224},"冻结","203,550.09375",16,"Y") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x228},"冻结","3,543.267578125",16,"Z") gg.sleep(2000) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) gg.sleep(1000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","167,772,680",4,"灵魂") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0xE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x220} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x224} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) end if choice==3 then so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) end gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function()so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) Unfreeze()--解除所有冻结 gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "趴下上升", function() gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function()zvg = false Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "定点飞天", function() local a1 = gg.prompt ( { '速度2-4' , '变速\n120改0.5-0.7\n90-60改0.8-1.2' , } , { 2 , 0.8 , false } , { 'number' , 'number' } ) if a1 then local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x1168} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a1[1], freeze = true}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x20,0x400,0x758} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a1[2], freeze = true}}) end LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x20,0x400,0x770},"冻结","0.0001",16,"减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x20,0x400,0x75C},"冻结","90",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x194},"冻结","0",16,"定") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x64},"冻结","0.0001",16,"后摇") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"冻结","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"冻结","0",16,"重力") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x68},"冻结","0.0001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268+0x30},"冻结","999",16,"空中急停") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"冻结","99999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") end, function() Unfreeze()--解除所有冻结 so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "坐标飞天(开完飞天后开)", function()if VNM == nil then VNM = {5,20,20} end renwu=gg.prompt({ "移动速度 (1-15)", },VNM,{"text"}) if renwu == nil then else if renwu[1] == true then g1() end end local PI = math.pi local FLAG_DWORD, FLAG_FLOAT = 4, 16 local renwu = renwu or {} local STEP = renwu[1] or 1.0 local SLEEP = 0 local ranges = gg.getRangesList("libUE4.so:bss") or gg.getRangesList("libUE4.so") if not ranges or #ranges == 0 then gg.alert("未找到libUE4.so") return end local baseAddr = ranges[1].start local ptrFlag, baseOffset, addrMask = 32, 0x558CF0, 0xFFFFFFFFFFFFFFFF if baseAddr <= 0xFFFFFFFF then ptrFlag, baseOffset, addrMask = 4, 0x3DCEA0, 0xFFFFFFFF end local base = (baseAddr + baseOffset) & addrMask local function getAddr(addr) local res = gg.getValues({{address = addr & addrMask, flags = ptrFlag}}) return res and res[1].value & addrMask or 0 end local a1 = getAddr(base) local a2 = getAddr(a1 + 0x30) local sx = getAddr(a2 + 0x4B8) local qq = getAddr(a1 + 0x30) local fwaddr = (qq + 0x4E4) & addrMask --视角 local mum = getAddr(sx + 0x208) local zbz = (mum + 0x228) & addrMask --z坐标 local zbx = (zbz + 1000) & addrMask local zby = (zbz + 200) & addrMask local waddr = (fwaddr - 4) & addrMask local ttpd = (sx + 0x2AF0) & addrMask --左右探头判断 local time = (sx + 0x2AF4) & addrMask --探头判断 local ygqh = (sx + 0x246C) & addrMask local ygzy = (sx + 0x2470) & addrMask local readList = { {address = zbx, flags = FLAG_FLOAT}, {address = zby, flags = FLAG_FLOAT}, {address = zbz, flags = FLAG_FLOAT}, {address = fwaddr, flags = FLAG_FLOAT}, {address = waddr, flags = FLAG_FLOAT}, {address = ttpd, flags = FLAG_DWORD}, {address = time, flags = FLAG_DWORD}, {address = ygqh, flags = FLAG_FLOAT}, {address = ygzy, flags = FLAG_FLOAT} } local writeList = { {address = zbx, flags = FLAG_FLOAT, value = 0}, {address = zby, flags = FLAG_FLOAT, value = 0}, {address = zbz, flags = FLAG_FLOAT, value = 0} } zvg = true while zvg do gg.sleep(5) local vals = gg.getValues(readList) if not vals then goto continue end local qh, zy = vals[8].value, vals[9].value local fw, sw = vals[4].value, vals[5].value local rad = fw * PI / 180 local cosR, sinR = math.cos(rad), math.sin(rad) local Yooix = (qh * cosR - zy * sinR) * STEP local Yooiy = (qh * sinR + zy * cosR) * STEP local Yooiz = qh * math.sin(sw * PI / 180) * STEP writeList[1].value = vals[1].value + Yooix writeList[2].value = vals[2].value + Yooiy writeList[3].value = vals[3].value + Yooiz local ttpdVal, timeVal = vals[6].value, vals[7].value if ttpdVal == 16777216 and timeVal == 1 then writeList[3].value = vals[3].value + 20 gg.setValues(writeList) elseif ttpdVal == 16842752 and timeVal == 1 then writeList[3].value = vals[3].value - 20 gg.setValues(writeList) else gg.setValues({writeList[1], writeList[2], writeList[3]}) end ::continue:: end gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function()zvg = false while zvg do Unfreeze()--解除所有冻结 so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end end, }, { "挥拳加速", function()if MY == nil then MY = {50,4} end M = gg.prompt({ "自改挥拳10-50", "自改正常4-10", },MY,{"text","text"}) if M == nil then else if M[1] == true then M1() end if M[2] == true then M2() end function getPointerAddress(base, offsets) local t = { "libUE4.so:bss", "Cb" } return S_Pointer(t, offsets, true) end function getValue(address, flags) local result = gg.getValues({ { address = address, flags = flags } }) if result and result[1] then return result[1].value end return nil end function setValue(address, flags, value, freeze) gg.addListItems({ { address = address, flags = flags, value = value, freeze = freeze } }) end local baseAddress = 0x558CF0 local checkOffsets = { 0x558CF0,0x30,0x4B8,0xFA8,0x868 } local checkAddress = getPointerAddress(baseAddress, checkOffsets) HQ=true while HQ do local checkValue = getValue(checkAddress, 4) if checkValue == 8200 or checkValue == 8203 then LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"冻结",M[1],16,"微加速") gg.sleep(2000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"冻结",M[2],16,"微加速") end end end string.toMusic('挥拳加速开启成功') end, function()zvg = false while zvg do Unfreeze()--解除所有冻结 so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end end, }, }), }, { --2 CAbutton("选择进程", function() gg.setProcessX() string.toMusic('选择进程') end, 0xff0062ff), --第三参数颜色 CAswitch("防标记", function()so=gg.getRangesList('libgcloud.so')[1].start py=0x487128 setvalue(so+py,4,-698416192) py=0x506EB8 setvalue(so+py,4,-698416192) py=0x487CC4 setvalue(so+py,4,-698416192) py=0x507A54 setvalue(so+py,4,-698416192) string.toMusic('防止标记开启成功') end, function()so=gg.getRangesList('libgcloud.so')[1].start py=0x487128 setvalue(so+py,4,1033081774) py=0x506EB8 setvalue(so+py,4,1033081774) py=0x487CC4 setvalue(so+py,4,16843522) py=0x507A54 setvalue(so+py,4,16843522) string.toMusic('防止标记关闭成功') end, ""), CAline("wow区"), CAcheck({ { "2v2妹控加速", function()LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","0",4,"灵魂") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x220},"冻结","41,541.6015625",16,"X") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x224},"冻结","48,194.625",16,"Y") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x208,0x228},"冻结","13,186.00390625",16,"Z") gg.sleep(2000) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) gg.sleep(1000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE8},"冻结","167,772,680",4,"灵魂") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0xE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x220} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x224} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x208,0x228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) QA = gg.prompt({ "自改0.00几", "微加速", },cfg,{"text","text"}) if QA == nil then else if QA[1] == true then QA1() end if QA[2] == true then QA2() end LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结",QA[1],16,"xa变量") local t = {"libUE4.so:bss", "Cb"} local tt = {0x558CF0,0x30,0x4B8,0x1168}--微加速 local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = QA[2], freeze = true}}) end so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,-721215457) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","150",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x64},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x68},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0xE4},"冻结","999999",16,"流畅落地") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"冻结","34",16,"50") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function() Unfreeze()--解除所有冻结 so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "通用加速(复活装置上开)", function() so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-721215457) gg.sleep(1000) QA = gg.prompt({ "自改0.1不卡脚", },cfg,{"text"}) if QA == nil then else if QA[1] == true then QA1() end LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结",QA[1],16,"xa变量") end so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,-721215457) LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x20,0x400,0x774},"冻结","100",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"冻结","7",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x20,0x400,0x770},"冻结","1",16,"减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","150",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x64},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x68},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0xE4},"冻结","999999",16,"流畅落地") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function() Unfreeze()--解除所有冻结 so=gg.getRangesList('libUE4.so')[1].start py=0xCAC92C4 setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x6345808 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x1168},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x558CF0,0x30,0x4B8,0x2D08},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, }), }, { --2 CAtext("调用加速不用开初始化\n两个加速是一样的只不过调用位置不同", "#000000", "12sp", true), CAbutton("选择进程", function() gg.setProcessX() string.toMusic('选择进程') end, 0xff0062ff), --第三参数颜色 CAline("加速区"), CAswitch("防标记", function()so=gg.getRangesList('libgcloud.so')[1].start py=0x487128 setvalue(so+py,4,-698416192) py=0x506EB8 setvalue(so+py,4,-698416192) py=0x487CC4 setvalue(so+py,4,-698416192) py=0x507A54 setvalue(so+py,4,-698416192) string.toMusic('防止标记开启成功') end, function()so=gg.getRangesList('libgcloud.so')[1].start py=0x487128 setvalue(so+py,4,1033081774) py=0x506EB8 setvalue(so+py,4,1033081774) py=0x487CC4 setvalue(so+py,4,16843522) py=0x507A54 setvalue(so+py,4,16843522) string.toMusic('防止标记关闭成功') end, ""), CAswitch("logo防闪", function() local t = {"libanogs.so:bss", "Cb"} local tt = {0x5D8} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 4096}}) gg.toast("开启成功") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function() gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, ""), CAswitch("过移速(必开)", function() local items,count={},0 local liblist={ {"libUE4.so",{ {0x77D6240,-698416192,4}, {0x7AB9480,-698416192,4}, {0x7AB94A0,-1258290776,4}, {0x7AB94E8,-721215457,4}, {0x7AB950C,-721215457,4}, {0x7AB9544,-721215457,4} }}, {"libanogs.so",{ {0x98EA4,-698416192,4}, {0x98EA8,-721215457,4}, {0x98EAC,-721215457,4} }} } for i=1,#liblist do local r=gg.getRangesList(liblist[i][1])[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], freeze=true } end end end if count>0 then gg.setValues(items) gg.toast("开启成功") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end end, function() gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, ""), CAswitch("自改广角", function() 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=0x34266B8 setvalue(so+py,16,GJ[1]) gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end end, function() Unfreeze() gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, ""), CAswitch("初始化", function() LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x218},"冻结","150",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x64},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x68},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x18EC},"冻结","0.001",16,"秒趴") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0xE4},"冻结","999999",16,"流畅落地") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function() Unfreeze() end, "配合地铁加速用"), CAcheck({ { "七图调用加速", function() LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0xE8},"冻结","0",4,"灵魂") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x208,0x220},"冻结","136,497.953125",16,"X") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x208,0x224},"冻结","163,064.796875",16,"Y") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x208,0x228},"冻结","5,937.17626953125",16,"Z") gg.sleep(2000) so=gg.getRangesList('libUE4.so')[1].start py=0x9DA452C setvalue(so+py,4,-721215457) so=gg.getRangesList('libUE4.so')[1].start py=0x9DA452C setvalue(so+py,4,-721215457) gg.sleep(1000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0xE8},"冻结","167,772,680",4,"灵魂") local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0xE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x208,0x220} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x208,0x224} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x208,0x228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) QA = gg.prompt({ "自改0.00几", "微加速", },cfg,{"text","text"}) if QA == nil then else if QA[1] == true then QA1() end if QA[2] == true then QA2() end LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x364},"冻结",QA[1],16,"xa变量") local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x1110}--微加速 local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = QA[2], freeze = true}}) end so=gg.getRangesList('libUE4.so')[1].start py=0x59A0C48 setvalue(so+py,4,-721215457) LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x218},"冻结","150",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x64},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x68},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x18EC},"冻结","0.001",16,"秒趴") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0xE4},"冻结","999999",16,"流畅落地") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function()so=gg.getRangesList('libUE4.so')[1].start py=0x9DA452C setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x59A0C48 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x1110},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "五图调用加速", function() LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0xE8},"冻结","0",4,"灵魂") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x208,0x220},"冻结","122,961.1015625",16,"X") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x208,0x224},"冻结","203,550.09375",16,"Y") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x208,0x228},"冻结","3,543.267578125",16,"Z") gg.sleep(2000) so=gg.getRangesList('libUE4.so')[1].start py=0x9DA452C setvalue(so+py,4,-721215457) so=gg.getRangesList('libUE4.so')[1].start py=0x9DA452C setvalue(so+py,4,-721215457) gg.sleep(1000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0xE8},"冻结","167,772,680",4,"灵魂") local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0xE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x208,0x220} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x208,0x224} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x208,0x228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) QA = gg.prompt({ "自改0.00几", "微加速", },cfg,{"text","text"}) if QA == nil then else if QA[1] == true then QA1() end if QA[2] == true then QA2() end LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x364},"冻结",QA[1],16,"xa变量") local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x1110}--微加速 local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = QA[2], freeze = true}}) end so=gg.getRangesList('libUE4.so')[1].start py=0x59A0C48 setvalue(so+py,4,-721215457) LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x218},"冻结","150",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x64},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x68},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x18EC},"冻结","0.001",16,"秒趴") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0xE4},"冻结","999999",16,"流畅落地") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function()so=gg.getRangesList('libUE4.so')[1].start py=0x9DA452C setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x59A0C48 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x1110},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "无调用(搭配初始化)", function() QA = gg.prompt({ "自改0.00几", "微加速", },cfg,{"text","text"}) if QA == nil then else if QA[1] == true then QA1() end if QA[2] == true then QA2() end LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x364},"冻结",QA[1],16,"xa变量") local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x1110}--微加速 local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = QA[2], freeze = true}}) end so=gg.getRangesList('libUE4.so')[1].start py=0x59A0C48 setvalue(so+py,4,-721215457) gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function()so=gg.getRangesList('libUE4.so')[1].start py=0x9DA452C setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x59A0C48 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x1110},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "度假岛加速", function() LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0xE8},"冻结","0",4,"灵魂") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x208,0x220},"冻结","76,764.4296875",16,"X") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x208,0x224},"冻结","131,476.65625",16,"Y") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x208,0x228},"冻结","119.78674316406",16,"Z") gg.sleep(2000) so=gg.getRangesList('libUE4.so')[1].start py=0x9DA452C setvalue(so+py,4,-721215457) so=gg.getRangesList('libUE4.so')[1].start py=0x9DA452C setvalue(so+py,4,-721215457) gg.sleep(1000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0xE8},"冻结","167,772,680",4,"灵魂") local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0xE8} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 4, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x208,0x220} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x208,0x224} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x208,0x228} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, freeze = false}}) so=gg.getRangesList('libUE4.so')[1].start py=0x59A0C48 setvalue(so+py,4,-721215457) LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x364},"冻结","0.0060",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x1110},"冻结","6",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x20,0x400,0x75C},"冻结","90",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0xE4},"冻结","1",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x20,0x400,0x770},"冻结","0.0001",16,"减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x218},"冻结","150",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x64},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x68},"冻结","0.00001",16,"流畅趴下") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x18EC},"冻结","0.001",16,"秒趴") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0xE4},"冻结","999999",16,"流畅落地") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"冻结","34",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x28C},"冻结","999",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x21C},"冻结","4500",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x214},"冻结","5.5",16,"0.05") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function()so=gg.getRangesList('libUE4.so')[1].start py=0x9DA452C setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x59A0C48 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x1110},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "自改高跳", function()local a1 = gg.prompt ( { '高度自改' , '防摔自改' , } , { 4500 , 5.5 , false } , { 'number' , 'number' } ) if a1 then local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x518,0x21C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a1[1], freeze = true}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x518,0x214} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a1[2], freeze = true}}) end LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"冻结","34",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x28C},"冻结","999",16,"0.05") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function()LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast("关闭成功") gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, { "判断超级跳远", function() local a1 = gg.prompt ( { '高度自改' , '防摔自改' , '微加速自改' , } , { 15000 , 27 , 15 ,false } , { 'number' , 'number', 'number' } ) if a1 then local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x518,0x21C} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a1[1], freeze = true}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x518,0x214} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a1[2], freeze = true}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x1110} local ttt = S_Pointer(t, tt, true) gg.addListItems({{address = ttt, flags = 16, value = a1[3], freeze = true}}) end LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"冻结","34",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x20,0x400,0x758},"冻结","80",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x20,0x400,0x770},"冻结","0.0001",16,"减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0xE4},"修改","0.8",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x2B8},"冻结","0",4,"13680") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x448},"冻结","54148",4,"防卡脚") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x260},"冻结","0",16,"60000") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x2E4},"冻结","0",16,"7500") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x27C},"冻结","999999",16,"2048") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x610},"冻结","0",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x18EC},"冻结","0.00001",16,"秒趴") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0xE4},"冻结","999",16,"流畅落地") while true do--//循环 function zhi(a, b)--a是地址,b是类型,c是返回值 local c = gg.getValues({{address = a, flags = b}})[1].value return c end local t = {"libUE4.so:bss", "Cb"} local tt = {0x560270,0x30,0x4B8,0x1018}--加上判断链条 local ttt = S_Pointer(t, tt, true) r={} r[1] = {} r[1].address = ttt r[1].name = "判断" r[1].flags = 4 gg.addListItems(r) -- 获取地址值并返回 zvg = true while zvg do if zhi(ttt,4)==72 then LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"冻结","999999",16,"8192") --写当判断值等于这个时执行的东西 gg.sleep(2000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") end if zhi(ttt,4)==75 then LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"冻结","999999",16,"8192") --写当判断值等于这个时执行的东西 gg.sleep(2000) LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") end end end end, function() zvg = false while zvg do so=gg.getRangesList('libUE4.so')[1].start py=0x9DA452C setvalue(so+py,4,-117270918) so=gg.getRangesList('libUE4.so')[1].start py=0x59A0C48 setvalue(so+py,4,506149161) Unfreeze() LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"修改","8192",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x364},"冻结","0.1",16,"xa减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x27C},"修改","2048",16,"2048防拉") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x610},"修改","240",16,"240") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x28C},"修改","0.05",16,"0.05") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0xE4},"冻结","1",16,"慢动作") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x1110},"修改","1",16,"V加") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"修改","50",16,"50") Unfreeze()--解除所有冻结 gg.toast('已关闭') gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end end, }, { "超级大跳(1万5)", function()KK=gg.prompt({'变速自改 120帧默认 90帧1.2 60帧1.45'},{[1]='0.9'},{[1]='number'})---自改 if KK == nil or KK[1] == '' or KK[1] == '0' then gg.toast("取消") else LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x420},"修改",KK[1],16,"1") end LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x268},"冻结","4000",16,"8192") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x21C},"冻结","15000",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x214},"冻结","27",16,"防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x1110},"冻结","6",16,"v加速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"冻结","34",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x20,0x400,0x758},"冻结","80",16,"变速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x20,0x400,0x770},"冻结","0.0001",16,"减速") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0xE4},"修改","1",16,"慢动作") gg.playMusic("https://mpimg.cn/view.php/534c2fda54f3d856dceb070d7d21a789.mp3") end, function()LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x21C},"修改","443",16,"443") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x214},"修改","1",16,"1F防摔") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x2CC0},"修改","50",16,"50") LSQ_Chain({'libUE4.so:bss','Cb'},{0x560270,0x30,0x4B8,0x518,0x218},"冻结","45",16,"45") Unfreeze()--解除所有冻结 gg.playMusic("https://mpimg.cn/view.php/ba0ef0b8e3e688e4b3cb943b9676d0fe.mp3") end, }, }), }, { --4 CAswitch("退出", function() Lock.unUi() end, function() end), }, { --5 }, { --6 }, }) Lock.Ui(invoke, nil, function(err) print(err) end)