do
	if type(getrlyunyz) ~= 'function' then
		gg.alert('请使用RLGG执行')
		os.exit()
		return
	end

	local info = {
	    example_version = '1.0.3',
		name = '落空内部1.0Pro',
		appid = '19054',
		appkey = 'zYA2rPP3S3Z3yhAD',
		rc4key = 'lLTRG33UubtDJuMt',
		version = '1.0',
		mi_type = '3'
	}

	local rlyunyz = getrlyunyz(info)
	local ret = rlyunyz.start()
	if not ret or not isTable(ret) or ret.sign ~= 'a185c98f7a7beff7a7fb720e5cf9488d' then
		os.exit()
		return
	end
end
-- 把以上代码复制到你脚本最前面即可

gg.alert('RLGG')


	
-- 把以上代码复制到你脚本最前面即可



gg.alert("请使用RLGG执行[请在辅助设置里打开基址初始才能正常使用]\n落空内部1.0Pro欢迎您")
toMusic("欢迎使用落空内部支持8.16.2作者QQ:2709510863代理QQ:3182751141祝你稳定奔放！")
  function interruptThread(thread)
	if thread then
		pcall(function()
			thread:interrupt()
		end)
	end
end

draw.text('落空内部 适用8.16.2', 200,100)
draw.setColor('#ffff1500')
draw.text('交流群871199636', 200,150)
draw.setColor('#ffff1500')
draw.text('作者QQ2709510863', 200,200)
draw.setColor('#ffff1500')
draw.text('作者:落空 代理:嗯',200,250)
draw.setColor('#FF3F72FF')
draw.text('认准本人快手号:3561893832',200,300)
draw.setColor('#ffff1500')
local floatingWindowManager = require('floatingWindowManager')
floatingWindowManager:init()
  function interruptThread(thread)
	if thread then
		pcall(function()
			thread:interrupt()
		end)
	end
end
-- 获取异步线程回调
local function getASyncThreadCallbak(func)
	return function()
		luajava.startThread(function()
			return pcall(func)
		end)
	end
end

-- 获取同步线程回调, 涉及gg类库的回调只能使用这种,否则可能不稳定
local task
local function getSyncThreadCallbak(func)
	return function()
		if task then
			gg.toast('正在运行其它功能，如在运行其他功能时使用其他功能会失效！')
			return
		end
		luajava.startThread(function()
			task = true
			pcall(func)
			task = nil
		end)
	end
end

-- 获取同步线程回调并执行
local function callSyncThreadCallbak(func)
	return getSyncThreadCallbak(func)()
end

-- 通过功能名称找 function 并获取同步线程回调
local function findFunctionByName(name)
	local func = _ENV[name]
	if not isFunction(func) then
		gg.alert(string.format('不存在 %q 功能', name))
		return nil
	end
	return getSyncThreadCallbak(func)
end

-- 按钮工厂-生产“按钮布局”
local function newButtonLayout(name)
	if not isString(name) then
		return
	end

	local layout = {
		Button,
		background = floatingWindowManager:getStateListDrawable(),
		layout_width = 'match_parent',
		layout_margin = '5dp',
		text = name,
		textSize = '16sp',
		onClick = findFunctionByName(name)
	}

	return layout
end

-- 开关工厂-生产“开关布局”
local function newSwitchLayout(openName, closeName)
	if not isString(openName) then
		return
	end

	local layout = {
		Switch,
		layout_width = 'match_parent',
		text = openName,
		onCheckedChange = function(CompoundButton, state)
			local func
			if state then
				-- 设置开关文本为“关闭”的文本
				if isString(closeName) then
					CompoundButton:setText(closeName)
				end

				-- 找“打开”的功能函数
				func = findFunctionByName(openName)
			else
				-- 设置开关文本为“打开”的文本
				CompoundButton:setText(openName)

				if isString(closeName) then
					-- 找“关闭”的功能函数
					func = findFunctionByName(closeName)
				end
			end

			if isFunction(func) then
				-- 通过 findFunctionByName 获取的函数已经是被多线程包裹的，所以直接执行就可以了
				func()
			end
		end
	}

	return layout
