function readWrite(Search,Get,Type,Range,Name) gg["clearResults"]() gg["setRanges"](Range) gg["setVisible"](false) if Search[1][1]~=false then _G["gg"]["searchAddress"](Search[1][1],0xFFFFFFFF,Search[1][4] or Type,_G["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,_G["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 modify"..tg_.."data" 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"]("Not searchable",false) return false end else gg["toast"]("Not searchable") 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 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 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"] 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"] .. "Failed to open") 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"] .. "Failed to open") 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"] .. "Successfully opened,Altogether modify" .. xgsl .. "Article data") else gg.toast(qmnb[2]["name"] .. "No data found,Failed to open") 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("Successfully opened,Altogether modify"..#t.."Article data") gg.addListItems(t) else gg.toast("No data found,Failed to open", false) return false end else gg.toast("Not Found") return false end end function JueQing(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 PS() end function setvalue(address,flags,value) PS('PRIVATE FLASH BY ASUR乛AADI') 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 _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 SH(Search,Modification) gg.clearResults() gg.searchNumber(Search[1][1],Search[1][2],false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Name..'ASUR AADI') return end local Result=gg.getResults(gg.getResultCount()) local sum=0 for i=2,#Search do for index=1,#Result do if gg.getValues({{address=Result[index].address+Search[i][3],flags=Search[i][2]}})[1].value~=Search[i][1]then Result[index].Usable=true sum=sum+1 end end end if sum==#Result then gg.toast(Name..'ASUR AADI') return end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in pairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value[3],flags=value[2],value=value[1],freeze=true} sum=sum+1 if value[4]then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end end end end gg.setValues(Data) gg.addListItems(Freeze) if Freeze==0 then gg.toast(Name..'ASUR AADI,ASUR AADI'..sum..'ASUR AADI.') else gg.toast(Name..'ASUR AADI,ASUR AADI'..sum..'ASUR AADI'..Freezes..'ASUR AADI.') 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 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 Main() SN =gg.multiChoice({ "加速开", "加速关", "大厅", "极品范围1", "极品范围2", "特效", "修", "g3", "鸡汁喵萝", "放闪", "🈚️", "退出脚本" }, nil, "二美丽操你妈") if SN == nil then else if SN[1] == true then LH001() end if SN[2] == true then LH002() end if SN[3] == true then LH003() end if SN[4] == true then LH004() end if SN[5] == true then LH005() end if SN[6] == true then LH006() end if SN[7] == true then LH007() end if SN[8] == true then LH008() end if SN[9] == true then LH009() end if SN[10] == true then LH010() end if SN[11] == true then LH011() end if SN[12] == true then Exit() end end XGCK = -1 end function LH001() so=gg.getRangesList('libUE4.so')[1].start py1=0X267C928 py2=0X270878C py3=0X2D082A0 py4=0XCB8B40 py5=0X2C33484 py6=0X2C3349C py7=0X2C33528 py8=0XCAFF20 py9=0X1250170 py10=0X26FCA44 py11=0XCCFAC0 py12=0XCB8A54 py13=0x2738EA4 py14=0x267C928 setvalue(so+py1,16,35) setvalue(so+py2,16,0) setvalue(so+py3,16,0) setvalue(so+py4,16,-3.83692277e21) setvalue(so+py5,16,0) setvalue(so+py6,16,0) setvalue(so+py7,16,0) setvalue(so+py8,16,2.5) setvalue(so+py9,16,0) setvalue(so+py10,16,0.28) setvalue(so+py11,16,70) setvalue(so+py12,16,-9.9065426e27) setvalue(so+py13,16,99999) setvalue(so+py14,16,2)--动作 local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2D8, 0x1558} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 80}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x134} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.32}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x13C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.32}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1E16CC, 0x117C, 0x18, 0x3D4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = -9999}})--去除卡 local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x14F0} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x138} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 100}})--翻墙 local t = {"libUE4.so", "Cd"} local tt = {0x19744, 0x434} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0}}) local t = {"libUE4.so", "Cd"} local tt = {0x4776F0, 0x88C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x138} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 50}})--防拉 local t = {"libUE4.so", "Cd"} local tt = {0x5C2960, 0x78, 0x68, 0x3CC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = -9999}})--去除拉回 local t = {"libUE4.so:bss", "Cb"} local tt = {0x62678,0xA8,0x2DC,0x24} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 10000000}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x2494A0, 0xB4, 0xD90, 0x19F4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1.13}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x138} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 75}}) local t = {"libUE4.so", "Cd"} local tt = {0x5C2A20, 0x78, 0x68, 0x3C8} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1.4}}) local t = {"libUE4.so", "Cd"} local tt = {0x1EA3A8, 0x20, 0x320, 0x19F4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.13}}) so=gg.getRangesList('libUE4.so')[1].start py=0X26FCA34 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X26E8408 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X26F15D8 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X26F15EC setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X26F1700 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X26F1720 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X26F1840 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X26F1858 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X26F1888 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X26F1898 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X26F18C0 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X26F19B8 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X26F19E0 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X26F1A10 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X26F1B3C setvalue(so+py,16,0) end function LH002() so=gg.getRangesList('libUE4.so')[1].start py=0XCDF648 setvalue(so+py,16,-1.23824239e28) local t = {"libUE4.so:bss", "Cb"} local tt = {0x2494A0, 0xB4, 0xD90, 0x19F4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1}}) local t = {"libUE4.so", "Cd"} local tt = {0x5C2A20, 0x78, 0x68, 0x3C8} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x14F0} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1}}) so=gg.getRangesList('libUE4.so')[1].start py=0X270878C setvalue(so+py,16,-1.86389771e-20) so=gg.getRangesList('libUE4.so')[1].start py=0X270FD5C setvalue(so+py,16,-5.84304308e27) so=gg.getRangesList('libUE4.so')[1].start py=0X2728CA0 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X2C33484 setvalue(so+py,16,6.16304121e-33) so=gg.getRangesList('libUE4.so')[1].start py=0X2C3349C setvalue(so+py,16,2.64700415e-23) so=gg.getRangesList('libUE4.so')[1].start py=0X2C33524 setvalue(so+py,16,10.90734863281) so=gg.getRangesList('libUE4.so')[1].start py=0X2C33628 setvalue(so+py,16,-3.74440972e28) so=gg.getRangesList('libUE4.so')[1].start py=0X2D082A0 setvalue(so+py,16,-6.15262313e27) so=gg.getRangesList('libUE4.so')[1].start py=0X2D082A4 setvalue(so+py,16,-9.98393277e27) py=0XCB86D0 setvalue(so+py,16,-1.3697734e28) so=gg.getRangesList('libUE4.so')[1].start py=0XCB8A54 setvalue(so+py,16,-9.90656152e27) so=gg.getRangesList('libUE4.so')[1].start py=0XCB8AFC setvalue(so+py,16,-3.83692277e21) so=gg.getRangesList('libUE4.so')[1].start py=0XCB8B34 setvalue(so+py,16,-2.02910561e20) so=gg.getRangesList('libUE4.so')[1].start py=0X1250170 setvalue(so+py,16,1) so=gg.getRangesList('libUE4.so')[1].start py=0X12501F8 setvalue(so+py,16,1) so=gg.getRangesList('libUE4.so')[1].start py=0X26E20D8 setvalue(so+py,16,-3.86856262e25) so=gg.getRangesList('libUE4.so')[1].start py=0X26E20DC setvalue(so+py,16,-2.8323923e28) so=gg.getRangesList('libUE4.so')[1].start py=0X26F1700 setvalue(so+py,16,-3.74440972e28) so=gg.getRangesList('libUE4.so')[1].start py=0X26FCA34 setvalue(so+py,16,-6.15494476e27) so=gg.getRangesList('libUE4.so')[1].start py=0X26FCA38 setvalue(so+py,16,-2.53646207e30) so=gg.getRangesList('libUE4.so')[1].start py=0X26FCA44 setvalue(so+py,16,9.99999997e-7) so=gg.getRangesList('libUE4.so')[1].start py=0XCADA50 setvalue(so+py,16,-1.33640717e28) so=gg.getRangesList('libUE4.so')[1].start py=0XCADA60 setvalue(so+py,16,-3.74440972e28) so=gg.getRangesList('libUE4.so')[1].start py=0XCADC2C setvalue(so+py,16,-2.13605127e28) so=gg.getRangesList('libUE4.so')[1].start py=0XCADE2C setvalue(so+py,16,-3.74440972e28) so=gg.getRangesList('libUE4.so')[1].start py=0XCADE80 setvalue(so+py,16,-3.74440972e28) so=gg.getRangesList('libUE4.so')[1].start py=0XCAE20C setvalue(so+py,16,-9.90656152e27) so=gg.getRangesList('libUE4.so')[1].start py=0XCAE2A4 setvalue(so+py,16,-9.00722502e15) so=gg.getRangesList('libUE4.so')[1].start py=0XCAFF20 setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X267C928 setvalue(so+py,16,0) end function LH003() 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) OP=gg.prompt({'360到180'},{[1]='210'},{[1]='number'}) if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消") else so=gg.getRangesList('libUE4.so')[1].start py=0x26BF690 setvalue(so+py,16,OP[1]) end end function LH004() 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) Name = "范围修复" local Nc = 16392 local Lx = 4 local Sz1 = {{1115750516, 0},{1036831949, -176}} local Sz2 = {{1114636288, -176}} 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.toast("开启成功") qmnb = {{["memory"] = 32},{["name"] = "ʜᴇᴀᴅsʜᴏᴛ"},{["value"] = 4740038608910024704, ["type"] = 32}, {["lv"] = 4752423507886342144, ["offset"] = 4, ["type"] = 32}, {["lv"] = 1106509824, ["offset"] = 8, ["type"] = 32}, }qmxg = {{["value"] = 180, ["offset"] = 0, ["type"] = 16}, {["value"] = 150, ["offset"] = 4, ["type"] = 16}, {["value"] = 150, ["offset"] = 8, ["type"] = 16}, } xqmnb(qmnb) qmnb = {{["memory"] = 32},{["name"] = "二美丽"},{["value"] = 1119156320, ["type"] = 4},{["lv"] = 1105199104, ["offset"] = 12, ["type"] = 4},}qmxg = {{["value"] = 180, ["offset"] = 12, ["type"] = 16},}xqmnb(qmnb) qmnb = {{["memory"] = 32},{["name"] = "二美丽"},{["value"] = 1091779028, ["type"] = 4},{["lv"] = 1103626240, ["offset"] = 28, ["type"] = 4},{["lv"] = 1106509824, ["offset"] = 32, ["type"] = 4},}qmxg = {{["value"] = 180, ["offset"] = 28, ["type"] = 16},{["value"] = 150, ["offset"] = 32, ["type"] = 16},}xqmnb(qmnb) qmnb = {{["memory"] = 32},{["name"] = "二美丽"},{["value"] = 69.5, ["type"] = gg.TYPE_FLOAT},{["lv"] = 33, ["offset"] = -4, ["type"] = gg.TYPE_FLOAT},{["lv"] = 35, ["offset"] = -8, ["type"] = gg.TYPE_FLOAT},}qmxg = {{["value"] = 150, ["offset"] = 0, ["type"] = gg.TYPE_FLOAT},{["value"] = 260, ["offset"] = -4, ["type"] = gg.TYPE_FLOAT},}xqmnb(qmnb) qmnb = {{["memory"] = 32},{["name"] = "二美丽"},{["value"] = 9.20161819458, ["type"] = gg.TYPE_FLOAT},{["lv"] = 0, ["offset"] = 12, ["type"] = gg.TYPE_FLOAT},{["lv"] = 0, ["offset"] = 16, ["type"] = gg.TYPE_FLOAT},}qmxg = {{["value"] = 220, ["offset"] = 24, ["type"] = gg.TYPE_FLOAT,},{["value"] = 180, ["offset"] = 24, ["type"] = gg.TYPE_FLOAT,},{["value"] = 220, ["offset"] = 28, ["type"] = gg.TYPE_FLOAT},{["value"] = 180, ["offset"] = 32, ["type"] = gg.TYPE_FLOAT},}xqmnb(qmnb) qmnb = {{["memory"] = 32},{["name"] = "二美丽"},{["value"] = -88.66608428955, ["type"] = gg.TYPE_FLOAT},{["lv"] = 16, ["offset"] = 4, ["type"] = gg.TYPE_FLOAT},{["lv"] = 26, ["offset"] = 8, ["type"] = gg.TYPE_FLOAT},}qmxg = {{["value"] = -530, ["offset"] = 8, ["type"] = gg.TYPE_FLOAT},}xqmnb(qmnb) qmnb = {{["memory"] = 32},{["name"] = "二美丽"},{["value"] = 27.13222122192, ["type"] = 16},{["lv"] = 15, ["offset"] = 4, ["type"] = 16},{["lv"] = 5, ["offset"] = -4, ["type"] = 16},{["lv"] = 39, ["offset"] = 20, ["type"] = 16},{["lv"] = 27, ["offset"] = 116, ["type"] = 16},{["lv"] = 38, ["offset"] = 132, ["type"] = 16},}qmxg = {{["value"] = -640, ["offset"] = 4, ["type"] = 4},{["value"] = -640, ["offset"] = 116, ["type"] = 4},}xqmnb(qmnb) qmnb = {{["memory"] = 32},{["name"] = "二美丽"},{["value"] = 3266401545, ["type"] = 4},{["lv"] = 1104150528, ["offset"] = 8, ["type"] = 4},{["lv"] = 1104180528, ["offset"] = 392, ["type"] = 4},}qmxg = {{["value"] = 180, ["offset"] = 8, ["type"] = 16},{["value"] = 180, ["offset"] = 392, ["type"] = 16},}xqmnb(qmnb) end function LH005() 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('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end local gurenya=gg.setValues--静态 ----------------------------------------------------------------------------------- local t = {"libUE4.so:bss", "Cb"} local tt = {0x1E5C2C,0x0,0x20,0x32C,0x380,0xC} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 80}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1E5C2C,0x0,0x20,0x32C,0x380,0x44} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 80}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1E5C2C,0x0,0x20,0x32C,0x380,0x7C} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 80}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1E5C2C,0x0,0x20,0x32C,0x380,0xB4} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 16, value = 80}}) so=gg.getRangesList('libUE4.so')[1].start py=0X116E54C setvalue(so+py,16,0) qmnb = {{["memory"] = 32},{["name"] = "1"},{["value"] = 4787326405013667840, ["type"] = 32},{["lv"] = 4776067405941047296, ["offset"] = 4, ["type"] = 32},{["lv"] = 4611686019539402752, ["offset"] = 8, ["type"] = 32},}qmxg = {{["value"] = 70, ["offset"] = 0, ["type"] = 16},}xqmnb(qmnb) Name = "1" local Nc = 32 local Lx = 16 local Sz1 = {{10.0, 0},{46.0, 4}} local Sz2 = {{1000, 0}} HaoGe(Nc, Lx, Sz1, Sz2) so=gg.getRangesList('libUE4.so')[1].start py=0X116E52C setvalue(so+py,16,0) so=gg.getRangesList('libUE4.so')[1].start py=0X116E570 setvalue(so+py,16,0) gg.clearResults() gg.setRanges(16384) gg.searchNumber("-5.92766612e27;-1.1250887e28;-1.23939076e21;-1.38573889e28;-1.41765489e28F;-5.77292302e27;-5.69796962e27", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("0", gg.TYPE_FLOAT) gg.clearResults() gg.clearResults() gg.setRanges(16384) gg.searchNumber("-298,370,492", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(16384) gg.searchNumber("-298,370,492", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(16384) gg.searchNumber("-294,581,562;-298,706,367:193", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("-294,581,562;-298,706,367:193", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("0", gg.TYPE_DWORD) gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-5.77534087e27;-5.77775931e27;-5.78017776e27;-5.70522317e27::512", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(500) gg.editAll("0", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("10.0F;10.0F;10.0F;10.0F;45:193", 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("-105", gg.TYPE_FLOAT) gg.toast("开启成功") 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.toast("害") 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.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.processResume() gg.getResults(2000) gg.editAll("180", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(2000) gg.editAll("140", gg.TYPE_FLOAT) 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("林") gg.setRanges(gg.REGION_ANONYMOUS) gg.getResults(1) gg.searchNumber("10;45", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(0) gg.getResults(1) gg.searchNumber("10", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(0) gg.getResults(100) gg.editAll("9999", gg.TYPE_FLOAT) gg.toast("高") gg.setRanges(gg.REGION_C_DATA | gg.REGION_CODE_APP) gg.searchNumber("0.10000000149;64.50088500977", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("0.10000000149", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(50) gg.editAll("8", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_BAD) gg.searchNumber("-88.66608428955;26:512", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("151.5", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_BAD) gg.searchNumber("-88.66608428955;26:512", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("26", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(2) gg.editAll("-460", gg.TYPE_FLOAT) gg.clearResults() gg.searchNumber("-88.73961639404;28:512", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) -- qs gg.getResults(2) gg.editAll("-560", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("9.20161819458;23;25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1) gg.editAll("66", gg.TYPE_FLOAT) gg.searchNumber("30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1) gg.editAll("66", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_C_BSS) gg.searchNumber("2048D;1F", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("1", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("0.07", gg.TYPE_FLOAT) gg.clearResults() 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("打头") end function LH006() 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"] = 25.0, ["type"] = 16}, {["lv"] = 30.5, ["offset"] = 4, ["type"] = 16}, } qmxg = { {["value"] = 200.0, ["offset"] = 4, ["type"] = 16}, } xqmnb(qmnb) 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"] = "1"}, {["value"] = 4719772412750681353, ["type"] = 32}, {["lv"] = 4742290408720039936, ["offset"] = 4, ["type"] = 32}, } qmxg = { {["value"] = -460, ["offset"] = 8, ["type"] = 16}, } xqmnb(qmnb) qmnb = { {["memory"] = 32}, {["name"] = "2"}, {["value"] = -4417614866316724128, ["type"] = 32}, {["lv"] = 4724276012378061487, ["offset"] = 4, ["type"] = 32}, } qmxg = { {["value"] = -560, ["offset"] = 12, ["type"] = 16}, } xqmnb(qmnb) qmnb = { {["memory"] = 32}, {["name"] = "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"] = "头部100%"}, {["value"] = 4740038608910024704, ["type"] = 32}, {["lv"] = 4752423507886342144, ["offset"] = 4, ["type"] = 32}, {["lv"] = 1106509824, ["offset"] = 8, ["type"] = 32}, }qmxg = {{["value"] = 150, ["offset"] = 0, ["type"] = 16}, {["value"] = 150, ["offset"] = 4, ["type"] = 16}, {["value"] = 150, ["offset"] = 8, ["type"] = 16}, } xqmnb(qmnb) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("9.201618;30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("500", gg.TYPE_FLOAT) gg.clearResults() gg.toast("90%") gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("888", gg.TYPE_FLOAT) gg.toast("𝐇𝐄𝐀𝐃𝐒𝐇𝐎𝐓") end function LH007() 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 print([[Telegram:-Zxbyyds]]) 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 Fxs({{false,-1359975840,0,4,nil,nil}},{{-1228926273201366,-12,32,false}},4,16384,"射速") gg.clearResults() gg.setRanges(16384) gg.searchNumber("-298284466", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("-298284466", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100) sl=gg.getResultCount() if sl>100 then sl=100 end for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 0}}) end gg.toast("修正") gg.clearResults() gg.setRanges(32) gg.searchNumber("25;23;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(2000) gg.editAll("140", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(32) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.processResume() gg.getResults(2000) gg.editAll("120", gg.TYPE_FLOAT) gg.setRanges(32) gg.searchNumber("30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(2000) gg.editAll("160", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(32) 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(32) 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(32) 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(32) 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(8 | 16384) gg.searchNumber("-298284466;-1.304566e23F", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("-298284466", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(99) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(8 | 16384) gg.searchNumber("-298284466;-1.304566e23F", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("-298284466", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(99) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.toast("伤害") gg.clearResults() gg.setVisible(false) gg.setRanges(8 | 16384) gg.searchNumber("-298284466;-1.304566e23F", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("-298284466", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(99) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(8 | 16384) gg.searchNumber("0.9986295104", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("0.9986295104", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(99) gg.editAll("1224995", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1281263094875551231", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("-1281263094875551231", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineAddress("7B0", -1, gg.TYPE_QWORD, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("-1281263094875551231", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.clearResults() gg.getResults(1401) gg.editAll("-1281263098870628352", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,883,348,481,058,764,210", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("-1,883,348,481,058,764,210", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.clearResults() gg.getResults(100) gg.editAll("-1,883,348,485,055,444,540", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(16384) gg.searchNumber("h4E8A38EEE000DDE5",gg.TYPE_BYTE,false,gg.SIGN_EQUAL,0,-1,0) gg.refineNumber("h4E8A38EE",gg.TYPE_BYTE,false,gg.SIGN_EQUAL,0,-1,0) gg.clearResults() gg.getResults(7243) gg.editAll("78;-118;56;0",gg.TYPE_BYTE) gg.clearResults() gg.setRanges(32) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(999) gg.editAll("371;365", gg.TYPE_FLOAT) gg.clearResults() end function LH008() -- by二美丽 -- Lua help: http://gameguardian.net/help/ -- options local scriptName = [=====[by冰冷]=====] local scriptVersion = '1.0.0' local scriptAuthor = 'User' local startToast = '' -- 0 - no check; 1 - check package only, 2 - check package and build local checkTarget = 0 local targetName = [=====[BETA PUBG MOBILE LITE]=====] local targetPkg = 'com.tencent.iglitece' local targetVersion = [=====[0.24.0]=====] local targetBuild = 16109 -- functions -- init gg.require('83.0', 13931) if startToast ~= '' then startToast = '\n'..startToast end gg.toast(scriptName..' v'..scriptVersion..' by '..scriptAuthor..startToast) if checkTarget ~= 0 then local info = gg.getTargetInfo() local check = false local current = false if checkTarget >= 1 then check = targetPkg current = info.packageName end if checkTarget >= 2 then check = check..' '..targetVersion..' ('..targetBuild..')' current = current..' '..info.versionName..' ('..info.versionCode..')' end if check ~= current then gg.alert('This script for "'..targetName..'" ['..check..'].\nYou select "'..info.label..'" ['..current..'].\nNow script exit.') os.exit() end end local revert = nil -- main code gg.setRanges(gg.REGION_ANONYMOUS) gg.clearResults() gg.searchNumber("10101000", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.processResume() revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("1103007010", gg.TYPE_DWORD) end function LH009() local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x508, 0x1C, 0x28} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 114514514}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x508, 0x1C, 0x2C}--降落伞加速x2 local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 114514514}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x18, 0xB60, 0xD8} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 191918}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x18, 0xB60, 0xDC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 191918}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x18, 0xB60, 0xE0} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 191918}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x18, 0xB60, 0xE4}--下落 local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 191918}}) end function LH010() so = gg.getRangesList("libanogs.so")[1].start setvalue(so + "0x30618", 32,"h 00 00 B0 E3 1E FF 2F E1") setvalue(so + "0x3061C", 32,"h 00 00 B0 E3 1E FF 2F E1") gg.alert("Crash fix done 0.26.9999") end function Exit() print("二美丽") os.exit() end cs = "二美丽" while true do if gg.isVisible(true) then XGCK = 1 gg.setVisible(false) end gg.clearResults() if XGCK == 1 then Main() end end --[[Welcome to Dluae]]