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 PS() 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 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 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 DTNB(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("搜索不到",false) return false end else gg.toast("搜索不到") return false 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 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 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 qmnb = { {["memory"] = 32}, {["name"] = "风云魔法子弹"}, {["value"] = 9.201618194580078, ["type"] = 16}, {["lv"] = 23.0, ["offset"] = 24, ["type"] = 16}, {["lv"] = 25.0, ["offset"] = 28, ["type"] = 16}, {["lv"] = 30.5, ["offset"] = 32, ["type"] = 16}, } qmxg = { {["value"] = 23, ["offset"] = 24, ["type"] = 16}, {["value"] = 180, ["offset"] = 28, ["type"] = 16}, {["value"] = 180, ["offset"] = 32, ["type"] = 16}, } xqmnb(qmnb) gg.getRangesList("libtersafe.so") gg.setValues({ [1] = { address = 172931491840, flags = 4, value = 131842 } }) gg.getRangesList("libtersafe.so") gg.setValues({ [1] = { address = 25465687971904, flags = 4, value = 131842 } }) gg.getRangesList("libtersafe.so") gg.setValues({ [1] = { address = 2843676720, flags = 4, value = 131842 } }) gg.getRangesList("libtersafe.so") gg.setValues({ [1] = { address = 172929541920, flags = 4, value = 131842 } }) gg.getRangesList("libtersafe.so") gg.setValues({ [1] = { address = 2843676956, flags = 4, value = 131842 } }) gg.clearList() --[1].地址:AA2E7B40 数值:0.10000000149011612 function yzy(Search, Write,Neicun,Mingcg,Shuzhiliang) gg.clearResults() gg.setRanges(Neicun) gg.setVisible(false) gg.searchNumber(Search[1][1], Search[1][3]) count = gg.getResultCount() result = gg.getResults(count) gg.clearResults() data = {} base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do tmp = {} offset = Search[k][2] - base 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.."条数据") t = {} 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 item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast(Mingcg.."已修改"..#t.."条数据") gg.sleep(400) else gg.toast(Mingcg.."开启失败", false) return false end else gg.toast("搜索失败") return false end end gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;23;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(2000) gg.editAll("160", gg.TYPE_FLOAT) gg.clearResults() gg.toast("风云KILL") gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("15;28;16;26;8;18", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(56) gg.editAll("-1339", gg.TYPE_FLOAT) gg.clearResults() gg.toast("风云KILL") 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 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 found"..#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.."success\n Altogether"..#t.."data") else gg.toast("\n"..Name.."failure") return false end else gg.toast("\n"..Name.."failure") return false end end Name = "" local Nc = 16392 local Lx = 4 local Sz1 = {{-1442840463, 0},{-286131696, -4},{-290186560, -8}} local Sz2 = {{0, -4}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "" local Nc = 16392 local Lx = 4 local Sz1 = {{-827323830, 0},{-286131696, 4},{-300938736, 8}} local Sz2 = {{0, 8}} HaoGe(Nc, Lx, Sz1, Sz2) gg.clearResults() gg.toast("开启成功") Name = "风云魔法子弹" local Nc = 16392 local Lx = 4 local Sz1 = {{-308340221, 0},{514853441, 8},{-300938736, 12}} local Sz2 = {{0, 12}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "风云魔法子弹" local Nc = 16392 local Lx = 4 local Sz1 = {{-827323830, 0},{-286131696, 4},{-300938736, 8}} local Sz2 = {{0, 8}} HaoGe(Nc, Lx, Sz1, Sz2) Name = "风云魔法子弹" local Nc = 16392 local Lx = 4 local Sz1 = {{1115750516, 0},{1036831949, -176}} local Sz2 = {{1114636288, -176}} HaoGe(Nc, Lx, Sz1, Sz2) 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.clearResults() gg.toast("真伤") gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("90775703430176;0;8;15;16;18;28", gg.TYPE_FLOAT) gg.searchNumber("28", gg.TYPE_FLOAT) gg.getResults(10) gg.editAll("100000",gg.TYPE_FLOAT) gg.editAll("100000",gg.TYPE_FLOAT) gg.toast("全身") gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("90000", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("90000", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("880000", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("10;45", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("10", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("600", gg.TYPE_FLOAT) gg.clearResults() gg.toast("#DONE") gg.toast("高频爆头") gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-298284466", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(15) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.toast("瞬击") readWrite({{false,-1359975840,0,4,nil,nil}},{{-1228926273201366,-12,32,false}},4,16384,"修") readWrite({{false,-1359975840,0,4,nil,nil}},{{-1228926273201366,-12,32,false}},4,16384,"防减伤") DTNB({{false,88000.0,0,16,nil,nil}},{{35000,0,16,false}},16,32,"械枪加伤") DTNB({{false,90000.0,0,16,nil,nil}},{{35000,0,16,false}},16,32,"枪械加伤") DTNB({{false,-1883348481058764210,0,32,nil,nil}},{{-1883348485055444540,0,32,false}},32,16384,"修复") DTNB({{false,88000.0,0,16,nil,nil}},{{35000,0,16,false}},16,32,"械枪加伤") DTNB({{false,90000.0,0,16,nil,nil}},{{35000,0,16,false}},16,32,"枪械加伤") DTNB({{false,88000.0,0,16,nil,nil}},{{35000,0,16,false}},16,32,"头部部位") DTNB({{false,90000.0,0,16,nil,nil}},{{35000,0,16,false}},16,32,"头部提升") gg.setRanges(131072) local dataType = 16 local search = {{26, 0},} local modify = {{-460, 0},} SearchWrite(search,modify,dataType,Name) gg.setRanges(131072) local dataType = 16 local search = {{28, 0},} local modify = {{-1200, 0},} SearchWrite(search,modify,dataType,Name) gg.setRanges(16384) local dataType = 4 local search = {{-298284466, 0},} local modify = {{0, 0},} SearchWrite(search,modify,dataType,Name) gg.setRanges(16384) local dataType = 32 local search = {{-1,883,348,481,058,764,210, 0},} local modify = {{-1,883,348,485,055,444,540, 0},} SearchWrite(search,modify,dataType,Name) gg.setRanges(32) local dataType = 4 local search = {{1092616192, 0},{1110966272, 4},} local modify = {{1176255488, 0},} SearchWrite(search,modify,dataType,Name) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1D4154, 0x48, 0xBC, 0xB8, 0xA8, 0xF4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 5000000}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1D4154, 0x58, 0x8, 0x50, 0xF4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 5000000}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1D416C, 0x24, 0xEC, 0x68, 0xA8, 0xF4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 5000000}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1D4154, 0x48, 0xBC, 0x68, 0xA8, 0xF4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 5000000}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1D4154, 0x48, 0xBC, 0x18, 0xA8, 0xF4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 5000000}})--16伤害 --only by hualuo local t = {"libUE4.so:bss", "Cb"} local tt = {0xACB54, 0x90} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 1634692266}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0xBFF44, 0xF0} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 1634692266}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0xD226C, 0x34} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 1634692266}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0xD57C4, 0x78} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 1634692266}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0xDB0E4, 0xA8} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 1634692266}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0xE2A88, 0x60} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 1634692266}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0xE7E4C, 0x1C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 1634692266}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0xE8134, 0x4C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 1634692266}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0xFE8C4, 0xBC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 1634692266}})--修伤 local t = {"libUE4.so:bss", "Cb"} local tt = {0x7C3B4, 0xF3C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 5000000}})--瞬击 local t = {"libUE4.so:bss", "Cb"} local tt = {0x7C3B4, 0xF40} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 5000000}})--瞬击 local t = {"libUE4.so", "Cd"} local tt = {0x5C0A68, 0x10C8, 0x1B3C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 5000000}})--瞬击 local t = {"libUE4.so", "Cd"} local tt = {0x5C0A68, 0x10C8, 0x1B40} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 5000000}})--瞬击 local t = {"libUE4.so", "Cd"} local tt = {0x5C0A68, 0x1098, 0x173C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 5000000}})--瞬击 local t = {"libUE4.so", "Cd"} local tt = {0x5C0A68, 0x1098, 0x1740} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 5000000}})--瞬击 local t = {"libUE4.so", "Cd"} local tt = {0x5C0A6C, 0x85DC, 0x173C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 5000000}})--瞬击 so=gg.getRangesList('libUE4.so')[1].start py=0X116E54C setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X2739E34--瞬击 gg.clearResults() py4=0X223D3FC--头部部位 py5=0X26F1A38--头部部位 py6=0X26F1A3C--头部部位 py7=0X2A48B3C--头部提升 py8=0X2A48B40--头部提升 py9=0X2A48BF0--头部提升 py10=0X2739E68 py11=0X2739E34--瞬杀 py12=0X2739E68--瞬杀 setvalue(so+py,16,-2.78596955e28) so=gg.getRangesList('libUE4.so')[1].start py=0X116E54C setvalue(so+py,16,-5.90757092e21) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("69.5;35;33", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(6) gg.editAll("160;140;230", gg.TYPE_FLOAT) gg.toast("无敌高伤") --[1].地址:AA2E7B40 数值:0.10000000149011612 gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("4746794008348459008", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(20) gg.editAll("4746794010547806208", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("90775703430176;0;8;15;16;18;28", gg.TYPE_FLOAT) gg.searchNumber("28", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("-5846769645006094336", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(20) gg.editAll("-5846769642811990016", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("1106509824", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("1128726528", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("15;28;16;26;8;18", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(56) gg.editAll("-1339", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-298284466", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(15) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.toast("888888") 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 PS() 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--静态 local t = {"libUE4.so:bss", "Cb"} local tt = {0x1D4153, 0x48, 0xBC, 0xB8, 0xA8, 0xF4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 5000000}}) so=gg.getRangesList('libUE4.so')[1].start py=0x63200324 setvalue(so+py,16,0) gg.toast("全枪瞬击『基址』") so=gg.getRangesList('libUE4.so')[1].start py=0x26BC7A0 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x2640680 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x27061CC setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x2706198 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x2739E68 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X194AC5C setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0X30278C8 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0X320DDE8 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0X326F680 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0X330FF18 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0X3B301FC setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0X19457C8 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X20843D0 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0XDB0AF8 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0XDB10B8 setvalue(so+py,16,100) so=gg.getRangesList('libUE4.so')[1].start py=0X26BC7AC setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X19457C8 setvalue(so+py,16,0)--除草 so=gg.getRangesList('libUE4.so')[1].start py=0X20843D0 setvalue(so+py,16,0)--除雾 so=gg.getRangesList('libUE4.so')[1].start py=0XDB0AF8 setvalue(so+py,16,0)--午后 so=gg.getRangesList('libUE4.so')[1].start py=0XDB10B8 setvalue(so+py,16,100)--据点 so=gg.getRangesList('libUE4.so')[1].start py=0X26BC7AC setvalue(so+py,16,0)--防抖 so=gg.getRangesList('libUE4.so')[1].start py=0X2739E34 setvalue(so+py,16,0)--顺🐔 so=gg.getRangesList('libUE4.so')[1].start py=0X2739E54 setvalue(so+py,16,0)--顺🐔 so=gg.getRangesList('libUE4.so')[1].start py=0X2739E54 setvalue(so+py,16,0)--防坠落 so=gg.getRangesList('libUE4.so')[1].start py=0x26BC7A0 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x2640680 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x27061CC setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x2706198 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0x2739E68 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X194AC5C setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0X30278C8 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0X320DDE8 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0X326F680 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0X330FF18 setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0X3B301FC setvalue(so+py,4,0) so=gg.getRangesList('libUE4.so')[1].start py=0X19457C8 setvalue(so+py,16,0)--除草 so=gg.getRangesList('libUE4.so')[1].start py=0X20843D0 setvalue(so+py,16,0)--除雾 so=gg.getRangesList('libUE4.so')[1].start py=0XDB0AF8 setvalue(so+py,16,0)--午后 so=gg.getRangesList('libUE4.so')[1].start py=0XDB10B8 setvalue(so+py,16,100)--据点 so=gg.getRangesList('libUE4.so')[1].start py=0X26BC7AC setvalue(so+py,16,0)--防抖 so=gg.getRangesList('libUE4.so')[1].start py=0X2739E54 setvalue(so+py,16,0)--防坠落 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹 ---风云魔法子弹