end
function SignatureSearch(FirstCode,SecondCode,Get)
  gg.clearResults()
  gg.setRanges(FirstCode[6]) 
  gg.setVisible(false)
  if FirstCode[1] then
    gg.searchNumber(FirstCode[1],FirstCode[5],false,gg.SIGN_EQUAL,FirstCode[3] or 0,FirstCode[4] or -1)
  end
  if FirstCode[2] then
    gg.searchAddress(FirstCode[2],-1,FirstCode[5],gg.SIGN_EQUAL,0,-1)
  end
  if gg.getResultsCount()>0 then
    local results1,results2,NewResults=gg.getResults(gg.getResultsCount()),gg.getResults(gg.getResultsCount()),{}
    gg.clearResults()
    if #SecondCode>0 then
      for i=1,#SecondCode do
        local Results={}
        if i%2==1 then
          for j,result in ipairs(results1) do
            Results[#Results+1]={}
            Results[#Results].address=result.address+SecondCode[i][2]
            Results[#Results].flags=SecondCode[i][3]
          end
          results2={}
        else
          for j,result in ipairs(results2) do
            Results[#Results+1]={}
            Results[#Results].address=result.address+SecondCode[i][2]
            Results[#Results].flags=SecondCode[i][3]
          end
          results1={}
        end
        Results=gg.getValues(Results)
        local value,code=nil,nil
        for k,result2 in ipairs(Results) do
          if result2.flags==16 or result2.flags==64 then
            value=tostring(result2.value):sub(1,6)
            code=tostring(SecondCode[i][1]):sub(1,6)
          else
            value=result2.value
            code=SecondCode[i][1]
          end
          if i%2==1 then
            if value==code then
              results2[#results2+1]=results1[k] 
            end
          else
            if value==code then
              results1[#results1+1]=results2[k] 
            end
          end 
        end 
      end 
    end
    if #SecondCode%2==1 then
      NewResults=results2
    else
      NewResults=results1
    end
    local changeresults,keepresults,loadresults={},{},{} 
    if #NewResults>0 then
      for i,result in ipairs(NewResults) do
        for j,conduct in ipairs(Get) do 
          if conduct[1] then
            changeresults[#changeresults+1]={}
            changeresults[#changeresults].value=conduct[1]
            changeresults[#changeresults].address=result.address+conduct[2]
            changeresults[#changeresults].flags=conduct[3]
          else
            loadresults[#loadresults+1]={}
            loadresults[#loadresults].address=result.address+conduct[2]
            loadresults[#loadresults].flags=conduct[3]
          end
          if conduct[4] or conduct[5] then
            keepresults[#keepresults+1]={}
            if conduct[1] then
              keepresults[#keepresults].value=conduct[1]
            else
              keepresults[#keepresults].value=gg.getValues({[1]={address=result.address+conduct[2],flags=conduct[3]}})[1].value
            end
            keepresults[#keepresults].address=result.address+conduct[2]
            keepresults[#keepresults].flags=conduct[3]
            keepresults[#keepresults].freeze=conduct[5]
            keepresults[#keepresults].name=conduct[6]
          end 
        end 
      end
      gg.setValues(changeresults)
      gg.loadResults(loadresults)
      gg.addListItems(keepresults)
    else
      gg.toast("请勿在加载进度开启")
    end
  else
    gg.toast("请勿在加载进度开启")
  end
end

do
local ok, err = pcall(require, '中文模块')
if not ok then
	error('中文模块加载失败，尝试重启RLGG试试')
end
end

print(中文函数())
--创建自定义中文函数
中文函数({
	自定义1=print,
	自定义2=gg.alert,
})

打印('自定义1==print',自定义1==print)

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("747135368")
		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 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

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 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"] 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
-------------------------------------------------------------------------------------------------------------
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
-- 【【 核心代码，不懂勿动 】】
--   JF Script编辑器

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 xtnb(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 editData(qmnb,qmxg)gg.setVisible(false)gg.clearResults()qmnbv=qmnb[3]["value"]or qmnb[3][1]qmnbt=qmnb[3]["type"]or qmnb[3][2]qmnbn=qmnb[2]["name"]or qmnb[2][1]gg.setRanges(qmnb[1]["memory"]or qmnb[1][1])gg.searchNumber(qmnbv,qmnbt)gg.refineNumber(qmnbv,qmnbt)sz=gg.getResultCount()if sz==0 then gg.toast(qmnbn.."开启失败")else sl=gg.getResults(999999)for i=1,sz do pdsz=true for v=4,#qmnb do if pdsz==true then pysz={{}}pysz[1].address=sl[i].address+(qmnb[v]["offset"]or qmnb[v][2])pysz[1].flags=qmnb[v]["type"]or qmnb[v][3]szpy=gg.getValues(pysz)tzszpd=tostring(qmnb[v]["lv"]or qmnb[v][1]):gsub(",","")pyszpd=tostring(szpy[1].value):gsub(",","")if tzszpd==pyszpd then pdjg=true pdsz=true else pdjg=false pdsz=false end end end if pdjg==true then szpy=sl[i].address for x=1,#qmxg do xgsz=qmxg[x]["value"]or qmxg[x][1]xgpy=szpy+(qmxg[x]["offset"]or qmxg[x][2])xglx=qmxg[x]["type"]or qmxg[x][3]xgdj=qmxg[x]["freeze"]or qmxg[x][4]xg={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xg[1].freeze=xgdj gg.addListItems(xg)else gg.setValues(xg)end end xgjg=true end end if xgjg==true then gg.toast(qmnbn.."开启成功")else gg.toast(qmnbn.."开启失败")end end end

function 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 --- true 就是冻结
						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 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
-------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------

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 "") .. "修改成功,修改1个值")
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 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
-------------------------------------------------------------------------------------------------------------
function hmhqdz(address,hmlx)
hmhq = {}
hmhq[1] = {}
hmhq[1].address = address
hmhq[1].flags = hmlx
huanmie=gg.getValues(hmhq)
hm=huanmie[1]['value']
return hm
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.."修改成功,修改1个值")else gg.toast(qmnbn.."警告⚠️:没有值可修改")end end end
-- 【【 核心代码，不懂勿动 】】
--   JF Script编辑器
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

_ENV['基址初始[必开]'] = function()
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
end

_ENV['强制开门'] = function()
BaseAddressD(0x1dfd4e8,'-476053503')
gg.toast("强制开门开启成功")
end
_ENV['强制开门关闭'] = function()
BaseAddressA(0x1dfd4e8,'-382908368')
gg.toast("强制开门关闭成功")
end

_ENV['开门秒逃'] = function()
BaseAddressD(0xd5ee20,'-476052718')
gg.toast("开门秒逃开启成功")
end
_ENV['开门秒逃关闭'] = function()
BaseAddressA(0xd5ee20,'-382908368')
gg.toast("开门秒逃关闭成功")
end

_ENV['全图踩夹'] = function()
BaseAddressD(0x1e3f560,'-476053503')
gg.toast("全图踩夹开启成功")
end
_ENV['全图踩夹关闭'] = function()
BaseAddressA(0x1e3f560,'-382907280')
gg.toast("全图踩夹关闭成功")
end

_ENV['秒踩夹子'] = function()
BaseAddressD(0x1e3f458,'-476053503')
gg.toast("秒踩夹子开启成功")
end
_ENV['秒踩夹子关闭'] = function()
BaseAddressB(0x1e3f458,'-382907280')
gg.toast("秒踩夹子关闭成功")
end

_ENV['道具冷却'] = function()
BaseAddressD(0x1183e78,'-476053504')
gg.toast("道具冷却开启成功")
end
_ENV['道具冷却关闭'] = function()
BaseAddressB(0x1183e78,'-382908176')
gg.toast("道具冷却关闭成功")
end

_ENV['清除校准'] = function()
BaseAddressD(0xc70e14,'-486539264')
gg.toast("清除校准开启成功")
end
_ENV['清除校准关闭'] = function()
BaseAddressB(0xc70e14,'-382907280')
gg.toast("清除校准关闭成功")
end

_ENV['锁定子弹'] = function()
BaseAddressD(0x1b9567c,'-442564368')
gg.toast("锁定子弹开启成功")
end
_ENV['锁定子弹关闭'] = function()
BaseAddressB(0x1b9567c,'-382907280')
gg.toast("锁定子弹关闭成功")
end

_ENV['开物加速'] = function()
BaseAddressD(0x10e70b8,'-476052999')
BaseAddressD(0x1e425c8,'-476052999')
BaseAddressD(0x17300a0,'-476052999')
BaseAddressD(0x14ca68c,'-476052999')
BaseAddressD(0x1dfd5a4,'-476052999')
BaseAddressD(0x1fd3030,'-476052999')
gg.toast("开物加速开启成功")
end
_ENV['开物加速关闭'] = function()
BaseAddressAA(0x10e70b8,'-382907280')
BaseAddressAA(0x1e425c8,'-382907280')
BaseAddressAA(0x17300a0,'-382907280')
BaseAddressAA(0x14ca68c,'-382907280')
BaseAddressAA(0x1dfd5a4,'-382907280')
BaseAddressAA(0x1fd3030,'-382907280')
gg.toast("开物加速关闭成功")
end

_ENV['跳跃开物'] = function()
BaseAddressD(0x1d72324,'-476052716')
gg.toast("跳跃开物开启成功")
end
_ENV['跳跃开物关闭'] = function()
BaseAddressB(0x1d72324,'-382907408')
gg.toast("跳跃开物关闭成功")
end

_ENV['无限鞭尸'] = function()
BaseAddressD(0xd5f0dc,'-476053503')
gg.toast("无限鞭尸开启成功")
end
_ENV['无限鞭尸关闭'] = function()
BaseAddressB(0xd5f0dc,'-382907280')
gg.toast("无限鞭尸关闭成功")
end

_ENV['倒地购物'] = function()
BaseAddressD(0x1181a0c,'-476053504')
BaseAddressD(0x41fc898,'-476053504')
gg.toast("倒地购物开启成功")
end
_ENV['倒地购物关闭'] = function()
BaseAddressB(0x41fc898,'-382907280')
BaseAddressB(0x1181a0c,'-382907280')
gg.toast("倒地购物关闭成功")
end

_ENV['解锁模式'] = function()
BaseAddressD(0xe149b4,'-476053503')
gg.toast("解锁模式开启成功")
end
_ENV['解锁模式关闭'] = function()
BaseAddressB(0xe149b4,'-382908176')
gg.toast("解锁模式关闭成功")
end

_ENV['锁定道具'] = function()
BaseAddressD(0x15f7420,'-476053504')
gg.toast("锁定道具开启成功")
end
_ENV['锁定道具关闭'] = function()
BaseAddressB(0x15f7420,'-382907280')
gg.toast("锁定道具关闭成功")
end

_ENV['伤害倍率'] = function()
a=gg.prompt({"伤害倍率"})
fastsearch({
{82662192,4,16384},
{83092509,-4,4},
},
{{a[1],-8,16,false}},"伤害倍率开启成功")
end

_ENV['武器后座'] = function()
gg.clearResults()
	 gg.setRanges(16384)
	 gg.searchNumber("-2.02910614e20;0.00100000005;-1.30940708e25;-1.30683878e21::", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
	 gg.searchNumber("0.00100000005", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
	 gg.getResults(100)
	 gg.editAll("1.68", gg.TYPE_FLOAT)
	 gg.clearResults()
gg.toast("武器后座开启成功")
gg.alert("开启成功")
end
_ENV['武器后座关闭'] = function()
gg.clearResults()
	 gg.setRanges(16384)
	 gg.searchNumber("-2.02910614e20;0.00100000005;-1.30940708e25;-1.30683878e21::", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
	 gg.searchNumber("0.00100000005", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
	 gg.getResults(100)
	 gg.editAll("0.01", gg.TYPE_FLOAT)
	 gg.clearResults()
gg.toast("武器后座关闭成功")
gg.alert("关闭成功")
end

_ENV['猎杀队友'] = function()
BaseAddressY(0x2ca6c74,'-516948194')
gg.toast("猎杀队友开启成功")
end
_ENV['猎杀队友关闭'] = function()
BaseAddressY(0x2ca6c74,'-382908368')
gg.toast("猎杀队友关闭成功")
end

_ENV['破除护盾'] = function()
BaseAddressD(0x136832c,'-476053504')
gg.toast("破除护盾开启成功")
end
_ENV['破除护盾关闭'] = function()
BaseAddressA(0x136832c,'-382908368')
gg.toast("破除护盾关闭成功")
end

_ENV['路过开物'] = function()
fastsearch({{274,16,32},{294,4,16}},{{0,8,4,true}},"路过开物开启成功")
end
_ENV['路过开物关闭'] = function()
gg.clearList()
gg.toast("路过开物关闭成功")
end

_ENV['子穿射程'] = function()
BaseAddressY(0x21e3034,'-516948194')
gg.toast("子穿射程开启成功")
end

_ENV['角色皮肤'] = function()
BaseAddressY(0x1258c50,'-516948194')
gg.toast("角色皮肤开启成功")
end
_ENV['角色皮肤关闭'] = function()
BaseAddressY(0x1258c50,'-382906384')
gg.toast("角色皮肤关闭成功")
end

_ENV['枪枪暴击'] = function()--被和谐
BaseAddressF(0xE4FCC8,'1')
gg.toast("枪枪暴击开启成功")
end
_ENV['枪枪暴击关闭'] = function()
BaseAddressF(0xE4FCC8,'0')
gg.toast("枪枪暴击关闭成功")
end

_ENV['道具皮肤'] = function()
BaseAddressY(0x1132924,'-516948194')
gg.toast("道具皮肤开启成功")
end
_ENV['道具皮肤关闭'] = function()
BaseAddressY(0x1132924,'-382908176')
gg.toast("道具皮肤关闭成功")
end

_ENV['攻击吸血'] = function()
BaseAddressD(0x13680b4,'-476052411')
BaseAddressD(0x35a26f4,'-476052411')
gg.toast("攻击吸血开启成功")
end
_ENV['攻击吸血关闭'] = function()
BaseAddressA(0x13680b4,'-382908368')
BaseAddressA(0x35a26f4,'-382908368')
gg.toast("攻击吸血关闭成功")
end

_ENV['变身攻击'] = function()
BaseAddressY(0x21ddb08,'-516948194')
gg.toast("变身攻击开启成功")
end
_ENV['变身攻击关闭'] = function()
BaseAddressY(0x21ddb08,'-382907280')
gg.toast("变身攻击关闭成功")
end

_ENV['解锁角色'] = function()
BaseAddressY(0x1265f68,'-516948194')
BaseAddressY(0x1264d50,'-516948194')
BaseAddressY(0x1257b5c,'-516948194')
gg.toast("解锁角色开启成功")
end
_ENV['解锁角色关闭'] = function()
BaseAddressY(0x1257b5c,'-382906384')
BaseAddressY(0x1264d50,'-382906384')
BaseAddressY(0x1265f68,'-382906384')
gg.toast("解锁角色关闭成功")
end

_ENV['穿过夹子'] = function()--无视夹子[但不能攻击]
BaseAddressY(0x136832c,'-516948194')
gg.toast("穿过夹子开启成功")
end
_ENV['穿过夹子关闭'] = function()
BaseAddressY(0x136832c,'-382908176')
gg.toast("穿过夹子关闭成功")
end

_ENV['移速增加'] = function()
BaseAddressD(0x1367f44,'-476052716')
BaseAddressD(0x35a2694,'-476052716')
gg.toast("移速增加开启成功")
end
_ENV['移速增加关闭'] = function()
BaseAddressA(0x1367f44,'-382908368')
BaseAddressA(0x35a2694,'-382908368')
gg.toast("移速增加关闭成功")
end

_ENV['武器间隔'] = function()
BaseAddressD(0x21e80cc,'-476053504')
BaseAddressD(0x21d97cc,'-476053504')
gg.toast("武器间隔开启成功")
end
_ENV['武器间隔关闭'] = function()
BaseAddressAA(0x21d97cc,'-382907280')
BaseAddressAA(0x21e80cc,'-382907280')
gg.toast("武器间隔关闭成功")
end

_ENV['医箱改物'] = function()
a=gg.prompt{("改道具")}
fastsearch({
{51252,4,32},
{808529509,-4,4},
},
{{a[1]*256,8,4,false}},"医疗箱变道具开启成功")
end

_ENV['修改阵营'] = function()
BaseAddressY(0xe130b0,'-516948194')
gg.toast("修改阵营开启成功")
end
_ENV['修改阵营关闭'] = function()
BaseAddressY(0xe130b0,'-382908368')
gg.toast("修改阵营关闭成功")
end

_ENV['无限踩夹'] = function()
BaseAddressY(0x3fbd6dc,'-516948194')
gg.toast("无限踩夹开启成功")
end
_ENV['无限踩夹关闭'] = function()
BaseAddressY(0x3fbd6dc,'-382907280')
gg.toast("无限踩夹关闭成功")
end

_ENV['迫腕射程'] = function()
BaseAddressD(0x22de320,'-482082352')
gg.toast("迫腕射程开启成功")
end
_ENV['迫腕射程关闭'] = function()
BaseAddressA(0x22de320,'-382908368')
gg.toast("迫腕射程关闭成功")
end

_ENV['无限增益'] = function()
BaseAddressD(0xd0c168,'-476053503')
gg.toast("无限增益开启成功")
end
_ENV['无限增益关闭'] = function()
BaseAddressA(0xd0c168,'-382908368')
gg.toast("无限增益关闭成功")
end

_ENV['拖人金币'] = function()--不想修
BaseAddressD(0x18a8498,"-352323435")
gg.toast("拖人金币开启成功")
end
_ENV['拖人金币关闭'] = function()
BaseAddressB(0x18a8498,"-382908368")
gg.toast("拖人金币关闭成功")
end

_ENV['无视禁闭'] = function()
BaseAddressD(0x1fc7ac8,'-476053504')
gg.toast("无视紧闭开启成功")
end
_ENV['无视禁闭关闭'] = function()
BaseAddressC(0x1fc7ac8,'-382907280')
gg.toast("无视禁闭关闭成功")
end

_ENV['子弹数量'] = function()
BaseAddressD(0x21d9824,"-476053404")
gg.toast("子弹数量开启成功")
end
_ENV['子弹数量关闭'] = function()
BaseAddressA(0x21d9824,'-382908368')
gg.toast("子弹数量关闭成功")
end

_ENV['观战开门'] = function()
BaseAddressY(0xecaf9c,'-353353688')
gg.toast("观战开门开启成功")
end
_ENV['观战开门关闭'] = function()
BaseAddressY(0xecaf9c,'-382907408')
gg.toast("观战开门关闭成功")
end

_ENV['直接逃生'] = function()
BaseAddressD(0x1dfd4e8,'-476053503')
gg.sleep(2)
BaseAddressD(0xd5ee20,'-476052718')
gg.sleep(2)
BaseAddressA(0xd5ee20,'-382908368')
gg.sleep(2)
BaseAddressA(0x1dfd4e8,'-382908368')
gg.toast("逃生成功")
end

_ENV['超级透视'] = function()
BaseAddressD(0xd5f540,'-476053503')
gg.toast("超级透视开启成功")
end
_ENV['超级透视关闭'] = function()
BaseAddressA(0xd5f540,'-382908368')
gg.toast("超级透视关闭成功")
end

_ENV['任务秒完'] = function()
BaseAddressD(0x17842a0,'-482343961')
BaseAddressD(0x17842f8,'-482343961')
BaseAddressD(0x1782c64,'-482343961')
BaseAddressD(0x1784350,'-482343961')
  gg.toast("任务秒完开启成功")
end
_ENV['任务秒完关闭'] = function()
BaseAddressA(0x17842a0,'-382908368')
BaseAddressA(0x1782c64,'-382908368')
BaseAddressA(0x17842f8,'-382908368')
BaseAddressA(0x1784350,'-382908368')
  gg.toast("任务秒完关闭成功")
end

_ENV['全图吸人'] = function()
BaseAddressY(0x1ce0f04,'-516948194')
  gg.toast("全图吸人开启成功")
end
_ENV['全图吸人关闭'] = function()
BaseAddressY(0x1ce0f04,'-382907280')
  gg.toast("全图吸人关闭成功")
end

_ENV['虚体刷钱'] = function()
BaseAddressY(0x1fc7188,'-356323910')
  gg.toast("虚体刷钱开启成功")
  end
_ENV['虚体刷钱关闭'] = function()
BaseAddressY(0x1fc7188,'-382906384')
  gg.toast("虚体刷钱关闭成功")
end

_ENV['登录防闪[登录]'] = function()
gg.clearResults()
	 gg.setRanges(8)
	 gg.searchNumber("778,923,875", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
	 gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
	 gg.getResults(100)
	 gg.editAll("-1", gg.TYPE_DWORD)
	 gg.clearResults()
	 local t = {"libtersafe2.so", "Cd"}
local tt = {0xA8}
local ttt = S_Pointer(t, tt)
gg.setValues({{address = ttt, flags = 4, value = 2147483647}})
local t = {"libBugly-ext.so", "Cd"}
local tt = {0x57C}
local ttt = S_Pointer(t, tt)
gg.setValues({{address = ttt, flags = 4, value = 2147483647}})
local t = {"libtprt.so", "Cd"}
local tt = {0xFA40}
local ttt = S_Pointer(t, tt)
gg.setValues({{address = ttt, flags = 4, value = 2147483647}})
	 gg.toast("防闪注入成功")
	 gg.alert("开启成功")
	 end

_ENV['倒地复活'] = function()
  fastsearch({
     {200.0, 16, 32},
     {100.0, -20, 16},
     {0.30000001192092896, -16, 16},
   }, {
     {100, -24, 16, false},
   },"倒地复活")
   gg.alert("开启成功")
end

_ENV['稳定移速'] = function()
 qmnb = {
{["memory"] = 32},
{["name"] = "移速"},
{["value"] = 2.79999995232, ["type"] = 16},
{["lv"] = 20.0,["offset"] =4, ["type"] = 16},
{["lv"] = 900.0,["offset"] =12, ["type"] = 16},
}
qmxg = {
{["value"] = 4.0,["offset"] =0, ["type"] = 16},
}
xqmnb(qmnb)
gg.alert("开启成功")
end

_ENV['腕炮范围'] = function()
a=gg.prompt({"腕炮范围↓"})
fastsearch({
{5,16,32},
{1,4,16},
{0,8,16}},
{{a[1],4,16, false}})
gg.toast("腕炮范围修改为"..a[1])
end

_ENV['一键动作'] = function()
fastsearch
({{950001,4,32},{6,-4,4},{0,8,4},{0,12,4},{0,16,4},{0,20,4},{0,-8,4},{0,-12,4}},{{961351,0,4},{961361,4,4},{960691,8,4},{961371,12,4},{961721,16,4},{961211,20,4,false}})
gg.alert("开启成功")
end

_ENV['自调动作'] = function()
_ENV["gg"]["clearResults"]()
_ENV["gg"]["setRanges"](32)
a = _ENV["gg"]["prompt"]({"招手：\n960001 雇佣兵·招手\n960011 失忆者·招手\n960021 女特工·招手\n960031 小学妹·招手\n960041 机器人·招手\n960051 魔术师·招手\n960571 发明家·招手\n\n嘲讽：\n960061 雇佣兵嘲讽\n960071 失忆者嘲讽\n960081 女鬼嘲讽\n960101 小学妹嘲讽\n960101 机器人嘲讽\n960111 魔术师嘲讽\n\n一个真正的鳗：\n960241 雇佣兵·打篮球\n960251 失忆者·打篮球\n960261 雇佣兵·篮球之舞\n960271 失忆者·篮球之舞\n\n星耀动作加引体向上：\n961351 洛杰星耀\n963561 洛杰星轮[大厅]\n961191 学妹星耀1\n961201 艾克星耀\n961211 狐狸星耀\n961361 雇佣兵星耀\n963571 雇佣兵星轮[大厅]\n961371 女鬼星耀\n961711 梦魇星耀\n961721 发明家星耀\n961731 学妹星耀2\n962701 引体向上\n963781 大黄蜂出场\n\n电摇动作：\n960691 失忆者·应援boy\n960701 女特工·演唱女王\n960681 雇佣兵·摇滚贝斯\n960731 发明家·我为歌狂\n961881 关起来\n961041 贵族风度\n960921 来口西瓜\n960431 花式倒立\n960441 侧滑拳击\n960461 滑步登场\n960491 独轮车\n960551 闪耀登场\n962901 终极闪耀赛罗变身\n962331 怪兽登场\n961941 海上豪杰\n962931 贝利亚变身\n962491 月兔奔月\n960931 冲浪达人\n\n涂鸦：\n950001 我爱DMM\n950141 陷阱夹子\n950331 伪装宝盒\n950661 DMM战队\n950671 DMM奖杯\n\n变身道具：\n长椅100\n床101\n箱子102\n仙人掌103\n凳子104\n马桶105\n电脑106\n抽屉107\n花108109\n桌子110\n路障115\n牌116\n鼓117\n绿色垃圾桶118\n蓝色垃圾桶119\n120球", "↑修改前\n↓修改后"}, {"", ""}, {"text", "text"})
if a == nil then
_ENV["gg"]["alert"]("有数值为空")
end
if a[1] == nil then
_ENV["gg"]["alert"]("有数值为空")
end
if a[2] == nil then
_ENV["gg"]["alert"]("有数值为空")
end
_ENV["gg"]["searchNumber"](a[1], gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
b = _ENV["gg"]["getResultCount"]()
_ENV["gg"]["getResults"](b)
_ENV["gg"]["editAll"](a[2], gg.TYPE_DWORD)
end

_ENV['修改文字'] = function()
a=gg.prompt({"文字↓","改之后的文字↓"},{},{"text","text"})
gg.setRanges(32)
gg.searchNumber(";"..a[1], 2, false, gg.SIGN_EQUAL, 0, -1)
gg.getResults(1000)
gg.editAll(";"..a[2],2)
gg.toast("修改成功[刷新看一下吧]")
gg.clearResults()
end

_ENV['一键点药'] = function()
fastsearch
({{950001,4,32},{6,-4,4},{0,8,4},{0,12,4},{0,16,4},{0,20,4},{0,-8,4},{0,-12,4}},{{960251,0,4},{960271,4,4},{960691,8,4},{961041,12,4},{960921,16,4},{960431,20,4,false}})
gg.alert("开启成功")
end

_ENV['火箭筒武器连发'] = function()
qc=gg.alert("火箭筒连发","普通","乱斗")
if qc==1 then
u=gg.prompt({"输入火箭筒连发(可多次修改↓)"},{[1]=""}) fastsearch({{1113587712, 32, 32}, {1056964608, 16, 4}, {1061997773, 20, 4}, {1065353216, 28, 4}}, {{u[1], 8, 4, false}, {0, 24, 16, false}})
gg.alert("开启成功")
end
if qc==2 then
NH=gg.prompt({"输入乱斗火箭筒连发(可多次修改↓)"},{[1]=""}) fastsearch({{1115684864, 32, 32}, {1056964608, 16, 4}, {1061997773, 20, 4}, {1065353216, 28, 4}}, {{NH[1], 8, 4, false}, {0, 24, 16, false}}) nh({{1117126656, 32, 32}, {1056964608, 16, 4}, {1061997773, 20, 4}, {1065353216, 28, 4}}, {{NH[1], 8, 4, false}, {0, 24, 16, false}})
gg.alert("开启成功")
end
end

_ENV['迫击炮武器连发'] = function()
u=gg.prompt({"输入迫击炮1级连发(可多次修改↓)"},{[1]=""}) fastsearch({{1120272384, 32, 32}, {1056964608, 16, 4}, {1061997773, 20, 4}, {1056964608, 28, 4}}, {{u[1], 8, 4, false}, {0, 24, 16, false}})
gg.alert("开启成功")
end

_ENV['冲锋枪武器连发'] = function()
u=gg.prompt({"输入冲锋枪连发(可多次修改↓)"},{[1]=""}) fastsearch({{1092616192, 32, 32}, {1028443341, 12, 4}, {1056964608, 16, 4}, {1060320051, 20, 4}, {0, 24, 4}}, {{u[1], 8, 4, false}})
gg.alert("开启成功")
end

_ENV['能量剑武器连发'] = function()
Nh=gg.alert("能量剑","普通","金库","大乱斗新地图") if Nh==1 then NH=gg.prompt({"输入能量剑连发(可多次修改↓)"},{[1]=""}) fastsearch({{1115947008, 32, 32}, {0, 12, 4}, {0, 16, 4}, {0, 20, 4}, {0, 24, 4}, {0, 28, 4}}, {{NH[1], 8, 4, false}}) 
gg.alert("开启成功")
end if Nh==2 then NH=gg.prompt({"输入金库能量剑(可多次修改↓)"},{[1]=""}) fastsearch({{1117782016, 32, 32}, {0, -4, 4}, {0, 4, 4}, {0, 12, 4}, {0, 16, 4}, {0, 20, 4}, {0, 24, 4}, {0, 28, 4}}, {{NH[1], 8, 4, false}}) 
gg.alert("开启成功")
end if Nh==3 then NH=gg.prompt({"输入大乱斗新地图能量剑(可多次修改↓)"},{[1]=""}) fastsearch({{1116078080, 32, 32}, {0, -4, 4}, {0, 4, 4}, {0, 12, 4}, {0, 16, 4}, {0, 20, 4}, {0, 24, 4}, {0, 28, 4}}, {{NH[1], 8, 4, false}}) 
gg.alert("开启成功")
end
end

_ENV['蹦蹦枪武器连发'] = function()
Nh=gg.alert("蹦蹦枪","普通","金库","大乱斗新地图") if Nh==1 then NH=gg.prompt({"输入蹦蹦枪连发(可多次修改↓)"},{[1]=""}) fastsearch({{1115947008, 32, 32}, {1067030938, 16, 4}, {1067030938, 20, 4}, {1050253722, 28, 4}}, {{NH[1], 8, 4, false}, {0, 24, 16, false}}) 
gg.alert("开启成功")
end if Nh==2 then NH=gg.prompt({"输入金库蹦蹦枪连发(可多次修改↓)"},{[1]=""}) fastsearch({{1116733440, 32, 32}, {1067030938, 16, 4}, {1067030938, 20, 4}, {1050253722, 28, 4}}, {{NH[1], 8, 4, false}, {0, 24, 16, false}}) 
gg.alert("开启成功")
end if Nh==3 then NH=gg.prompt({"输入大乱斗新地图蹦蹦枪连发(可多次修改↓)"},{[1]=""}) fastsearch({{1115684864, 32, 32}, {1067030938, 16, 4}, {1067030938, 20, 4}, {1050253722, 28, 4}}, {{NH[1], 8, 4, false}, {0, 24, 16, false}}) 
gg.alert("开启成功")
end
end

_ENV['能量炮武器连发'] = function()
NH=gg.prompt({"输入能量腕炮1级连发(可多次修改↓)"},{[1]=""}) fastsearch({{1112539136, 32, 32}, {1067030938, 16, 4}, {1067030938, 20, 4}, {1050253722, 28, 4}}, {{NH[1], 8, 4, false}, {0, 24, 16, false}})
gg.alert("开启成功")
end

_ENV['霰弹枪武器连发'] = function()
Nh=gg.alert("霰弹枪","普通","金库") if Nh==1 then NH=gg.prompt({"输入散弹枪连发(可多次修改↓)"},{[1]=""}) fastsearch({{1120403456, 32, 32}, {1056964608, 16, 4}, {1060320051, 20, 4}, {1065353216, 28, 4}}, {{NH[1], 8, 4, false}, {0, 24, 16, false}}) 
gg.alert("开启成功")
end if Nh==2 then NH=gg.prompt({"输入金库霰弹枪连发(可多次修改↓)"},{[1]=""}) fastsearch({{1100480512, 32, 32}, {1056964608, 16, 4}, {1060320051, 20, 4}, {1065353216, 28, 4}, {0, 32, 4}}, {{NH[1], 8, 4, false}, {0, 24, 16, false}}) 
gg.alert("开启成功")
end
end

_ENV['唤风标武器连发'] = function()
NH=gg.prompt({"输入唤风镖连发(可多次修改↓)"},{[1]=""}) fastsearch({{1113587712, 32, 32}, {0, 12, 4}, {0, 16, 4}, {0, 20, 4}, {1036831949, 28, 4}}, {{NH[1], 8, 4, false}, {0, 24, 16, false}})
gg.alert("开启成功")
end

_ENV['霸天斧武器连发'] = function()
NH=gg.prompt({"输入霸天斧连发(可多次修改↓)"},{[1]=""}) fastsearch({{1114636288, 32, 32}, {0, 12, 4}, {0, 16, 4}, {0, 20, 4}, {1.2000000476837158, 24, 16}, {1008981770, 28, 4}}, {{NH[1], 8, 4, false}})
gg.alert("开启成功")
end

_ENV['黎明盾武器连发'] = function()
NH=gg.prompt({"输入盾位连发(可多次修改↓)"},{[1]=""}) fastsearch({{1109393408, 32, 32}, {0, 12, 4}, {1060320051, 16, 4}, {1060320051, 20, 4}, {0, 24, 4}, {0, 28, 4}}, {{NH[1], 8, 4, false}})
endgg.alert("开启成功")
end

_ENV['星辰女武器连发'] = function()
NH=gg.prompt({"输入圣女连发(可多次修改↓)"},{[1]=""}) fastsearch({{1099956224, 32, 32}, {0, 12, 4}, {1056964608, 16, 4}, {1060320051, 20, 4}, {1050253722, 28, 4}}, {{NH[1], 8, 4, false}, {0, 24, 16, false}})
gg.alert("开启成功")
end

_ENV['威震天武器连发'] = function()
NH=gg.prompt({"输入威震天连发(可多次修改↓)"},{[1]=""}) fastsearch({{1114636288, 32, 32}, {0, 12, 4}, {1056964608, 16, 4}, {1061997773, 20, 4}, {0, 24, 4}, {0, 28, 4}}, {{NH[1], 8, 4, false}})
gg.alert("开启成功")
end

_ENV['热破枪武器连发'] = function()
NH=gg.prompt({"输入热破枪连发(可多次修改↓)"},{[1]=""}) fastsearch({{1117782016, 32, 32}, {1056964608, 16, 4}, {1060320051, 20, 4}, {1065353216, 28, 4}}, {{NH[1], 8, 4, false}, {0, 24, 16, false}})
gg.alert("开启成功")
end

_ENV['红蜘蛛武器连发'] = function()
NH=gg.prompt({"输入红蜘蛛(可多次修改↓)"},{[1]=""}) fastsearch({{1103626240, 32, 32}, {1041865114, 12, 4}, {1.2000000476837158, 16, 16}, {1067030938, 20, 4}, {0, 24, 4}}, {{NH[1], 8, 4, false}})
gg.alert("开启成功")
end

_ENV['自动枪武器连发'] = function()
NH=gg.prompt({"输入自动手枪连发(可多次修改↓)"},{[1]=""}) fastsearch({{1097859072, 32, 32}, {1032805417, 12, 4}, {1060320051, 16, 4}, {1060320051, 20, 4}, {0, 24, 4}}, {{NH[1], 8, 4, false}})
gg.alert("开启成功")
end

_ENV['电球枪武器连发'] = function()
NH=gg.prompt({"输入电球枪连发(可多次修改↓)"},{[1]=""}) fastsearch({{1115815936, 32, 32}, {0, 12, 4}, {1060320051, 20, 4}, {0, 24, 4}, {0, 28, 4}}, {{NH[1], 8, 4, false}, {0, 16, 16, false}})
gg.alert("开启成功")
end

_ENV['生物枪武器连发'] = function()
NH=gg.prompt({"输入生物手枪连发(可多次修改↓)"},{[1]=""}) 
fastsearch({{4776067405938425856, 32, 32}, {1112014848, 4, 4}, {1056964608, 16, 4}, {1061997773, 20, 4}, {1050253722, 28, 4}}, {{0, 24, 16, false}, {NH[1], 8, 4, false}})
gg.alert("开启成功")
end

_ENV['像素剑武器连发'] = function()
NH=gg.prompt({"输入像素剑连发(可多次修改↓)"},{[1]=""}) fastsearch({{1114112000, 32, 32}, {0, 4, 4}, {0, 12, 4}, {0, 16, 4}, {0, 20, 4}, {0, 24, 4}, {0, 28, 4}}, {{NH[1], 8, 4, false}})
gg.alert("开启成功")
end

_ENV['滋水枪武器连发'] = function()
NH=gg.prompt({"输入滋水枪连发(可多次修改↓)"},{[1]=""}) fastsearch({{1094713344, 32, 32}, {1043878380, 12, 4}, {1060320051, 16, 4}, {1060320051, 20, 4}, {0, 24, 4}, {0, 28, 4}}, {{NH[1], 8, 4, false}})
gg.alert("开启成功")
end

_ENV['迫击范围'] = function()
u=gg.prompt({"输入你的想改的数值"},{},{"number"})
fastsearch({{99.0, 16, 32}, {0.20000000298023224, -32, 16}, {0.4000000059604645, -24, 16}, {0.15000000596046448, -20, 16}, {1.0, -16, 16}, {0.8500000238418579, -12, 16}, {2.5, 12, 16}}, {{u[1], -36, 16, false}})
gg.alert("开启成功")
end

_ENV['迫击射程'] = function()
u=gg.prompt({"输入你的想改的数值"},{},{"number"})
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}}, {{u[1], -4, 16, false}})
gg.alert("开启成功")
end

_ENV['腕炮范围'] = function()
u=gg.prompt({"输入你的想改的数值"},{},{"number"})
fastsearch({
{5,16,32},
{1,4,16},
{0,8,16}},
{{u[1],4,16, false}})
gg.alert("开启成功")
end

_ENV['腕炮射程'] = function()
u=gg.prompt({"输入你的想改的数值"},{},{"number"})
fastsearch({{4333543705419175690, 32, 32}, {1045220557, -28, 32}, {1084227584, -16, 32}, {1008981770, 4, 4}, {1036831949, 16, 4}}, {{u[1], -40, 16, false}, {5, -16, 16, true}})
gg.alert("开启成功")
end

_ENV['蹦枪射程'] = function()
u=gg.prompt({"输入你的想改的数值"},{},{"number"})
xtnb({{false,-20.0,4,16,nil,nil},{0.800000011920929,12,16},{-0.4000000059604645,16,16},{2.5,20,16},{1.5,24,16}},{{u[1],0,16,false}},16,32,"蹦蹦枪射程")
gg.alert("开启成功")
end

_ENV['改迫击炮'] = function()
fastsearch({{841901421, 4, 32}, {65536, 8, 4}}, {{7340032, 12, 4}})
end

_ENV['空手刷枪'] = function()
local addr = readPointer("libil2cpp.so", {0x1FD500, 0x5C, 0x0, 0x84, 0xA0}, 2)
gg.edits(addr, {{1, 4, 0, true}})
gg.clearList()
end

_ENV['离线过检[大厅]'] = function()
gg.clearResults()
gg.setRanges(16384)
gg.searchNumber("1445669757", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
gg.refineNumber("", gg.TYPE_DWORD)
gg.getResults(100)
gg.editAll("16843522", gg.TYPE_DWORD)
gg.clearResults()
gg.setRanges(32768)
gg.searchNumber("1445669757", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
gg.refineNumber("", gg.TYPE_DWORD)
gg.getResults(100)
gg.editAll("16843522", gg.TYPE_DWORD)
gg.alert("全局离线开启成功")
end

_ENV['举报过检[登录]'] = function()
	 gg.clearResults()
	 gg.setRanges(16384)
	 gg.searchNumber("281,479,288,455,169;72,339,073,309,671,425;1,103,823,437,825", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1)
	 gg.searchNumber("", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1)
	 jg=gg.getResults(100)
	 sl=gg.getResultCount()
	 for i = 1, sl do
	 	 dzy=jg[i].address
	 	 gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_QWORD,freeze = true,value = 0}})
	 end
	 gg.toast("")
	 gg.clearResults()


	 gg.clearResults()
	 gg.setRanges(16384)
	 gg.searchNumber("297,237,583,998,484,480;288,239,172,246,831,106;288,230,376,153,808,898", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1)
	 gg.searchNumber("", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1)
	 jg=gg.getResults(100)
	 sl=gg.getResultCount()
	 for i = 1, sl do
	 	 dzy=jg[i].address
	 	 gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_QWORD,freeze = true,value = 0}})
	 end
	 gg.toast("")
	 gg.clearResults()



	 gg.clearResults()
	 gg.setRanges(16384)
	 gg.searchNumber("2,305,843,077,937,364,992;18,014,467,765,829,648;2,305,913,446,681,542,672", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1)
	 gg.searchNumber("", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1)
	 jg=gg.getResults(100)
	 sl=gg.getResultCount()
	 for i = 1, sl do
	 	 dzy=jg[i].address
	 	 gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_QWORD,freeze = true,value = 0}})
	 end
	 gg.toast("")
	 gg.clearResults()



	 gg.clearResults()
	 gg.setRanges(16384)
	 gg.searchNumber("4,613,937,818,274,627,584;4,755,801,206,536,798,208", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1)
	 gg.searchNumber("", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1)
	 jg=gg.getResults(100)
	 sl=gg.getResultCount()
	 for i = 1, sl do
	 	 dzy=jg[i].address
	 	 gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_QWORD,freeze = true,value = 0}})
	 end
	 gg.toast("")
	 gg.clearResults()



	 gg.clearResults()
	 gg.setRanges(16384)
	 gg.searchNumber("16,842,753", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
	 gg.searchNumber("", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
	 jg=gg.getResults(100)
	 sl=gg.getResultCount()
	 for i = 1, sl do
	 	 dzy=jg[i].address
	 	 gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 0}})
	 end
	 gg.toast("防封开启成功 奔放吧")
	 gg.clearResults()
gg.alert('防封开启成功，局内遇举报可大退')
end

_ENV['A武器间'] = function()
local addr = readPointer("libil2cpp.so", {0x1FD500, 0x5C, 0x0, 0x84, 0x5C}, 2)
gg.edits(addr, {{0, 4, 0, true}})
gg.toast("A武器间\n开启成功\n[共修改一个数值]")
end

_ENV['人物穿墙'] = function()
qmnb = {
{["memory"] = 32},
{["name"] = "穿墙"},
{["value"] = -10.0, ["type"] = 16},
{["lv"] = 49.0, ["offset"] = 20, ["type"] = 16},
}
qmxg = {
{["value"] = 999999, ["offset"] = 0, ["type"] = 16},
}
xqmnb(qmnb)
gg.alert("人物穿墙开启成功")
end

_ENV['无视夹子'] = function()
fastsearch({
     {25.0, 16, 32},
     {1.0, -4, 16},
     {0.5, -8, 16},
     {2.5, -12, 16}
   }, {
     {0.0, -4, 16, false},
   },"无视夹子")
   gg.alert("无视夹子开启成功")
   end

_ENV['大厅防封[大厅]'] = function()
gg.clearResults()
gg.setRanges(32)
gg.searchNumber('311,040',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1)
gg.searchNumber('311,040',gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1)
gg.getResults(150)
gg.editAll('839123713',gg.TYPE_DWORD)
gg.clearResults()
gg.setRanges(16384)
gg.searchNumber("7629941", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
gg.refineNumber("", gg.TYPE_DWORD)
gg.getResults(100)
gg.editAll("0", gg.TYPE_DWORD)
gg.clearResults()
gg.clearResults()
gg.setRanges(16384)
gg.searchNumber("1702249838", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
gg.refineNumber("", gg.TYPE_DWORD)
gg.getResults(100)
gg.editAll("0", gg.TYPE_DWORD)
gg.clearResults()
gg.clearResults()
gg.setRanges(16384)
gg.searchNumber("1684368482", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
gg.refineNumber("", gg.TYPE_DWORD)
gg.getResults(100)
gg.editAll("0", gg.TYPE_DWORD)
gg.clearResults()
gg.clearResults()
gg.setRanges(16384)
gg.searchNumber("1634100548", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
gg.refineNumber("", gg.TYPE_DWORD)
gg.getResults(100)
gg.editAll("0", gg.TYPE_DWORD)
gg.clearResults()
local addr = readPointer("libunity.so", {3108}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3044}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3052}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3180}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3684}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3140}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3188}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3092}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3068}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3084}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3172}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3164}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3060}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3204}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3156}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3100}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3212}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3228}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3124}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3220}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3148}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3076}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3132}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3116}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
local addr = readPointer("libunity.so", {3196}, 1)
gg.edits(addr, {{-1, 4, 0, true}})
gg.alert("开启成功")
end

