a = [[天哥内置交流群群:818708950]] b = gg.alert(a,"确定") if b == 1 then gg.copyText("818708950") gg.toast("群号已复制至粘贴板上!") end local bx=os.date("%Y%m%d%H%M%S") print(bx) draw.text('作者天哥 适用逃跑版本7723、233', 200,100) draw.setColor('#FF3F72FF') draw.setColor('#FF3F72FF') draw.text(os.date'当前时间:%Y年/️%m月/%d日%H:%M:%S',200,200) draw.setSize(25) draw.text('X M', 170,300) draw.setColor('#FF3F72FF') draw.text('科技', 200,350) draw.setColor('#FF3F72FF') draw.circle(225, 300, 100) draw.circle(225, 300, 130) gg.playVideo("https://txmov2.a.kwimgs.com/upic/2023/07/27/08/BMjAyMzA3MjcwODIyMDVfMTM4MDQyNjg4Ml8xMDg5NzM5NTY1MjdfMF8z_b_Bbb7513733b86d414a24e9064ae07f1d5.mp4?tag=1-1690581601-std-1-bafmr1zyhn-b98137a068be7d1c&clientCacheKey=3x7mn75cjzasp62_b.mp4&tt=b&di=2b8e8c09&bp=12681&ali_redirect_ex_hot=66666800&ali_redirect_ex_beacon=1") function Pilhz(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 "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end local gg = gg function Get_value() local result = {} local Table = {} while true do local get = gg.getResults(100000) result[#result + 1] = get gg.removeResults(get) if not get or #get == 0 then break end end for k = 1, #result do for k, v in pairs(result[k]) do Table[#Table + 1] = v end end return Table end function LSQ_pointer(search, write) if search[5] or search[6] then local region_start = search[5] local region_end = search[6] else local region_start = 0 local region_end = -1 end gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2], false, gg.SIGN_EQUAL, region_start, region_end) gg.refineNumber(search[1][1], search[1][2], false, gg.SIGN_EQUAL, region_start, region_end) if gg.getResultsCount() == 0 then gg.toast("没有搜索到指针数据") return false else local result = Get_value() gg.clearResults() for i = 2, #search do local offset_array = {} for k, v in ipairs(result) do offset_array[#offset_array + 1] = { ["address"] = v["address"] + search[i][2], ["flags"] = search[i][3] } end offset_array = gg.getValues(offset_array) local verify_array = {} for k, v in ipairs(offset_array) do if v["value"] == search[i][1] then verify_array[#verify_array + 1] = result[k] end end result = verify_array end if #result > 0 then local Table = { {}, {} } for k, v in ipairs(result) do for kk, vv in ipairs(write) do local Modifythe_array = { ["address"] = v["address"] + vv[2], ["flags"] = vv[3], ["value"] = vv[1], ["freeze"] = vv[4] } if vv[4] then Table[2][#Table[2] + 1] = Modifythe_array else Table[1][#Table[1] + 1] = Modifythe_array end end end gg.addListItems(Table[2]) gg.setValues(Table[1]) gg.toast("功能: [" .. search[1][4] .. "]开启成功共修改" .. (#Table[1] + #Table[2]) .. "条数据") else gg.toast("未找到偏移数据") end end end function readWrite(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 "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end function fastsearch(search, write) local g=os.clock() gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("宝~ 是不是修改成功了呢 目前没有值可修改哦~") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("修改成功, 共修改" .. (#tb[1] + #tb[2]) .. "条结果\n用时:"..os.clock()-g.."秒") else gg.toast("宝~ 是不是修改成功了呢 目前没有值可修改哦~") end 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"] .. "\n修改成功\n共修改" .. xgsl .. "\n个值") 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"] 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 gotoPointer(addr) return gg.getValues({{address=addr, flags=4}})[1].value & 0xFFFFFFFF end a = function(Address, length, useChineseLoad) local jump = 0 local chars, char = {}, { address = Address, flags = gg.TYPE_BYTE } if not length then repeat local _nextchar, _2nextchar _char = gg.getValues({char})[1].value if (useChineseLoad) then if (_char > -28 and _char < -23) then _nextchar = gg.getValues({{address = char.address + 0x1, flags=gg.TYPE_BYTE}})[1].value if (_nextchar > -128 and _nextchar < -65) then _2nextchar = gg.getValues({{address = char.address + 0x2, flags=gg.TYPE_BYTE}})[1].value jump = 3 chars[#chars + 1] = string.char(_char & 0xFF, _nextchar & 0xFF, _2nextchar & 0xFF) end end end if (jump > 0) then jump = jump - 1 goto continue end chars[#chars + 1] = string.char(_char & 0xFF) ::continue:: char.address = char.address + 0x1 until _char == 0 return table.concat(chars, "", 1, #chars - 1), char.address else for i = 1, length do local _nextchar, _2nextchar local _char = gg.getValues({char})[1].value if (useChineseLoad) then if (_char > -28 and _char < -23) then _nextchar = gg.getValues({address = char.address + 0x1, flags=gg.TYPE_BYTE}) if (_nextchar > -128 and _nextchar < -65) then _2nextchar = gg.getValues({address = char.address + 0x2, flags=gg.TYPE_BYTE}) jump = 3 chars[i] = utf8.char(_char & 0xFF, _nextchar & 0xFF, _2nextchar & 0xFF) end end end if (jump > 0) then jump = jump - 1 goto continue end chars[i] = utf8.char(_char & 0xFF) ::continue:: char.address = char.address + 0x1 end return table.concat(chars), char.address end end function classSearch(className, offset) gg.clearResults() gg.setRanges(gg.REGION_OTHER | gg.REGION_C_ALLOC) gg.searchNumber("Q 00 '" .. className .. "' 00", gg.TYPE_BYTE) if (gg.getResultsCount() == 0) then gg.toast('开启失败') end gg.searchPointer(0) gg.setRanges(32) local object = {} for k, v in pairs(gg.getResults(gg.getResultsCount())) do if (a(gotoPointer(gotoPointer(v.address - 8))):match(string.char(46, 100, 108, 108))) then v.address = v.address - 8 object[1] = v gg.loadResults(object) break end end gg.searchPointer(0) gg.searchPointer(0) local item = gg.getResults(gg.getResultsCount()) for k, v in pairs(item) do v.address = gotoPointer(v.address) + offset end return item end function editerObject(valObject, editerVal) for k, v in pairs(valObject) do v.value = editerVal[1] v.flags = editerVal[2] v.freeze = editerVal[3] end gg.setValues(valObject) gg.toast('开启成功,共修改: ' .. gg.getResultsCount() .. '个结果') gg.clearResults() end local function Mswrite(search) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then return gg.alert2("信息:","初始化失败,没有搜索到数据") else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2,#search do local mtp = {} for w,r in ipairs(result) do mtp[#mtp+1] = {address = r.address + search[i][2], flags = search[i][3]} end mtp = gg.getValues(mtp) local hook = {} for w,r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end for i = 1, #result do result[i] = result[i].address end return result 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(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 end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A 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 gg.edits = function(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 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 BaseAddressQ(address, value) so = gg.getRangesList('libil2cpp.so')[1].start local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030820' gg.setValues(tt) end function BaseAddressA(address, value) so = gg.getRangesList('libil2cpp.so')[1].start local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030840' gg.setValues(tt) end function BaseAddressND(address, value) so = gg.getRangesList('libil2cpp.so')[1].start local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '-494030832' gg.setValues(tt) 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 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 end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function Mengming(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 "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("开启失败") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("修改成功, 共修改" .. (#tb[1] + #tb[2]) .. "条结果") else gg.toast("开启失败") end end 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 fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("开启失败") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("修改成功, 共修改" .. (#tb[1] + #tb[2]) .. "条结果") else gg.toast("开启失败") end end 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 local libtersafe2 = 0 for k, v in pairs(gg.getRangesList('libunity.so$')) do if (v.state == 'Cd') then libtersafe2 = v['start'] break end end function setvalue(address, value, flags) gg.setValues({{address = address, flags = flags, value = value}}) end function BaseAddressWea(address, value) so = gg.getRangesList('libil2cpp.so')[1].start local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 16 tt[1].value = value gg.setValues(tt) gg.toast("开启成功") end function BaseAddressD(address, value) so = gg.getRangesList('libil2cpp.so')[1].start local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = '~A BX LR' gg.setValues(tt) end function BaseAddressY(address, value) so = gg.getRangesList('libil2cpp.so')[1].start local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value gg.setValues(tt) gg.toast("开启成功") 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 gotoPointer(addr) return gg.getValues({{address=addr, flags=4}})[1].value & 0xFFFFFFFF end a = function(Address, length, useChineseLoad) local jump = 0 local chars, char = {}, { address = Address, flags = gg.TYPE_BYTE } if not length then repeat local _nextchar, _2nextchar _char = gg.getValues({char})[1].value if (useChineseLoad) then if (_char > -28 and _char < -23) then _nextchar = gg.getValues({{address = char.address + 0x1, flags=gg.TYPE_BYTE}})[1].value if (_nextchar > -128 and _nextchar < -65) then _2nextchar = gg.getValues({{address = char.address + 0x2, flags=gg.TYPE_BYTE}})[1].value jump = 3 chars[#chars + 1] = string.char(_char & 0xFF, _nextchar & 0xFF, _2nextchar & 0xFF) end end end if (jump > 0) then jump = jump - 1 goto continue end chars[#chars + 1] = string.char(_char & 0xFF) ::continue:: char.address = char.address + 0x1 until _char == 0 return table.concat(chars, "", 1, #chars - 1), char.address else for i = 1, length do local _nextchar, _2nextchar local _char = gg.getValues({char})[1].value if (useChineseLoad) then if (_char > -28 and _char < -23) then _nextchar = gg.getValues({address = char.address + 0x1, flags=gg.TYPE_BYTE}) if (_nextchar > -128 and _nextchar < -65) then _2nextchar = gg.getValues({address = char.address + 0x2, flags=gg.TYPE_BYTE}) jump = 3 chars[i] = utf8.char(_char & 0xFF, _nextchar & 0xFF, _2nextchar & 0xFF) end end end if (jump > 0) then jump = jump - 1 goto continue end chars[i] = utf8.char(_char & 0xFF) ::continue:: char.address = char.address + 0x1 end return table.concat(chars), char.address end end function classSearch(className, offset) gg.clearResults() gg.setRanges(gg.REGION_OTHER | gg.REGION_C_ALLOC) gg.searchNumber("Q 00 '" .. className .. "' 00", gg.TYPE_BYTE) if (gg.getResultsCount() == 0) then print('没有发现类\n请确认是否初始化') end gg.searchPointer(0) gg.setRanges(32) local object = {} for k, v in pairs(gg.getResults(gg.getResultsCount())) do if (a(gotoPointer(gotoPointer(v.address - 8))):match(string.char(46, 100, 108, 108))) then v.address = v.address - 8 object[1] = v gg.loadResults(object) break end end gg.searchPointer(0) gg.searchPointer(0) local item = gg.getResults(gg.getResultsCount()) for k, v in pairs(item) do v.address = gotoPointer(v.address) + offset end return item end function editerObject(valObject, editerVal) for k, v in pairs(valObject) do v.value = editerVal[1] v.flags = editerVal[2] v.freeze = editerVal[3] end gg.setValues(valObject) gg.toast('开启成功\n共修改: ' .. gg.getResultsCount() .. '个结果') gg.clearResults() 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 DWORD=gg.TYPE_DWORD DOUBLE=gg.TYPE_DOUBLE FLOAT=gg.TYPE_FLOAT WORD=gg.TYPE_WORD BYTE=gg.TYPE_BYTE XOR=gg.TYPE_XOR QWORD=gg.TYPE_QWORD 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 D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function nc_offset(addr,tablex,tt) for i,v in ipairs(tablex) do if v[4]==true then gg.addListItems({{address=addr+v[3],flags=v[2],value=v[1],freeze=v[4]}})else gg.setValues({{address=addr+v[3],flags=v[2],value=v[1]}}) end end string.toMusic((tt or "").."开启成功") end function getso(So_name) return gg.getRangesList(So_name)[1].start 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 end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A 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(tb1, tb2, dataType, Name) local lt1={} local lt2={} local mm1={["主特征码"] = tb1[1][1],["类型"] = dataType } table.insert(lt1,1,mm1) for i=2 , #tb1 do local mm2={["副特征码"] = tb1[i][1],["偏移"] = tb1[i][2]} table.insert(lt1,i,mm2) end for i=1 , #tb2 do if tb2[i][2]~=nil then local mm3={["修改"] = tb2[i][1],["偏移"] = tb2[i][2]} table.insert(lt2,i,mm3) else local mm3={["修改"] = false,["偏移"] = tb2[i][1]} table.insert(lt2,i,mm3) end end LongTao(lt1, lt2 ) end function LongTao(Search, Write) gg.clearResults() gg.setVisible(false) lx=Search[1]["类型"] gg.searchNumber(Search[1]["主特征码"], lx) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} if (count > 0) then gg.toast("共搜索 "..count.." 条数据") for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local num = Search[k]["副特征码"] if Search[k]["类型"]~= nil then lx =Search[k]["类型"] else lx = Search[1]["类型"] end for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + Search[k]["偏移"] tmp[#tmp].flags = lx 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 = {} for i=1, #data do for k, w in ipairs(Write) do if w["类型"] ~= nil then lx = w["类型"] else lx = Search[1]["类型"] end t[#t+1] = {} t[#t].address = data[i] + w["偏移"] t[#t].flags = lx if (w["修改"]~=nil) and (w["修改"]~=false) then t[#t].value = w["修改"] gg.setValues(t) if (w["冻结"] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = w["冻结"] gg.addListItems(item) end end end end gg.loadResults(t) gg.toast("共偏移η"..#t.." 条数据ΔΘ") else gg.toast("未定位到数据!") return false end else gg.toast("未定位到数据!") return false end end local app = {} function Assert(data) if data == nil or data == "" or data == "nil" then return false else return true end end function mearrass(memory, array) if Assert(memory) and Assert(array) then return true else return false end end function typetab(array, type) local datatype = {} for i = 1, #array do if Assert(array[i].type) then table.insert(datatype, i, array[i].type) else if Assert(type) then table.insert(datatype, i, type) else return false end end end return true, datatype end function app.memorysearch(memory, array, type) gg.setVisible(false) local isok = mearrass(memory, array) if isok then local isok, datatype = typetab(array, type) if isok then if Assert(array[1].hv) then gg.clearResults() gg.setRanges(memory) gg.searchNumber(array[1].lv .. "~" .. array[1].hv, datatype[1]) else gg.clearResults() gg.setRanges(memory) gg.searchNumber(array[1].lv, datatype[1]) end if gg.getResultCount() == 0 then return false else local tab = {} local data = gg.getResults(gg.getResultCount()) gg.clearResults() for i = 1, #data do data[i].isok = true end for i = 2, #array do local t = {} local offset = array[i].offset for x = 1, #data do t[#t + 1] = {} t[#t].address = data[x].address + offset t[#t].flags = datatype[i] end local t = gg.getValues(t) for z = 1, #t do if Assert(array[i].hv) then if tonumber(t[z].value) < tonumber(array[i].lv) or tonumber(t[z].value) > tonumber(array[i].hv) then data[z].isok = false end else if tostring(t[z].value) ~= tostring(array[i].lv) then data[z].isok = false end end end end for i = 1, #data do if data[i].isok then tab[#tab + 1] = data[i].address end end if #tab > 0 then return true, tab else return false end end else print("type参数错误") gg.toast("type参数错误") os.exit() end else print("memory or array参数错误") gg.toast("memory or array参数错误") os.exit() end end function app.memoryread(addr, type) local t = {} t[1] = {} t[1].address = addr t[1].flags = type if #t > 0 then return true, gg.getValues(t)[1].value else return false end end function app.memorywrite(addr, type, value, freeze) local t = {} t[1] = {} t[1].address = addr t[1].flags = type t[1].value = value if #t > 0 then if Assert(freeze) then t[1].freeze = freeze return gg.addListItems(t) else return gg.setValues(t) end else return false 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 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 lde,mnsj={},{Dj="0.01",dv={},lz="/sdcard/.zbb",r={}} lde.gre,lde.sbr,lde.srg,lde.crs=gg.getResults,gg.searchNumber,gg.setRanges,gg.clearResults function lde.qb()table.remove(bc,#bc)table.remove(bc,#bc)end function bv(a,b) if not b then b=","end if not tostring(a):find(b)then return{a}end local tab={}local i=0 while true do j=string.find(a,b,i+1) if not j then table.insert(tab,a:sub(i+1,#a)) break end table.insert(tab,a:sub(i+1,j-1)) i=j end return tab end function so(a,b,c) local csn=gg.getRanges() gg.setVisible(false) lde.srg(a[3]) lde.crs() lde.sbr(a[2],a[4]) local js=gg.getResultCount() local count=lde.gre(js) lde.crs() if #count~=0 then local lode,lope,lobe={},{},{} for p=1,#b do lode[p]={} for i=1,#count do lode[p][i]={} lode[p][i].address=count[i].address+b[p][2] if not b[p][3]then b[p][3]=a[4]end lode[p][i].flags=b[p][3]end lode[p]=gg.getValues(lode[p]) db=bv(b[p][1],"~") if not db[2]then db[2]=db[1]end for i=1,#lode[p] do if tonumber(lode[p][i].value)>=tonumber(db[1]) and tonumber(lode[p][i].value)<=tonumber(db[2]) then lope[#lope+1]={} lope[#lope]=count[i] end end if #lope==0 then lde.srg(csn)if p>11 then p=11 end return "开启失败" end count=lope lope={}end for i=1,#c do for n=1,#count do lope[#lope+1]={} lope[#lope].address=count[n].address+c[i][2] if not c[i][3]then c[i][3]=a[4]end lope[#lope].flags=c[i][3] if c[i][1] then lope[#lope].value=c[i][1] else lope[#lope].value=gg.getValues(lope)[#lope].value end if c[i][4] then lobe[#lobe+1]={} lobe[#lobe]=lope[#lope] table.remove(lope,#lope) end if c[i][4]==1 then lobe[#lobe].freeze=true elseif c[i][4]==2 then lobe[#lobe].freeze=false end if c[i][5] then lobe[#lobe].name=c[i][5] end end end gg.setValues(lope) gg.addListItems(lobe) lde.srg(csn) return a[1].."开启成功" else lde.srg(csn) return a[1].."开启失败!!!" end end function Mswrite(read,write) gg.clearResults() gg.setRanges(read["内存"]) gg.setVisible(false) gg.searchNumber(read["主特征码"],read["类型"]) if gg.getResultCount()>0 then local Result=gg.getResults(gg.getResultCount()) gg.clearResults() for i=1,#read do local t={} for e,v in ipairs(Result) do t[#t+1]={address=v.address+read[i]["偏移"],flags=read[i]["类型"]} end t=gg.getValues(t) for _a,x in ipairs(t) do if x.value~=read[i]["值"] then Result[_a]=nil end end local MS={} for i,v in pairs(Result) do MS[#MS+1]=Result[i] end Result=MS end if(#Result>0)then local data={{},{}} for i,v in ipairs(Result) do for a,x in ipairs(write) do if x["冻结"]==true then data[2][#data[2]+1]={address=v.address+x["偏移"],flags=x["类型"],value=x["值"],freeze=true} else data[1][#data[1]+1]={address=v.address+x["偏移"],flags=x["类型"],value=x["值"]} end end end gg.setValues(data[1]) gg.addListItems(data[2]) gg.toast((read["功能名称"] or read["名称"] or read["name"] or "").."开启成功,共搜索"..#Result.."条地址已修改"..(#data[1]+#data[2]).."条数据") else gg.toast((read["功能名称"] or read["名称"] or read["name"] or "").."修改失败") end else gg.toast((read["功能名称"] or read["名称"] or read["name"] or "").."开启失败,未搜索到数据") end 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 search(ss,lx,nc,dz1,dz2) if ss~=nil then if lx~=nil then if nc==nil then nc=32 end gg.setRanges(nc) if dz1==nil then dz1="-1" end if dz2==nil then dz1="0" end gg.searchNumber(ss,lx,false,536870912,dz1,dz2) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) gg.toast("搜索到 "..sl.." 个结果") gg.clearResults() else gg.toast("未搜索到结果") end else gg.toast("无搜索值类型") end else gg.toast("无需搜索值") end end function py1(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value==value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} gg.toast("共偏移 "..#sj.." 个数据") else gg.toast("没有搜索数据") end end function xg1(value,lx,py,dj) if #sj~=nil then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end gg.toast("共修改 "..#z.." 个数据") else gg.toast("没有搜索数据") end end function xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end gg.toast("共修改 "..#z.." 个数据") else gg.toast("没有搜索数据") end end function bc(bz) if sj~=nil then _ENV[bz]=sj else gg.toast("无数据") end end function BaAdd(add) t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end function set(dz,xg,lx,dj) if dj=="true" then gg.addListItems({{address=dz,flags=lx,value=xg,freeze=true}}) else gg.setValues({{address=dz,flags=lx,value=xg}}) end gg.toast("已修改完成~") end function nc_offset(addr,tablex,tt) for i,v in ipairs(tablex) do if v[4]==true then gg.addListItems({{address=addr+v[3],flags=v[2],value=v[1],freeze=v[4]}})else gg.setValues({{address=addr+v[3],flags=v[2],value=v[1]}}) end end gg.toast((tt or "").."开启成功") end function getso(So_name) return gg.getRangesList(So_name)[1].start end function BaAdd(add) t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end function readPointer(Add,Item) for i=1,(#Item-1) do Add=BaAdd(Add+Item[i]) end return Add+Item[#Item] end function setvalue(add,value,falgs,dj) local WY={} WY[1]={} WY[1].address=add WY[1].value=value WY[1].flags=falgs if dj==true then WY[1].freeze=true gg.addListItems(WY) else gg.setValues(WY) end end function getnc(Name,nc) local t=gg.getRangesList(Name) for i, v in ipairs(t) do if v.state==nc then return v.start 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("\n共修改"..#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) else gg.toast("\n开启失败", false) return false end else gg.toast("\n开启失败") 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"] 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"] .. "\n开启失败") 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"] .. "\n开启失败") 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"] .. "\n开启成功\n共修改" .. xgsl .. "\n条数据") else gg.toast(qmnb[2]["name"] .. "\n开启失败") end end end end local function LongTao(Search, Write) gg.clearResults() gg.setVisible(false) lx=Search[1]["类型"] gg.searchNumber(Search[1]["主特征码"], lx) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} if (count > 0) then gg.toast("共搜索 "..count.." 条数据") for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local num = Search[k]["副特征码"] if Search[k]["类型"]~= nil then lx =Search[k]["类型"] else lx = Search[1]["类型"] end for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + Search[k]["偏移"] tmp[#tmp].flags = lx 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 = {} for i=1, #data do for k, w in ipairs(Write) do if w["类型"] ~= nil then lx = w["类型"] else lx = Search[1]["类型"] end t[#t+1] = {} t[#t].address = data[i] + w["偏移"] t[#t].flags = lx if (w["修改"]~=nil) and (w["修改"]~=false) then t[#t].value = w["修改"] gg.setValues(t) if (w["冻结"] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = w["冻结"] gg.addListItems(item) end end end end gg.loadResults(t) gg.toast("共偏移 "..#t.." 条数据") else gg.toast("未搜到数据!") return false end else gg.toast("未搜到数据!") return false end end local gg = gg function getso(So_name) return gg.getRangesList(So_name)[1].start end function BaAdd(add) t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end function readPointer(Add,Item) for i=1,(#Item-1) do Add=BaAdd(Add+Item[i]) end return Add+Item[#Item] end function setvalue(add,value,falgs,dj) local WY={} WY[1]={} WY[1].address=add WY[1].value=value WY[1].flags=falgs if dj==true then WY[1].freeze=true gg.addListItems(WY) else gg.setValues(WY) end end function getnc(Name,nc) local t=gg.getRangesList(Name) for i, v in ipairs(t) do if v.state==Tp then return v.start end 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(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 end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function nc_offset(addr,tablex,tt) for i,v in ipairs(tablex) do if v[4]==true then gg.addListItems({{address=addr+v[3],flags=v[2],value=v[1],freeze=v[4]}})else gg.setValues({{address=addr+v[3],flags=v[2],value=v[1]}}) end end gg.toast((tt or "").."YSCR制作") end function getso(So_name) return gg.getRangesList(So_name)[1].start 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 end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function nc_offset(addr,tablex,tt) for i,v in ipairs(tablex) do if v[4]==true then gg.addListItems({{address=addr+v[3],flags=v[2],value=v[1],freeze=v[4]}})else gg.setValues({{address=addr+v[3],flags=v[2],value=v[1]}}) end end gg.toast((tt or "").."ZOOM制作") end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("开启失败") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("修改成功, 共修改" .. (#tb[1] + #tb[2]) .. "条结果") else gg.toast("开启失败") end 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"] .. "\n开启失败") 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"] .. "\n开启失败") 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"] .. "\n开启成功\n共修改" .. xgsl .. "\n条数据") else gg.toast(qmnb[2]["name"] .. "\n开启失败") end end 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(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 end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function readWrite(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 "\n已获取" .. th_ .. "条数据" or "" gg.setValues(t) t_ = gg.getValues(t_) gg.loadResults(t_) gg.toast("\n" .. Name .. "搜索成功!\n偏移到" .. #data .. "条数据" .. tg .. th) tg_, th_ = nil, nil else gg.toast("\n" .. Name .. "开启失败", false) return false end else gg.toast(Name .. "开启失败") return false end end readPointer = function(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 il2cppStart = 0 for k, v in pairs(gg.getRangesList('libil2cpp.so$')) do if (v.state == 'Xa') then il2cppStart = v['start'] break end end function nc_offset(addr, tablex, tt) for i, v in ipairs(tablex) do if v[4] == true then gg.addListItems({{address = addr + v[3], flags = v[2], value = v[1], freeze = v[4]}}) else gg.setValues({{address = addr + v[3], flags = v[2], value = v[1]}}) end end gg.toast((tt or "") .. "开启成功") end function getso(So_name) return gg.getRangesList end function readWrite(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 "\n已获取" .. th_ .. "条数据" or "" gg.setValues(t) t_ = gg.getValues(t_) gg.loadResults(t_) gg.toast("\n" .. Name .. "搜索成功!\n偏移到" .. #data .. "条数据" .. tg .. th) tg_, th_ = nil, nil else gg.toast("\n" .. Name .. "开启失败", false) return false end else gg.toast(Name .. "开启失败") return false end end readPointer = function(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 il2cppStart = 0 for k, v in pairs(gg.getRangesList('libil2cpp.so$')) do if (v.state == 'Xa') then il2cppStart = v['start'] break end end function nc_offset(addr, tablex, tt) for i, v in ipairs(tablex) do if v[4] == true then gg.addListItems({{address = addr + v[3], flags = v[2], value = v[1], freeze = v[4]}}) else gg.setValues({{address = addr + v[3], flags = v[2], value = v[1]}}) end end gg.toast((tt or "") .. "开启成功") end function getso(So_name) return gg.getRangesList(So_name)[1].start end function BaAdd(add) t = gg.getValues({[1] = {address = add, flags = 4}}) return t[1].value & 0xFFFFFFFF end function readPointer(Add, Item) for i = 1, (#Item - 1) do Add = BaAdd(Add + Item[i]) end return Add + Item[#Item] end function setvalue(add, value, falgs, dj) local WY = {} WY[1] = {} WY[1].address = add WY[1].value = value WY[1].flags = falgs if dj == true then WY[1].freeze = true gg.addListItems(WY) else gg.setValues(WY) end end function getnc(Name, nc) local t = gg.getRangesList(Name) for i, v in ipairs(t) do if v.state == nc then return v.start 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("\n共修改" .. #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) else gg.toast("\n开启失败", false) return false end else gg.toast("\n开启失败") return false end end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("Not Found") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("修改成功, 共修改" .. (#tb[1] + #tb[2]) .. "条结果") else gg.toast("Not Found") end end end function BYPSPointerValue(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 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"] .. "\n开启失败") 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"] .. "\n开启失败") 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"] .. "\n开启成功\n共修改" .. xgsl .. "\n条数据") else gg.toast(qmnb[2]["name"] .. "\n开启失败") end end end end DWORD = gg.TYPE_DWORD DOUBLE = gg.TYPE_DOUBLE FLOAT = gg.TYPE_FLOAT WORD = gg.TYPE_WORD BYTE = gg.TYPE_BYTE XOR = gg.TYPE_XOR QWORD = gg.TYPE_QWORD function readWrite(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 "\n已获取" .. th_ .. "条数据" or "" gg.setValues(t) t_ = gg.getValues(t_) gg.loadResults(t_) gg.toast("\n" .. Name .. "搜索成功!\n偏移到" .. #data .. "条数据" .. tg .. th) tg_, th_ = nil, nil else gg.toast("\n" .. Name .. "开启失败", false) return false end else gg.toast(Name .. "开启失败") return false end 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 gg.edits = function(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 Mswrite(search) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) if type(search[1][4]) == "string" then gg.searchAddress(search[1][4]) end gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then return gg.toast("搜索失败") else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = {address = r.address + search[i][2], flags = search[i][3]} end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end gg.toast("共搜索到" .. #result .. "条数据") return result end end function SearchWrite(read, write) gg.clearResults() gg.setRanges(read["内存"]) gg.setVisible(false) gg.searchNumber(read["主特征码"], read["类型"]) if gg.getResultCount() > 0 then local Result = gg.getResults(gg.getResultCount()) gg.clearResults() for i = 1, #read do local t = {} for e, v in ipairs(Result) do t[#t + 1] = {address = v.address + read[i]["偏移"], flags = read[i]["类型"]} end t = gg.getValues(t) for _a, x in ipairs(t) do if x.value ~= read[i]["值"] then Result[_a] = nil end end local MS = {} for i, v in pairs(Result) do MS[#MS + 1] = Result[i] end Result = MS end if (#Result > 0) then local data = {{}, {}} for i, v in ipairs(Result) do for a, x in ipairs(write) do if x["冻结"] == true then data[2][#data[2] + 1] = {address = v.address + x["偏移"], flags = x["类型"], value = x["值"], freeze = true} else data[1][#data[1] + 1] = {address = v.address + x["偏移"], flags = x["类型"], value = x["值"]} end end end gg.setValues(data[1]) gg.addListItems(data[2]) gg.toast((read["功能名称"] or read["名称"] or read["name"] or "") .. "开启成功,共搜索" .. #Result .. "条地址\n已修改" .. (#data[1] + #data[2]) .. "条数据") else gg.toast((read["功能名称"] or read["名称"] or read["name"] or "") .. "修改失败") end else gg.toast((read["功能名称"] or read["名称"] or read["name"] or "") .. "开启失败,未搜索到数据") end end function xqmnb(x) local tp1 = {["内存"] = x[1]["memory"], ["主特征码"] = x[3]["value"], ["类型"] = x[3]["type"], ["name"] = x[2]["name"]} for i = 4, #x do tp1[#tp1 + 1] = {["值"] = x[i]["lv"], ["偏移"] = x[i].offset, ["类型"] = x[i].type} end local tp2 = {} for i, v in ipairs(qmxg) do tp2[#tp2 + 1] = {["值"] = v.value, ["类型"] = v.type, ["偏移"] = v.offset, ["冻结"] = (v.freeze or nil)} end SearchWrite(tp1, tp2) end function readValue(add, flags) local t = gg.getValues({[1] = {address = add, flags = flags}}) return t[1].value end function readAdd(add) local t = gg.getValues({[1] = {address = add, flags = 4}}) return t[1].value & 0xFFFFFFFF end function setvalue(add,lv,falg) gg.setValues({{address=add,flags=falg,value=lv}}) end function readAdd(add) t=gg.getValues({[1]={address=add,flags=4}}) add=string.format("%X",t[1].value) if (#add)==16 then add=add:sub(9,16) end if (#add)==1 then add=add.."0000000" else add=string.format("%d","0x"..add) end return add end local function LongTao(Search, Write) gg.clearResults() gg.setVisible(false) lx=Search[1]["类型"] gg.searchNumber(Search[1]["主特征码"], lx) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} if (count > 0) then gg.toast("共搜索 "..count.." 条数据") for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local num = Search[k]["副特征码"] if Search[k]["类型"]~= nil then lx =Search[k]["类型"] else lx = Search[1]["类型"] end for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + Search[k]["偏移"] tmp[#tmp].flags = lx 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 = {} for i=1, #data do for k, w in ipairs(Write) do if w["类型"] ~= nil then lx = w["类型"] else lx = Search[1]["类型"] end t[#t+1] = {} t[#t].address = data[i] + w["偏移"] t[#t].flags = lx if (w["修改"]~=nil) and (w["修改"]~=false) then t[#t].value = w["修改"] gg.setValues(t) if (w["冻结"] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = w["冻结"] gg.addListItems(item) end end end end gg.loadResults(t) gg.toast("共偏移 "..#t.." 条数据") else gg.toast("未搜到数据!") 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 D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function readWrite(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 "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end function SearchWrite(Search,Modification) gg.clearResults() gg.searchNumber(Search[1][1],Search[1][2],false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Name..'开启失败') 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..'开启失败') 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..'开启成功,共修改'..sum..'条数据.') else gg.toast(Name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据.') end 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 fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("开启失败") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("修改成功, 共修改" .. (#tb[1] + #tb[2]) .. "条结果") else gg.toast("开启失败") end end end function gotoPointer(addr) return gg.getValues({{address=addr, flags=4}})[1].value & 0xFFFFFFFF end a = function(Address, length, useChineseLoad) local jump = 0 local chars, char = {}, { address = Address, flags = gg.TYPE_BYTE } if not length then repeat local _nextchar, _2nextchar _char = gg.getValues({char})[1].value if (useChineseLoad) then if (_char > -28 and _char < -23) then _nextchar = gg.getValues({{address = char.address + 0x1, flags=gg.TYPE_BYTE}})[1].value if (_nextchar > -128 and _nextchar < -65) then _2nextchar = gg.getValues({{address = char.address + 0x2, flags=gg.TYPE_BYTE}})[1].value jump = 3 chars[#chars + 1] = string.char(_char & 0xFF, _nextchar & 0xFF, _2nextchar & 0xFF) end end end if (jump > 0) then jump = jump - 1 goto continue end chars[#chars + 1] = string.char(_char & 0xFF) ::continue:: char.address = char.address + 0x1 until _char == 0 return table.concat(chars, "", 1, #chars - 1), char.address else for i = 1, length do local _nextchar, _2nextchar local _char = gg.getValues({char})[1].value if (useChineseLoad) then if (_char > -28 and _char < -23) then _nextchar = gg.getValues({address = char.address + 0x1, flags=gg.TYPE_BYTE}) if (_nextchar > -128 and _nextchar < -65) then _2nextchar = gg.getValues({address = char.address + 0x2, flags=gg.TYPE_BYTE}) jump = 3 chars[i] = utf8.char(_char & 0xFF, _nextchar & 0xFF, _2nextchar & 0xFF) end end end if (jump > 0) then jump = jump - 1 goto continue end chars[i] = utf8.char(_char & 0xFF) ::continue:: char.address = char.address + 0x1 end return table.concat(chars), char.address end end function SearchWrite(Search,Modification) gg.clearResults() gg.searchNumber(Search[1][1],Search[1][2],false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Name..'开启失败') 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..'开启失败') 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..'开启成功,共修改'..sum..'条数据.') else gg.toast(Name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据.') end gg.clearResults() end function classSearch(className, offset) gg.clearResults() gg.setRanges(gg.REGION_OTHER | gg.REGION_C_ALLOC) gg.searchNumber("Q 00 '" .. className .. "' 00", gg.TYPE_BYTE) if (gg.getResultsCount() == 0) then print('没有发现类\n请确认是否初始化') end gg.searchPointer(0) gg.setRanges(32) local object = {} for k, v in pairs(gg.getResults(gg.getResultsCount())) do if (a(gotoPointer(gotoPointer(v.address - 8))):match(string.char(46, 100, 108, 108))) then v.address = v.address - 8 object[1] = v gg.loadResults(object) break end end gg.searchPointer(0) gg.searchPointer(0) local item = gg.getResults(gg.getResultsCount()) for k, v in pairs(item) do v.address = gotoPointer(v.address) + offset end return item end function editerObject(valObject, editerVal) for k, v in pairs(valObject) do v.value = editerVal[1] v.flags = editerVal[2] v.freeze = editerVal[3] end gg.setValues(valObject) gg.toast('开启成功\n共修改: ' .. gg.getResultsCount() .. '个结果') gg.clearResults() end function X(Ranges,Search,Write,Type,Name) gg.setRanges(Ranges) 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("提示:".."\n"..Name.."\n".."开启成功") else gg.toast("提示:".."\n"..Name.."\n".."开启失败",false) return false end else gg.toast("提示:".."\n"..Name.."\n".."开启失败") return false end end function nc_offset(addr,tablex,tt) for i,v in ipairs(tablex) do if v[4]==true then gg.addListItems({{address=addr+v[3],flags=v[2],value=v[1],freeze=v[4]}})else gg.setValues({{address=addr+v[3],flags=v[2],value=v[1]}}) end end gg.toast((tt or "").."开启成功") end function getso(So_name) return gg.getRangesList(So_name)[1].start end besz={ } besz.controlFlip2 = function(control,time) luajava.runUiThread(function() import "android.view.animation.Animation" import "android.animation.ObjectAnimator" xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotationY", {0, 360}) xuanzhuandonghua:setRepeatCount(0) xuanzhuandonghua:setRepeatMode(Animation.REVERSE) xuanzhuandonghua:setDuration(time) xuanzhuandonghua:start() end ) end besz.controlRotation2 = function(control, time) luajava.runUiThread(function() import "android.view.animation.Animation" import "android.animation.ObjectAnimator" xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotation", { 0, 360 }) xuanzhuandonghua:setRepeatCount(0) xuanzhuandonghua:setRepeatMode(Animation.RESTART) xuanzhuandonghua:setDuration(time) xuanzhuandonghua:start() end) end besz.controlWater = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX",{1, 0.8, 0.9, 1}):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY",{1,0.8,0.9,1}):setDuration(time):start() end) end besz.controlSmall = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX",{1, 0.7, 0.4, 0}):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY",{1, 0.7, 0.4, 0}):setDuration(time):start() end) end besz.controlBig = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX",{0, 0.4, 0.7, 1}):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY",{0, 0.4, 0.7, 1}):setDuration(time):start() end) end vibra = context:getSystemService(Context.VIBRATOR_SERVICE) jianbian7 = luajava.new(GradientDrawable) jianbian7:setCornerRadius(40) jianbian7:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian7:setColors({ 0x6600FF76,0x9900A5FF }) jianbian7:setStroke(8,"0xffffffff") function tst(text) text = tostring(text) local block = luajava.getBlock() local layout = luajava.loadlayout({ LinearLayout, background = jianbian7, gravity = 'center', layout_height = 'match_parent', layout_width = 'match_parent', layout_wight = '1', { TextView, id = luajava.newId('TextView'), text = text, textSize = '18sp', textColor = "#ffffffff", margins = { '20dp', '10dp', '20dp', '10dp' } } }) local function invoke() if toaa == nil then toaa = Toast:makeText(app.context, '', 1) end toaa:setView(layout) toaa:show() end luajava.handlerPost(invoke) end changan = {} local changan = changan local android = import('android.*') function write(fileName, content) file.write(fileName, content) end function panduan(rec) fille,err = io.open(rec) if fille == nil then return false else return true end end function pdcf(lujing) rec = "/sdcard/XM内置/配置文件/"..lujing fille,err = io.open(rec) if fille == nil then return false else return true end end sleep = gg.sleep function read(fileName) f = assert(io.open(fileName, 'r')) content = f:read("*all") f:close() return content end function wtcf(lujing,neirong) write("/sdcard/XM内置/配置文件/"..lujing,neirong) end function rdcf(lujing) return read("/sdcard/XM内置/配置文件/"..lujing) end 开 = "开" 关 = "关" function checkimg(tmp) if panduan("/sdcard/XM内置/图片/"..tmp) ~= true then gg.toast("正在下载资源"..tmp.."\n请耐心等待") download=file.download("http://www.1314love520.top/view.php/66fce9ede552588c96f8971d82ba7d6b.jpg"..tmp,"/sdcard/XM内置/图片/"..tmp) download=file.download("http://jiami.guimei.work/a/"..tmp..".png","/sdcard/XM内置/图片/"..tmp) end end file.getdirs("/sdcard/XM内置/状态读取/") ckimg = { "1695433514", "1695461082", "1697303409", "1697299785" } for i = 1,#ckimg do jindu = i checkimg(ckimg[i]) end context = app.context window = context:getSystemService("window") function getLayoutParams() LayoutParams = WindowManager.LayoutParams layoutParams = luajava.new(LayoutParams) if (Build.VERSION.SDK_INT >= 26) then layoutParams.type = LayoutParams.TYPE_APPLICATION_OVERLAY else layoutParams.type = LayoutParams.TYPE_PHONE end layoutParams.format = PixelFormat.RGBA_8888 layoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE layoutParams.gravity = Gravity.TOP|Gravity.LEFT layoutParams.width = LayoutParams.WRAP_CONTENT layoutParams.height = LayoutParams.WRAP_CONTENT return layoutParams end function getj6() jianbian6 = luajava.new(GradientDrawable) jianbian6:setCornerRadius(10) jianbian6:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian6:setColors({0xdd91EAE4,0xaa86A8E7,0xdd7f7fd5}) jianbian6:setStroke(0,"0xddffffff") return jianbian6 end function getj7() jianbian6 = luajava.new(GradientDrawable) jianbian6:setCornerRadius(20) jianbian6:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian6:setColors({ 0xdd91EAE4,0xaa86A8E7,0xdd7f7fd5 }) jianbian6:setStroke(3,"0xff0091FE") return jianbian6 end slctb = luajava.getBitmapDrawable("/sdcard/XM内置/图片/1697299785") slcta = luajava.getBitmapDrawable("/sdcard/XM内置/图片/1697303409") slctc = luajava.loadlayout { GradientDrawable, color = "#11ffffff", cornerRadius = 8 } slctd = luajava.loadlayout { GradientDrawable, color = "#55ffffff", cornerRadius = 8 } slcte = luajava.loadlayout { GradientDrawable, color = "#11ffffff", cornerRadius = 12 } slctf = luajava.loadlayout { GradientDrawable, color = "#aa1E1C27", cornerRadius = 12 } function getSelector3() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(10) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({ 0xdd91EAE4,0xaa86A8E7,0xdd7f7fd5 }) jianbians:setStroke(2,"0xddFFffff") selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, luajava.loadlayout { GradientDrawable, color = "#88000000", cornerRadius = 12 }) selector:addState({ -android.R.attr.state_pressed }, jianbians) return selector end function getSelector() selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, slcta) selector:addState({ -android.R.attr.state_pressed }, slctb) return selector end function getSelector2() selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, slctd) selector:addState({ -android.R.attr.state_pressed }, slctc) return selector end jianbian = luajava.new(GradientDrawable) jianbian:setCornerRadius(30) jianbian:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian2 = luajava.new(GradientDrawable) jianbian2:setCornerRadius(30) jianbian2:setGradientType(GradientDrawable.LINEAR_GRADIENT) local isswitch YoYoImpl = luajava.getYoYoImpl() changan.menu = function(sview) if isswitch then return false end isswitch = true cebian = { LinearLayout, id = "侧边", visibility = "gone", layout_height = "wrap_content", layout_width = "70dp", orientation = "vertical", background = { GradientDrawable, color = "#00ffffff", cornerRadius = 10 }, } for i = 1,#stab do cebian[#cebian+1] = { LinearLayout, id = "jm"..i, layout_height = "30dp", layout_width = "70dp", layout_marginTop = "1dp", layout_marginBottom = "0dp", background = getSelector(), { TextView, text = stab[i], gravity = "center", layout_height = "25dp", layout_width = "70dp", onClick=function() 切换(i) besz.controlFlip2 (_ENV["jm"..i] , 800 ) besz.controlWater(floatWindow,200) end }} end cebian = luajava.loadlayout(cebian) for i = 1,#stab do _ENV["layout"..i] = luajava.loadlayout({ ScrollView, fillViewport = "true", id = "layout"..i, visibility = "gone", gravity = "center", layout_width = "240dp", layout_height = "wrap_content", orientation = "horizontal", { LinearLayout, id = "layoutm"..i, background = getj6(), layout_marginRight = "5dp", layout_marginLeft = "5dp", layout_width = "230dp", orientation = "vertical", gravity = "center_horizontal", } }) end ckou = { LinearLayout, id = "chuangk", visibility = "visible", layout_width = "wrap_content", layout_height = "wrap_content", orientation = "horizontal", { LinearLayout, orientation = "vertical", layout_marginTop = "0dp" , { LinearLayout, layout_width = "70dp", layout_height = "42dp", gravity = "center", background=getj7(), { ImageView, id = "control", background = 悬浮窗图标, layout_width = "40dp", layout_height = "40dp", } }, cebian, }, } for i = 1,#stab do ckou[#ckou+1] = _ENV["layout"..i] end ckou = luajava.loadlayout(ckou) floatWindow = { LinearLayout, id = "motion", layout_width = "wrap_content", orientation = "vertical", gravity = "center_vertical", layout_height = "wrap_content", { LinearLayout, id="xt3", visibility="gone", layout_width = "match_parent", layout_height = "8dp", orientation = "horizontal", gravity = "center", padding = "8dp", }, ckou, { LinearLayout, layout_height = "8dp", layout_width = "90dp", } } local function invoke() local ok local RawX, RawY, x, y mainLayoutParams = getLayoutParams() floatWindow = luajava.loadlayout(floatWindow) local function invoke2() block('start') for k = 1,#stab do for i = 1,#sview[k] do _ENV["layoutm"..k]:addView(sview[k][i]) end end window:addView(floatWindow, mainLayoutParams) block('end') end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) block('join') control.onClick = function() 隐藏() end local isMove hanshu = function(v, event) local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event:getRawX() RawY = event:getRawY() x = mainLayoutParams.x y = mainLayoutParams.y elseif Action == MotionEvent.ACTION_MOVE then isMove = true mainLayoutParams.x = tonumber(x) + (event:getRawX() - RawX) mainLayoutParams.y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(floatWindow, mainLayoutParams) end end motion.onTouch = hanshu control.onTouch = hanshu for i = 1,#stab do _ENV["jm"..i].onTouch = hanshu end end invoke(swib1,swib2) jm1:setBackground(slcta) gg.setVisible(false) luajava.setFloatingWindowHide(true) end function getseekgra() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(10) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({ 0x6600c6ff,0x660072ff }) jianbians:setStroke(2,"0x44ffffff") return jianbians end corbk = true 当前ui = 1 function 切换(x) 当前ui = x luajava.runUiThread(function() for i = 1,#stab do _ENV["jm"..i]:setBackground(slctb) _ENV["layout"..i]:setVisibility(View.GONE) end _ENV["layout"..当前ui]:setVisibility(View.VISIBLE) _ENV["jm"..当前ui]:setBackground(slcta) YoYoImpl:with("FadeIn"):duration(200):playOn(_ENV["layout"..当前ui]) end) end 显示 = 0 beij = luajava.new(GradientDrawable) beij:setCornerRadius(5) beij:setGradientType(GradientDrawable.LINEAR_GRADIENT) beij:setColors(({0xdd91EAE4,0xaa86A8E7,0xdd7f7fd5})) beij:setStroke(4,"0x44FFffff") beij2 = luajava.loadlayout({ GradientDrawable, color = "#001E1C27", cornerRadius = 10 }) function getcolor(cl) cl[1] = tonumber(math.ceil(cl[1]*2.6,0,5)) if cl[1] > 255 then cl[1] = "0xff" else cl[1] = "0x"..string.format("%x",cl[1]) end for i = 1,3 do cl[i+1] = string.format("%x",cl[i+1]) if string.len(cl[i+1]) == 1 then cl[i+1] = "0"..cl[i+1] end end cl = cl[1]..cl[2]..cl[3]..cl[4] return cl end function getrgb(cl) if string.sub(cl,1,1) == "#" then cl = "0x"..string.sub(cl,2,-1) end cl = { tonumber(string.sub(cl,0,4)),tonumber("0x"..string.sub(cl,5,6)),tonumber("0x"..string.sub(cl,7,8))} return cl end function 隐藏() luajava.runUiThread(function() if tonumber(tostring(cebian:getVisibility())) == 8.0 then xt3:setVisibility(View.VISIBLE) cebian:setVisibility(View.VISIBLE) mainLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL window:updateViewLayout(floatWindow, mainLayoutParams) YoYoImpl:with("SlideInDown"):duration(200):playOn(cebian) _ENV["layout"..当前ui]:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(800):playOn(_ENV["layout"..当前ui]) floatWindow:setBackground(beij) else mainLayoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE window:updateViewLayout(floatWindow, mainLayoutParams) xt3:setVisibility(View.GONE) floatWindow:setBackground(beij2) cebian:setVisibility(View.GONE) _ENV["layout"..当前ui]:setVisibility(View.GONE) end end) end function guid() seed = { 'e','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' } tb = {} for i = 1,32 do table.insert(tb,seed[math.random(1,16)]) end sid = table.concat(tb) return string.format('%s%s%s%s%s', string.sub(sid,1,8), string.sub(sid,10,12), string.sub(sid,21,22)) ..string.format('%s%s%s%s%s', string.sub(sid,1,6), string.sub(sid,21,25) ) end chazhi = {} chajv = {} function changan.seek(name,bian,smin,smax,nows) _ENV[bian] = nows smin = tonumber(smin) smax = tonumber(smax) chajv[bian] = smax-smin chazhi[bian] = 1-smin if smin == nil then smin = 1 smax = 10 end truesmin = 1 truesmax = truesmin+chajv[bian] if not nows then nows = smin tnows = (smin-nows) else tnows = (nows-smin)+1 end if _ENV[bian] == nil then _ENV[bian] = 1.0 end if not name then name = "未设置" end local names = name..guid() rest = luajava.loadlayout({ LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", { LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", layout_marginTop = "5dp", layout_marginBottom = "5dp", layout_marginLeft = "10dp", layout_marginRight = "10dp", gravity = "center_vertical", background = getseekgra(), { TextView, gravity = "top", text = name..":"..nows, id = luajava.newId(names), layout_width = '70dp', layout_marginLeft = "5dp", layout_marginRight = "0dp", }, { SeekBar, layout_width = '120dp', min = truesmin, max = truesmax, progress = tnows, onSeekBarChange = { onProgressChanged = function(SeekBar, var2, var3) if not var3 then return end local resultvar = tonumber(string.sub(var2,0,-3))-chazhi[bian] luajava.runUiThread(function() luajava.getIdValue(names):setText(name..":".. resultvar) end) _ENV[bian] = resultvar end }} }}) return rest end function 开关3(name,func1,func2,nid) name = name..guid() _ENV[name] = "关" if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then luajava.runUiThread(function() luajava.getIdValue(nid.."k"):setVisibility(View.GONE) luajava.getIdValue(nid.."g"):setVisibility(View.VISIBLE) end) _ENV[name] = "开" vibra:vibrate(10) pcall(func1) else luajava.runUiThread(function() luajava.getIdValue(nid.."g"):setVisibility(View.GONE) luajava.getIdValue(nid.."k"):setVisibility(View.VISIBLE) end) _ENV[name] = "关" vibra:vibrate(10) pcall(func2) end end end end function getShape3() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(12) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({0xdd91EAE4,0xaa86A8E7,0xdd7f7fd5}) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(2,0xaaffffff) return jianbians end function getShape(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(8,tmp3) return jianbians end function getShape2(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(8,tmp3) return jianbians end checkbg = getShape( 45, { 0xdd91EAE4,0xaa86A8E7,0xdd7f7fd5 }, 4,0xffA4A8B7) checkbg1 = getShape2( 45, { 0xdd91EAE4,0xaa86A8E7,0xdd7f7fd5 }, 4,0xffffffff) checkbg2 = getShape2( 45, { 0xdd91EAE4,0xaa86A8E7,0xdd7f7fd5 }, 4,0xffffffff) function changan.intcheck(name,func1,func2) nid = name..guid() local func = 开关3(name,func1,func2,nid) if not name then name = "未设置" end local rest = luajava.loadlayout({ LinearLayout, layout_width = '105dp', layout_height = "30dp", layout_marginTop = "1dp", layout_marginBottom = "2dp", padding = "1dp", { LinearLayout, onClick = function() besz.controlWater(_ENV[tid],200) luajava.newThread(function() func() end) :start() end, layout_width = 'fill_parent', layout_height = "28dp", gravity = "center_vertical", background = getShape3(), onClick = function() besz.controlWater(_ENV[tid],200) luajava.newThread(function() pcall(func) end ) : start() end, { TextView, gravity = "left", text = name, textColor="#ffffff", textSize = "12sp", layout_marginLeft="6dp", layout_width = '50dp', }, { FrameLayout, id = luajava.newId(nid), background = checkbg, layout_width = '40dp', layout_height = '20dp', padding = "0dp", { LinearLayout, layout_gravity = "left|center", id = luajava.newId(nid.."k"), background = checkbg1, layout_width = '20dp', layout_height = '20dp', }, { LinearLayout, visibility = "gone", layout_gravity = "right|center", id = luajava.newId(nid.."g"), background = checkbg2, layout_width = '20dp', layout_height = '20dp', } }} }) return rest end function changan.button(name,func1,func2) local func = 开关(name..guid(),func1,func2) if not name then name = "未设置" end local rest = luajava.loadlayout({ LinearLayout, layout_width = '220dp', layout_height = "30dp", layout_marginTop="5dp", layout_marginBottom="5dp", { LinearLayout, layout_width = '220dp', layout_height = "30dp", gravity = "center_vertical", background = getShape3(), { TextView, gravity = "top", text = name, layout_width = '150dp', layout_marginLeft = "10dp", }, { Switch, gravity = "top", layout_width = 'match_parent', layout_hight = "10dp", switchMinWidth = "20dp", onCheckedChange = function(Switch,var2,var3) if var2 == true then var2 = "开" else var2 = "关" end luajava.newThread(function() func() end):start() end, }} }) return rest end function changan.edit(name) _ENV[name] = name..guid() if not name then name = "点击输入文字" end local rest = luajava.loadlayout({ LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", { LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", layout_marginTop = "5dp", layout_marginBottom = "5dp", layout_marginLeft = "10dp", layout_marginRight = "10dp", gravity = "center_vertical", background = getseekgra(), { EditText, gravity = "top", hint = name, gravity = "center", id = luajava.newId(_ENV[name]), layout_width = 'fill', layout_marginLeft = "10dp", layout_marginRight = "10dp", }} }) return rest end function changan.radio(radio) firadio = { LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", padding = "10dp", orientation = "vertical" } if type(radio[1]) == "string" or type(radio[1]) == "number" then firadio[#firadio+1] = { TextView,text = radio[1]} end radios = { RadioGroup,background = getseekgra(), layout_width = 'fill_parent', } for i = 2,#radio do radios[#radios+1] = { RadioButton, layout_width = 'fill_parent', text = radio[i][1], onClick = function() luajava.newThread(function() pcall(radio[i][2]) end):start() end, } end firadio[#firadio+1] = radios return luajava.loadlayout(firadio) end function changan.check(cklist) local rest = { GridLayout, columnCount = '2', layout_width = 'match_parent', layout_height = "wrap_content", layout_marginLeft = "10dp", layout_marginRight = "10dp", gravity = "center" } for i = 1,#cklist do local name = cklist[i][1] local func1 = cklist[i][2] local func2 = cklist[i][3] if not name then name = "未设置" end rstt = changan.intcheck(name,func1,func2) rest[#rest+1] = rstt end return luajava.loadlayout({ LinearLayout,rest }) end function changan.switch(cklist) local rest = { GridLayout, columnCount = '2', layout_width = 'match_parent', layout_height = "wrap_content", layout_marginLeft = "10dp", layout_marginRight = "10dp", gravity = "center" } for i = 1,#cklist do local name = cklist[i][1] local func1 = cklist[i][2] local func2 = cklist[i][3] if not name then name = "未设置" end rstt = changan.switch(name,func1,func2) rest[#rest+1] = rstt end return luajava.loadlayout({ LinearLayout,rest }) end switchbg = getShape( 45, { 0xdd91EAE4,0xaa86A8E7,0xdd7f7fd5 }, 4,0xffA4A8B7) switchbg1 = getShape2( 45, { 0xdd91EAE4,0xaa86A8E7,0xdd7f7fd5 }, 4,0xffffffff) switchbg2 = getShape2( 45, { 0xdd91EAE4,0xaa86A8E7,0xdd7f7fd5 }, 4,0xffffffff) function changan.switch(name,func1,func2) nid = name..guid() local func = 开关3(name,func1,func2,nid) if not name then name = "未设置" end local rest = luajava.loadlayout({ LinearLayout, layout_width = '210dp', layout_height = "40dp", layout_marginTop = "1dp", layout_marginBottom = "1dp", padding = "1dp", { LinearLayout, onClick = function() besz.controlWater(_ENV[tid],200) luajava.newThread(function() func() end) :start() end, layout_width = 'fill_parent', layout_height = "32dp", gravity = "center_vertical", background = luajava.loadlayout({ GradientDrawable, color = "#38393D", cornerRadius = 13 }), { ImageView , layout_marginLeft = "15dp" , background = "http://www.1314love520.top/view.php/4879c5f0e93553c880a0d0d9545f3918.png" , layout_height = "20dp" , layout_width = "20dp" , }, { TextView, gravity = "left", text = name, textColor="#ffffff", textSize = "17sp", layout_marginLeft="20dp", layout_width = '100dp', }, { FrameLayout, id = luajava.newId(nid), background = switchbg, layout_width = '45dp', layout_height = '23dp', padding = "0dp", { LinearLayout, layout_gravity = "left|center", id = luajava.newId(nid.."k"), background = switchbg1, layout_width = '23dp', layout_height = '23dp', }, { LinearLayout, visibility = "gone", layout_gravity = "right|center", id = luajava.newId(nid.."g"), background = switchbg2, layout_width = '23dp', layout_height = '23dp', } }} }) return rest end function changan.button(txt,func) if not txt then txt = "未设置" end local tid=guid()..guid() _ENV[tid]=luajava.loadlayout ( { LinearLayout, layout_width = '220dp', layout_hight = "30dp", { LinearLayout, layout_width = "fill_parent", gravity = "center_horizontal", layout_marginTop = "3dp", layout_marginBottom = "2dp", background = getShape3(), onClick = function() besz.controlWater(_ENV[tid],200) luajava.newThread(function() pcall(func) end ) : start() end, { TextView, text = txt, textSize = "16sp", layout_width = "wrap_content", }, }}) return _ENV[tid] end function changan.text(txt,color,size) if not txt then txt = "未设置文字" end if not color then color = "#ffffff" end if not size then size = "18sp" end return luajava.loadlayout( { TextView, text = txt, textSize = size, textColor = color, layout_width = "wrap_content", }) end corb = true function changan.setedit(name,txt) txt = tostring(txt) luajava.runUiThread(function() luajava.getIdValue(_ENV[name]):setText(txt) end) end function changan.getedit(name) edit = tostring(luajava.getIdValue(_ENV[name]):getText()) return edit end function 开关(name,func1,func2) if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then _ENV[name] = "开" pcall(func1) else _ENV[name] = "关" pcall(func2) end end end end paramt = {} titletable = {} corb = true function getLayoutParams2() local prm = luajava.new(WindowManager.LayoutParams) layoutParams1 = prm if (Build.VERSION.SDK_INT >= 26) then layoutParams1.type = prm.TYPE_APPLICATION_OVERLAY else layoutParams1.type = prm.TYPE_PHONE end layoutParams1.format = PixelFormat.RGBA_8888 layoutParams1.flags = prm.FLAG_NOT_FOCUSABLE layoutParams1.gravity = Gravity.CENTER layoutParams1.width = prm.WRAP_CONTENT layoutParams1.height = prm.WRAP_CONTENT return layoutParams1 end namelist = {} param1 = {} floattable = {} function changan.newfloat(name,func1,func2) floattable[name] = 1 local func = 开关(name.."k",func1,func2) window = context:getSystemService("window") local function invoke(name,func1,func2) if not name then name = "未设置" end nameid = name..guid() local ok local RawX, RawY, x, y nameid1 = name..guid() if not namelist[name] then namelist[name] = false end if namelist[name] ~= false then clclcl = "#75ff0000" else clclcl = "#880CFF76" end param1[name] = getLayoutParams2() _ENV[name] = luajava.loadlayout( { LinearLayout, layout_width = "40dp", id = luajava.newId(nameid1), layout_height = "40dp", background = luajava.loadlayout { GradientDrawable, color = clclcl, cornerRadius = 30 }, onClick = function() if namelist[name] == false then _ENV[name]:setBackground(luajava.loadlayout { GradientDrawable, color = "#75ff0000", cornerRadius = 30 }) namelist[name] = true elseif namelist[name] == true then _ENV[name]:setBackground(luajava.loadlayout { GradientDrawable, color = "#880CFF76", cornerRadius = 30 }) namelist[name] = false end luajava.newThread(function() pcall(func) end):start() end, onTouch = function(v, event) local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event:getRawX() RawY = event:getRawY() x = param1[name].x y = param1[name].y elseif Action == MotionEvent.ACTION_MOVE then isMove = true param1[name].x = tonumber(x) + (event:getRawX() - RawX) param1[name].y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(_ENV[name], param1[name]) end end, { TextView, text = name, gravity = "center", layout_width = "50dp", layout_height = "50dp", } }) local function invoke2() window:addView(_ENV[name], param1[name]) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) end invoke(name,func1,func2) end function changan.rmvfloat(name) floattable[name] = 0 local function invoke2() window:removeView(_ENV[name], param1[name]) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) end function 开关2(name,func1,func2,nid) if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then luajava.runUiThread(function() luajava.getIdValue(nid):setBackground(luajava.getBitmapDrawable("/sdcard/XM内置/图片/check2")) end) _ENV[name] = "开" func1() else luajava.runUiThread(function() luajava.getIdValue(nid):setBackground(luajava.getBitmapDrawable("/sdcard/XM内置/图片/check1")) end) _ENV[name] = "关" func2() end end end end function visi(tid,ttid) local tview = luajava.getIdValue(tid) local ttview = luajava.getIdValue(ttid) if not tview then return 0 end if tonumber(tostring(tview:getVisibility())) == 8.0 then tview:setVisibility(View.VISIBLE) ttview:setBackground(luajava.getBitmapDrawable("/sdcard/XM内置/图片/1695461082")) else tview:setVisibility(View.GONE) ttview:setBackground(luajava.getBitmapDrawable("/sdcard/XM内置/图片/1695433514")) end end function changan.box(views ) local tid = "box"..guid() local ttid = tid.."6" local t1id=guid() firadio = { LinearLayout, layout_width = 'fill_parent', layout_height = "wrap_content", layout_marginTop = "2dp", gravity="center", layout_marginBottom = "2dp", orientation = "vertical", background = luajava.loadlayout { GradientDrawable, color = "#0018191C", cornerRadius = 8 }, } if type(views[1]) == "string" or type(views[1]) == "number" then firadio[#firadio+1] = { FrameLayout, layout_width = '220dp', layout_height = "35dp", gravity = "center_vertical", layout_marginTop = "2dp", layout_marginBottom = "4dp", onClick = function() besz.controlWater(_ENV[t1id],200) visi(tid , ttid ) end, background = getShape3(), { ImageView, layout_gravity="left|center", layout_marginLeft = "10dp", id = luajava.newId(ttid), background = "/sdcard/XM内置/图片/1695433514", layout_width = "16dp", layout_height = "16dp", layout_marginTop = "0dp", } , { TextView,text = views[1], textSize = "16sp", layout_width = "220dp", layout_gravity = "center", gravity="center" }} else gg.alert("changan.box第一个参数必须是string") os.exit() end radios = { LinearLayout, layout_marginLeft = "0dp", layout_marginRight = "0dp", orientation = "vertical", visibility = "gone", id = luajava.newId(tid), padding = "0dp", gravity="center_horizontal", layout_width = 'fill_parent', } for i = 2 , # views do radios [ # radios + 1 ] = views [ i ] end firadio [ # firadio + 1 ] = radios _ENV[t1id]=luajava.loadlayout(firadio ) return _ENV[t1id] end stab = { "主页", "功能", "火力", "设置", } xfcpic = "https://cccimg.com/down.php/1be77b0a849aae51aa19f6cea9037dba.jpg" changan.menu({ { changan.text("XM内置", "#ffffff", "20sp"), changan.button("❄选择进程", function() string.toMusic("请选择游戏进程") gg.setProcessX() end), changan.button("❄加入🐧群", function() qq.joinGroup("690838228") string.toMusic('开启成功') end), changan.check({ { "获取配置", function() string.toMusic("开启成功") so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressD(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "~A BX LR" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressD(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "~A BX LR" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressQ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030820" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressB(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030842" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressA(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030840" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressC(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030824" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressAA(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030832" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressF(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 16 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressZZZ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 32 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressY(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressD(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "~A BX LR" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressQ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030820" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressB(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030842" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressA(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030840" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressC(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030824" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressAA(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030832" gg.setValues(tt) end function BaseAddressF(address, value) so = gg.getRangesList("libil2cpp.so")[1].start local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 16 tt[1].value = value gg.setValues(tt) end function BaseAddressY(address, value) so = gg.getRangesList("libil2cpp.so")[1].start local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressF(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 16 tt[1].value = value gg.setValues(tt) end function BaseAddressY(address, value) so = gg.getRangesList("libil2cpp.so")[1].start local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressZZZ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 32 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressY(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressD(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "~A BX LR" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressQ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030820" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressB(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030842" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressA(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030840" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressC(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030824" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressAA(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "-494030832" gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressF(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 16 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressZZZ(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 32 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressY(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressY(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value gg.setValues(tt) end so = gg.getRangesList("libil2cpp.so")[1].start function BaseAddressD(address, value) local tt = {} tt[1] = {} tt[1].address = so + address tt[1].flags = 4 tt[1].value = value tt[2] = {} tt[2].address = so + address + 0x4 tt[2].flags = 4 tt[2].value = "~A BX LR" gg.setValues(tt) end end, }, { "防闪+防环境", function() nc_offset(getso("libBugly-ext.so"),{{2147483647,4,0x2A57C}}) local Table = {0x423B1B8, 0x423B62C, 0x423B630, 0x423B504, 0x423B528, 0x423B6DC, 0x423B71C, 0x423B6E4, } for i = 1, #Table do local tt = {} tt[1] = {} tt[1].address = gg.getRangesList('libil2cpp.so')[1].start + Table[i] tt[1].flags = 4 tt[1].value = -476053504 tt[2] = {} tt[2].address = gg.getRangesList('libil2cpp.so')[1].start + Table[i] + 0x4 tt[2].flags = 4 tt[2].value = -516948194 gg.setValues(tt) end BaseAddressD(0x18268F0,'-476053503') BaseAddressD(0x14D49BC,'-476053503') BaseAddressD(0x21F43E8,'-476053503') BaseAddressD(0x182B72C,'-476053503') BaseAddressD(0x182B4E4,'-476053503') BaseAddressD(0x182B310,'-476053503') string.toMusic("开启成功") end, }, { "局内全防", function() Write={ Celebrate=function(start_Table,Table,end_Table,It_addr) local set , get = gg.setValues , gg.getValues local police=nil local t={} local r = gg.clearResults() gg.clearResults() gg.setRanges(It_addr["nIl"]) gg.setVisible(false) gg.searchNumber(start_Table["nlI"],start_Table["lxI"]) v=gg.getResults(99999) local k='' if gg.getResultCount()==0 then gg.toast('没有搜到任何值') return r end for z = 1, #Table do for i=1,gg.getResultCount() do if #Table == 1 then if get({{address=v[i].address+Table[z]["Ixl"], flags=Table[z]["lxI"] }})[1].value==Table[z]["flI"] then t[#t+1] = string.format('0x%X', v[i].address) end end if #Table>1 then if z > 1 and z <= #Table then if get({{ address=v[i].address+Table[(z-1)]["Ixl"], flags=Table[(z-1)]["lxI"] }})[1].value==Table[(z-1)]["flI"] and get({{ address=v[i].address+Table[z]["Ixl"], flags=Table[z]["lxI"]} })[1].value == Table[z]["flI"] then if z == #Table then t[#t+1] = string.format('0x%X', v[i].address ) end end end end end end if #t==0 then gg.toast('没有搜到任何值')return end for a=1,#end_Table do for c=1,#t do if end_Table[a]["dI"]==false or end_Table[a]["dI"]==nil then set( {{ address=t[c]+end_Table[a]["Ixl"], flags=end_Table[a]["lxI"], value=end_Table[a]["fIl"] }} ) elseif end_Table[a]["dI"]==true then if end_Table[a]["bI"]==nil or end_Table[a]["bI"]==false then gg.addListItems({{address=t[c]+end_Table[a]["Ixl"], flags=end_Table[a]["lxI"], value=end_Table[a]["fIl"], freeze=true}}) elseif end_Table[a]["bI"]~=nil and end_Table[a]["bI"]~=false then gg.addListItems({{address=t[c]+end_Table[a]["Ixl"], flags=end_Table[a]["lxI"], value=end_Table[a]["fIl"], freeze=true, name=end_Table[a]["bI"]}}) end end end end if It_addr["dl"]~=nil and It_addr["dl"]~=false then gg.toast("运行结果:执行成功\n共修改了"..(#t*#end_Table).."个值") elseif It_addr["dl"]==nil or It_addr["dl"]==false then gg.toast("\ndl: 暂未定\n运行结果:执行成功\n共修改了"..(#t*#end_Table).."个值") gg.clearResults() end gg.clearResults() end } Reading={{['dl']='666', ['nIl']=16384}, {['nlI']=1738483198, ['lxI']=4}, {{['flI']=1738483198, ['lxI']=4, ['Ixl']=0x0}}, {{ ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF9C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFFAC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x50, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x148, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x188, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1CC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x200, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x230, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x2B4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x348, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x394, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x3C8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x3F8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4FC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x514, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x520, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5C0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5E0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x6E4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x8B0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x914, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x93C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x974, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9CC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xAC0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xAF0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB24, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB8C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC1C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC2C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDB8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDF0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE48, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE50, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE58, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE5C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE64, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE68, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE88, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE8C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEAC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEB0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEB4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEB8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEBC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEC0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEC4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEC8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xED0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEF0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF18, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF28, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF3C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF54, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1068, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1070, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10D8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x11A8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x11E0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1200, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1208, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1264, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x12D8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x12F8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1360, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1368, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x13B0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x13B4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x13B8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x13BC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x13C0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x13C4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x13C8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x13CC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x13D4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x13DC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x13E4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x13EC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x13F4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x13FC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1404, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x140C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1418, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1420, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x142C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1430, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1434, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1450, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1454, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1464, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1468, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x147C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1480, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x148C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1494, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x14A4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x14B8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x14BC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x14C0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x14C4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x14C8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x14D8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x14DC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x14E0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1504, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1508, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1510, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1514, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1520, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x152C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1538, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x153C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1540, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1548, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1554, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x156C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1570, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x158C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1598, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x15A4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x15AC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x15B0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x15B8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x15C0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x15CC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x15DC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x15E8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x15F4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1604, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1608, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1610, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1620, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1624, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1628, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1634, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1638, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x163C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1648, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x164C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1658, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x165C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1664, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1670, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x167C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1684, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1688, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1690, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1694, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1698, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x169C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x16AC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x16B4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x16B8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x16C0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x16D0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x16E0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x16E8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x16EC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x16F8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x16FC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1704, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x170C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1720, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1744, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1754, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1770, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x179C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x17D8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x17E0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x17EC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1810, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1814, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1834, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x183C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1844, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1848, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1858, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1860, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1864, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x186C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1870, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1888, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1890, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1898, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x18A4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x18A8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x18B0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x18B4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x18BC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x18D4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x18DC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x18F8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1900, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x190C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1914, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1918, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x191C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1920, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1928, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x192C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1930, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1934, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1938, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x193C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1940, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1944, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1948, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x194C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1950, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1954, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1958, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1960, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1964, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1968, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x196C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1970, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1974, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x197C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1980, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1984, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1988, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x198C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1990, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1994, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x199C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19A0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19A4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19A8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19AC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19B0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19B4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19B8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19BC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19C0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19C8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19CC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19D0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19D4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19D8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19DC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19E0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19E8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19EC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19F0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19F4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19F8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x19FC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A04, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A08, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A0C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A14, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A1C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A20, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A28, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A2C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A30, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A34, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A38, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A3C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A40, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A44, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A48, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A50, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A58, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A60, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A64, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A68, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A6C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A70, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A74, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A78, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A7C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A84, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A8C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A90, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A94, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1A98, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AA0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AA4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AA8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AB4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AB8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1ABC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AC0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1ACC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AD0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AD4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AD8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1ADC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AE4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AE8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AEC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AF0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AF4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1AFC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B00, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B08, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B0C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B10, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B1C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B20, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B34, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B38, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B40, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B44, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B48, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B54, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B58, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B64, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B68, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B6C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B74, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B78, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B8C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B94, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1B9C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1BA0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1BA4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1BA8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1BB0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1BBC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1BC8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1BD0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1BD8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1BDC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1BE0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1BEC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1BF4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1BF8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1C0C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1C7C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1C8C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1D84, ['dI']=true}}} Write.Celebrate(Reading[2],Reading[3],Reading[4],Reading[1]) Reading={{['dl']='666', ['nIl']=16384}, {['nlI']=1569325056, ['lxI']=4}, {{['flI']=6422625, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF4C}}, {{ ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF38, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF3C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF40, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF44, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF48, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF4C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF50, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF54, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF58, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF5C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF60, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF64, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF68, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF6C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF70, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF74, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFFF8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x248, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x24C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x250, ['dI']=true}}} Write.Celebrate(Reading[2],Reading[3],Reading[4],Reading[1]) Reading={{['dl']='666', ['nIl']=16384}, {['nlI']=2035548269, ['lxI']=4}, {{['flI']=2035548269, ['lxI']=4, ['Ixl']=0x0}}, {{ ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC08, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC10, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC18, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC20, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC24, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC28, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC2C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC30, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC34, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC38, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC3C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC40, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC44, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC48, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC4C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC50, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC54, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC58, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC5C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC60, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC64, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC68, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC6C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC70, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC74, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC78, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC7C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFC80, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFCA4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFCD8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFCEC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFD0C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFD60, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFD64, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFDF8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFE34, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFE6C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFE90, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF08, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF40, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF50, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF60, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFF8C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFFB0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFFE4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFFFFFFFFFFFFFEC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x14, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x28, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x48, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x70, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x94, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x2F8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x2FC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x300, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x304, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x308, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x30C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x310, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x314, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x41C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x420, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x428, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x42C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x434, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x438, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x440, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x444, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x44C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x450, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x458, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x45C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x464, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x468, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x470, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x474, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x47C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x480, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x488, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x48C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x494, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x498, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4A0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4A4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4AC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4B0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4B8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4BC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4C4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4C8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4D0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4D4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4D8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4E0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4EC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4F8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x4FC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x504, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x508, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x510, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x514, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x51C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x520, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x528, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x534, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x53C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x540, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x544, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x54C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x558, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x560, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x564, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x568, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x570, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x574, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x580, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x588, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x594, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x998, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x99C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9A0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9A4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9A8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9AC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9B0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9B4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9B8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9BC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9C0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9C4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9C8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9CC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9D0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9D4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9DC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9E0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9E4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9E8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9EC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9F0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9F4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9F8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x9FC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA00, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA04, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA0C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA10, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA14, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA20, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA24, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA28, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA2C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA30, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA34, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA3C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA40, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA44, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA50, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA54, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA58, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA5C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA60, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA64, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA70, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA74, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA7C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA80, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA84, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xA94, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xAA4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xAA8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xAAC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xAC8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xACC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xAD0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xAD8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xADC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB08, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB0C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB10, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB14, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB18, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB1C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB20, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB48, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB58, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB5C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB6C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB70, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB78, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB7C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB88, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB8C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB90, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB98, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xB9C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xBA0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xBA4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xBAC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xBB4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xBB8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xBC0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xBC8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xBCC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xBD8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xBE0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xBE8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xBEC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xBFC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC04, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC08, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC14, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC18, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC1C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC28, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC2C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC38, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC48, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC4C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC50, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC5C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC60, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC68, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC74, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC80, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xC84, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xCAC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xCC0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xCE0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xCE4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xCE8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xCF4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xCFC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD00, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD08, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD0C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD24, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD2C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD30, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD34, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD38, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD44, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD48, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD54, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD5C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD60, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD64, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD68, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD6C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD70, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD90, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD94, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD98, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xD9C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDA0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDA4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDA8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDAC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDB0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDB4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDBC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDC0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDC4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDC8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDCC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDD0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDD4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDE0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDE4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDE8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDEC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDF0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDF4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDF8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xDFC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE00, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE04, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE08, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE0C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE10, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE14, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE20, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE24, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE2C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE30, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE34, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE3C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE40, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE44, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE48, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE4C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE50, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE54, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE58, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE5C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE60, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE64, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE68, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE6C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE70, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE74, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE78, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE7C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE80, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE84, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE88, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE8C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE94, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE98, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xE9C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEA0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEA4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEA8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEAC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEB0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEBC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEC0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEC4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEC8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xECC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xED0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xED4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xED8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEDC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEE0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEE4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEE8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEEC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEF0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEF4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xEFC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF00, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF04, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF18, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF1C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF20, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF28, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF2C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF30, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF34, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF3C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF40, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF50, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF54, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF58, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF5C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF60, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF64, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF70, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF74, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF78, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF7C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF80, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF84, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF90, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF94, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xF9C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFA0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFA4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFA8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFAC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFB0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFB4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFB8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFBC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFC0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFC4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFC8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFCC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFD0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFD4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFDC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFE0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFE8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFEC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFF0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFF4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFF8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0xFFC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1000, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1004, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1008, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1010, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1014, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1018, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x101C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1024, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1028, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x102C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1030, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1034, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1040, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1044, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1048, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x104C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1050, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1054, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1058, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x105C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1060, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1064, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1068, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x106C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1070, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1074, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1078, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x107C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1080, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1084, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x108C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1090, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1094, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1098, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x109C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10A0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10A4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10A8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10AC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10B0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10B4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10B8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10BC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10C0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10C4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10CC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10D0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10D4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10D8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10DC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10E0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10E4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10E8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10EC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10F0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x10F4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1104, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1110, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1114, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1120, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1124, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1128, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x112C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1130, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1134, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1138, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x113C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1140, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1144, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1154, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1158, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x115C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1160, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1164, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1168, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x116C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1170, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1174, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1178, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x117C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1180, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1184, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1188, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x118C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1190, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x1194, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55AEC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55B10, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55B14, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55B28, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55B2C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55B40, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55B44, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55B58, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55B64, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55BBC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55BF0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55BF4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55C2C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55C38, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55C40, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55C5C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55C68, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55CA4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55CDC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55D14, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55D4C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55D84, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55DBC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55DF4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55E2C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55E64, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55E94, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55EA0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55EAC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55EB4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55ED0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55ED4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55ED8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55F30, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55F3C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55F44, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55F60, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55F6C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55FA8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x55FE0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56018, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56050, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56088, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x560C0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x560F8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56130, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56168, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56198, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x561A4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x561B0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x561B8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x561E8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56214, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56238, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56264, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5628C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x562C0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x562C4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x562F8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x563A0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x563A8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x563C4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x563C8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x563CC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56400, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5640C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56418, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56430, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56474, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5647C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56498, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x564C4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5650C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56530, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x565D4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x565DC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x565F8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56604, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56610, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5666C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56674, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56690, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x566B0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x566E8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56710, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56738, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56760, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5681C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56854, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5687C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x568A4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x568CC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5698C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x569F0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x569F4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x569FC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56A00, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56A08, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56A24, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56A2C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56A30, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56A3C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56A48, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56A74, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56A7C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56A88, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56A94, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56AB8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56AC8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56AD4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56AE0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56AE8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56AF0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56B18, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56B2C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56B34, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56B38, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56B44, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56B50, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56B58, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56B88, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56B90, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56BA8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56BB0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56BD4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56BDC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56BE0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56BEC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56BF8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56C24, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56C44, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56C68, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56C90, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56CAC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56CB0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56CC8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56CD0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56CD4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56CE0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56CEC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56CF4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56D24, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56D2C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56D54, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56D60, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56D68, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56D74, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56DAC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56DB4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56DC0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56DC8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56E08, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56E14, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56E48, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56E50, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56E5C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56E64, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56E80, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56E94, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56EA0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56EA8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x56EC0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57028, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57064, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57078, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5707C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57170, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57184, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57188, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57190, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57194, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x571B4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x571C0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x571E4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x571E8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x571F0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x571F4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57210, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5721C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57228, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5722C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57244, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57248, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57250, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57254, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5725C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57278, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57284, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x572A8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x572AC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x572D0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57388, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x573A4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x573C0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x573DC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5742C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57444, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5745C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57474, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x5748C, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x574A4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x574BC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x574D4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x574E8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x575BC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57648, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57698, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x576B0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x576B4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x576C8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x576CC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x576E0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x576E4, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x576FC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57700, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57710, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57718, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57744, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57768, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57780, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57798, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x577F0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57810, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x578A0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x578B8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x578BC, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x578E0, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x578E8, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57908, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57910, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57930, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57938, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57958, ['dI']=true}, { ['fIl']=0, ['lxI']=4, ['Ixl']=0x57960, ['dI']=true}}} Write.Celebrate(Reading[2],Reading[3],Reading[4],Reading[1]) string.toMusic("开启成功") end, }, { "全局离线", function() BaseAddressD(0x1E5CC78,'-476053503') string.toMusic("开启成功") end, function() BaseAddressD(0x1E5CC78,'-382908368') string.toMusic("开启成功") end, }, { "超级全防", function() nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc0396c},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc0396c+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc0014c},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc0014c+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xbffc7c},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xbffc7c+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xbff87c},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xbff87c+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xbfe564},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xbfe564+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc3d8e8},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc3d8e8+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc3cefc},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc3cefc+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc3cd24},}) gg.toast("宝~已修改成功,祝您游戏愉快~") nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc3cd24+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc3cbb8},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc3cbb8+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc0b280},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc0b280+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc3c86c},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc3c86c+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc3c52c},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc3c52c+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc3c1dc},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc3c1dc+4},}) gg.toast("宝~已修改成功,祝您游戏愉快~") nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc3bcdc},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc3bcdc+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc3bb44},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc3bb44+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc3a944},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc3a944+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc3a37c},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc3a37c+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc39f04},}) gg.toast("宝~已修改成功,祝您游戏愉快~") nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc39f04+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc39098},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc39098+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc38e98},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc38e98+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc38cbc},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc38cbc+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc074dc},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xc074dc+4},}) nc_offset(getso("libil2cpp.so"),{{-476053404,4,0xc35e28},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0x3bb31f0},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x3bb31f4},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0x3bb3c14},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x3bb3c18},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0x2844d90},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x2844d94},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0x2858038},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x285803c},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0x2858044},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x2858048},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0x1731680},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x1731688},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0xbebdb4},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xbebdb8},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0xbf9438},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xbf943c},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0x2844d9c},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x2844da0},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0x3bb31f0},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x3bb31f4},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0x3bb3c14},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x3bb3c18},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0x2844d90},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x2844d94},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0x2858038},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x285803c},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0x2858044},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x2858048},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0x1731680},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x1731688},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0xbebdb4},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xbebdb8},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0xbf9438},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0xbf943c},}) nc_offset(getso("libil2cpp.so"),{{-476053503,4,0x2844d9c},}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x2844da0},}) string.toMusic("开启成功") end, }, { "清空列表", function() gg.clearList() gg.clearResults() string.toMusic("清空完毕") end, }, }), }, { changan.text("XM内置", "#ffffff", "20sp"), changan.button("❄选择进程", function() string.toMusic("请选择游戏进程") gg.setProcessX() end), changan.box({ "稳定功能", changan.check({ { "全局加速", function() FR=gg.prompt({""},{[1]="" }) if FR==nil then os.exit(print("你点了取消")) end fastsearch({ {1020054733,4,32}, {1031127695,-4,4}, },{ {FR[1],-8,16,false} }) string.toMusic("开启成功") end, function() fastsearch({ {1020054733,4,32}, {1031127695,-4,4}, },{ {1,-8,16,false} }) string.toMusic("开启成功") end, }, { "秒开一切", function() nc_offset(getso("libil2cpp.so"),{{9,16,0x4F55984},}) string.toMusic("开启成功") end, }, { "乐迪加速", function() a=gg.prompt({"调0即是关闭"},{[1]= -0.3}) fastsearch({{9.184530524724149E-41,16,32},{0.15000000596046448,108,16}},{{a[1],104,16,true}},'乐迪加速') string.toMusic("开启成功") end, }, { "医疗箱范围", function() a=gg.prompt({"医疗箱范围"},{[1]= 20}) editData( { {["memory"] = 32}, {["name"] ="医疗箱范围"}, {["value"] =4608083138725491507, ["type"] = 32}, {["lv"] = 3689348813882916864, ["offset"] = -4, ["type"] = 32}, }, { {["value"] =a[1], ["offset"] = 0, ["type"] = 64}, } ) gg.clearResults() string.toMusic("开启成功") end, }, { "人物爬墙", function() fastsearch({ { 452984764, 4, 16384 }, { -498347968, 4, 4 }, { -323122424, 8, 4 }, { -494022652, 12, 4 } }, { { -1, 20, 16 } }, "人物爬墙") string.toMusic("开启成功") end, }, { "强制开猪", function() fastsearch({{1120403456, 4, 32}, {1063256063, -244, 4}, {0, -32, 4}}, {{1, -32, 4, true}}) string.toMusic("开启成功") end, }, { "倒车跳跃", function() BaseAddressD(0x1A97EA8,'-476053504') string.toMusic("开启成功") end, }, { "自动回血", function() fastsearch({{2.0, 16, 32},{1.5, 4, 16},{10.0, 8, 16}},{{100, 0, 16, false},{100, 8, 16, false}}) string.toMusic("开启成功") end, }, { "凭空回血", function() BaseAddressD(0x153F59C,'-516948194') BaseAddressD(0x153EC24,'-516948194') string.toMusic("开启成功") end, function() BaseAddressD(0x153F59C,'-382906384') BaseAddressD(0x153EC24,'-382906384') string.toMusic("开启成功") end, }, { "跳跃飞天", function() BaseAddressY(0x1A987F0,'~A bx lr') string.toMusic("开启成功") end, function() BaseAddressY(0x1A987F0,'-382908368') string.toMusic("开启成功") end, }, { "人物穿墙", function() fastsearch({{-10.0,16,32},{49.0,20,16}},{{999999,0,16,false}}) string.toMusic("开启成功") end, }, { "返回大厅", function() BaseAddressY(0xE09758,'-369091794') gg.sleep(200) BaseAddressY(0xE09758,'-382906896') string.toMusic("开启成功") end, }, { "无视夹子", function() BaseAddressY(0x17408B8,'-516948194') string.toMusic("开启成功") end, }, { "人物移速", function() BaseAddressY(0xEA5FD8,'-298776062') string.toMusic("开启成功") end, }, { "视角大小", function() BZ = gg.prompt({"你的数值修改;[12;150]"},{"16"},{"number"}) if BZ==nil then else lua=BZ[1] fastsearch({{100.0, 16, 32},{10.0, 8, 16}, {30.0, 16, 16}}, {{100.0, 0, 16, false}, {lua, 4, 16, false}}) end string.toMusic("开启成功") end, }, { "秒上白银", function() BaseAddressD(0xDF9C5C,'-482082000') BaseAddressD(0x14BB064,'-476053496') BaseAddressY(0x13FD69C,'-352331149') BaseAddressY(0xE09758,'-369090146') gg.sleep(499) BaseAddressA(0xDF9C5C,'-382907376') BaseAddressQ(0x14BB064,'-382906384') BaseAddressY(0x13FD69C,'-382907280') BaseAddressY(0xE09758,'-382906896') string.toMusic("开启成功") end, }, { "挑杆距离", function() fastsearch({{1074266112,4,32},{6,-112,4},{1074266112,-72,4}},{{10.0,-148,64,true}}) string.toMusic("开启成功") end, }, { "人物踏空", function() nc_offset(getso('libil2cpp.so'),{{10.0,4,0xEC5F18}}) string.toMusic("开启成功") end, function() nc_offset(getso('libil2cpp.so'),{{0.07999999821186066,4,0xEC5F18}}) string.toMusic("开启成功") end, }, { "6格道具", function() qmnb = { {["memory"] = 32}, {["name"] = "六格道具卡槽"}, {["value"] = 211.0, ["type"] = 16}, {["lv"] = 4.0, ["offset"] = -20, ["type"] = 16}, {["lv"] = 70.0, ["offset"] = -4, ["type"] = 16}, {["lv"] = 26.0, ["offset"] = 8, ["type"] = 16}, } qmxg = { {["value"] = 6, ["offset"] = -16, ["type"] = 4},} xqmnb(qmnb) string.toMusic("开启成功") end, }, { "明亮透视", function() nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x1BF0D58}}) nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x1BF0D5C}}) string.toMusic("开启成功") end, function() nc_offset(getso('libil2cpp.so'),{{-382906384,4,0x1BF0D58}}) nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x1BF0D5C}}) string.toMusic("开启成功") end, }, { "渲染透视", function() fastsearch({{500.0, 16, 32}, {180.0, 4, 16}, {1800.0, 8, 16}, {648.0, 12, 16}}, {{1, 72, 4,false}}) string.toMusic("开启成功") end, }, { "追捕传送", function() BaseAddressY(0x15EB834,'-352323564') string.toMusic("开启成功") end, function() BaseAddressY(0x15EB834,'-382906384') string.toMusic("开启成功") end, }, { "手雷改跃击", function() gg.setRanges(32) Name="测试" local tb1= { {813301881,4,0}, {4325476,4,-80}, {7143507,4,-48}, } local tb2= { {50050006,4,320}, } SearchWrite(tb1,tb2,dataType) string.toMusic("开启成功") end, }, { "跃击进化", function() Pilhz({{false,3.0,8,16,nil,nil},{0.30000001192092896,20,16}},{{200,0,16,false},{20,4,16,false}},16,32,"跃击进化") string.toMusic("开启成功") end, }, }), }), changan.box({ "半稳功能", changan.check({ { "道具皮肤", function() nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x13D6810}}) nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x13D6958}}) string.toMusic("开启成功") end, }, { "全员卡顿", function() nc_offset(getso('libil2cpp.so'),{{-352324548,4,0x23C453C}}) string.toMusic("开启成功") end, function() nc_offset(getso('libil2cpp.so'),{{-382908368,4,0x23C453C}}) string.toMusic("开启成功") end, }, { "锁血", function() nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x110EB70}}) string.toMusic("开启成功") end, function() nc_offset(getso('libil2cpp.so'),{{-382906384,4,0x110EB70}}) string.toMusic("开启成功") end, }, { "疾跑buff", function() nc_offset(getso('libil2cpp.so'),{{-369097885,4,0x1D42BE4}}) string.toMusic("开启成功") end, function() nc_offset(getso('libil2cpp.so'),{{-382906384,4,0x1D42BE4}}) string.toMusic("开启成功") end, }, { "飞机进化", function() local Search_array = {{60, 4, 32,''},{3.0, 4, 16},{2, 12, 4},{5.5, 24, 16}} local Modifythe_array = {{0, 0, 4, false},{0.0, 4, 16, false},{1, 12, 4, false},{30.0, 24, 16, false}}LSQ_pointer(Search_array, Modifythe_array) string.toMusic("开启成功") end, }, { "人物全皮", function() nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x23DEA04}}) nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x2DD2450}}) string.toMusic("开启成功") end, }, { "解锁模式", function() nc_offset(getso('libil2cpp.so'),{{-476053503,4,0x14BFF34}}) nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x14BFF38}}) string.toMusic("开启成功") end, function() nc_offset(getso('libil2cpp.so'),{{-382907408,4,0x14BFF34}}) nc_offset(getso('libil2cpp.so'),{{-494030824,4,0x14BFF38}}) string.toMusic("开启成功") end, }, { "无视指针", function() BaseAddressY(0x15995a8,'-352321920') string.toMusic("开启成功") end, }, { "实体防拖", function() BaseAddressD(0xEB48D0,'-476053503') string.toMusic("开启成功") end, function() BaseAddressD(0xEB48D0,'-382908368') string.toMusic("开启成功") end, }, { "逃生数量", function() BaseAddressD(0x1E62E3C,'~A MOV R0, #18') string.toMusic("开启成功") end, }, { "老版本登陆界面", function() BaseAddressD(0x1DE9A10,'~A BX LR') string.toMusic("开启成功") end, }, { "制裁队友", function() BaseAddressD(0x3E01C94,'~A BX LR') string.toMusic("开启成功") end, }, { "金币翻倍", function() BaseAddressD(0x1E655F4,'-476052411') string.toMusic("开启成功") end, function() BaseAddressAA(0x1E655F4,'-382907280') string.toMusic("开启成功") end, }, { "箱子千金", function() BaseAddressD(0x207DD4C,'-476053439') string.toMusic("开启成功") end, function() BaseAddressAA(0x207DD4C,'-382908176') string.toMusic("开启成功") end, }, { "禁用按键", function() BaseAddressD(0xED149C,'-476053503') string.toMusic("开启成功") end, function() BaseAddressQ(0xED149C,'-494030832') string.toMusic("开启成功") end, }, { "秒做任务", function() gg.alert('游戏开始页面开启') field = classSearch("YMlNKWQAivQoAOFMSOhVDesIDcSaTikaoAHrtpHf", 0x1c) field = classSearch("YMlNKWQAivQoAOFMSOhVDesIDcSaTikaoAHrtpHf", 0x3c) field = classSearch("YMlNKWQAivQoAOFMSOhVDesIDcSaTikaoAHrtpHf", 0x8) field = classSearch("YMlNKWQAivQoAOFMSOhVDesIDcSaTikaoAHrtpHf", 0x18) editerObject(field, {9999, 4, false}) string.toMusic("开启成功") end, }, { "变身攻击", function() BaseAddressY(0xF4A5A4,'-516948194') string.toMusic("开启成功") end, function() BaseAddressY(0xF4A5A4,'-382907280') string.toMusic("开启成功") end, }, { "逃生体质", function() local qmnb= { {['memory']=32}, {['name']='逃生体质'}, {['value']=1077097267, ['type']=4}, {['lv']=1073741824,['offset']=-72, ['type']=4}, {['lv']=-1054867456,['offset']=-40, ['type']=4}, } local qmxg= { {['value']=20,['offset']=848,['type']=16}, } xqmnb(qmnb,qmxg) local qmnb= { {['memory']=32}, {['name']='逃生体质'}, {['value']=-1027080192, ['type']=4}, {['lv']=1073741824,['offset']=-116, ['type']=4}, {['lv']=1088421888,['offset']=-44, ['type']=4}, } local qmxg= { {['value']=2,['offset']=836,['type']=16}, } xqmnb(qmnb,qmxg) string.toMusic("开启成功") end, }, { "道具等级", function() nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x13BA92C}}) nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x38536C8}}) string.toMusic("开启成功") end, }, { "道具无冷", function() nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x1257084},}) string.toMusic("开启成功") end, }, { "CS吸人", function() nc_offset(getso('libil2cpp.so'),{{-516948194,4,0xE09700}}) string.toMusic("开启成功") end, function() nc_offset(getso('libil2cpp.so'),{{-382908368,4,0xE09700}}) string.toMusic("开启成功") end, }, { "左下角复活", function() nc_offset(getso("libil2cpp.so"),{{-369095781,4,0x151BCF4},}) nc_offset(getso("libil2cpp.so"),{{-382906384,4,0x151BCF4},}) string.toMusic("开启成功") end, }, { "人物祭天", function() BaseAddressY(0x152BCF4,'-352327797') gg.sleep(235) BaseAddressY(0x152BCF4,'-382906384') string.toMusic("开启成功") end, }, { "直接逃生", function() nc_offset(getso("libil2cpp.so"), {{-352331129,4,22235620}}) nc_offset(getso("libil2cpp.so"), {{-382907280,4,22235620}}) string.toMusic("开启成功") end, }, { "跳跃逃生", function() BaseAddressY(0xED862C,'-367441035') string.toMusic("开启成功") end, function() BaseAddressY(0xED862C,'-382907280') string.toMusic("开启成功") end, }, { "移动开物", function() nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x22FD724}}) string.toMusic("开启成功") end, }, { "追捕狂暴", function() BaseAddressD(0x1529EAC,'-476053503') gg.sleep(30) BaseAddressD(0x1529EAC,'-476053504') BaseAddressC(0x1529EAC,'-382906896') string.toMusic("开启成功") end, }, { "buff加速", function() BaseAddressD(0x3EB5030,'-476052411') string.toMusic("开启成功") end, }, { "buff持久", function() BaseAddressD(0x1A4787C,'-476053503') string.toMusic("开启成功") end, }, { "导弹进化", function() BaseAddressY(0x18F6868,'-352323000') string.toMusic("开启成功") end, }, { "全图秒开", function() nc_offset(getso('libil2cpp.so'),{{-369094861,4,0x19449DC}}) gg.sleep(20) nc_offset(getso('libil2cpp.so'),{{-382906896,4,0x19449DC}}) string.toMusic("开启成功") end, }, { "全屏特效", function() fastsearch({ {-476028927,4,16384}, {-485717185,-0x8,4}, },{ {100.0,-0x48,16,false}, },"全屏特效[开]") string.toMusic("开启成功") end, function() fastsearch({ {-476028927,4,16384}, {-485717185,-0x8,4}, },{ {0.00999999978,-0x48,16,false}, },"全屏特效[关]") string.toMusic("开启成功") end, }, { "改道具", function() zc=gg.prompt({"火箭筒:200.201.202\n迫击炮210.211.212\n冲锋枪230.231.232\n能量剑240.241.242\n蹦蹦枪250.251.252\n能量炮280.281.282\n霰弹枪290.291.292\n唤风镖300.301.302\n霸天斧310.311.312","开启","恢复"},{},{"number","checkbox","checkbox"}) if zc~= nil then if zc[1] then end if zc[2] then BaseAddressD(0x13E20B8,'~A MOVW R0, #'..zc[1]) end if zc[3] then BaseAddressAA(0x13E20B8,'-382907280') end end string.toMusic("开启成功") end, }, { "倒地购物", function() nc_offset(getso('libil2cpp.so'),{{-476053504,4,0x151DBB0}}) nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x151DBB4}}) string.toMusic("开启成功") end, }, { "不死捐钱", function() local t = {"libil2cpp.so", "Cd"} local tt = {0x108870, 0x5C, 0x30, 0xC8, 0xC, 0x1C} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = -1, freeze = true}}) string.toMusic("开启成功") end, }, { "改动作", function() qmnb= { {['memory']=32}, {['name']='动作美化'}, {['value']=950001, ['type']=4}, {['lv']=8,['offset']=-4, ['type']=4}, } qmxg= { {['value']=965501,['offset']=0,['type']=4}, {['value']=954741,['offset']=4,['type']=4}, {['value']=961731,['offset']=8,['type']=4}, {['value']=961711,['offset']=12,['type']=4}, {['value']=961361,['offset']=16,['type']=4}, {['value']=953351,['offset']=20,['type']=4}, {['value']=961351,['offset']=24,['type']=4}, {['value']=960921,['offset']=28,['type']=4}, } xqmnb(qmnb,qmxg) string.toMusic("开启成功") end, }, }), }), changan.box({ "角色功能", changan.check({ { "技能数量", function() fastsearch({{1581114487,4,32},{-934560717,-4,4}},{{4,-44,4,true}},"技能数量") string.toMusic("开启成功") end, }, { "技能冷却", function() fastsearch({{1581114487,4,32},{-934560717,-4,4}},{{0,-40,16},{0,-36,16}},"技能冷却") string.toMusic("开启成功") end, }, { "技能免费", function() local Search_array = {{ 1581114487, 4, 32, '技能免费'}, {-934560717, -4, 4} } local Modifythe_a string.toMusic("开启成功") end, }, { "失忆艾可", function() local addr = readPointer("libil2cpp.so", {1068668, 92, 124, 24, 12, 0x0}, 5) t1=gg.getValues({{address=addr+0x8C,flags=4}}) gg.edits(addr+0x2C, {{t1[1].value, 4, 0, false}}) string.toMusic("开启成功") end, }, { "艾可进化", function() fastsearch({{-934560717,4,32},{0,-40,4},{1581114487,4,4},{3.0,232,16}},{{3,-40,4,true},{0,168,4},{0,172,4},{1,232,16,true}}) fastsearch({{-934560717,4,32},{1581114487,0x4,4},{0,0x8,4},{3,0xC,4},{-1,0x28,4},},{{9999,-0x28,4},{10509,140,4},},"艾可数量") string.toMusic("开启成功") end, }, { "艾可全屏", function() BaseAddressY(0x14626F8,'~A bx lr') string.toMusic("开启成功") end, function() BaseAddressA(0x24E8284,'-382908368') string.toMusic("开启成功") end, }, { "云朵全屏", function() BaseAddressY(0x13B789C,'-516948194') string.toMusic("开启成功") end, }, { "圣女进化", function() zc=gg.alert("圣女","①","②","③") if zc==1 then fastsearch({{-934560717,4,32},{1581114487,4,4},{1,76,4}},{{0,-36,4},{0,-32,4},{0,16,4},{0,20,4},{-1,24,4},{0,32,4},{0,36,4},{4,76,4,true}},"圣女进化") end if zc==2 then fastsearch({{-934560717,4,32},{1581114487,4,4},{4,76,4}},{{0,-36,4},{0,-32,4},{0,16,4},{0,20,4},{1,24,4},{0,32,4},{0,36,4},{4,76,4,true}},"圣女进化") end if zc==3 then fastsearch({{-934560717,4,32},{1581114487,4,4},{4,76,4}},{{0,-36,4},{0,-32,4},{0,16,4},{0,20,4},{1,28,4},{0,32,4},{0,36,4},{4,76,4,true}},"圣女进化") end string.toMusic("开启成功") end, }, { "劲凯全屏", function() BaseAddressY(0x1FDEAE4,'-516948194') string.toMusic("开启成功") end, function() BaseAddressY(0x1FDEAE4,'-382906384') string.toMusic("开启成功") end, }, { "幽研全屏", function() BaseAddressD(0x1A4F850,'~A bx lr') string.toMusic("开启成功") end, function() BaseAddressA(0x1A4F850,'-382907408') string.toMusic("开启成功") end, }, { "茶郎强化", function() BaseAddressD(0x28C362C,'-516948194') string.toMusic("开启成功") end, }, { "狐狸刷钱", function() fastsearch({{1581114487, 4, 32}, {-934560717, -4, 4}, {1069547520, 60, 4}}, {{0, -56, 4, true}, {0, -52, 4, true}, {10000, 28, 4, true}}) string.toMusic("开启成功") end, }, { "狐狸刷盾", function() BaseAddressD(0x1E662B4,'-352324418') BaseAddressA(0x1E662B4,'-382908368') string.toMusic("开启成功") end, function() BaseAddressA(0x215A184,'-382908368') string.toMusic("开启成功") end, }, { "狮子进化", function() fastsearch({{-934560717,4,32},{1581114487,0x4,4},{80,0x8,4},{0,0xC,4},{-1,0x28,4},},{{9999,0x74,16},{9999,0x78,16},},"狮子进化") string.toMusic("开启成功") end, }, }), }), }, { changan.box({ "火力功能", changan.check({ { "武器间隔", function() nc_offset(getso('libil2cpp.so'),{{-369092036,4,0x2676E60}}) nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x267D474}}) string.toMusic("开启成功") end, }, { "武器后座", function() nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x26810B0}}) string.toMusic("开启成功") end, }, { "完美无后", function() nc_offset(getso('libil2cpp.so'),{{1073741824,4,0x2686D38}}) string.toMusic("开启成功") end, }, { "开火瞬移", function() BaseAddressY(0x1B50CBC,'~A BX LR') string.toMusic("开启成功") end, }, { "子弹速度", function() nc_offset(getso("libil2cpp.so"),{{10.5,16,0x2410BAC},}) string.toMusic("开启成功") end, }, { "子弹射程", function() nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x2685134}}) nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x2685138}}) string.toMusic("开启成功") end, function() BaseAddressY(0x106D564,'-382907408') string.toMusic("开启成功") end, }, { "锁子弹", function() BaseAddressY(0xF48DC0,'-516948194') string.toMusic("开启成功") end, }, { "子弹穿墙", function() nc_offset(getso('libil2cpp.so'),{{-516948194,4,0x2685CEC}}) string.toMusic("开启成功") end, function() nc_offset(getso('libil2cpp.so'),{{-382906384,4,0x2685CEC}}) string.toMusic("开启成功") end, }, { "秒换子弹", function() local t = {"libil2cpp.so", "Cd"} local tt = {0xFDBB0, 0x5C, 0x70, 0x38, 0x58} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 0, freeze = true}}) string.toMusic("开启成功") end, }, { "追捕破盾", function() nc_offset(getso("libil2cpp.so"),{{-476053504,4,0x3D3D694}}) nc_offset(getso("libil2cpp.so"),{{-516948194,4,0x3D3D698}}) string.toMusic("开启成功") end, }, { "增加子弹", function() local t = {"libil2cpp.so", "Cd"} local tt = {0x10663C, 0x5C, 0x20, 0x54, 0x78} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 4, value = 550, freeze = true}}) string.toMusic("开启成功") end, }, { "子弹秒杀", function() local t = {"libil2cpp.so", "Cd"} local tt = {0xE9B68, 0x5C, 0x10, 0xC0, 0x124} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 16, value = 99999, freeze = true}}) string.toMusic("开启成功") end, }, { "强化子弹", function() BaseAddressD(0x24106E4,'-476053504') BaseAddressD(0x24106E4,'-382908176') string.toMusic("开启成功") end, function() BaseAddressD(0x2756324,'-382908176') string.toMusic("开启成功") end, }, { "超级武器", function() local addr =readPointer("libil2cpp.so", {1301328, 452, 92, 248, 24, 124, 364}, 5) gg.addList(addr, {{4, 0, false}}) local addr = readPointer("libil2cpp.so", { 1084100, 92, 0, 192, 140 ,0x34}, 5) gg.edits(addr, {{ree, 4, 0, false}}) string.toMusic("开启成功") end, }, { "弓箭蓄力", function() BaseAddressF(0xE0B7EC,'-1') string.toMusic("开启成功") end, }, { "刷新武器", function() local t = {"libil2cpp.so", "Cd"} local tt = {0xE9B68, 0x5C, 0x10, 0xC0, 0x88} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 1}}) string.toMusic("开启成功") end, function() local t = {"libil2cpp.so", "Cd"} local tt = {0xE9B68, 0x5C, 0x10, 0xC0, 0x88} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 1}}) string.toMusic("开启成功") end, }, { "修改武器", function() fy=gg.prompt({"火箭筒","迫击炮","冲锋枪","能量剑","蹦蹦枪","能量腕炮","霰弹枪","唤风镖","霸天斧","聚合弓","治疗枪","回旋镖","毁灭枪","河豚枪"},nil,{"checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox"}) if fy~= nil then if fy[1] then gg.setValues({ { address = readPointer("libil2cpp.so", { 1073828, 92, 28, 84, 140 }, 5), value = gg.getValues({ { address = readPointer("libil2cpp.so", { 1067824, 92, 268, 24, 12, 28 }, 5) + 32, flags = 4 } })[1].value, flags = 4 } }) end if fy[2] then gg.setValues({ { address = readPointer("libil2cpp.so", { 1073828, 92, 28, 84, 140 }, 5), value = gg.getValues({ { address = readPointer("libil2cpp.so", { 1067824, 92, 268, 24, 12, 28 }, 5) + 80, flags = 4 } })[1].value, flags = 4 } }) end if fy[3] then gg.setValues({ { address = readPointer("libil2cpp.so", { 1073828, 92, 28, 84, 140 }, 5), value = gg.getValues({ { address = readPointer("libil2cpp.so", { 1067824, 92, 268, 24, 12, 28 }, 5) + 128, flags = 4 } })[1].value, flags = 4 } }) end if fy[4] then gg.setValues({ { address = readPointer("libil2cpp.so", { 1073828, 92, 28, 84, 140 }, 5), value = gg.getValues({ { address = readPointer("libil2cpp.so", { 1067824, 92, 268, 24, 12, 28 }, 5) + 192, flags = 4 } })[1].value, flags = 4 } }) end if fy[5] then gg.setValues({ { address = readPointer("libil2cpp.so", { 1073828, 92, 28, 84, 140 }, 5), value = gg.getValues({ { address = readPointer("libil2cpp.so", { 1067824, 92, 268, 24, 12, 28 }, 5) + 240, flags = 4 } })[1].value, flags = 4 } }) end if fy[6] then gg.setValues({ { address = readPointer("libil2cpp.so", { 1073828, 92, 28, 84, 140 }, 5), value = gg.getValues({ { address = readPointer("libil2cpp.so", { 1067824, 92, 268, 24, 12, 28 }, 5) + 320, flags = 4 } })[1].value, flags = 4 } }) end if fy[7] then gg.setValues({ { address = readPointer("libil2cpp.so", { 1073828, 92, 28, 84, 140 }, 5), value = gg.getValues({ { address = readPointer("libil2cpp.so", { 1067824, 92, 268, 24, 12, 28 }, 5) + 368, flags = 4 } })[1].value, flags = 4 } }) end if fy[8] then gg.setValues({ { address = readPointer("libil2cpp.so", { 1073828, 92, 28, 84, 140 }, 5), value = gg.getValues({ { address = readPointer("libil2cpp.so", { 1067824, 92, 268, 24, 12, 28 }, 5) + 416, flags = 4 } })[1].value, flags = 4 } }) end if fy[9] then gg.setValues({ { address = readPointer("libil2cpp.so", { 1073828, 92, 28, 84, 140 }, 5), value = gg.getValues({ { address = readPointer("libil2cpp.so", { 1067824, 92, 268, 24, 12, 28 }, 5) + 464, flags = 4 } })[1].value, flags = 4 } }) end if fy[10] then gg.setValues({ { address = readPointer("libil2cpp.so", { 1073828, 92, 28, 84, 140 }, 5), value = gg.getValues({ { address = readPointer("libil2cpp.so", { 1067824, 92, 268, 24, 12, 28 }, 5) + 512, flags = 4 } })[1].value, flags = 4 } }) end if fy[11] then gg.setValues({ { address = readPointer("libil2cpp.so", { 1073828, 92, 28, 84, 140 }, 5), value = gg.getValues({ { address = readPointer("libil2cpp.so", { 1067824, 92, 268, 24, 12, 28 }, 5) + 576, flags = 4 } })[1].value, flags = 4 } }) end if fy[12] then gg.setValues({ { address = readPointer("libil2cpp.so", { 1073828, 92, 28, 84, 140 }, 5), value = gg.getValues({ { address = readPointer("libil2cpp.so", { 1067824, 92, 268, 24, 12, 28 }, 5) + 608, flags = 4 } })[1].value, flags = 4 } }) end if fy[13] then gg.setValues({ { address = readPointer("libil2cpp.so", { 1073828, 92, 28, 84, 140 }, 5), value = gg.getValues({ { address = readPointer("libil2cpp.so", { 1067824, 92, 268, 24, 12, 28 }, 5) + 688, flags = 4 } })[1].value, flags = 4 } }) end if fy[14] then gg.setValues({ { address = readPointer("libil2cpp.so", { 1073828, 92, 28, 84, 140 }, 5), value = gg.getValues({ { address = readPointer("libil2cpp.so", { 1067824, 92, 268, 24, 12, 28 }, 5) + 704, flags = 4 } })[1].value, flags = 4 } }) end end end, }, { "迫击炮秒落地", function() local Search_array = { {90, 16, 32, "迫击秒落"}, {0.05000000074505806, -8, 16} } local Modifythe_array = { {22, 112, 16, true}, {22, 116, 16, true}, {22, 120, 16, true}, {22, 124, 16, true}, {22, 128, 16, true},} LSQ_pointer(Search_array, Modifythe_array) string.toMusic("开启成功") end, }, { "迫击炮射程", function() PS=gg.prompt({"输入迫击炮射程"},{[1]="99"}) fastsearch({{1031127695, 4, 32}, {1008981770, 12, 4}, {1008981770, 16, 4}, {1008981770, 20, 4}, {1028443341, 28, 4}, {0, 40, 4}, {0, 48, 4}, {0, 60, 4}}, {{PS[1], -4, 16, false}}) string.toMusic("开启成功") end, }, { "迫击炮自瞄", function() BaseAddressD(0x1B2AB68,'-482082352') string.toMusic("开启成功") end, function() BaseAddressA(0x1B2AB68,'-382908368') string.toMusic("开启成功") end, }, { "武器连发", function() gg.sx("WeaponAttackInfo",0x18,2,0, false) string.toMusic("开启成功") end, }, { "腕炮范围", function() a=gg.prompt({"能量腕炮范围"},{[1]= 3}) fastsearch({{5,16,32},{1,4,16},{0,8,16}},{{a[1],4,16, false}}) string.toMusic("开启成功") end, }, }), }), }, { changan.text("XM", "#ffffff", "20sp"), changan.text("🐧群:818708950", "#ffffff", "20sp"), changan.text("\n\n\n"), changan.button("退出", function() sj=os.date("%Y%m%d%H%M%S")-bx gg.alert("本次脚本使用了"..sj.."秒") window:removeView(floatWindow) luajava.setFloatingWindowHide(false) luajava .newThread(function() os.exit() end) :start() bloc("end") end), }, {}, }) bloc = luajava.getBlock() bloc("join") luajava.setFloatingWindowHide(false)