_ENV['环境优化[每局]'] = function()
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C53F8},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C53FC},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5400},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5404},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5408},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C540C},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5410},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5414},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5418},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5438},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5448},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C544C},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5450},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5454},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5458},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C545C},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5460},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5468},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C546C},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C547C},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5480},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5484},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5488},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C548C},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5490},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5494},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5498},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C549C},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54A0},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54A4},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54AC},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54B0},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54B4},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54B8},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54BC},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54C0},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54C4},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54C8},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54CC},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54D0},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54D4},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54D8},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54DC},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54E0},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54E4},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54E8},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54F0},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54F4},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54F8},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C54FC},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5500},})
nc_offset(getso("libApkPatchLibrary.so"),{{0,4,0x1121C5504},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x282c54},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x29f0b0},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x283f68},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x282e00},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x282e08},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x282de0},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x282dd8},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x282db8},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x282db0},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x282d20},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x282d04},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x282cf0},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x282ce8},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x282cc8},})
nc_offset(getso("libtersafe2.so"),{{0,4,0x282cb0},})
nc_offset(getso("libil2cpp.so"),{{0,4,0x48e80d4},})
nc_offset(getso("libil2cpp.so"),{{0,4,0x48def40},})
nc_offset(getso("libil2cpp.so"),{{0,4,0x48c8184},})
nc_offset(getso("libil2cpp.so"),{{0,4,0x48af3c8},})
nc_offset(getso("libil2cpp.so"),{{0,4,0x48ab4ec},})
nc_offset(getso("libil2cpp.so"),{{0,4,0x48a19c4},})
nc_offset(getso("libil2cpp.so"),{{0,4,0x489da70},})
nc_offset(getso("libil2cpp.so"),{{0,4,0x488d224},})
nc_offset(getso("libil2cpp.so"),{{0,4,0x488d1d8},})
nc_offset(getso("libil2cpp.so"),{{0,4,0x50e4a0},})
gg.toast("一局一开\n开启成功\n稳定奔放")
end

_ENV['防检环境[大厅]'] = function()
--libunity.so + 0x847BE4 -> 0x5B -> 0xA0
local addr = readPointer("libunity.so", {8682468, 91, 160}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x6E6F10 -> 0x66 -> 0x8C
local addr = readPointer("libunity.so", {7237392, 102, 140}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x6E6F10 -> 0x66 -> 0x98
local addr = readPointer("libunity.so", {7237392, 102, 152}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x6E6F10 -> 0x66 -> 0x78
local addr = readPointer("libunity.so", {7237392, 102, 120}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x847BE4 -> 0x67 -> 0x94
local addr = readPointer("libunity.so", {8682468, 103, 148}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x847BE4 -> 0x67 -> 0x78
local addr = readPointer("libunity.so", {8682468, 103, 120}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x847BE4 -> 0x67 -> 0x98
local addr = readPointer("libunity.so", {8682468, 103, 152}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x6E6F10 -> 0x5A -> 0x7C
local addr = readPointer("libunity.so", {7237392, 90, 124}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x6E6F10 -> 0x5A -> 0x8C
local addr = readPointer("libunity.so", {7237392, 90, 140}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x6E6F10 -> 0x5A -> 0xA0
local addr = readPointer("libunity.so", {7237392, 90, 160}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x6E6F10 -> 0x5A -> 0x9C
local addr = readPointer("libunity.so", {7237392, 90, 156}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x847BE4 -> 0x5B -> 0x8C
local addr = readPointer("libunity.so", {8682468, 91, 140}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x847BE4 -> 0x5B -> 0x7C
local addr = readPointer("libunity.so", {8682468, 91, 124}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x847BE4 -> 0x5B -> 0x84
local addr = readPointer("libunity.so", {8682468, 91, 132}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x847BE4 -> 0x5B -> 0x9C
local addr = readPointer("libunity.so", {8682468, 91, 156}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x847BE4 -> 0x5B -> 0xA4
local addr = readPointer("libunity.so", {8682468, 91, 164}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x847BE4 -> 0x5B -> 0x98
local addr = readPointer("libunity.so", {8682468, 91, 152}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x6E6F10 -> 0x66 -> 0x90
local addr = readPointer("libunity.so", {7237392, 102, 144}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x6E6F10 -> 0x66 -> 0x70
local addr = readPointer("libunity.so", {7237392, 102, 112}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x6E6F10 -> 0x66 -> 0x80
local addr = readPointer("libunity.so", {7237392, 102, 128}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x847BE4 -> 0x67 -> 0x80
local addr = readPointer("libunity.so", {8682468, 103, 128}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x847BE4 -> 0x67 -> 0x70
local addr = readPointer("libunity.so", {8682468, 103, 112}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x847BE4 -> 0x67 -> 0x90
local addr = readPointer("libunity.so", {8682468, 103, 144}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x847BE4 -> 0x67 -> 0x8C
local addr = readPointer("libunity.so", {8682468, 103, 140}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x6E6F10 -> 0x66 -> 0x94
local addr = readPointer("libunity.so", {7237392, 102, 148}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x6E6F10 -> 0x5A -> 0x98
local addr = readPointer("libunity.so", {7237392, 90, 152}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x6E6F10 -> 0x5A -> 0x84
local addr = readPointer("libunity.so", {7237392, 90, 132}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})

--libunity.so + 0x6E6F10 -> 0x5A -> 0xA4
local addr = readPointer("libunity.so", {7237392, 90, 164}, 3)
gg.edits(addr, {{0, 4, 0, false}, {0, 4, 0, false}})
--libtersafe2.so + 0xF04
local addr = readPointer("libtersafe2.so", {3844}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF94
local addr = readPointer("libtersafe2.so", {3988}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFE0
local addr = readPointer("libtersafe2.so", {4064}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x80
local addr = readPointer("libtersafe2.so", {128}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x14C
local addr = readPointer("libtersafe2.so", {332}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFC0
local addr = readPointer("libtersafe2.so", {4032}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFAC
local addr = readPointer("libtersafe2.so", {4012}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEB0
local addr = readPointer("libtersafe2.so", {3760}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFB0
local addr = readPointer("libtersafe2.so", {4016}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF10
local addr = readPointer("libtersafe2.so", {3856}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFA8
local addr = readPointer("libtersafe2.so", {4008}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFFC
local addr = readPointer("libtersafe2.so", {4092}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEDC
local addr = readPointer("libtersafe2.so", {3804}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x10
local addr = readPointer("libtersafe2.so", {16}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEE0
local addr = readPointer("libtersafe2.so", {3808}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFC4
local addr = readPointer("libtersafe2.so", {4036}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x1DC
local addr = readPointer("libtersafe2.so", {476}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x118
local addr = readPointer("libtersafe2.so", {280}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF5C
local addr = readPointer("libtersafe2.so", {3932}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF8
local addr = readPointer("libtersafe2.so", {248}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFC8
local addr = readPointer("libtersafe2.so", {4040}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEF0
local addr = readPointer("libtersafe2.so", {3824}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x98
local addr = readPointer("libtersafe2.so", {152}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEA4
local addr = readPointer("libtersafe2.so", {3748}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x78
local addr = readPointer("libtersafe2.so", {120}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x7C
local addr = readPointer("libtersafe2.so", {124}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF14
local addr = readPointer("libtersafe2.so", {3860}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFEC
local addr = readPointer("libtersafe2.so", {4076}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFF4
local addr = readPointer("libtersafe2.so", {4084}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEC8
local addr = readPointer("libtersafe2.so", {3784}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x68
local addr = readPointer("libtersafe2.so", {104}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF70
local addr = readPointer("libtersafe2.so", {3952}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF58
local addr = readPointer("libtersafe2.so", {3928}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF84
local addr = readPointer("libtersafe2.so", {3972}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x1D8
local addr = readPointer("libtersafe2.so", {472}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF48
local addr = readPointer("libtersafe2.so", {3912}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFA4
local addr = readPointer("libtersafe2.so", {4004}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFF8
local addr = readPointer("libtersafe2.so", {4088}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEF8
local addr = readPointer("libtersafe2.so", {3832}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFD4
local addr = readPointer("libtersafe2.so", {4052}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFDC
local addr = readPointer("libtersafe2.so", {4060}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEFC
local addr = readPointer("libtersafe2.so", {3836}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF08
local addr = readPointer("libtersafe2.so", {3848}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF20
local addr = readPointer("libtersafe2.so", {3872}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF6C
local addr = readPointer("libtersafe2.so", {3948}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFA0
local addr = readPointer("libtersafe2.so", {4000}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF4
local addr = readPointer("libtersafe2.so", {244}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEEC
local addr = readPointer("libtersafe2.so", {3820}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF64
local addr = readPointer("libtersafe2.so", {3940}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEA8
local addr = readPointer("libtersafe2.so", {3752}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFC
local addr = readPointer("libtersafe2.so", {252}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF2C
local addr = readPointer("libtersafe2.so", {3884}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF90
local addr = readPointer("libtersafe2.so", {3984}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF0C
local addr = readPointer("libtersafe2.so", {3852}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x114
local addr = readPointer("libtersafe2.so", {276}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x18C
local addr = readPointer("libtersafe2.so", {396}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF80
local addr = readPointer("libtersafe2.so", {3968}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF1C
local addr = readPointer("libtersafe2.so", {3868}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x140
local addr = readPointer("libtersafe2.so", {320}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFBC
local addr = readPointer("libtersafe2.so", {4028}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xA0
local addr = readPointer("libtersafe2.so", {160}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x20
local addr = readPointer("libtersafe2.so", {32}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x30
local addr = readPointer("libtersafe2.so", {48}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF88
local addr = readPointer("libtersafe2.so", {3976}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF30
local addr = readPointer("libtersafe2.so", {3888}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xECC
local addr = readPointer("libtersafe2.so", {3788}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF38
local addr = readPointer("libtersafe2.so", {3896}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFCC
local addr = readPointer("libtersafe2.so", {4044}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF54
local addr = readPointer("libtersafe2.so", {3924}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x24
local addr = readPointer("libtersafe2.so", {36}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x88
local addr = readPointer("libtersafe2.so", {136}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x28
local addr = readPointer("libtersafe2.so", {40}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF44
local addr = readPointer("libtersafe2.so", {3908}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x0
local addr = readPointer("libtersafe2.so", {0}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFB8
local addr = readPointer("libtersafe2.so", {4024}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEE8
local addr = readPointer("libtersafe2.so", {3816}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x2C
local addr = readPointer("libtersafe2.so", {44}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF68
local addr = readPointer("libtersafe2.so", {3944}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF40
local addr = readPointer("libtersafe2.so", {3904}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x190
local addr = readPointer("libtersafe2.so", {400}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF74
local addr = readPointer("libtersafe2.so", {3956}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFE8
local addr = readPointer("libtersafe2.so", {4072}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFB4
local addr = readPointer("libtersafe2.so", {4020}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF3C
local addr = readPointer("libtersafe2.so", {3900}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF18
local addr = readPointer("libtersafe2.so", {3864}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEB4
local addr = readPointer("libtersafe2.so", {3764}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x84
local addr = readPointer("libtersafe2.so", {132}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x11C
local addr = readPointer("libtersafe2.so", {284}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF60
local addr = readPointer("libtersafe2.so", {3936}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFD8
local addr = readPointer("libtersafe2.so", {4056}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x120
local addr = readPointer("libtersafe2.so", {288}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF78
local addr = readPointer("libtersafe2.so", {3960}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF28
local addr = readPointer("libtersafe2.so", {3880}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF4C
local addr = readPointer("libtersafe2.so", {3916}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFD0
local addr = readPointer("libtersafe2.so", {4048}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF00
local addr = readPointer("libtersafe2.so", {3840}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xE9C
local addr = readPointer("libtersafe2.so", {3740}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF98
local addr = readPointer("libtersafe2.so", {3992}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xED8
local addr = readPointer("libtersafe2.so", {3800}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x100
local addr = readPointer("libtersafe2.so", {256}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF8C
local addr = readPointer("libtersafe2.so", {3980}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEC0
local addr = readPointer("libtersafe2.so", {3776}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF50
local addr = readPointer("libtersafe2.so", {3920}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEAC
local addr = readPointer("libtersafe2.so", {3756}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFE4
local addr = readPointer("libtersafe2.so", {4068}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF24
local addr = readPointer("libtersafe2.so", {3876}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x1E0
local addr = readPointer("libtersafe2.so", {480}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF9C
local addr = readPointer("libtersafe2.so", {3996}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x9C
local addr = readPointer("libtersafe2.so", {156}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xD4
local addr = readPointer("libtersafe2.so", {212}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xED4
local addr = readPointer("libtersafe2.so", {3796}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xED0
local addr = readPointer("libtersafe2.so", {3792}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xFF0
local addr = readPointer("libtersafe2.so", {4080}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEE4
local addr = readPointer("libtersafe2.so", {3812}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF34
local addr = readPointer("libtersafe2.so", {3892}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEA0
local addr = readPointer("libtersafe2.so", {3744}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xF7C
local addr = readPointer("libtersafe2.so", {3964}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEF4
local addr = readPointer("libtersafe2.so", {3828}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0x64
local addr = readPointer("libtersafe2.so", {100}, 1)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEB8
local addr = readPointer("libtersafe2.so", {3768}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xE98
local addr = readPointer("libtersafe2.so", {3736}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEC4
local addr = readPointer("libtersafe2.so", {3780}, 2)
gg.edits(addr, {{0, 4, 0, false}})

--libtersafe2.so + 0xEBC
local addr = readPointer("libtersafe2.so", {3772}, 2)
gg.edits(addr, {{0, 4, 0, false}})
gg.alert("防检测和环境开启成功")
end

_ENV['防止踢人[大厅]'] = function()
gg.clearResults()
	 gg.setRanges(32)
	 gg.searchNumber("2;3;5;1.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
	 gg.searchNumber("3", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
	 gg.getResults(100)
	 gg.editAll("0", gg.TYPE_FLOAT)
	 gg.clearResults()
	 gg.alert("防止踢人开启成功")
	 end

_ENV['清除日志[登录]'] = function()
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.m4399/files/game_log.txt")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.m4399/files/tombstone_00")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.m4399/files/tombstone_01")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.m4399/files/tombstone_02")
--删除4399版本日志
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.nearme.gamecenter/files/game_log.txt")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.nearme.gamecenter/files/tombstone_00")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.nearme.gamecenter/files/tombstone_01")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.nearme.gamecenter/files/tombstone_02")
--删除OPPO版本日志
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz/files/game_log.txt")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz/files/tombstone_00")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz/files/tombstone_01")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz/files/tombstone_02")
--删除好游快爆版本日志
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.huawei/files/game_log.txt")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.huawei/files/tombstone_00")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.huawei/files/tombstone_01")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.huawei/files/tombstone_02")
--删除华为版本日志
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.mi/files/game_log.txt")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.mi/files/tombstone_00")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.mi/files/tombstone_01")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.mi/files/tombstone_02")
--删除小米版本日志
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.vivo/files/game_log.txt")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.vivo/files/tombstone_00")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.vivo/files/tombstone_01")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.vivo/files/tombstone_02")
--删除vivo版本日志
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.uc/files/game_log.txt")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.uc/files/tombstone_00")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.uc/files/tombstone_01")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.uc/files/tombstone_02")
--删除九游版本日志
os.remove("storage/emulated/0/Android/data/com.tencent.tmgp.bairimeng.dmmdzz/files/game_log.txt")
os.remove("storage/emulated/0/Android/data/com.tencent.tmgp.bairimeng.dmmdzz/files/tombstone_00")
os.remove("storage/emulated/0/Android/data/com.tencent.tmgp.bairimeng.dmmdzz/files/tombstone_01")
os.remove("storage/emulated/0/Android/data/com.tencent.tmgp.bairimeng.dmmdzz/files/tombstone_02")
--删除应用宝版本日志
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.meta/files/game_log.txt")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.meta/files/tombstone_00")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.meta/files/tombstone_01")
os.remove("storage/emulated/0/Android/data/com.bairimeng.dmmdzz.meta/files/tombstone_02")
--删除233版本日志
os.remove("/storage/emulated/0/Android/data/com.bairimeng.dmmdzz.qihoo/files/game_log.txt")
os.remove("/storage/emulated/0/Android/data/com.bairimeng.dmmdzz.qihoo/files/tombstone_00")
os.remove("/storage/emulated/0/Android/data/com.bairimeng.dmmdzz.qihoo/files/tombstone_01")
os.remove("/storage/emulated/0/Android/data/com.bairimeng.dmmdzz.qihoo/files/tombstone_02")
--删除360版本日志
os.remove("/storage/emulated/0/Android/data/com.nxkj.gybb13/gameplugins/com.bairimeng.dmmdzz.m7723.bazhang/files/game_log.txt")
os.remove("/storage/emulated/0/Android/data/com.nxkj.gybb13/gameplugins/com.bairimeng.dmmdzz.m7723.bazhang/files/tombstone_00")
os.remove("/storage/emulated/0/Android/data/com.nxkj.gybb13/gameplugins/com.bairimeng.dmmdzz.m7723.bazhang/files/tombstone_01")
os.remove("/storage/emulated/0/Android/data/com.nxkj.gybb13/gameplugins/com.bairimeng.dmmdzz.m7723.bazhang/files/tombstone_02")
--删除7723版本日志
gg.alert("开启成功")
end

_ENV['火力菜单'] = function()
yw=  gg.prompt({"A无间隔","无后座力","子弹数量","破除护盾","道具冷却","变身攻击","无限增益","超级透视"},nil,{"checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox"})
if yw ~= nil then
if yw[1] then
local addr = readPointer("libil2cpp.so", {0x1FD500, 0x5C, 0x0, 0x84, 0x5C}, 2)
gg.edits(addr, {{0, 4, 0, true}})
    gg.toast("无间隔")
end
if yw[2] then
gg.clearResults()
	 gg.setRanges(16384)
	 gg.searchNumber("-2.02910614e20;0.00100000005;-1.30940708e25;-1.30683878e21::", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
	 gg.searchNumber("0.00100000005", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
	 gg.getResults(100)
	 gg.editAll("1.68", gg.TYPE_FLOAT)
	 gg.clearResults()
gg.toast("武器后座开启成功")
    gg.toast("无后座")
end
if yw[3] then
BaseAddressD(0x21d9824,"-476053404")
gg.toast("子弹数量")
end
if yw[4] then
BaseAddressD(0x136832c,'-476053504')
gg.toast("破除护盾开启成功")
end
if yw[5] then
BaseAddressD(0x1183e78,'-476053504')
gg.toast("道具冷却开启成功")
end
if yw[6] then
BaseAddressY(0x21ddb08,'-516948194')
gg.toast("变身攻击开启成功")
end
if yw[7] then
BaseAddressD(0xd0c168,'-476053503')
gg.toast("无限增益开启成功")
end
if yw[8] then
BaseAddressD(0xd5f540,'-476053503')
gg.toast("超级透视开启成功")
end
end
end

_ENV['你看到了我'] = function()
 gg.playMusic("http://music.163.com/song/media/outer/url?id=1377530437.mp3")
end

_ENV['江南style'] = function()
 gg.playMusic("http://music.163.com/song/media/outer/url?id=27490912.mp3")
end

_ENV['杨戬擒悟空'] = function()
 gg.playMusic("http://music.163.com/song/media/outer/url?id=29999128.mp3")
end

_ENV['烧酒歌'] = function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1927948807.mp3")
end

_ENV['雪[DJ]'] = function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2027757465.mp3")
end

_ENV['猴王出世'] = function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=27552544.mp3")
end

_ENV['迈克尔杰克逊'] = function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=1698391.mp3")
end

_ENV['印度国歌'] = function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2024109979.mp3")
end

_ENV['小小的花园里挖'] = function()
 gg.playMusic("http://music.163.com/song/media/outer/url?id=2048772156.mp3")
end

_ENV['朵朵之力'] = function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2045945758.mp3")
end

_ENV['停止音乐'] = function()
    gg.toast("正在停止音乐")
    for i=1,100 do
        gg.playMusic("stop")
        gg.playMusic("stop")
        gg.playMusic("stop")
    end
end
_ENV['隐藏辅助-23'] = function()
gg.setConfig("隐藏辅助", 23)
end

_ENV['运行守护-三'] = function()
gg.setConfig("运行守护", 3)
end

_ENV['冻结间隔-零'] = function()
gg.setConfig("冻结间隔", 0)	
end

floatingWindowManager:newWindow(('落空内部1.0Pro'):format(floatingWindowManager.version), {
	onCreate = function(floatingWindow)
		floatingWindow:addlayout({
			ScrollView,
			layout_margin = '10dp',
			background="https://bhsv.xyz/i/2023/07/01/zn764c.png",
			layout_width = 'match_parent',
			layout_height = 'match_parent',
			{
				LinearLayout,
				background = floatingWindowManager:getStateListDrawable(),
				layout_width = 'match_parent',
				layout_height = 'match_parent',
				orientation = 'vertical',
				padding = '10dp',
				{
					Button,
					background = floatingWindowManager:getStateListDrawable(),
					layout_width = 'match_parent',
					layout_margin = '5dp',
					text = '选择进程',
					textSize = '16sp',
					onClick = function()
					gg.setProcessX()
					end
				},				
				{
					Button,
					background = floatingWindowManager:getStateListDrawable(),
					layout_width = 'match_parent',
					layout_margin = '5dp',
					text = '防窥屏(加强)',
					textSize = '16sp',
					onClick = function()
					禁止录屏()
                    gg.toast("防窥屏开启成功")
					end
				},
				{
					Button,
					background = floatingWindowManager:getStateListDrawable(),
					layout_width = 'match_parent',
					layout_margin = '5dp',
					text = '关闭窥屏',
					textSize = '16sp',
					onClick = function()
					解除禁止录屏()
                    gg.toast("防窥屏关闭成功")
					end
				},
				{
					Button,
					background = floatingWindowManager:getStateListDrawable(),
					layout_width = 'match_parent',
					layout_margin = '5dp',
					text = '辅助设置',
					textSize = '16sp',
					onClick = function()
						floatingWindowManager:start('辅助设置')
					end
				},
				{
					Button,
					background = floatingWindowManager:getStateListDrawable(),
					layout_width = 'match_parent',
					layout_margin = '5dp',
					text = '防闪',
					textSize = '16sp',
					onClick = function()
						floatingWindowManager:start('游戏设置')
					end
				},
				{
					Button,
					background = floatingWindowManager:getStateListDrawable(),
					layout_width = 'match_parent',
					layout_margin = '5dp',
					text = '局内牛逼功能',
					textSize = '16sp',
					onClick = function()
						floatingWindowManager:start('局内牛逼功能')
					end
				},
				{
					Button,
					background = floatingWindowManager:getStateListDrawable(),
					layout_width = 'match_parent',
					layout_margin = '5dp',
					text = '普通功能',
					textSize = '16sp',
					onClick = function()
						floatingWindowManager:start('普通功能')
					end
				},
				{
					Button,
					background = floatingWindowManager:getStateListDrawable(),
					layout_width = 'match_parent',
					layout_margin = '5dp',
					text = '动作修改',
					textSize = '16sp',
					onClick = function()
						floatingWindowManager:start('动作修改')
					end
				},
				{
					Button,
					background = floatingWindowManager:getStateListDrawable(),
					layout_width = 'match_parent',
					layout_margin = '5dp',
					text = '连发功能',
					textSize = '16sp',
					onClick = function()
						floatingWindowManager:start('连发功能')
					end
				},
				{
					Button,
					background = floatingWindowManager:getStateListDrawable(),
					layout_width = 'match_parent',
					layout_margin = '5dp',
					text = '范围与射程功能',
					textSize = '16sp',
					onClick = function()
						floatingWindowManager:start('范围与射程功能')
					end
				},
				{
					Button,
					background = floatingWindowManager:getStateListDrawable(),
					layout_width = 'match_parent',
					layout_margin = '5dp',
					text = '音乐功能',
					textSize = '16sp',
					onClick = function()
						floatingWindowManager:start('音乐功能')
					end
				},
			}
		})
	end,
	onDestroy = function()
		  --gg.alert('')
	end
})

floatingWindowManager:newWindow('音乐功能', {
	onCreate = function(floatingWindow)

		floatingWindow:addlayout({
			ScrollView,
			layout_width = 'match_parent',
			layout_height = 'match_parent',
			{
				LinearLayout,
				background = "http://jiami.guimei.work/a/1683093393.jpg",
				layout_width = 'match_parent',
				layout_height = 'match_parent',
				orientation = 'vertical',
				padding = '10dp',
				newSwitchLayout('你看到了我','停止音乐'),
				newSwitchLayout('江南style','停止音乐'),
				newSwitchLayout('杨戬擒悟空','停止音乐'),
				newSwitchLayout('烧酒歌','停止音乐'),
				newSwitchLayout('雪[DJ]','停止音乐'),
				newSwitchLayout('猴王出世','停止音乐'),
				newSwitchLayout('迈克尔杰克逊','停止音乐'),
				newSwitchLayout('印度国歌','停止音乐'),
				newSwitchLayout('小小的花园里挖','停止音乐'),
				newSwitchLayout('朵朵之力','停止音乐'),
			}
		})
	end
})

floatingWindowManager:newWindow('自用功能', {
	onCreate = function(floatingWindow)

		floatingWindow:addlayout({
			ScrollView,
			layout_width = 'match_parent',
			layout_height = 'match_parent',
			{
				LinearLayout,
				background = floatingWindowManager:getStateListDrawable(),
				layout_width = 'match_parent',
				layout_height = 'match_parent',
				orientation = 'vertical',
				padding = '10dp',
				newSwitchLayout('火力菜单'),
				newSwitchLayout('印度国歌','停止音乐'),
				newSwitchLayout('小小的花园里挖','停止音乐'),
				newSwitchLayout('人物穿墙'),
				newSwitchLayout('A武器间'),
				newSwitchLayout('改迫击炮'),
				newSwitchLayout('空手刷枪'),
				newSwitchLayout('跳跃开物','跳跃开物关闭'),
				newSwitchLayout('移速增加','移速增加关闭'),
				newSwitchLayout('开物加速','开物加速关闭'),
				newSwitchLayout('清除校准','清除校准关闭'),
				newSwitchLayout('无视夹子'),
				newSwitchLayout('倒地复活'),
				newSwitchLayout('子弹数量','子弹数量关闭'),
				newSwitchLayout('道具冷却','道具冷却关闭'),
				newSwitchLayout('武器后座','武器后座关闭'),
				newSwitchLayout('变身攻击','变身攻击关闭'),
				newSwitchLayout('破除护盾','破除护盾关闭'),
				newSwitchLayout('超级透视','超级透视关闭'),
				newSwitchLayout('无限鞭尸','无限鞭尸关闭'),
				newSwitchLayout('无限增益','无限增益关闭'),
				newSwitchLayout('解锁模式','解锁模式关闭'),
				newSwitchLayout('直接逃生'),
			}
		})
	end
})

floatingWindowManager:newWindow('自调功能', {
	onCreate = function(floatingWindow)

		floatingWindow:addlayout({
			ScrollView,
			layout_width = 'match_parent',
			layout_height = 'match_parent',
			{
				LinearLayout,
				background = "http://jiami.guimei.work/a/1683093393.jpg",
				layout_width = 'match_parent',
				layout_height = 'match_parent',
				orientation = 'vertical',
				padding = '10dp',
				newSwitchLayout('迫击范围'),
				newSwitchLayout('迫击射程'),
				newSwitchLayout('腕炮范围'),
				newSwitchLayout('腕炮射程'),
				newSwitchLayout('蹦枪射程'),
			}
		})
	end
})

floatingWindowManager:newWindow('连发功能', {
	onCreate = function(floatingWindow)

		floatingWindow:addlayout({
			ScrollView,
			layout_width = 'match_parent',
			layout_height = 'match_parent',
			{
				LinearLayout,
				background = "http://jiami.guimei.work/a/1683093393.jpg",
				layout_width = 'match_parent',
				layout_height = 'match_parent',
				orientation = 'vertical',
				padding = '10dp',
				newSwitchLayout('火箭筒武器连发'),
				newSwitchLayout('迫击炮武器连发'),
				newSwitchLayout('冲锋枪武器连发'),
				newSwitchLayout('能量剑武器连发'),
				newSwitchLayout('蹦蹦枪武器连发'),
				newSwitchLayout('能量炮武器连发'),
				newSwitchLayout('霰弹枪武器连发'),
				newSwitchLayout('唤风镖武器连发'),
				newSwitchLayout('霸天斧武器连发'),
				newSwitchLayout('黎明盾武器连发'),
				newSwitchLayout('星辰女武器连发'),
				newSwitchLayout('威震天武器连发'),
				newSwitchLayout('热破枪武器连发'),
				newSwitchLayout('红蜘蛛武器连发'),
				newSwitchLayout('自动枪武器连发'),
				newSwitchLayout('电球枪武器连发'),
				newSwitchLayout('生物枪武器连发'),
				newSwitchLayout('像素剑武器连发'),
				newSwitchLayout('滋水枪武器连发'),
			}
		})
	end
})

floatingWindowManager:newWindow('动作修改', {
	onCreate = function(floatingWindow)

		floatingWindow:addlayout({
			ScrollView,
			layout_width = 'match_parent',
			layout_height = 'match_parent',
			{
				LinearLayout,
				background = "http://jiami.guimei.work/a/1683093393.jpg",
				layout_width = 'match_parent',
				layout_height = 'match_parent',
				orientation = 'vertical',
				padding = '10dp',
				newSwitchLayout('一键动作'),
				newSwitchLayout('自调动作'),
				newSwitchLayout('修改文字'),
				newSwitchLayout('一键点药'),
			}
		})
	end
})

floatingWindowManager:newWindow('基址功能', {
	onCreate = function(floatingWindow)

		floatingWindow:addlayout({
			ScrollView,
			layout_width = 'match_parent',
			layout_height = 'match_parent',
			{
				LinearLayout,
				background = "http://jiami.guimei.work/a/1683093393.jpg",
				layout_width = 'match_parent',
				layout_height = 'match_parent',
				orientation = 'vertical',
				padding = '10dp',
				newSwitchLayout('强制开门','强制开门关闭'),
				newSwitchLayout('开门秒逃','开门秒逃关闭'),
				newSwitchLayout('全图踩夹','全图踩夹关闭'),
				newSwitchLayout('秒踩夹子','秒踩夹子关闭'),
				newSwitchLayout('道具冷却','道具冷却关闭'),
				newSwitchLayout('清除校准','清除校准关闭'),
				newSwitchLayout('锁定子弹','锁定子弹关闭'),
				newSwitchLayout('开物加速','开物加速关闭'),
				newSwitchLayout('跳跃开物','跳跃开物关闭'),
				newSwitchLayout('无限鞭尸','无限鞭尸关闭'),
				newSwitchLayout('倒地购物','倒地购物关闭'),
				newSwitchLayout('解锁模式','解锁模式关闭'),
				newSwitchLayout('锁定道具','锁定道具关闭'),
				newSwitchLayout('伤害倍率'),--无关闭
				newSwitchLayout('武器后座','武器后座关闭'),
				newSwitchLayout('猎杀队友','猎杀队友关闭'),
				newSwitchLayout('破除护盾','破除护盾关闭'),
				newSwitchLayout('路过开物','路过开物关闭'),
				newSwitchLayout('子穿射程'),--无关闭,
				newSwitchLayout('角色皮肤','角色皮肤关闭'),
				newSwitchLayout('枪枪暴击','枪枪暴击关闭'),
				newSwitchLayout('道具皮肤','道具皮肤关闭'),
				newSwitchLayout('攻击吸血','攻击吸血关闭'),
				newSwitchLayout('变身攻击','变身攻击关闭'),
				newSwitchLayout('解锁角色','解锁角色关闭'),
				newSwitchLayout('穿过夹子','穿过夹子关闭'),
				newSwitchLayout('移速增加','移速增加关闭'),
				newSwitchLayout('武器间隔','武器间隔关闭'),
				newSwitchLayout('医箱改物'),--无关闭
				newSwitchLayout('修改阵营','修改阵营关闭'),
				newSwitchLayout('无限踩夹','无限踩夹关闭'),
				newSwitchLayout('迫腕射程','迫腕射程关闭'),
				newSwitchLayout('无限增益','无限增益关闭'),
				newSwitchLayout('拖人金币','拖人金币关闭'),
				newSwitchLayout('虚体刷钱','虚体刷钱关闭'),
				newSwitchLayout('无视禁闭','无视禁闭关闭'),
				newSwitchLayout('子弹数量','子弹数量关闭'),
				newSwitchLayout('观战开门','观战开门关闭'),
				newSwitchLayout('直接逃生'),--自带关闭
				newSwitchLayout('任务秒完','任务秒完关闭'),
				newSwitchLayout('全图吸人','全图吸人关闭'),
			}
		})
	end
})

floatingWindowManager:newWindow('辅助设置', {
	onCreate = function(floatingWindow)

		floatingWindow:addlayout({
			ScrollView,
			layout_width = 'match_parent',
			layout_height = 'match_parent',
			{
				LinearLayout,
				background = "http://jiami.guimei.work/a/1683093393.jpg",
				layout_width = 'match_parent',
				layout_height = 'match_parent',
				orientation = 'vertical',
				padding = '10dp',
				newSwitchLayout('基址初始[必开]'),
				newSwitchLayout('隐藏辅助-23'),
				newSwitchLayout('运行守护-三'),
				newSwitchLayout('冻结间隔-零'),
			}
		})
	end
})

floatingWindowManager:newWindow('游戏设置', {
	onCreate = function(floatingWindow)

		floatingWindow:addlayout({
			ScrollView,
			layout_width = 'match_parent',
			layout_height = 'match_parent',
			{
				LinearLayout,
				background = "http://jiami.guimei.work/a/1683093393.jpg",
				layout_width = 'match_parent',
				layout_height = 'match_parent',
				orientation = 'vertical',
				padding = '10dp',
				newSwitchLayout('登录防闪[登录]'),
				newSwitchLayout('清除日志[登录]'),
				newSwitchLayout('环境优化[每局]'),
				newSwitchLayout('举报过检[登录]'),
				newSwitchLayout('防止踢人[大厅]'),
				newSwitchLayout('防检环境[大厅]'),
				newSwitchLayout('离线过检[大厅]'),
				newSwitchLayout('大厅防封[大厅]'),
			}
		})
	end
})

-- 运行悬浮窗
floatingWindowManager:run()