ab4c2739da2435495da65b9055c1f89855=function (vip)
---[=[脚本可以复制到下面]=]-------------------------------------------------------------------------------------------------------------------




xorcc=0
xor=0
A={}
function readWrite(Search,Get,Type,Range) 
gg.clearResults() 
gg.setRanges(Range) 
gg.setVisible(false) 
gg.isVisible(true)
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 
gg.setValues(t)
t_=gg.getValues(t_)
gg.loadResults(t_) 
tg_,th_=nil,nil 
else
gg.toast("开启失败,进入游戏再开",false)
return false 
end 
else gg.toast("开启失败,请进入游戏再次开启") 
return false 
end
end 

function pianyi(address,offest,flags)--偏移(地址,偏移,类型)
    local k = {}
    k[1]={}
    k[1].address = address + tonumber(offest)
    k[1].flags = flags
    return gg.getValues(k)
end

function tiaozhuan(num,offest,flags)--跳转(值无符号,偏移,类型)
  local k={}
  k[1] = {}
  if num < 0 then
  k[1].address = tonumber(num) + 4294967296
  else
  k[1].address = tonumber(num)
  end
  k[1].flags = flags
  local y=gg.getValues(k)[1].address
  local w = pianyi(y,offest,flags)
  return gg.getValues(w)
end

function FloatToDword(num)--f转d类型
    gaixie(xorcc,num,0,16)
    local dwordnum=jieguo(xorcc,0,4)[1].value
    gaixie(xorcc,1,0,4)
    return dwordnum
end

function gaixie(address,num,offest,flags)--小改写(地址,值,偏移,类型)
local k = {}
    k[1]={}
    k[1].address = address + tonumber(offest)
    k[1].flags = flags
    k[1].value = num
    gg.setValues(k)
    return gg.getValues(k)
end

function Gaixie(address,offest,value,flags)--中改写(地址,偏移,值,类型)
local k = {}
    k[1]={}
    k[1].address = address + tonumber(offest)
    k[1].flags = flags
    k[1].value = value
    gg.setValues(k)
end

onclick = function()--一个变量
gg.setVisible(false)
repeat until gg.isVisible(true)
gg.setVisible(false)
end

function jieguo(address,offest,flags)--结果(地址,偏移,类型)
local k = {}
    k[1]={}
    k[1].address = address + tonumber(offest)
    k[1].flags = flags
    gg.loadResults(k)
    return gg.getValues(k)
end

function GaiXie(address,ybz,mbz)--大改写(地址,原本异或,目标异或
local value1=pianyi(address,0,4)[1].value~ybz~mbz
local value2=xorcc~mbz
local k={}
k[1],k[2],k[3]={},{},{}
k[1].address = address + 0
k[1].flags = 4
k[1].value = value1
k[2].address = address + 4
k[2].flags = 4
k[2].value = value2
k[3].address = address + 8
k[3].flags = 4
k[3].value = value2
gg.setValues(k)
end

function RDW(value,Table,py,lx)
  gg.setVisible(false)
  gg.clearResults()
  gg.setRanges(8)
  gg.searchNumber(value,gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) 
  ssjg=gg.getResults(gg.getResultCount())
 for x=1,gg.getResultCount()  do
  sjor=""
 for tab=1,#Table do
 if Table[tab][1]==pianyi(ssjg[x].address,Table[tab][2],4)[1].value then
sjor="true"..sjor
 else
  sjor="false"..sjor
    end
end
if  string.find(sjor,"false")==nil then 
jieguo(ssjg[x].address,py,lx) 
break else 
end  end  
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,renxian,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 
--笑死了，你爹11.42全功能直接照搬
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 

gg.sumAddress = function(tablex,index,offest,flags)
    local k = {}
    k[1]={}
    k[1].address = tablex[index].address + tonumber(offest)
    k[1].flags = flags
    return gg.getValues(k)
end


 
 
gg.gotoPointer = function(tablex,index,offest,flags)
  local goto_Pointer={}
  tablex[index].flags = 4
  goto_Pointer[1] = {}
  if gg.getValues(tablex)[index].value < 0 then
    goto_Pointer[1].address = tonumber(gg.getValues(tablex)[index].value) + 4294967296
   else
    goto_Pointer[1].address = tonumber(gg.getValues(tablex)[index].value)
  end
  goto_Pointer[1].flags = flags
  local a_pointer=gg.getValues(goto_Pointer)
    local k = gg.sumAddress(a_pointer,1,offest,flags)
    return gg.getValues(k)
end
function split(szFullString, szSeparator)
local nFindStartIndex = 1 
local nSplitIndex = 1 
local nSplitArray = {} while true do 
local 
nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) 
if not nFindLastIndex then 
nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) 
break end 
nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) 
nFindStartIndex = nFindLastIndex + string.len(szSeparator) 
nSplitIndex = nSplitIndex + 1 end return 
nSplitArray end function 
xgxc(szpy, qmxg) for x = 1, #(qmxg) do 
xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] 
xgsz = qmxg[x]["value"] 
gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) 
xgsl = xgsl + 1 end end function 
xqmnb(qmnb) 
gg.clearResults() 
gg.setRanges(qmnb[1]["memory"]) 
gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) 
if gg.getResultCount() == 0 then 
gg.toast(qmnb[2]["name"] .. "开启失败")
else 
gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) 
gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) 
gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) 
if gg.getResultCount() == 0 then 
gg.toast(qmnb[2]["name"] .. "开启失败") 
else 
sl = gg.getResults(999999) 
sz = gg.getResultCount() 
xgsl = 0 if sz > 999999 then 
sz = 999999 end for i = 1, sz do 
pdsz = true for v = 4, #(qmnb) do if 
pdsz == true then 
pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] 
pysz[1].flags = qmnb[v]["type"] 
szpy = gg.getValues(pysz) 
pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") 
tzszpd = szpd[1] 
pyszpd = szpd[2] 
if tzszpd == pyszpd then 
pdjg = true pdsz = true else 
pdjg = false pdsz = false end end end 
if pdjg == true then 
szpy = sl[i].address xgxc(szpy, qmxg) 
xgjg = true end end 
if xgjg == true then 
gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据") 
else 
gg.toast(qmnb[2]["name"] .. "未搜索到数据,开启失败") 
end 
end 
end 
end

function Main()
    local xz = gg.choice({ 
        "快速搜值",--1
        "值有变化["..gg.getResultCount().."]",--2
        "角色等级",--3
        "货币功能区",--4
        --5
        --6
        
        "自定义打造",--8
        --10
        "其他功能区",--11
        --12
        --13
        --14
        "偷榜属性区",--15
        --16
        --17
        "退出该脚本",--18
    }, nil, "感谢支持，新版本部分功能执行较慢，需耐心等待脚本运行完成即可\n搜索结果"..gg.getResultCount().." 个")
if xz==1 then YX2() end  
if xz==2 then YX1() end  
if xz==3 then jsdj() end
if xz==4 then a1() end
if xz==5 then zdydz() end
if xz==6 then qtq() end
if xz==7 then tbsxq() end
if xz==8 then exit() end
chen=0
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 gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end 
gg.sumAddress = function(tablex,index,offest,flags) local k = {} k[1]={} k[1].address = tablex[index].address + tonumber(offest) k[1].flags = flags return gg.getValues(k) end
gg.gotoPointer = function(tablex,index,offest,flags) local goto_Pointer={} tablex[index].flags = 4 goto_Pointer[1] = {} if gg.getValues(tablex)[index].value < 0 then goto_Pointer[1].address = tonumber(gg.getValues(tablex)[index].value) + 4294967296 else goto_Pointer[1].address = tonumber(gg.getValues(tablex)[index].value) end goto_Pointer[1].flags = flags local a_pointer=gg.getValues(goto_Pointer) local k = gg.sumAddress(a_pointer,1,offest,flags) return gg.getValues(k) end
function xgzxor(dz,num1,num2)
  readWrite({{false,-65301,0,4,nil,nil},{65792,-396,4},{1,-2912,4}},{{false,-2924,4,false}},4,4,"获取数据")
  if gg.getResultCount()== 0 then gg.alert("重启修改器") os.exit() end
  local t = gg.getResults(1)
  local a = gg.sumAddress(t,1,4,4)[1]
  xorcc=a.value
  local a1,a2,a3 = {},{},{}
  a1[1],a2[1],a3[1] = {},{},{}
  a1[1].address = dz
  a2[1].address = dz + 4
  a3[1].address = dz + 8
  a1[1].flags = 4
  a2[1].flags = 4
  a3[1].flags = 4
  a1 = gg.getValues(a1)
  a2 = gg.getValues(a2)
  a3 = gg.getValues(a3) 
  num = a1[1].value~num1~num2
  numd = xorcc~num2
  a1[1].value = num
  a2[1].value = numd
  a3[1].value = numd
  gg.setValues(a1)
  gg.setValues(a2)
  gg.setValues(a3)
end

function jsdj()
local dj=gg.prompt({"当前等级","目标等级"}, {nil},{"number","number"})
readWrite({{false,-65301,0,4,nil,nil},{65792,-396,4}},{{false,-2908,4,false}},4,4,"获取数据")
local n=gg.getResultCount()
local r=gg.getResults(n)
for i=1,n do
  local a=gg.sumAddress(r,i,0,4)[1].address
  xgzxor(a,dj[1],dj[2])
end
end


function a1()
 readWrite({{false,11,0,4,nil,nil},{1065353216,-12,4},{11,16,4},{1065353216,12,4}},{{false,-360,4,false}},4,4,"")
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
SN = gg.choice({
     "自定义灵魂",
     "自定义仙气",
     "自定义战功",
     "自定义宠物格子",
     "自定义背包格子",
	 "返回主页面",
}, nil, "感谢支持")
if SN==1 then lh100() end
if SN==2 then xq100() end
if SN==3 then zg100() end
if SN==4 then cwgz() end
if SN==5 then bbgz() end	  	 
if SN==6 then Main() end
chen=0
end

function cwgz() 
readWrite({{false,11,0,4,nil,nil},{1065353216,-12,4},{11,16,4},{1065353216,12,4}},{{false,-360,4,false}},4,4,"")
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
local cw = gg.prompt({
    "当前背包格子",
    "自定义格子"
      }, {
    [1] = 0,
    [2]=0
  }, {
    [1] = "number",
     [2] = "number"
  })


readWrite({{false,-4399,0,4,nil,nil},
{1,-28,4}},{{false,-508,4,false},
{false,-504,4,false},{false,-500,4,false}
},4,4,"宠物格子")
local beginAddress = gg.getResults(1)[1].address
  local fb = beginAddress
   m1 = SouAddress(fb + 0, gg.TYPE_XOR)
    m2 = SouAddress(fb + 4, gg.TYPE_DWORD)
    m3 = SouAddress(fb + 8, gg.TYPE_DWORD)
a=(m1~cw[1])
b=(a~cw[2])
c=(can~cw[2])
qmnb = {
{["memory"] = 4},
{["name"] = "宠物格子"},
{["value"] = m1, ["type"] = 8},
{["lv"] = m2, ["offset"] = 4, ["type"] = 4},
{["lv"] = m3, ["offset"] = 8, ["type"] = 4},
}
qmxg = {
{["value"] = b, ["offset"] = 0, ["type"] = 8},
{["value"] = c, ["offset"] = 4, ["type"] = 4},
{["value"] = c, ["offset"] = 8, ["type"] = 4},
}
xqmnb(qmnb)
end
function bbgz()
readWrite({{false,11,0,4,nil,nil},{1065353216,-12,4},{11,16,4},{1065353216,12,4}},{{false,-360,4,false}},4,4,"")
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
local cw = gg.prompt({
    "当前背包格子",
    "自定义格子"
      }, {
    [1] = 0,
    [2]=0
  }, {
    [1] = "number",
     [2] = "number"
  })


readWrite({{false,-4399,0,4,nil,nil}
,{1,36,4}},{{false,-300,4,false},
{false,-296,4,false},{false,-292,4,false}
},4,4,"背包格子")
local beginAddress = gg.getResults(1)[1].address
  local fb = beginAddress
   m1 = SouAddress(fb + 0, gg.TYPE_XOR)
    m2 = SouAddress(fb + 4, gg.TYPE_DWORD)
    m3 = SouAddress(fb + 8, gg.TYPE_DWORD)
a=(m1~cw[1])
b=(a~cw[2])
c=(can~cw[2])
qmnb = {
{["memory"] = 4},
{["name"] = "背包格子"},
{["value"] = m1, ["type"] = 8},
{["lv"] = m2, ["offset"] = 4, ["type"] = 4},
{["lv"] = m3, ["offset"] = 8, ["type"] = 4},
}
qmxg = {
{["value"] = b, ["offset"] = 0, ["type"] = 8},
{["value"] = c, ["offset"] = 4, ["type"] = 4},
{["value"] = c, ["offset"] = 8, ["type"] = 4},
}
xqmnb(qmnb)
end

function zg100()
 
local zdy = gg.prompt({
    "当前战功"
  }, {
    [1] = 0
  }, {
    [1] = "number"
  })[1]
readWrite({{false,-4399,0,4,nil,nil},
{1,48,4}},{{false,140,8,false},
{false,144,4,false},{false,148,4,false}
},4,4,"战功")  
local t  = gg.getResults(1)
local a = gg.sumAddress(t,1,0,8)[1]
local b = gg.sumAddress(t,1,4,4)[1]
local c = gg.sumAddress(t,1,8,4)[1]
a1=(a.value~zdy)

  local str = gg.prompt({
    "自定义战功"
  }, {
    [1] = 0
  }, {
    [1] = "number"
  })[1]
  a2=(a1~str)
  a3=(can~str)
readWrite({{false,-4399,0,4,nil,nil},
{1,48,4}},{{a2,140,8,false},
{a3,144,4,false},{a3,148,4,false}
},4,4,"战功")
SouAddress(zb, gg.TYPE_DWORD)
   
end

function lh100()
 
local zdy = gg.prompt({
    "当前灵魂"
  }, {
    [1] = 0
  }, {
    [1] = "number"
  })[1]
readWrite({{false,-4399,0,4,nil,nil},
{1,48,4}},{{false,-364,8,false},
{false,-360,4,false},{false,-356,4,false}
},4,4,"灵魂")  
local t  = gg.getResults(1)
local a = gg.sumAddress(t,1,0,8)[1]
local b = gg.sumAddress(t,1,4,4)[1]
local c = gg.sumAddress(t,1,8,4)[1]
a1=(a.value~zdy)

  local str = gg.prompt({
    "自定义灵魂"
  }, {
    [1] = 0
  }, {
    [1] = "number"
  })[1]
  a2=(a1~str)
  a3=(can~str)
readWrite({{false,-4399,0,4,nil,nil},
{1,48,4}},{{a2,-364,8,false},
{a3,-360,4,false},{a3,-356,4,false}
},4,4,"灵魂")
SouAddress(zb, gg.TYPE_DWORD)
   
end

function xq100()

local zdy = gg.prompt({
    "当前仙气"
  }, {
    [1] = 0
  }, {
    [1] = "number"
  })[1]
readWrite({{false,-4399,0,4,nil,nil},
{1,48,4}},{{false,-240,8,false},
{false,-236,4,false},{false,-232,4,false}
},4,4,"仙气")  
local t  = gg.getResults(1)
local a = gg.sumAddress(t,1,0,8)[1]
local b = gg.sumAddress(t,1,4,4)[1]
local c = gg.sumAddress(t,1,8,4)[1]
a1=(a.value~zdy)

  local str = gg.prompt({
    "自定义仙气"
  }, {
    [1] = 0
  }, {
    [1] = "number"
  })[1]
  a2=(a1~str)
  a3=(can~str)
readWrite({{false,-4399,0,4,nil,nil},
{1,48,4}},{{a2,-240,8,false},
{a3,-236,4,false},{a3,-232,4,false}
},4,4,"仙气")
SouAddress(zb, gg.TYPE_DWORD)
   
end


--过ID换壳区
function jkidhk()
local xz=gg.choice({
"记录数据",
"更换壳子",
"过ID检测",
"返回菜单",
}, nil, "感谢支持")
if xz==1 then abc() end
if xz==2 then bca() end
if xz==3 then cba() end
if xz==4 then Main() end
chen=0
end
id=0
kz=0
kz1=0
kz2=0
kz3=0
nb=0
tt=0
qq=0
function abc()
 id = gg.getResults(1)[1].address
 kz= SouAddress(id + 284, gg.TYPE_DWORD)
 kz1=SouAddress(id + 292, gg.TYPE_DWORD)
 kz2=SouAddress(id + 296, gg.TYPE_DWORD)
 kz3=SouAddress(id + 300, gg.TYPE_DWORD)
 gg.toast("录入成功") 
end

function bca()
fb = gg.getResults(1)[1].address
zb= SouAddress(fb + 0, gg.TYPE_DWORD)
tt=SouAddress(fb + 84, gg.TYPE_DWORD)
mm=SouAddress(fb + 92, gg.TYPE_DWORD)
nn=SouAddress(fb + 312, gg.TYPE_DWORD)
nb= SouAddress(fb + 284, gg.TYPE_DWORD)
qq=(kz~nn)
readWrite({{false,zb,0,4,nil,nil},
},{{qq,284,4,false},{kz1,292,4,false},{kz2,296,4,false},{kz3,300,4,false}
},4,4,"")
readWrite({{false,zb,0,4,nil,nil},
},{{false,284,4,false}
},4,4,"")
 td = gg.getResults(1)[1].address
 td1= SouAddress(td + 0, gg.TYPE_XOR)
 bb=(td1~mm)
 readWrite({{false,zb,0,4,nil,nil},
},{{kz,284,4,false}
},4,4,"")
readWrite({{false,zb,0,4,nil,nil},
},{{false,284,4,false}
},4,4,"")
td2 = gg.getResults(1)[1].address
td3= SouAddress(td2 + 0, gg.TYPE_XOR)
readWrite({{false,zb,0,4,nil,nil},
},{{td3,308,4,false},{mm,316,4,false},{bb,320,4,false},{32,324,4,false}
},4,4,"")
SouAddress(fb, gg.TYPE_DWORD)
 end

function cba()
local a=gg.choice({
            "自定义物品",
			"白骨战衣",
			"白骨翅膀",
			"白骨武器",
			"风华衣服",
			"风华武器",
			"风华翅膀",
			"返回菜单",
		}, nil, "感谢支持")
		if a==1 then
			zdyjc()
		end
		if a==2 then
			kzjc(501200)
		end
		if a==3 then
			kzjc(500402)
		end
		if a==4 then
			kzjc(520120)
		end
		if a==5 then
			kzjc(501320)
		end
		if a==6 then
			kzjc(500412)
		end
		if a==7 then
	       Main()
		end
		chen=0
end
function zdyjc()
db = gg.getResults(1)[1].address
ab= SouAddress(db + 0, gg.TYPE_DWORD)
ab1= SouAddress(db + 92, gg.TYPE_DWORD)
local zdy = gg.prompt({
    "修改后的物品代码"
  }, {
    [1] = 0
  }, {
    [1] = "number"
  })[1]

md2=(zdy~ab1)
cv=(zdy~tt)
readWrite({{false,nb,0,4,nil,nil},{tt,28,4},{tt,48,4},{tt,52,4}},{{kz,0,4,false},{kz1,8,4,false},{kz2,12,4,false},{kz3,16,4,false},{cv,72,4,false},{ab1,80,4,false},{md2,84,4,false},{32,88,4,false}},4,4,"")

end
function kzjc(zdy)
db = gg.getResults(1)[1].address
ab= SouAddress(db + 0, gg.TYPE_DWORD)
ab1= SouAddress(db + 92, gg.TYPE_DWORD)
md2=(zdy~ab1)
cv=(zdy~tt)
readWrite({{false,nb,0,4,nil,nil},{tt,28,4},{tt,48,4},{tt,52,4}},{{kz,0,4,false},{kz1,8,4,false},{kz2,12,4,false},{kz3,16,4,false},{cv,72,4,false},{ab1,80,4,false},{md2,84,4,false},{32,88,4,false}},4,4,"")
end

---------偷榜属性区
function tbsxq()
local xz = gg.choice({
        "获取壳子",
        "偷榜(多属性,五孔在这)",
        "偷榜(单属性,业力在这)",
        "返回菜单"
    }, nil, "感谢支持，\n搜索结果"..gg.getResultCount().." 个") 
if xz==1 then hqzzz() end
if xz==2 then dsxq() end
if xz==3 then ddhq() end
if xz==4 then Main() end
chen=0
end
num=0
dz1=0
dz2=0
dz3=0
dz4=0
function dsxq()
local xz = gg.choice({
        "一键偷法宝属性",
        "一键偷传说装备属性(可偷魂器)",
        "一键偷至尊里的传说装备属性",
        "一键偷启灵珠加属性",
        "一键偷至尊的星品",
        "一键传说剑五孔",
        "一键偷剑孔法宝",
        "返回主菜单"
},nil,"感谢支持")
if xz==1 then bsfb() end  
if xz==2 then bscs() end      
if xz==3 then bszzcs() end
if xz==4 then bsqlz() end
if xz==5 then bszzxp() end
if xz==6 then WK() end
if xz==7 then bsjkfb() end
if xz==8 then Main() end
chen=0
end

function bsjkfb()
local w=gg.choice({
"记录剑孔法宝值",
"替换剑孔法宝值",
"返回主菜单"
},nil,"感谢支持")
if w==1 then JL()  end
if w==2 then TH() end
if w==3 then Main() end
chen=0
end
function TH()
local dz=gg.getResults(1)[1].address
local py=pianyi(dz,708,4)[1].value
local   tzn=tiaozhuan(py,0,4)[1].address
gaixie12(tzn,tzj,0,4)
gaixie12(tzn,py1,4,4)
gaixie12(tzn,py2,8,4)
gaixie12(tzn,py3,12,4)
gaixie12(tzn,py4,16,4)
gg.toast("修改完成")
end
function gaixie12(address,value,offest,flags)
local k = {}
    k[1]={}
    k[1].address = address + tonumber(offest)
    k[1].flags = flags
    k[1].value = value
    print(k)
    gg.setValues(k)
end
function JL()
local dz=gg.getResults(1)[1].address
local py=pianyi(dz,708,4)[1].value
 tz=tiaozhuan(py,0,4)[1].address
 tzj=tiaozhuan(py,0,4)[1].value
 py1=pianyi(tz,4,4)[1].value
 py2=pianyi(tz,8,4)[1].value
 py3=pianyi(tz,12,4)[1].value
 py4=pianyi(tz,16,4)[1].value
 gg.toast("记录成功")
 end



function yjyl()
for i=0,5 do
gaixie2(gg.getResults(1)[1].address + 896*i,1,5)
end
end


function zzcc()
local dz=pianyi(gg.getResults(1)[1].address,0xD8,4)
gg.addListItems(dz)
gg.toast("获取成功")
os.exit()
end

function ddhq()
local xz = gg.choice({
        "一键偷基础属性(法宝/装备/业力通用)",
        "一键偷阶数(法宝与装备通用)",
        "一键偷强化(法宝才可以偷)",
        "一键偷问仙(法宝与装备通用)",
        "一键偷至尊里的基础属性(装备用)",
        "一键偷至尊里的阶数(装备用)",
        "一键偷至尊里的问仙(装备用)",
        "一键偷至尊的品",
        "一键偷至尊的星",
        "一键业力全邪灵",
        "获取至尊传承",
        "返回主菜单"
    }, nil,"感谢支持")
if xz==1 then djc() end  
if xz==2 then djs() end  
if xz==3 then dqh() end  
if xz==4 then dwx() end      
if xz==5 then zzdjc() end
if xz==6 then zzdjs() end
if xz==7 then zzdwx() end
if xz==8 then zzp() end
if xz==9 then zzx() end
if xz==10 then yjyl() end
if xz==11 then zzcc() end
if xz==12 then Main() end
chen=0
end

function djc()
if num==0 then
dz1=pianyi(gg.getResults(1)[1].address,0x14C,4)[1].value
gg.toast("记录成功")
num=1
else
gaixie6(gg.getResults(1)[1].address,0x14C,dz1,4)
gg.toast("修改成功")
os.exit()
end
end

function djs()
if num==0 then
dz1=pianyi(gg.getResults(1)[1].address,0x180,4)[1].value
gg.toast("记录成功")
num=1
else
gaixie6(gg.getResults(1)[1].address,0x180,dz1,4)
gg.toast("修改成功")
os.exit()
end
end

function dqh()
if num==0 then
dz1=pianyi(gg.getResults(1)[1].address,0x188,4)[1].value
gg.toast("记录成功")
num=1
else
gaixie6(gg.getResults(1)[1].address,0x188,dz1,4)
gg.toast("修改成功")
os.exit()
end
end

function dwx()
if num==0 then
dz1=pianyi(gg.getResults(1)[1].address,0x18C,4)[1].value
gg.toast("记录成功")
num=1
else
gaixie6(gg.getResults(1)[1].address,0x18C,dz1,4)
gg.toast("修改成功")
os.exit()
end
end

function zzdjc()
if num==0 then
dz1=pianyi(gg.getResults(1)[1].address,0x4CC,4)[1].value
gg.toast("记录成功")
num=1
else
gaixie6(gg.getResults(1)[1].address,0x14C,dz1,4)
gg.toast("修改成功")
os.exit()
end
end

function zzdjs()
if num==0 then
dz1=pianyi(gg.getResults(1)[1].address,0x500,4)[1].value
gg.toast("记录成功")
num=1
else
gaixie6(gg.getResults(1)[1].address,0x180,dz1,4)
gg.toast("修改成功")
os.exit()
end
end

function zzdwx()
if num==0 then
dz1=pianyi(gg.getResults(1)[1].address,0x50C,4)[1].value
gg.toast("记录成功")
num=1
else
gaixie6(gg.getResults(1)[1].address,0x18C,dz1,4)
gg.toast("修改成功")
os.exit()
end
end

function zzp()
if num==0 then
dz1=pianyi(gg.getResults(1)[1].address,0x1D4,4)[1].value
gg.toast("记录成功")
num=1
else
gaixie6(gg.getResults(1)[1].address,0x1D4,dz1,4)
gg.toast("修改成功")
os.exit()
end
end

function zzx()
if num==0 then
dz1=pianyi(gg.getResults(1)[1].address,0x1D8,4)[1].value
gg.toast("记录成功")
num=1
else
gaixie6(gg.getResults(1)[1].address,0x1D8,dz1,4)
gg.toast("修改成功")
os.exit()
end
end

function bsfb()
if num==0 then
dz1=pianyi(gg.getResults(1)[1].address,0x14C,4)[1].value
dz2=pianyi(gg.getResults(1)[1].address,0x180,4)[1].value
dz3=pianyi(gg.getResults(1)[1].address,0x188,4)[1].value
dz4=pianyi(gg.getResults(1)[1].address,0x18C,4)[1].value
gg.toast("记录成功")
num=1
else
gaixie6(gg.getResults(1)[1].address,0x14C,dz1,4)
gaixie6(gg.getResults(1)[1].address,0x180,dz2,4)
gaixie6(gg.getResults(1)[1].address,0x188,dz3,4)
gaixie6(gg.getResults(1)[1].address,0x18C,dz4,4)
gg.toast("修改成功")
os.exit()
end
end

function bscs()
if num==0 then
dz1=pianyi(gg.getResults(1)[1].address,0x14C,4)[1].value
dz2=pianyi(gg.getResults(1)[1].address,0x180,4)[1].value
dz3=pianyi(gg.getResults(1)[1].address,0x18C,4)[1].value
gg.toast("记录成功")
num=1
else
gaixie6(gg.getResults(1)[1].address,0x14C,dz1,4)
gaixie6(gg.getResults(1)[1].address,0x180,dz2,4)
gaixie6(gg.getResults(1)[1].address,0x18C,dz3,4)
gg.toast("修改成功")
os.exit()
end
end

function bszzcs()
if num==0 then
dz1=pianyi(gg.getResults(1)[1].address,0x4CC,4)[1].value
dz2=pianyi(gg.getResults(1)[1].address,0x500,4)[1].value
dz3=pianyi(gg.getResults(1)[1].address,0x50C,4)[1].value
gg.toast("记录成功")
num=1
else
gaixie6(gg.getResults(1)[1].address,0x14C,dz1,4)
gaixie6(gg.getResults(1)[1].address,0x180,dz2,4)
gaixie6(gg.getResults(1)[1].address,0x18C,dz3,4)
gg.toast("修改成功")
os.exit()
end
end

function bsqlz()
if num==0 then
dz1=pianyi(gg.getResults(1)[1].address,0x2B8,4)[1].value
dz2=pianyi(gg.getResults(1)[1].address,0x2BC,4)[1].value
gg.toast("记录成功")
num=1
else
gaixie6(gg.getResults(1)[1].address,0x2B8,dz1,4)
gaixie6(gg.getResults(1)[1].address,0x2BC,dz2,4)
gg.toast("修改成功")
os.exit()
end
end

function bszzxp()
if num==0 then
dz1=pianyi(gg.getResults(1)[1].address,0x1D4,4)[1].value
dz2=pianyi(gg.getResults(1)[1].address,0x1D8,4)[1].value
gg.toast("记录成功")
num=1
else
gaixie6(gg.getResults(1)[1].address,0x1D4,dz1,4)
gaixie6(gg.getResults(1)[1].address,0x1D8,dz2,4)
gg.toast("修改成功")
os.exit()
end
end

function yjyl()
for i=0,5 do
gaixie2(gg.getResults(1)[1].address + 896*i,1,5)
end
end



function WK()
local dz=pianyi(gg.getResults(1)[1].address,0x2C4,4)[1].value
local dz1=tiaozhuan(dz,0,4)[1].address
local cao=tiaozhuan(dz1,0,4)[1].value
gaixie1(dz1,cao,4,4)
gaixie1(dz1,cao,8,4)
gaixie1(dz1,cao,12,4)
gaixie1(dz1,cao,16,4)
end

function hqzzz()
gg.addListItems(gg.getResults(1))
local dz=pianyi(gg.getResults(1)[1].address,0x11C,4)[1].value
local dz1=pianyi(gg.getResults(1)[1].address,0x54,4)[1].value
      dz2=dz1~dz
local dz3=tiaozhuan(dz2,0,4)[1].address
jieguo(dz3,4,4)
gg.toast("获取成功")
os.exit()
end

---------下面都是偷榜配置-------         
function pianyi(address,offest,flags)
local k={}
k[1]={}
k[1].address = address + tonumber(offest)
k[1].flags = flags
return gg.getValues(k)
end
-----偷榜配置-----
function gaixie6(address,offest,value,flags)
local k={}
k[1]={}
k[1].address = address + tonumber(offest)
k[1].flags = flags
k[1].value = value
gg.setValues(k)
end
-----传说剑五孔配置----
function gaixie1(address,num,offest,flags)
local k = {}
    k[1]={}
    k[1].address = address + tonumber(offest)
    k[1].flags = flags
    k[1].value = num
    gg.setValues(k)
    return gg.getValues(k)
end
----业力配置-------
function gaixie2(address,num1,num2)
local k,h={},{}
k[1],k[2],k[3],h[1]={},{},{},{}
k[1].address = address + 192
k[1].flags = 4
k[2].address = address + 196
k[2].flags = 4
k[3].address = address + 200
k[3].flags = 4
h[1].address = address + 92
h[1].flags = 4
k[1].value = gg.getValues(k)[1].value~num1~num2
k[2].value = gg.getValues(h)[1].value~num2
k[3].value = gg.getValues(h)[1].value~num2
gg.setValues(k)
end

function tiaozhuan(num,offest,flags)
  local k={}
  k[1] = {}
  if num < 0 then
  k[1].address = tonumber(num) + 4294967296
  else
  k[1].address = tonumber(num)
  end
  k[1].flags = flags
  local y=gg.getValues(k)[1].address
  local w = pianyi(y,offest,flags)
  return gg.getValues(w)
end

function jieguo(address,offest,flags)
local k = {}
    k[1]={}
    k[1].address = address + tonumber(offest)
    k[1].flags = flags
    gg.loadResults(k)
    return gg.getValues(k)
end


function wpth()
local xz = gg.choice({
           "任意物品替换",
           "恢复替换值",
           "返回主菜单"
    },nil,"感谢支持")
if xz==1 then rywpth() end
if xz==2 then HF() end
if xz==3 then Main() end
chen=0
end

function rywpth()
if gg.getResultCount()==1  then
local wp=gg.prompt({"刚刚搜的装备的源码\n1301尾火棍/2501碧水袍/3501氐土凯/4302角木铲/5501荒芜/6301凌火剑/7301别情/500001葫芦/500002青云剑/500003珍珠伞/500004紫金铃铛/500005转轮王/503134宠物蛋/505500宠物技能书/502251白骨翅膀制作书/502252白骨战衣制作书/502273白骨武器制作书","你想要目标物品"},{nil,nil},{"number","number"})
local dz=gg. getResults(1)[1].address
local a=pianyi11(dz,0x138,4)[1].value---异或
local b=pianyi11(dz,0x11C,4)[1].value---被异或
local x=pianyi11(dz,0x5C,4)[1].value----获取物品D值
local d=(b~a)---异或后D值
 e=tiaozhuan11(d,0x0,4)[1].address
local f=tiaozhuan11(d,0x4,8)[1].value
local ddz=(x~wp[2])
local xz=(f~wp[1]~wp[2])
     
 hf1   =  pianyi11(e,4,8)[1].value
 hf2   =  pianyi11(e,8,4)[1].value
 hf3   =  pianyi11(e,12,4)[1].value
     
      gaixie11(e,xz,4,8)
      gaixie11(e,ddz,8,4)
      gaixie11(e,ddz,12,4)
      gg.toast("修改完成")
      
      else
      gg.toast("请先找到值")
      Mian()
      end    
end

function HF()
if e==nil then
gg.toast("请修改后再恢复")
Mian()
else
      gaixie11(e,hf1,4,8)
      gaixie11(e,hf2,8,4)
      gaixie11(e,hf3,12,4)
gg.toast("恢复成功")
end
end


function pianyi11(address,offest,flags)
    local k = {}
    k[1]={}
    k[1].address = address + tonumber(offest)
    k[1].flags = flags
    return gg.getValues(k)
end

function tiaozhuan11(num,offest,flags)
  local k={}
  k[1] = {}
  if num < 0 then
  k[1].address = tonumber(num) + 4294967296
  else
  k[1].address = tonumber(num)
  end
  k[1].flags = flags
  local y=gg.getValues(k)[1].address
  local w = pianyi11(y,offest,flags)
  return gg.getValues(w)
end



function gaixie11(address,num,offest,flags)
local k = {}
    k[1]={}
    k[1].address = address + tonumber(offest)
    k[1].flags = flags
    k[1].value = num
    gg.setValues(k)
end



function sj6()
num1 = gg.choice({
"九重天数据(末尾0C的偏移F0)",
"灵物阶数数据(蒙版78改善,偏移-1C)",
"等级源码(末尾选90的，-B50是等级)",
"本命神阶数",
"返回主菜单"
}, nil,"九重天数据(末尾8C的偏移48),灵物阶数数据(蒙版78改善,偏移-1C),等级偏移:-B50当前等级,-468当前经验,-414经验上限")     
if num1==1 then ditu() end
if num1==2 then lingwu() end
if num1==3 then dengji() end
if num1==4 then hqbmsjs() end
if num1==5 then Main() end
chen=0
end

function hqbmsjs()
readWrite({{false,1097859072,0,4,nil,nil},{1084227584,4,4},{6,224,4},{8,92,8},{12,96,8},{8,144,8},{20,148,8}},{{false,8,4,false}},4,4,"本命神阶数获取成功")
os.exit()
end

function qjdj()
SN = gg.choice({
     "获取背包格子数据",
     "获取强化石格子",
	 "返回主菜单",
}, nil, "感谢支持")
if SN==1 then
readWrite({{false,200,0,4,nil,nil},
{-2147483648,-224,4}},{{false,28,4,false}
},4,4,"背包格子数据")
os.exit() end
if SN==2 then
readWrite({{false,200,0,4,nil,nil},
{-2147483648,-224,4},{0,32,4}},
{{false,28,4,false}
},4,4,"强化石格子数据")
os.exit() end
if SN==3 then Main() end
chen=0
end

function ditu()
	gg.clearResults()
	 gg.setRanges(4)
	 gg.searchNumber("120;124;24;28;8;12::", gg.TYPE_XOR, false, gg.SIGN_EQUAL, 0, -1)
	 gg.searchNumber("12", gg.TYPE_XOR, false, gg.SIGN_EQUAL, 0, -1)
	 gg.toast("搜索完成")
	 os.exit()	 
end

function lingwu()
     gg.clearResults()
	 gg.setRanges(262207)
	 gg.searchNumber("11D;5D;11D;11D;6D;11D;11D;11D;5D;11D;11D;5D::", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
	 gg.searchNumber("5", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
	 gg.toast("搜索完成")
	 os.exit()	 
end

function dengji()
	 gg.clearResults()
	 gg.setRanges(4)
	 gg.searchNumber("-65301", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
	 gg.toast("搜索完成")
	 os.exit()	 	 
end

function yjsyl()
SN = gg.choice({
	 "灵尘/仙尘",
	 "宠物经验瓶",
	 "材料自定义出售",
	 "返回菜单"
}, nil, "感谢支持")
if SN==1 then lcxc() end
if SN==2 then cwjyp() end
if SN==3 then zdycs() end
if SN==4 then Main() end
chen=0
end
function lcxc()
local begin = gg.getResults(1)[1].address
if pd==0 then
local wp=gg.prompt({"当前物品进阶值","目标物品进阶值"},{nil,nil},{"number","number"})
local dz1=pianyi(begin,0x11C,4)[1].value
local dz2=pianyi(begin,0x54,4)[1].value
lz=pianyi(begin,0x5C,4)[1].value
dl=(lz~wp[2])
zh=(dz1~dz2)
local dz4=tiaozhuan(zh,0x90,8)[1].value
local dz4dz=tiaozhuan(zh,0x90,8)[1].address
gaixie(begin,dz1,0x11C,4)
zhz=(dz4~wp[1]~wp[2])
pd=(dz4~wp[1])
dz=dz4dz
gaixie(dz4dz,zhz,0,8)
gaixie(dz4dz,dl,4,4)
gaixie(dz4dz,dl,8,4)
else
local wp=gg.prompt({"恢复进阶值或者更换其他进阶值"},nil,{"number"})
dl=(lz~wp[1])
zhz=(pd~wp[1])
gaixie(dz,zhz,0,8)
gaixie(dz,dl,4,4)
gaixie(dz,dl,8,4)
end
SouAddress(begin, gg.TYPE_DWORD)
end

function zdycs()
local begin = gg.getResults(1)[1].address
if pd==0 then
local wp=gg.prompt({"当前物品出售值","目标物品出售值"},{nil,nil},{"number","number"})
local dz1=pianyi(begin,0x11C,4)[1].value
local dz2=pianyi(begin,0x54,4)[1].value
lz=pianyi(begin,0x5C,4)[1].value
dl=(lz~wp[2])
zh=(dz1~dz2)
local dz4=tiaozhuan(zh,0x64,8)[1].value
local dz4dz=tiaozhuan(zh,0x64,8)[1].address
gaixie(begin,dz1,0x11C,4)
zhz=(dz4~wp[1]~wp[2])
pd=(dz4~wp[1])
dz=dz4dz
gaixie(dz4dz,zhz,0,8)
gaixie(dz4dz,dl,4,4)
gaixie(dz4dz,dl,8,4)
else
local wp=gg.prompt({"恢复出售值或者更换其他出售值"},nil,{"number"})
dl=(lz~wp[1])
zhz=(pd~wp[1])
gaixie(dz,zhz,0,8)
gaixie(dz,dl,4,4)
gaixie(dz,dl,8,4)
end
SouAddress(begin, gg.TYPE_DWORD)
end

function cwjyp()
local begin = gg.getResults(1)[1].address
if pd==0 then
local wp=gg.prompt({"当前物品经验值","目标物品经验值"},{nil,nil},{"number","number"})
local dz1=pianyi(begin,0x11C,4)[1].value
local dz2=pianyi(begin,0x54,4)[1].value
lz=pianyi(begin,0x5C,4)[1].value
dl=(lz~wp[2])
zh=(dz1~dz2)
local dz4=tiaozhuan(zh,0x80,8)[1].value
local dz4dz=tiaozhuan(zh,0x80,8)[1].address
gaixie(begin,dz1,0x11C,4)
zhz=(dz4~wp[1]~wp[2])
pd=(dz4~wp[1])
dz=dz4dz
gaixie(dz4dz,zhz,0,8)
gaixie(dz4dz,dl,4,4)
gaixie(dz4dz,dl,8,4)
else
local wp=gg.prompt({"恢复经验值或者更换其他经验值"},nil,{"number"})
dl=(lz~wp[1])
zhz=(pd~wp[1])
gaixie(dz,zhz,0,8)
gaixie(dz,dl,4,4)
gaixie(dz,dl,8,4)
end
SouAddress(begin, gg.TYPE_DWORD)
end
----掉落与加速
function wlq()
local xz = gg.choice({
        "自定义当前倍速",
        "恢复当前倍速",
        "一键改怪",
        "自定义掉落",
        "返回主菜单"
    }, nil, "感谢支持") 
if xz==1 then 
local bs = gg.prompt({"请输入你要的倍率"}, nil, {"number"})
        Su(bs[1], 1)
 end  
if xz==2 then 
local bs = gg.prompt({"请输入当前倍率"}, nil, {"number"})
        Su(1, bs[1])
 end      
if xz==3 then yjgg() end
if xz==4 then zdydl2() end
if xz==5 then Main() end 
chen=0
end 

function Su(str1, str2)
    gg.clearResults()
    gg.setRanges(4)
    gg.searchNumber("2.3510604e-38;1.3452465e-43;" .. str2 .. "::",
                    gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
    gg.searchNumber(str2, gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
    gg.getResults(100)
    gg.editAll(str1, gg.TYPE_FLOAT)
    gg.toast(str1 .. "倍{成功")
    gg.clearResults()
end

function yjgg()
readWrite({{false,700001,0,4,nil,nil},
{12,-16,4}},{{false,-20,4,false}},4,4,"获取数据")

local t = gg.getResults(1)
local a = gg.sumAddress(t,1,0,4)[1]
readWrite({{false,700001,0,4,nil,nil},
{12,-16,4}},{{false,-164,4,false}},4,4,"获取数据")

local t = gg.getResults(1)
local b = gg.sumAddress(t,1,0,4)[1]
qmnb = {
{["memory"] = 4},
{["name"] = "一键改怪"},
{["value"] = b.value, ["type"] = 4},
{["lv"] = b.value, ["offset"] = 0, ["type"] = 4},
}
qmxg = {
{["value"] = a.value, ["offset"] = 0, ["type"] = 4},

}
xqmnb(qmnb)
end

function zdydl2()
readWrite({{false,11,0,4,nil,nil},{1065353216,-12,4},{11,16,4},{1065353216,12,4}},{{false,-360,4,false}},4,4,"")
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
local zdy = gg.prompt({
    "自定义掉落"
  }, {
    [1] = 0
  }, {
    [1] = "number"
  })[1]
readWrite({{false,700001,0,4,nil,nil},
{12,-16,4}},{{false,-8,4,false}},4,4,"获取数据")

local t = gg.getResults(1)
local c1 = gg.gotoPointer(t,1,0,8)[1]
local c2 = gg.gotoPointer(t,1,12,8)[1]
local c3 = gg.gotoPointer(t,1,24,8)[1]
local c4 = gg.gotoPointer(t,1,36,8)[1]
local c5 = gg.gotoPointer(t,1,48,8)[1]
local c6 = gg.gotoPointer(t,1,60,8)[1]
local c7 = gg.gotoPointer(t,1,72,8)[1]
local c8 = gg.gotoPointer(t,1,84,8)[1]
local c9 = gg.gotoPointer(t,1,96,8)[1]
local c10 = gg.gotoPointer(t,1,108,8)[1]
local c11 = gg.gotoPointer(t,1,120,8)[1]
local c12 = gg.gotoPointer(t,1,132,8)[1]
local c13 = gg.gotoPointer(t,1,144,8)[1]
local c14 = gg.gotoPointer(t,1,156,8)[1]
d1=(c1.value~1300)
d2=(c2.value~1500)
d3=(c3.value~2300)
d4=(c4.value~2500)
d5=(c5.value~3300)
d6=(c6.value~3500)
d7=(c7.value~4300)
d8=(c8.value~4500)
d9=(c9.value~5300)
d10=(c10.value~5500)
d11=(c11.value~6300)
d12=(c12.value~6500)
d13=(c13.value~7300)
d14=(c14.value~7500)
e1=(can~zdy)
f1=(zdy~d1)
f2=(zdy~d2)
f3=(zdy~d3)
f4=(zdy~d4)
f5=(zdy~d5)
f6=(zdy~d6)
f7=(zdy~d7)
f8=(zdy~d8)
f9=(zdy~d9)
f10=(zdy~d10)
f11=(zdy~d11)
f12=(zdy~d12)
f13=(zdy~d13)
f14=(zdy~d14)
qmnb = {
{["memory"] = 4},
{["name"] = "更改物品"},
{["value"] = c1.value, ["type"] = 8},
{["lv"] = c2.value, ["offset"] = 12, ["type"] = 8},
{["lv"] = c3.value, ["offset"] = 24, ["type"] = 8},
{["lv"] = c4.value, ["offset"] = 36, ["type"] = 8},
{["lv"] = c5.value, ["offset"] = 48, ["type"] = 8},
{["lv"] = c6.value, ["offset"] = 60, ["type"] = 8},
{["lv"] = c7.value, ["offset"] = 72, ["type"] = 8},
{["lv"] = c8.value, ["offset"] = 84, ["type"] = 8},
{["lv"] = c9.value, ["offset"] = 96, ["type"] = 8},
{["lv"] = c10.value, ["offset"] = 108, ["type"] = 8},
}
qmxg = {
{["value"] = f1, ["offset"] = 0, ["type"] = 8},
{["value"] = e1, ["offset"] = 4, ["type"] = 4},
{["value"] = e1, ["offset"] = 8, ["type"] = 4},
{["value"] = f2, ["offset"] = 12, ["type"] = 8},
{["value"] = e1, ["offset"] = 16, ["type"] = 4},
{["value"] = e1, ["offset"] = 20, ["type"] = 4},
{["value"] = f3, ["offset"] = 24, ["type"] = 8},
{["value"] = e1, ["offset"] = 28, ["type"] = 4},
{["value"] = e1, ["offset"] = 32, ["type"] = 4},
{["value"] = f4, ["offset"] = 36, ["type"] = 8},
{["value"] = e1, ["offset"] = 40, ["type"] = 4},
{["value"] = e1, ["offset"] = 44, ["type"] = 4},
{["value"] = f5, ["offset"] = 48, ["type"] = 8},
{["value"] = e1, ["offset"] = 52, ["type"] = 4},
{["value"] = e1, ["offset"] = 56, ["type"] = 4},
{["value"] = f6, ["offset"] = 60, ["type"] = 8},
{["value"] = e1, ["offset"] = 64, ["type"] = 4},
{["value"] = e1, ["offset"] = 68, ["type"] = 4},
{["value"] = f7, ["offset"] = 72, ["type"] = 8},
{["value"] = e1, ["offset"] = 76, ["type"] = 4},
{["value"] = e1, ["offset"] = 80, ["type"] = 4},
{["value"] = f8, ["offset"] = 84, ["type"] = 8},
{["value"] = e1, ["offset"] = 88, ["type"] = 4},
{["value"] = e1, ["offset"] = 92, ["type"] = 4},
{["value"] = f9, ["offset"] = 96, ["type"] = 8},
{["value"] = e1, ["offset"] = 100, ["type"] = 4},
{["value"] = e1, ["offset"] = 104, ["type"] = 4},
{["value"] = f10, ["offset"] = 108, ["type"] = 8},
{["value"] = e1, ["offset"] = 112, ["type"] = 4},
{["value"] = e1, ["offset"] = 116, ["type"] = 4},
{["value"] = f11, ["offset"] = 120, ["type"] = 8},
{["value"] = e1, ["offset"] = 124, ["type"] = 4},
{["value"] = e1, ["offset"] = 128, ["type"] = 4},
{["value"] = f12, ["offset"] = 132, ["type"] = 8},
{["value"] = e1, ["offset"] = 136, ["type"] = 4},
{["value"] = e1, ["offset"] = 140, ["type"] = 4},
{["value"] = f13, ["offset"] = 144, ["type"] = 8},
{["value"] = e1, ["offset"] = 148, ["type"] = 4},
{["value"] = e1, ["offset"] = 152, ["type"] = 4},
{["value"] = f14, ["offset"] = 156, ["type"] = 8},
{["value"] = e1, ["offset"] = 160, ["type"] = 4},
{["value"] = e1, ["offset"] = 164, ["type"] = 4},
}
xqmnb(qmnb)
end
function HQSZKZ(py)
readWrite({{false,-407076121,0,4,nil,nil},{-407076121,48,4}},{{false,py,4,false}},4,4,"获取数据")
end
function GMK()
readWrite({{false,-427245851,0,4,nil,nil},{-444352284,96,4}},{{false,-124,4,false}},4,4,"获取数据")
end
---装备属性区
function zbq()
    local xz = gg.choice({
        "自定义成长率",
        "自定义五行",
        "自定义强化",
        "自定义阶数",
        "自定义至尊属性",
        "自定义幻化",
        "自定义人品",
        "人品冻结",
        "装备强穿",
        "极品业力",
        "返回主菜单" 
    }, nil, "感谢支持") 
    if xz==1 then fbczl()end
	if xz==2 then fbwx() end
	if xz==3 then zbqh() end
	if xz==4 then zbjs() end
    if xz==5 then zdyzzsx() end
	if xz==6 then
    local hh=gg.prompt({"原本幻化","目标幻化"},{nil,nil},{"number","number"})
	huanhua(hh[1],hh[2])
	end  
	if xz==7 then
    local rp=gg.prompt({"原本人品","目标人品"},{nil,nil},{"number","number"})
	renpin(rp[1],rp[2])
	end
	if xz==8 then renpindongjie() end
	if xz==9 then qiangchuan() end
	if xz==10 then yjjpyl() end
	if xz==11 then Main() end
    chen=0
    end
function yjjpyl()
  SN = gg.choice({
	 "子",
	 "丑",
	 "寅",
	 "卯",
	 "辰",
	 "巳",
	 "退出",
}, nil, "感谢支持")
if SN==1 then
	 C1()
end	
if SN==2 then
	 C2()
end 
if SN==3 then
	 C3()
end	
if SN==4 then
	 C4()
end 
if SN==5 then
	 C5()
end	
if SN==6 then
	 C6()
end 
if SN==7 then
	 Main()
end 
chen=1
end


function C1()
local fb = gg.getResults(1)[1].address
local beginAddress = gg.getResults(1)[1].address
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
local zdy = gg.prompt({
    "当前品质",
    "当前攻击力",
    "当前攻击成长"
  }, {
    [1] = 0,
    [2] =  0,
    [3] = 0
  }, {
    [1] = "number",
    [2] = "number",
    [3]=  "number"
  }) 
    
local fb2 = zb
    o1 = SouAddress(fb2 + 0xC0, gg.TYPE_XOR)
    o2 = SouAddress(fb2 + 0xC4, gg.TYPE_DWORD)
    o3 = SouAddress(fb2 + 0xC8, gg.TYPE_DWORD) 
a=(o1~zdy[1])
a1=(a~5)
a2=(can~5)
qmnb = {
{["memory"] = 4},
{["name"] = "业力品质"},
{["value"] = o1, ["type"] = 8},
{["lv"] = o2, ["offset"] = 4, ["type"] = 4},
}
qmxg = {
{["value"] = a1, ["offset"] = 0, ["type"] = 8},
{["value"] = a2, ["offset"] = 4, ["type"] = 4},
{["value"] = a2, ["offset"] = 8, ["type"] = 4},
}
xqmnb(qmnb)
   n1 = SouAddress(fb + 340, gg.TYPE_DWORD)
   n2 = SouAddress(n1, gg.TYPE_DWORD)
   n3 = SouAddress(n2 - 136, gg.TYPE_XOR)
   n4 = SouAddress(n2 - 132, gg.TYPE_DWORD)
   n5 = SouAddress(n2 - 128, gg.TYPE_DWORD)
   n6 = SouAddress(n2 + 344, gg.TYPE_XOR)
   n7 = SouAddress(n2 + 348, gg.TYPE_DWORD)
   n8 = SouAddress(n2 + 352, gg.TYPE_DWORD)
a3=floatToDwordn(zdy[2])
a4=floatToDwordn(zdy[3])
a5=(n3~a3)
a6=(a5~1126170624)
a7=(n6~a4)
a8=(a7~1131413504)
a9=(can~1126170624)
a10=(can~1131413504)
readWrite({{false,n3,0,8,nil,nil}
,{n4,4,4}},{{a6,0,8,false},
{a9,4,4,false},{a9,8,4,false}
},4,4,"")

readWrite({{false,n6,0,8,nil,nil}
,{n7,4,4}},{{a8,0,8,false},
{a10,4,4,false},{a10,8,4,false}
},4,4,"")
    end
function C2()
local fb = gg.getResults(1)[1].address
local beginAddress = gg.getResults(1)[1].address
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
local zdy = gg.prompt({
    "当前品质",
    "当前防御",
    "当前防御成长"
  }, {
    [1] = 0,
    [2] =  0,
    [3] = 0
  }, {
    [1] = "number",
    [2] = "number",
    [3]=  "number"
  }) 
    
local fb2 = zb
    o1 = SouAddress(fb2 + 0xC0, gg.TYPE_XOR)
    o2 = SouAddress(fb2 + 0xC4, gg.TYPE_DWORD)
    o3 = SouAddress(fb2 + 0xC8, gg.TYPE_DWORD) 
a=(o1~zdy[1])
a1=(a~5)
a2=(can~5)
qmnb = {
{["memory"] = 4},
{["name"] = "业力品质"},
{["value"] = o1, ["type"] = 8},
{["lv"] = o2, ["offset"] = 4, ["type"] = 4},
}
qmxg = {
{["value"] = a1, ["offset"] = 0, ["type"] = 8},
{["value"] = a2, ["offset"] = 4, ["type"] = 4},
{["value"] = a2, ["offset"] = 8, ["type"] = 4},
}
xqmnb(qmnb)
   n1 = SouAddress(fb + 340, gg.TYPE_DWORD)
   n2 = SouAddress(n1, gg.TYPE_DWORD)
   n3 = SouAddress(n2 - 112, gg.TYPE_XOR)
   n4 = SouAddress(n2 - 108, gg.TYPE_DWORD)
   n5 = SouAddress(n2 - 104, gg.TYPE_DWORD)
   n6 = SouAddress(n2 + 368, gg.TYPE_XOR)
   n7 = SouAddress(n2 + 372, gg.TYPE_DWORD)
   n8 = SouAddress(n2 + 376, gg.TYPE_DWORD)
a3=floatToDwordn(zdy[2])
a4=floatToDwordn(zdy[3])
a5=(n3~a3)
a6=(a5~1114636288)
a7=(n6~a4)
a8=(a7~1119092736)
a9=(can~1114636288)
a10=(can~1119092736)


readWrite({{false,n6,0,8,nil,nil}
,{n7,4,4}},{{a8,0,8,false},
{a10,4,4,false},{a10,8,4,false},{a6,-480,8,false},{a9,-476,4,false},{a9,-472,4,false}
},4,4,"")
    end
function C3()
local fb = gg.getResults(1)[1].address
local beginAddress = gg.getResults(1)[1].address
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
local zdy = gg.prompt({
    "当前品质",
    "当前生命值",
    "当前生命成长"
  }, {
    [1] = 0,
    [2] =  0,
    [3] = 0
  }, {
    [1] = "number",
    [2] = "number",
    [3]=  "number"
  }) 
    
local fb2 = zb
    o1 = SouAddress(fb2 + 0xC0, gg.TYPE_XOR)
    o2 = SouAddress(fb2 + 0xC4, gg.TYPE_DWORD)
    o3 = SouAddress(fb2 + 0xC8, gg.TYPE_DWORD) 
a=(o1~zdy[1])
a1=(a~5)
a2=(can~5)
qmnb = {
{["memory"] = 4},
{["name"] = "业力品质"},
{["value"] = o1, ["type"] = 8},
{["lv"] = o2, ["offset"] = 4, ["type"] = 4},
}
qmxg = {
{["value"] = a1, ["offset"] = 0, ["type"] = 8},
{["value"] = a2, ["offset"] = 4, ["type"] = 4},
{["value"] = a2, ["offset"] = 8, ["type"] = 4},
}
xqmnb(qmnb)
   n1 = SouAddress(fb + 340, gg.TYPE_DWORD)
   n2 = SouAddress(n1, gg.TYPE_DWORD)
   n3 = SouAddress(n2 - 184, gg.TYPE_XOR)
   n4 = SouAddress(n2 - 180, gg.TYPE_DWORD)
   n5 = SouAddress(n2 - 176, gg.TYPE_DWORD)
   n6 = SouAddress(n2 + 296, gg.TYPE_XOR)
   n7 = SouAddress(n2 + 300, gg.TYPE_DWORD)
   n8 = SouAddress(n2 + 304, gg.TYPE_DWORD)
a3=floatToDwordn(zdy[2])
a4=floatToDwordn(zdy[3])
a5=(n3~a3)
a6=(a5~1152319488)
a7=(n6~a4)
a8=(a7~1157840896)
a9=(can~1152319488)
a10=(can~1157840896)


readWrite({{false,n6,0,8,nil,nil}
,{n7,4,4}},{{a8,0,8,false},
{a10,4,4,false},{a10,8,4,false},{a6,-480,8,false},{a9,-476,4,false},{a9,-472,4,false}
},4,4,"")
    end
function C4()
local fb = gg.getResults(1)[1].address
local beginAddress = gg.getResults(1)[1].address
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
local zdy = gg.prompt({
    "当前品质",
    "当前攻击力",
    "当前攻击成长",
    "当前防御",
    "当前防御成长"
  }, {
    [1] = 0,
    [2] =  0,
    [3] = 0,
    [4] =  0,
    [5] = 0
  }, {
    [1] = "number",
    [2] = "number",
    [3] = "number",
    [4] = "number",
    [5]=  "number"
  }) 
    
local fb2 = zb
    o1 = SouAddress(fb2 + 0xC0, gg.TYPE_XOR)
    o2 = SouAddress(fb2 + 0xC4, gg.TYPE_DWORD)
    o3 = SouAddress(fb2 + 0xC8, gg.TYPE_DWORD) 
a=(o1~zdy[1])
a1=(a~5)
a2=(can~5)
qmnb = {
{["memory"] = 4},
{["name"] = "业力品质"},
{["value"] = o1, ["type"] = 8},
{["lv"] = o2, ["offset"] = 4, ["type"] = 4},
}
qmxg = {
{["value"] = a1, ["offset"] = 0, ["type"] = 8},
{["value"] = a2, ["offset"] = 4, ["type"] = 4},
{["value"] = a2, ["offset"] = 8, ["type"] = 4},
}
xqmnb(qmnb)
   n1 = SouAddress(fb + 340, gg.TYPE_DWORD)
   n2 = SouAddress(n1, gg.TYPE_DWORD)
   n3 = SouAddress(n2 - 136, gg.TYPE_XOR)
   n4 = SouAddress(n2 - 132, gg.TYPE_DWORD)
   n5 = SouAddress(n2 - 128, gg.TYPE_DWORD)
   n6 = SouAddress(n2 + 344, gg.TYPE_XOR)
   n7 = SouAddress(n2 + 348, gg.TYPE_DWORD)
   n8 = SouAddress(n2 + 352, gg.TYPE_DWORD)
    n9 = SouAddress(n2 - 112, gg.TYPE_XOR)
   n10 = SouAddress(n2 - 108, gg.TYPE_DWORD)
   n11 = SouAddress(n2 - 104, gg.TYPE_DWORD)
   n12 = SouAddress(n2 + 368, gg.TYPE_XOR)
   n13 = SouAddress(n2 + 372, gg.TYPE_DWORD)
   n14 = SouAddress(n2 + 376, gg.TYPE_DWORD)
a3=floatToDwordn(zdy[2])
a4=floatToDwordn(zdy[3])
a5=(n3~a3)
a6=(a5~1115684864)
a7=(n6~a4)
a8=(a7~1126170624)
a9=(can~1115684864)
a10=(can~1126170624)

b3=floatToDwordn(zdy[4])
b4=floatToDwordn(zdy[5])
b5=(n9~b3)
b6=(b5~1106247680)
b7=(n12~b4)
b8=(b7~1117126656)
b9=(can~1106247680)
b10=(can~1117126656)



readWrite({{false,n3,0,8,nil,nil}
,{n4,4,4}},{{a6,0,8,false},
{a9,4,4,false},{a9,8,4,false},
},4,4,"")

readWrite({{false,n6,0,8,nil,nil}
,{n7,4,4}},{{a8,0,8,false},
{a10,4,4,false},{a10,8,4,false}
},4,4,"")


readWrite({{false,n12,0,8,nil,nil}
,{n13,4,4}},{{b8,0,8,false},
{b10,4,4,false},{b10,8,4,false},{b6,-480,8,false},{b9,-476,4,false},{b9,-472,4,false}
},4,4,"")
    end
    
  function C5()
local fb = gg.getResults(1)[1].address
local beginAddress = gg.getResults(1)[1].address
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
local zdy = gg.prompt({
    "当前品质",
    "当前生命值",
    "当前生命成长",
    "当前防御",
    "当前防御成长"
  }, {
    [1] = 0,
    [2] =  0,
    [3] = 0,
    [4] =  0,
    [5] = 0
  }, {
    [1] = "number",
    [2] = "number",
    [3] = "number",
    [4] = "number",
    [5]=  "number"
  }) 
    
local fb2 = zb
    o1 = SouAddress(fb2 + 0xC0, gg.TYPE_XOR)
    o2 = SouAddress(fb2 + 0xC4, gg.TYPE_DWORD)
    o3 = SouAddress(fb2 + 0xC8, gg.TYPE_DWORD) 
a=(o1~zdy[1])
a1=(a~5)
a2=(can~5)
qmnb = {
{["memory"] = 4},
{["name"] = "业力品质"},
{["value"] = o1, ["type"] = 8},
{["lv"] = o2, ["offset"] = 4, ["type"] = 4},
}
qmxg = {
{["value"] = a1, ["offset"] = 0, ["type"] = 8},
{["value"] = a2, ["offset"] = 4, ["type"] = 4},
{["value"] = a2, ["offset"] = 8, ["type"] = 4},
}
xqmnb(qmnb)
   n1 = SouAddress(fb + 340, gg.TYPE_DWORD)
   n2 = SouAddress(n1, gg.TYPE_DWORD)
    n3 = SouAddress(n2 - 184, gg.TYPE_XOR)
   n4 = SouAddress(n2 - 180, gg.TYPE_DWORD)
   n5 = SouAddress(n2 - 176, gg.TYPE_DWORD)
   n6 = SouAddress(n2 + 296, gg.TYPE_XOR)
   n7 = SouAddress(n2 + 300, gg.TYPE_DWORD)
   n8 = SouAddress(n2 + 304, gg.TYPE_DWORD)
    n9 = SouAddress(n2 - 112, gg.TYPE_XOR)
   n10 = SouAddress(n2 - 108, gg.TYPE_DWORD)
   n11 = SouAddress(n2 - 104, gg.TYPE_DWORD)
   n12 = SouAddress(n2 + 368, gg.TYPE_XOR)
   n13 = SouAddress(n2 + 372, gg.TYPE_DWORD)
   n14 = SouAddress(n2 + 376, gg.TYPE_DWORD)
a3=floatToDwordn(zdy[2])
a4=floatToDwordn(zdy[3])
a5=(n3~a3)
a6=(a5~1140129792)
a7=(n6~a4)
a8=(a7~1150885888)
a9=(can~1140129792)
a10=(can~1150885888)

b3=floatToDwordn(zdy[4])
b4=floatToDwordn(zdy[5])
b5=(n9~b3)
b6=(b5~1104674816)
b7=(n12~b4)
b8=(b7~1116078080)
b9=(can~1104674816)
b10=(can~1116078080)



readWrite({{false,n3,0,8,nil,nil}
,{n4,4,4}},{{a6,0,8,false},
{a9,4,4,false},{a9,8,4,false},
},4,4,"")

readWrite({{false,n6,0,8,nil,nil}
,{n7,4,4}},{{a8,0,8,false},
{a10,4,4,false},{a10,8,4,false}
},4,4,"")


readWrite({{false,n12,0,8,nil,nil}
,{n13,4,4}},{{b8,0,8,false},
{b10,4,4,false},{b10,8,4,false},{b6,-480,8,false},{b9,-476,4,false},{b9,-472,4,false}
},4,4,"")
    end  
    
  function C6()
local fb = gg.getResults(1)[1].address
local beginAddress = gg.getResults(1)[1].address
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
local zdy = gg.prompt({
    "当前品质",
    "当前生命值",
    "当前生命成长",
    "当前攻击力",
    "当前攻击成长"
  }, {
    [1] = 0,
    [2] =  0,
    [3] = 0,
    [4] =  0,
    [5] = 0
  }, {
    [1] = "number",
    [2] = "number",
    [3] = "number",
    [4] = "number",
    [5]=  "number"
  }) 
    
local fb2 = zb
    o1 = SouAddress(fb2 + 0xC0, gg.TYPE_XOR)
    o2 = SouAddress(fb2 + 0xC4, gg.TYPE_DWORD)
    o3 = SouAddress(fb2 + 0xC8, gg.TYPE_DWORD) 
a=(o1~zdy[1])
a1=(a~5)
a2=(can~5)
qmnb = {
{["memory"] = 4},
{["name"] = "业力品质"},
{["value"] = o1, ["type"] = 8},
{["lv"] = o2, ["offset"] = 4, ["type"] = 4},
}
qmxg = {
{["value"] = a1, ["offset"] = 0, ["type"] = 8},
{["value"] = a2, ["offset"] = 4, ["type"] = 4},
{["value"] = a2, ["offset"] = 8, ["type"] = 4},
}
xqmnb(qmnb)
   n1 = SouAddress(fb + 340, gg.TYPE_DWORD)
   n2 = SouAddress(n1, gg.TYPE_DWORD)
    n3 = SouAddress(n2 - 184, gg.TYPE_XOR)
   n4 = SouAddress(n2 - 180, gg.TYPE_DWORD)
   n5 = SouAddress(n2 - 176, gg.TYPE_DWORD)
   n6 = SouAddress(n2 + 296, gg.TYPE_XOR)
   n7 = SouAddress(n2 + 300, gg.TYPE_DWORD)
   n8 = SouAddress(n2 + 304, gg.TYPE_DWORD)
    n9 = SouAddress(n2 - 136, gg.TYPE_XOR)
   n10 = SouAddress(n2 - 132, gg.TYPE_DWORD)
   n11 = SouAddress(n2 - 128, gg.TYPE_DWORD)
   n12 = SouAddress(n2 + 344, gg.TYPE_XOR)
   n13 = SouAddress(n2 + 348, gg.TYPE_DWORD)
   n14 = SouAddress(n2 + 352, gg.TYPE_DWORD)
a3=floatToDwordn(zdy[2])
a4=floatToDwordn(zdy[3])
a5=(n3~a3)
a6=(a5~1142784000)
a7=(n6~a4)
a8=(a7~1151172608)
a9=(can~1142784000)
a10=(can~1151172608)

b3=floatToDwordn(zdy[4])
b4=floatToDwordn(zdy[5])
b5=(n9~b3)
b6=(b5~1113587712)
b7=(n12~b4)
b8=(b7~1124859904)
b9=(can~1113587712)
b10=(can~1124859904)



readWrite({{false,n3,0,8,nil,nil}
,{n4,4,4}},{{a6,0,8,false},
{a9,4,4,false},{a9,8,4,false},
},4,4,"")

readWrite({{false,n6,0,8,nil,nil}
,{n7,4,4}},{{a8,0,8,false},
{a10,4,4,false},{a10,8,4,false}
},4,4,"")


readWrite({{false,n12,0,8,nil,nil}
,{n13,4,4}},{{b8,0,8,false},
{b10,4,4,false},{b10,8,4,false},{b6,-480,8,false},{b9,-476,4,false},{b9,-472,4,false}
},4,4,"")
    end    
--其他功能区
function qtq()
local xz = gg.choice({
        "奇闻录物品",
        "自定义灵物等级",
        "被动满等级",
        "数量无消耗",
        "返回主菜单"
    }, nil, "感谢支持") 
if xz==1 then local wp = gg.prompt({"请输入你要的数值"}, nil, {"number"}) qwl(wp[1]) end        
if xz==2 then lw() end 
if xz==5 then bdmj() end 
if xz==6 then slwxh() end
if xz==7 then Main() end 
chen=0
end      
function slwxh()
local sl=gg.prompt({"输入当前数量"},nil,{"number"})
local begin=gg.getResults(1)[1].address
local dz1=pianyi4(gg.getResults(1)[1].address,0xC,4)
local dz2=pianyi4(gg.getResults(1)[1].address,0x10,4)
local dz3=pianyi4(gg.getResults(1)[1].address,0x14,4)
local dz4=pianyi4(gg.getResults(1)[1].address,0x11C,4)[1].value
local dz5=pianyi4(gg.getResults(1)[1].address,0x138,4)[1].value~sl[1]
gg.clearResults()
gg.setRanges(gg.REGION_C_ALLOC)
gg.searchNumber(dz4..";"..dz5.."::25",gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0,-1)
gg.processResume()
gg.refineNumber(dz5,gg.TYPE_DWORD)
local dz6=pianyi4(gg.getResults(1)[1].address,0,4)
local dz7=pianyi4(gg.getResults(1)[1].address,4,4)
local dz8=pianyi4(gg.getResults(1)[1].address,8,4)
local dz9=pianyi4(gg.getResults(1)[1].address,12,4)
local dz10=pianyi4(gg.getResults(1)[1].address,16,4)
dongjie(dz1)
dongjie(dz2)
dongjie(dz3)
dongjie(dz6)
dongjie(dz7)
dongjie(dz8)
dongjie(dz9)
dongjie(dz10)
jieguo4(begin,0,4)
end

function pianyi4(address,offest,flags)
local k={}
k[1]={}
k[1].address = address + tonumber(offest)
k[1].flags = flags
return gg.getValues(k)
end

function jieguo4(address,offest,flags)
local k = {}
    k[1]={}
    k[1].address = address + tonumber(offest)
    k[1].flags = flags
    gg.loadResults(k)
    return gg.getValues(k)
end

function dongjie(k)
k[1].freeze = true
gg.addListItems(k)
end


function YX2() 
  gg.clearResults()
    gg.setRanges(gg.REGION_C_ALLOC)
    gg.searchNumber("100,000~6000000;0;100000~3000000000;0::13", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
    gg.processResume()
    gg.refineNumber("100000~3000000000", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
    gg.processResume()
    gg.refineAddress("0", -1, gg.TYPE_DWORD, gg.SIGN_NOT_EQUAL, 0, -1)
    gg.processResume()
    gg.refineAddress("C", -1, gg.TYPE_DWORD, gg.SIGN_EQUAL, 0, -1)
    gg.processResume()
    gg.refineNumber("1000000~3000000000", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
    gg.processResume()
    gg.refineNumber("-1~1", gg.TYPE_DWORD, false, gg.SIGN_NOT_EQUAL, 0, -1)
    gg.processResume()
    gg.toast("搜索出数值"..gg.getResultCount().."个")
end


function YX1()
	 gg.searchFuzzy("0", gg.SIGN_FUZZY_NOT_EQUAL, gg.TYPE_DWORD, 0, -1)
     gg.getResultCount()
     gg.refineAddress("C")
     if gg.getResultCount() <= 1 then
     gg.toast("搜索完成")
    
     else
    gg.toast("搜索出数值" .. gg.getResultCount() .. "个")
 end
  end
function XORMY(sz,my1,my2)
zhz=(sz~my1~my2)
return zhz
end

num1 = 0
num2 = 0
num3 = 0
num4 = 0
num5 = 0
num6 = 0
num7 = 0
num8 = 0
nums1 = 0
nums2 = 0
address1 = 0
address2 = 0
sz1=0
sz2=0
function lrsj()
    local num = gg.choice({"1号物品", "2号物品"}, nil,"选择")
    if num == 1 then
        address1 = gg.getResults(1)[1].address
        sz1 = gg.prompt({
"输入一号物品数量"
      }, {
    [1] = 0
  }, {
    [1] = "number"
  })[1]  
        gg.toast("1号物品记录成功")
    elseif num == 2 then
        address2 = gg.getResults(1)[1].address
        sz2 = gg.prompt({
"输入二号物品数量"
      }, {
    [1] = 0
  }, {
    [1] = "number"
  })[1] 
        gg.toast("2号物品记录成功")
    end
    if (address1 ~= 0 and address2 ~= 0) then gg.toast("达成条件") end
end

function xgsl()
    if num1 == 0 then
        if (address1 ~= 0 and address2 ~= 0) then
            num3=SouAddress(address1 + 0x11C, gg.TYPE_DWORD)
            num5=SouAddress(address1 + 0x138, gg.TYPE_DWORD)
            num7=(num5~sz1)
            num4=SouAddress(address2 + 0x11C, gg.TYPE_DWORD)
            num6=SouAddress(address2 + 0x138, gg.TYPE_DWORD)
            num8=(num6~sz2)
            num1=1
            xgsl()
        else
            lrsj()
        end
    else
        if (num2 == 0) then
            searchNumber(num3..";"..num7.."::25", gg.TYPE_DWORD)
            refineNumber(num7,gg.TYPE_DWORD)
            nums1 = gg.getResults(1)[1].address
            searchNumber(num4..";"..num8.."::25", gg.TYPE_DWORD)
            refineNumber(num8,gg.TYPE_DWORD)
            nums2 = gg.getResults(1)[1].address
            num2 = 1
        end
        GaiZhi(nums1, nums2, gg.TYPE_DWORD)
        nums1 = nums1 + 4
        nums2 = nums2 + 4
        GaiZhi(nums1, nums2, gg.TYPE_DWORD)
        nums1 = nums1 + 4
        nums2 = nums2 + 4
        GaiZhi(nums1, nums2, gg.TYPE_DWORD)
        nums1 = nums1 + 4
        nums2 = nums2 + 4
        GaiZhi(nums1, nums2, gg.TYPE_DWORD)
        nums1 = nums1 + 4
        nums2 = nums2 + 4
        GaiZhi(nums1, nums2, gg.TYPE_DWORD)
        
        address1 = address1 + 12
        address2 = address2 + 12
        local ybz=SouAddress(address2, gg.TYPE_XOR)
        mbz=(ybz~sz2~sz1)
        gg.getResults(1)
        gg.editAll(mbz,gg.TYPE_XOR)
        address1 = address1 + 4
        address2 = address2 + 4
        GaiZhi(address1, address2, gg.TYPE_DWORD)
        address1 = address1 + 4
        address2 = address2 + 4
        GaiZhi(address1, address2, gg.TYPE_DWORD)
        gg.clearResults()
        num1 = 0
        num2 = 0
    end
end
--自定义打造
function zdydz()
local a = gg.choice({
        "自定义打造",
        "尾火棍无消耗",
        "自定义无消耗",
        "炼丹炉全解锁",
        "白骨战衣",
        "白骨翅膀",
        "白骨武器",
        "返回菜单"
}, nil, "感谢支持，炼丹炉全解锁先搜尾火棍制作书") 
if a==1 then ryzdydz() end
if a==2 then DZ1(502200,502001) end
if a==3 then zdyclwxh() end
if a==4 then ldljs() end
if a==5 then DZ(502252,503080,503081) end
if a==6 then DZ(502251,503080,503081) end
if a==7 then DZ(502273,503080,503081) end
if a==8 then Main() end
chen=0
end

function zdyclwxh()
local wy=gg.prompt({"第一材料","第二材料"},{nil,nil},{"number","number"})
local dz=gg. getResults(1)[1].address
local a=pianyiwxh(dz,0x138,4)[1].value
local b=pianyiwxh(dz,0x11C,4)[1].value
      yhdz=pianyiwxh(dz,0x5C,4)[1].value
      d=(b~a)
local  zz=tiaozhuanwxh(d,300,4)[1].address
GXWXH(zz,wy[1],0)
local  zzl=tiaozhuanwxh(d,312,4)[1].address
GXWXH(zzl,wy[2],0)
      gg.toast("修改完成")
end

function ldljs()
local dz=gg. getResults(1)[1].address
local a=pianyiwxh(dz,0x138,4)[1].value
local b=pianyiwxh(dz,0x11C,4)[1].value
      yhdz=pianyiwxh(dz,0x5C,4)[1].value
      d=(b~a)
  RDWW(d,{{0,-4,4}},0,4)
ddz=gg.getResults(1)[1].address
n=0
xcv=502200
for x=0,85 do
zzk=pianyiwxh(ddz,n,4)[1].value
local  zzz=tiaozhuanwxh(zzk,4,4)[1].address
GXWXH(zzz,xcv,502000)
xcv=xcv+1
n=n+4
gg.toast(x.."/85")
end
gg.toast("修改完成")
end

function jieguowxh(address,offest,flags)  local k = {}      k[1]={}      k[1].address = address + tonumber(offest)      k[1].flags = flags      gg.loadResults(k)    gg.getValues(k)  end  

function RDWW(value,Table,py,lx)
  gg.setVisible(false)
  gg.clearResults()
  gg.setRanges(4)
  gg.searchNumber(value,gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) 
  ssjg=gg.getResults(gg.getResultCount())
 for x=1,gg.getResultCount()  do
  sjor=""
 for tab=1,#Table do
 if Table[tab][1]==pianyi(ssjg[x].address,Table[tab][2],4)[1].value then
sjor="true"..sjor
 else
  sjor="false"..sjor
    end
end
if  string.find(sjor,"false")==nil then 
jieguowxh(ssjg[x].address,py,lx) 
break else 
end  end  
end
function DZ1(zzs,cl1,cl2)
local dz=gg. getResults(1)[1].address
local a=pianyiwxh(dz,0x138,4)[1].value
local b=pianyiwxh(dz,0x11C,4)[1].value
      yhdz=pianyiwxh(dz,0x5C,4)[1].value
      d=(b~a)
local  zzz=tiaozhuanwxh(d,4,4)[1].address
GXWXH(zzz,zzs,502000)
local  zz=tiaozhuanwxh(d,300,4)[1].address
GXWXH(zz,cl1,0)
      gg.toast("修改完成")
end 
function DZ(zzs,cl1,cl2)
local dz=gg. getResults(1)[1].address
local a=pianyiwxh(dz,0x138,4)[1].value
local b=pianyiwxh(dz,0x11C,4)[1].value
      yhdz=pianyiwxh(dz,0x5C,4)[1].value
      d=(b~a)
local  zzz=tiaozhuanwxh(d,4,4)[1].address
GXWXH(zzz,zzs,502000)
local  zz=tiaozhuanwxh(d,300,4)[1].address
GXWXH(zz,cl1,0)
local  zzl=tiaozhuanwxh(d,312,4)[1].address
GXWXH(zzl,cl2,0)
      gg.toast("修改完成")
end 

function pianyiwxh(address,offest,flags)
    local k = {}
    k[1]={}
    k[1].address = address + tonumber(offest)
    k[1].flags = flags
    return gg.getValues(k)
end

function tiaozhuanwxh(num,offest,flags)
  local k={}
  k[1] = {}
  if num < 0 then
  k[1].address = tonumber(num) + 4294967296
  else
  k[1].address = tonumber(num)
  end
  k[1].flags = flags
  local y=gg.getValues(k)[1].address
  local w = pianyiwxh(y,offest,flags)
  return gg.getValues(w)
end


function GXWXH(dz,yh1,yh2)
local gx2=yhdz~yh2
local gxn=pianyiwxh(dz,0,4)[1].value
local gx1=gxn~yh1~yh2
gaixiewxh(dz,gx1,0,4)
gaixiewxh(dz,gx2,4,4)
gaixiewxh(dz,gx2,8,4)
end

function gaixiewxh(address,num,offest,flags)
local k = {}
    k[1]={}
    k[1].address = address + tonumber(offest)
    k[1].flags = flags
    k[1].value = num
    gg.setValues(k)
end


pd=0
lz=0
function ryzdydz()
local begin = gg.getResults(1)[1].address
if pd==0 then
local wp=gg.prompt({"原本物品(当前制作书)\n{1301尾火棍}{2501碧水袍}{3501氐土凯}{4302角木铲}{5501荒芜}{6301凌火剑}{7301别情}","目标物品"},{nil,nil},{"number","number"})
local dz1=pianyi(begin,0x11C,4)[1].value
local dz2=pianyi(begin,0x54,4)[1].value
lz=pianyi(begin,0x5C,4)[1].value
dl=(lz~wp[2])
zh=(dz1~dz2)
local dz4=tiaozhuan(zh,0x15C,8)[1].value
local dz4dz=tiaozhuan(zh,0x15C,8)[1].address
gaixie(begin,dz1,0x11C,4)
zhz=(dz4~wp[1]~wp[2])
pd=(dz4~wp[1])
dz=dz4dz
gaixie(dz4dz,zhz,0,8)
gaixie(dz4dz,dl,4,4)
gaixie(dz4dz,dl,8,4)
else
local wp=gg.prompt({"目标物品"},nil,{"number"})
dl=(lz~wp[1])
zhz=(pd~wp[1])
gaixie(dz,zhz,0,8)
gaixie(dz,dl,4,4)
gaixie(dz,dl,8,4)
end
SouAddress(begin, gg.TYPE_DWORD)
end

function pianyi(address,offest,flags)
    local k = {}
    k[1]={}
    k[1].address = address + tonumber(offest)
    k[1].flags = flags
    return gg.getValues(k)
end

function gaixie(address,num,offest,flags)
local k = {}
    k[1]={}
    k[1].address = address + tonumber(offest)
    k[1].flags = flags
    k[1].value = num
    gg.setValues(k)
end

function fbczl()
local beginAddress = gg.getResults(1)[1].address
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
local zdy = gg.prompt({
    "当前成长率",
    "自定义成长率"
  }, {
    [1] = 0,
    [2] =  0
  }, {
    [1] = "number",
    [2] = "number"
  }) 

  local fb = beginAddress
    m1 = SouAddress(fb + 0x14C, gg.TYPE_DWORD)
    m2 = SouAddress(m1 + 168, gg.TYPE_DWORD)
    m3 = SouAddress(m2, gg.TYPE_DWORD)
    m4 = SouAddress(m3, gg.TYPE_DWORD)
    m5 = SouAddress(m4 + 8, gg.TYPE_XOR)
    m6 = SouAddress(m4 + 12, gg.TYPE_DWORD)
    m7 = SouAddress(m4 + 16, gg.TYPE_DWORD)
a1=floatToDword1(zdy[1])
a2=floatToDword1(zdy[2])
a3=(m5~a1)
a4=(a3~a2)
a5=(can~a2)

readWrite({{false,m5,0,8,nil,nil},
{m6,4,4},{m7,8,4}},{{a4,0,8,false},{a5,4,4,false},{a5,8,4,false}},4,4,"获取数据")
    SouAddress(beginAddress, gg.TYPE_DWORD)
    end    

function fbwx()
local beginAddress = gg.getResults(1)[1].address
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
local zdy = gg.prompt({
    "当前第一个五行(金木水火土:1/2/3/4/5)",
    "当前第二个五行(金木水火土:1/2/3/4/5)",
    "当前第三个五行(金木水火土:1/2/3/4/5)"
  }, {
    [1] = 0,
    [2] =  0,
    [3] = 0
  }, {
    [1] = "number",
    [2] = "number",
    [3]=  "number"
  }) 
  local str = gg.prompt({
    "自定义第一个五行(金木水火土:1/2/3/4/5)",
    "自定义第二个五行(金木水火土:1/2/3/4/5)",
    "自定义第三个五行(金木水火土:1/2/3/4/5)"
  }, {
    [1] = 0,
    [2] =  0,
    [3] = 0
  }, {
    [1] = "number",
    [2] = "number",
    [3]=  "number"
  }) 
  local fb = beginAddress
    m1 = SouAddress(fb + 0x14C, gg.TYPE_DWORD)
    m2 = SouAddress(m1 + 8, gg.TYPE_DWORD)
    m3 = SouAddress(m2, gg.TYPE_DWORD)
    m4 = SouAddress(m3, gg.TYPE_DWORD)
    m5 = SouAddress(m4 + 8, gg.TYPE_XOR)
    m6 = SouAddress(m4 + 12, gg.TYPE_DWORD)
    m7 = SouAddress(m4 + 16, gg.TYPE_DWORD)
    m8 = SouAddress(m4 + 32, gg.TYPE_XOR)
    m9 = SouAddress(m4 + 36, gg.TYPE_DWORD)
    m10 = SouAddress(m4 + 40, gg.TYPE_DWORD)
    m11 = SouAddress(m4 + 56, gg.TYPE_XOR)
    m12 = SouAddress(m4 + 60, gg.TYPE_DWORD)
    m13 = SouAddress(m4 + 64, gg.TYPE_DWORD)
a1=floatToDword1(zdy[1])
a2=floatToDword1(zdy[2])
a3=floatToDword1(zdy[3])
b1=floatToDword1(str[1])
b2=floatToDword1(str[2])
b3=floatToDword1(str[3])
a4=(m5~a1)
a5=(a4~b1)
a6=(can~b1)
a7=(m8~a2)
a8=(a7~b2)
a9=(can~b2)
a10=(m11~a3)
a11=(a10~b3)
a12=(can~b3)
readWrite({{false,m5,0,8,nil,nil},
{m6,4,4},{m7,8,4}},{{a5,0,8,false},{a6,4,4,false},{a6,8,4,false},{a8,24,8,false},{a9,28,4,false},{a9,32,4,false},{a11,48,8,false},{a12,52,4,false},{a12,56,4,false}},4,4,"获取数据")
    SouAddress(beginAddress, gg.TYPE_DWORD)
    end
function zbqh()
local beginAddress = gg.getResults(1)[1].address
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
local zdy = gg.prompt({
    "当前强化",
    "自定义强化",
  }, {
    [1] = 0,
    [2] =  0
  }, {
    [1] = "number",
    [2] = "number"
  }) 
  local fb = beginAddress
    m1 = SouAddress(fb + 392, gg.TYPE_DWORD)
    m2 = SouAddress(m1 + 52, gg.TYPE_DWORD)
    m3 = SouAddress(m2 + 264, gg.TYPE_DWORD)
    m4 = SouAddress(m3, gg.TYPE_DWORD)
    m5 = SouAddress(m4 + 168, gg.TYPE_DWORD)
    m6 = SouAddress(m5 - 4, gg.TYPE_DWORD)
    m7 = SouAddress(m6 + 20, gg.TYPE_XOR)
readWrite({{false,m7,0,8,nil,nil}},{{false,0,8,false}},8,4,"获取数据")
local beginAddres = gg.getResults(1)[1].address
local mb = beginAddres
    m8 = SouAddress(mb + 0, gg.TYPE_XOR)
    m9 = SouAddress(mb + 4, gg.TYPE_DWORD)
    m10 = SouAddress(mb + 8, gg.TYPE_DWORD)
a1=floatToDword1(zdy[1])
a2=floatToDword1(zdy[2])
a3=(m8~a1)
a4=(a3~a2)
a5=(can~a2)
readWrite({{false,m8,0,8,nil,nil},
{m9,4,4},{m10,8,4}},{{a4,0,8,false},{a5,4,4,false},{a5,8,4,false}},4,4,"获取数据")
    SouAddress(beginAddress, gg.TYPE_DWORD)
end 
   
function zbjs()
local beginAddress = gg.getResults(1)[1].address
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
local zdy = gg.prompt({
    "当前阶数",
    "自定义阶数",
  }, {
    [1] = 0,
    [2] =  0
  }, {
    [1] = "number",
    [2] = "number"
  }) 
  local fb = beginAddress
    m1 = SouAddress(fb + 0x180, gg.TYPE_DWORD)
    m2 = SouAddress(m1 + 0x34, gg.TYPE_DWORD)
    m3 = SouAddress(m2 + 0x104, gg.TYPE_DWORD)
    m4 = SouAddress(m3 + 0x14, gg.TYPE_XOR)
readWrite({{false,m4,0,8,nil,nil}},{{false,0,8,false}},8,4,"获取数据")
local beginAddres = gg.getResults(1)[1].address
local mb = beginAddres
    m5 = SouAddress(mb + 0, gg.TYPE_XOR)
    m6 = SouAddress(mb + 4, gg.TYPE_DWORD)
    m7 = SouAddress(mb + 8, gg.TYPE_DWORD)
a1=floatToDword1(zdy[1])
a2=floatToDword1(zdy[2])
a3=(m5~a1)
a4=(a3~a2)
a5=(can~a2)
readWrite({{false,m5,0,8,nil,nil},
{m6,4,4},{m7,8,4}},{{a4,0,8,false},{a5,4,4,false},{a5,8,4,false}},4,4,"获取数据")
    SouAddress(beginAddress, gg.TYPE_DWORD)
end
   
 function zdyzzsx()
local beginAddress = gg.getResults(1)[1].address
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)
local zdy = gg.prompt({
    "当前星",
    "当前品(1-5为绿 6-11为蓝 12-18为粉 19-26为青 27-35为红)",
    "当前传承"
  }, {
    [1] = 0,
    [2] =0 ,
    [3] = 0
  }, {
    [1] = "number",
    [2] = "number",
    [3] = "number"
  })
a2=floatToDword1(zdy[1])
a3=floatToDword1(zdy[2])

  local str = gg.prompt({
    "自定义星",
    "自定义品(1-5为绿 6-11为蓝 12-18为粉 19-26为青 27-35为红)",
    "自定义传承"
  }, {
    [1] = 0,
    [2] = 0,
    [3] =0 
  }, {
    [1] = "number",
    [2] = "number",
    [3] = "number"
  })
    if str == nil or str == "" then
    Main()
else 
b2=floatToDword1(str[1])
b3=floatToDword1(str[2])
  local fb = beginAddress
    m1 = SouAddress(fb + 0x1D8, gg.TYPE_DWORD)
    m2 = SouAddress(m1 + 0x34, gg.TYPE_DWORD)
    m3 = SouAddress(m2 + 0x104, gg.TYPE_DWORD)
 m33 = SouAddress(m3 + 0x14, gg.TYPE_XOR)
readWrite({{false,m33,0,8,nil,nil}},{{false,0,8,false}},8,4,"获取数据")
local beginAddres = gg.getResults(1)[1].address
local mb = beginAddres
    m4 = SouAddress(mb + 0, gg.TYPE_XOR)
    m5 = SouAddress(mb + 4, gg.TYPE_DWORD)
    m6 = SouAddress(mb + 8, gg.TYPE_DWORD)
a6=(a2~m4)
b5=(a6~b2)
b6=(can~b2)
readWrite({{false,m4,0,8,nil,nil},
{m5,4,4},{m6,8,4}},{{b5,0,8,false},{b6,4,4,false},{b6,8,4,false}},4,4,"获取数据")
    SouAddress(beginAddress, gg.TYPE_DWORD)
 
 local fb1 = zb
    n1 = SouAddress(fb1 + 0x1D4, gg.TYPE_DWORD)
    n2 = SouAddress(n1 + 0x34, gg.TYPE_DWORD)
    n3 = SouAddress(n2 + 0x104, gg.TYPE_DWORD)
 n33 = SouAddress(n3 + 0x14, gg.TYPE_XOR)
readWrite({{false,n33,0,8,nil,nil}},{{false,0,8,false}},8,4,"获取数据")
local beginAddre = gg.getResults(1)[1].address
local nb = beginAddre
    n4 = SouAddress(nb + 0, gg.TYPE_XOR)
    n5 = SouAddress(nb + 4, gg.TYPE_DWORD)
    n6 = SouAddress(nb + 8, gg.TYPE_DWORD)
a7=(a3~n4)   
b7=(a7~b3)
b8=(can~b3)
readWrite({{false,n4,0,8,nil,nil},
{n5,4,4},{n6,8,4}},{{b7,0,8,false},{b8,4,4,false},{b8,8,4,false}},4,4,"获取数据")
 SouAddress(beginAddress, gg.TYPE_DWORD)
 
 local fb3 = zb
    p1 = SouAddress(fb3 + 0xD8, gg.TYPE_XOR)
    p2 = SouAddress(fb3 + 0xDC, gg.TYPE_DWORD)
    p3 = SouAddress(fb3 + 0xE0, gg.TYPE_DWORD)
a7=(zdy[3]~p1)   
b11=(a7~str[3])
b12=(can~str[3])
readWrite({{false,p1,0,8,nil,nil},
{p2,4,4},{p3,8,4}},{{b11,0,8,false},{b12,4,4,false},{b12,8,4,false}},8,4,"获取数据")
 SouAddress(beginAddress, gg.TYPE_DWORD)
end
end
        
function renpin(ybrenpin,mbrenpin)
    local begin = gg.getResults(1)[1].address
    ybrenpinz=floatToDword1(ybrenpin)
    mbrenpinz1=floatToDword1(mbrenpin)
    mbrenpinz2=hqdl(mbrenpinz1)

    SouAddress(begin + 0x1F8, gg.TYPE_XOR)
    local zb=gg.getResults(1)[1].address
    local zbz1=gg.getResults(1)[1].value
    zhz=(zbz1~ybrenpinz)
    zhz2=(zhz~mbrenpinz1)
    gg.getResults(1)
    gg.editAll(zhz2,gg.TYPE_XOR)
    SouAddress(zb + 4, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(mbrenpinz2,gg.TYPE_DWORD)
    SouAddress(zb + 8, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(mbrenpinz2,gg.TYPE_DWORD)
    SouAddress(begin, gg.TYPE_DWORD)  
    end     
    
function huanhua(ybhuanhua,mbhuanhua)
    local begin = gg.getResults(1)[1].address    
    mbhuanhuaz=hqdl(mbhuanhua)

    SouAddress(begin + 0x204, gg.TYPE_XOR)
    local zb=gg.getResults(1)[1].address
    local zbz1=gg.getResults(1)[1].value
    zhz=(zbz1~ybhuanhua)
    zhz2=(zhz~mbhuanhua)
    gg.getResults(1)
    gg.editAll(zhz2,gg.TYPE_XOR)
    SouAddress(zb + 4, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(mbhuanhuaz,gg.TYPE_DWORD)
    SouAddress(zb + 8, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(mbhuanhuaz,gg.TYPE_DWORD)
    SouAddress(begin, gg.TYPE_DWORD)  
    end        
        
function renpindongjie()  
    local begin = gg.getResults(1)[1].address
    SouAddress(begin + 0x1F8, gg.TYPE_XOR)
    local z1=gg.getResults(1)
    z1[1].freeze = true
    gg.addListItems(z1)
    SouAddress(begin + 0x1FC, gg.TYPE_DWORD)
    local z2=gg.getResults(1)
    z2[1].freeze = true
    gg.addListItems(z2)  
    SouAddress(begin + 0x200, gg.TYPE_DWORD)
    local z3=gg.getResults(1)
    z3[1].freeze = true
    gg.addListItems(z3) 
    SouAddress(begin, gg.TYPE_DWORD)    
    end
function qiangchuan()
    local begin = gg.getResults(1)[1].address    
    mbqiangchuanz=hqdl(1)

    SouAddress(begin + 0x24, gg.TYPE_XOR)
    local zb=gg.getResults(1)[1].address
    local zbz=gg.getResults(1)[1].value
    zhz=(zbz~1)
    gg.getResults(1)
    gg.editAll(zhz,gg.TYPE_XOR)
    SouAddress(zb + 4, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(mbqiangchuanz,gg.TYPE_DWORD)
    SouAddress(zb + 8, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(mbqiangchuanz,gg.TYPE_DWORD)
    SouAddress(begin, gg.TYPE_DWORD)  
    end  

function qlzth(wz,ybid,mbid)
local begin = gg.getResults(1)[1].address
local qlz = gg.getResults(1)[1].address
      qlz = SouAddress(qlz + 0x2B8, gg.TYPE_DWORD) + wz
    dl=hqdl(mbid)  
    SouAddress(qlz , gg.TYPE_XOR)
    local sz=gg.getResults(1)[1].value
    zhz=(sz~ybid~mbid)
    gg.getResults(1)
    gg.editAll(zhz,gg.TYPE_XOR)
    SouAddress(qlz + 4, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(dl,gg.TYPE_DWORD)
    SouAddress(qlz + 8, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(dl,gg.TYPE_DWORD)
SouAddress(begin, gg.TYPE_DWORD)
end
    
function mqlz()
local zk = gg.prompt({
	 "槽2未开启","槽2不可开启","槽3未开启","槽3不可开启","槽4未开启","槽4不可开启",
	 },{nil,nil,nil,nil,nil,nil},{"checkbox","checkbox","checkbox","checkbox","checkbox","checkbox",})
	 if zk[1] == true then qk1=0 end
	 if zk[2] == true then qk1=-1 end
	 if zk[3] == true then qk2=0 end
	 if zk[4] == true then qk2=-1 end
	 if zk[5] == true then qk3=0 end
	 if zk[6] == true then qk3=-1 end
local begin = gg.getResults(1)[1].address
local dz = gg.getResults(1)[1].address
      dz = SouAddress(dz + 0x2B8, gg.TYPE_DWORD) 
      dz = SouAddress(dz + 0x4, gg.TYPE_DWORD) 
local qlz=gg.getResults(1)[1].address      
    gj=hqdl(502162)
    mk=hqdl(502167)
    bj=hqdl(502154)
    xl=hqdl(502160)
    bs=hqdl(80)
    ws=hqdl(50)
    
    SouAddress(qlz , gg.TYPE_XOR)
    local sz1=gg.getResults(1)[1].value
    zhz1=(sz1~1~502162)
    gg.getResults(1)
    gg.editAll(zhz1,gg.TYPE_XOR)
    SouAddress(qlz + 4, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(gj,gg.TYPE_DWORD)
    SouAddress(qlz + 8, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(gj,gg.TYPE_DWORD)
    qlz=qlz+12
    SouAddress(qlz , gg.TYPE_XOR)
    local sz2=gg.getResults(1)[1].value
    zhz2=(sz2~80)
    gg.getResults(1)
    gg.editAll(zhz2,gg.TYPE_XOR)
    SouAddress(qlz + 4, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(bs,gg.TYPE_DWORD)
    SouAddress(qlz + 8, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(bs,gg.TYPE_DWORD) 
    qlz=qlz+40
     
    SouAddress(qlz , gg.TYPE_XOR)
    local sz3=gg.getResults(1)[1].value
    zhz3=(sz3~qk1~502167)
    gg.getResults(1)
    gg.editAll(zhz3,gg.TYPE_XOR)
    SouAddress(qlz + 4, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(mk,gg.TYPE_DWORD)
    SouAddress(qlz + 8, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(mk,gg.TYPE_DWORD)
    qlz=qlz+12
    SouAddress(qlz , gg.TYPE_XOR)
    local sz4=gg.getResults(1)[1].value
    zhz4=(sz4~50)
    gg.getResults(1)
    gg.editAll(zhz4,gg.TYPE_XOR)
    SouAddress(qlz + 4, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(ws,gg.TYPE_DWORD)
    SouAddress(qlz + 8, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(ws,gg.TYPE_DWORD) 
    qlz=qlz+40 
    
    SouAddress(qlz , gg.TYPE_XOR)
    local sz5=gg.getResults(1)[1].value
    zhz5=(sz5~qk2~502154)
    gg.getResults(1)
    gg.editAll(zhz5,gg.TYPE_XOR)
    SouAddress(qlz + 4, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(bj,gg.TYPE_DWORD)
    SouAddress(qlz + 8, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(bj,gg.TYPE_DWORD)
    qlz=qlz+12
    SouAddress(qlz , gg.TYPE_XOR)
    local sz6=gg.getResults(1)[1].value
    zhz6=(sz6~50)
    gg.getResults(1)
    gg.editAll(zhz6,gg.TYPE_XOR)
    SouAddress(qlz + 4, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(ws,gg.TYPE_DWORD)
    SouAddress(qlz + 8, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(ws,gg.TYPE_DWORD) 
    qlz=qlz+40
    
    SouAddress(qlz , gg.TYPE_XOR)
    local sz7=gg.getResults(1)[1].value
    zhz7=(sz7~qk3~502160)
    gg.getResults(1)
    gg.editAll(zhz7,gg.TYPE_XOR)
    SouAddress(qlz + 4, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(xl,gg.TYPE_DWORD)
    SouAddress(qlz + 8, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(xl,gg.TYPE_DWORD)
    qlz=qlz+12
    SouAddress(qlz , gg.TYPE_XOR)
    local sz8=gg.getResults(1)[1].value
    zhz8=(sz8~80)
    gg.getResults(1)
    gg.editAll(zhz8,gg.TYPE_XOR)
    SouAddress(qlz + 4, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(bs,gg.TYPE_DWORD)
    SouAddress(qlz + 8, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(bs,gg.TYPE_DWORD) 
    
    SouAddress(begin, gg.TYPE_DWORD)
    end

function qlzth(wz,ybid,mbid)
local begin = gg.getResults(1)[1].address
local qlz = gg.getResults(1)[1].address
      qlz = SouAddress(qlz + 0x2B8, gg.TYPE_DWORD) + wz
    dl=hqdl(mbid)  
    SouAddress(qlz , gg.TYPE_XOR)
    local sz=gg.getResults(1)[1].value
    zhz=(sz~ybid~mbid)
    gg.getResults(1)
    gg.editAll(zhz,gg.TYPE_XOR)
    SouAddress(qlz + 4, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(dl,gg.TYPE_DWORD)
    SouAddress(qlz + 8, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(dl,gg.TYPE_DWORD)
SouAddress(begin, gg.TYPE_DWORD)
end



function qwl(wp)           
    local beginAddress = gg.getResults(1)[1].address
    local dz1 = SouAddress(beginAddress + 0x54, gg.TYPE_DWORD)
    local dz1num = gg.getResults(1)[1].value
    local dz1dz = gg.getResults(1)[1].address
    local dz2 = SouAddress(beginAddress + 0x11C, gg.TYPE_DWORD)
    local dz2num = gg.getResults(1)[1].value
    local dz2dz = gg.getResults(1)[1].address
    zh=(dz2~dz1)
    gg.searchNumber(dz2,gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(zh, gg.TYPE_DWORD)
    local dz3=SouAddress(beginAddress + 0x11C, gg.TYPE_DWORD)
          dz3=SouAddress(dz3 + 0x1C, gg.TYPE_DWORD) 
    local dz3dz = gg.getResults(1)[1].address         
    gg.getResults(1)
    gg.editAll(wp, gg.TYPE_DWORD)
    SouAddress(dz2dz, gg.TYPE_DWORD)
    gg.getResults(1)
    gg.editAll(dz2num, gg.TYPE_DWORD)
    SouAddress(beginAddress, gg.TYPE_DWORD)
end

function lw()
 readWrite({{false,11,0,4,nil,nil},{1065353216,-12,4},{11,16,4},{1065353216,12,4}},{{false,-360,4,false}},4,4,"")
 zb = gg.getResults(1)[1].address
can = SouAddress(zb + 208, gg.TYPE_DWORD)

local zdy = gg.prompt({
    "当前灵物阶数",
    "自定义灵物阶数",
  }, {
    [1] = 0,
    [2] =  0
  }, {
    [1] = "number",
    [2] = "number"
  }) 
readWrite({{false,5,0,4,nil,nil},
{6,24,4},{5,72,4},{5,96,4},{1,-108,4}},
{{false,-28,8,false},{false,-24,4,false},
{false,-20,4,false}},4,4,"灵物")
local t  = gg.getResults(1)
local a = gg.sumAddress(t,1,0,8)[1]
local b = gg.sumAddress(t,1,4,4)[1]
local c = gg.sumAddress(t,1,8,4)[1]
a1=(a.value~zdy[1])
a2=(a1~zdy[2])
a3=(can~zdy[2])
readWrite({{false,a.value,0,8,nil,nil},
{b.value,4,4},{c.value,8,4}},
{{a2,0,8,false},{a3,4,4,false},
{a3,8,4,false}},4,4,"灵物")
end

function bmsdj()
gg.alert("如遇崩溃请重启游戏，如果模式一崩溃，请尝试模式二，主要为模式一")
local jy=gg.prompt({"模式一","模式二","总获得经验","当前经验"},{nil,nil,nil,nil},{"checkbox","checkbox","number","number"})
if jy[1]==true then py=-404 end
if jy[2]==true then py=-244 end
dl=hqdl(8099)
readWrite({{false,1135214592,0,4,nil,nil},{1134559232,4,4},{1135214592,160,4},{1134559232,164,4}},{{false,py,4,false}},4,4,"获取数据")
local dz=gg.getResults(1)[1].address
SouAddress(dz, gg.TYPE_XOR)
local sz1=gg.getResults(1)[1].value
zhz1=(sz1~jy[3]~8099)
gg.getResults(1)
gg.editAll(zhz1,gg.TYPE_XOR)
SouAddress(dz + 4, gg.TYPE_DWORD)
gg.getResults(1)
gg.editAll(dl,gg.TYPE_DWORD)
SouAddress(dz + 8, gg.TYPE_DWORD)
gg.getResults(1)
gg.editAll(dl,gg.TYPE_DWORD)
dz=dz + 12
SouAddress(dz, gg.TYPE_XOR)
local sz2=gg.getResults(1)[1].value
zhz2=(sz2~jy[4]~8099)
gg.getResults(1)
gg.editAll(zhz2,gg.TYPE_XOR)
SouAddress(dz + 4, gg.TYPE_DWORD)
gg.getResults(1)
gg.editAll(dl,gg.TYPE_DWORD)
SouAddress(dz + 8, gg.TYPE_DWORD)
gg.getResults(1)
gg.editAll(dl,gg.TYPE_DWORD)
gg.clearResults()
end

function bmsjs()
local js = gg.prompt({"输入本命神当前阶数"}, {0}, {"number"})
dl=hqdl(90)
readWrite({{false,1097859072,0,4,nil,nil},
{1084227584,4,4},{6,224,4},{8,92,8},{12,96,8},{8,144,8},{20,148,8}},{{false,8,4,false}},4,4,"获取数据")
local dz=gg.getResults(1)[1].address
SouAddress(dz, gg.TYPE_XOR)
local sz=gg.getResults(1)[1].value
zhz=(sz~js[1]~90)
gg.getResults(1)
gg.editAll(zhz,gg.TYPE_XOR)
SouAddress(dz + 4, gg.TYPE_DWORD)
gg.getResults(1)
gg.editAll(dl,gg.TYPE_DWORD)
SouAddress(dz + 8, gg.TYPE_DWORD)
gg.getResults(1)
gg.editAll(dl,gg.TYPE_DWORD)
gg.clearResults()
end

function bdmj()

local zdy = gg.prompt({
    "当前被动1等级",
    "当前被动2等级",
    "当前被动3等级",
    "当前被动4等级",
    "当前被动5等级",
    "当前被动6等级"
  }, {
    [1] = 0,
    [2] =  0,
    [3] = 0,
    [4] =  0,
    [5] = 0,
    [6]=0
  }, {
    [1] = "number",
    [2] = "number",
    [3] = "number",
    [4] = "number",
    [5]=  "number",
    [6]=  "number"
  }) 
  readWrite({{false,16,0,4,nil,nil},{16,160,4},{16,320,4},{16,480,4},{16,640,4},{16,800,4},{1,-0x24,4},{1,0x1C,4}},{{false,-12,4,false}},4,4,("获取数据"))
  zb = gg.getResults(1)[1].address
   m1 = SouAddress(zb + 0, gg.TYPE_XOR)
   m2 = SouAddress(zb + 4, gg.TYPE_DWORD)
   m3 = SouAddress(zb + 8, gg.TYPE_DWORD)
   m4 = SouAddress(zb + 32, gg.TYPE_DWORD)
   m5 = SouAddress(zb + 36, gg.TYPE_DWORD)
   m6 = SouAddress(zb + 160, gg.TYPE_XOR)
    m7 = SouAddress(zb + 320, gg.TYPE_XOR)
    m8 = SouAddress(zb + 480, gg.TYPE_XOR)
     m9= SouAddress(zb + 640, gg.TYPE_XOR)
    m10 = SouAddress(zb + 800, gg.TYPE_XOR)
   a=(m1~zdy[1])
   a1=(a~80)
   b=(m6~zdy[2])
   b1=(b~80)
   c=(m7~zdy[3])
   c1=(c~80)
   d=(m8~zdy[4])
   d1=(d~80)
   e=(m9~zdy[5])
   e1=(e~80)
   f=(m10~zdy[6])
   f1=(f~80)
  readWrite({{false,m1,0,8,nil,nil},{m2,4,4},{m3,8,4}},{{a1,0,8,false},{m4,4,4,false},{m5,8,4,false},{b1,160,8,false},{m4,164,4,false},{m5,168,4,false},{c1,320,8,false},{m4,324,4,false},{m5,328,4,false},{d1,480,8,false},{m4,484,4,false},{m5,488,4,false},{e1,640,8,false},{m4,644,4,false},{m5,648,4,false},{f1,800,8,false},{m4,804,4,false},{m5,808,4,false}},4,4,("修改数据"))
  end

function  hqdl(wy)
RDW(20482,{{-32,1136,4}},9944,4)
local jlsj=tonumber(gg.getResults(1)[1].address,10)
gg.clearResults()
gg.setRanges(4)
gg.searchNumber(jlsj,gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) 
yhdz=pianyi(gg.getResults(1)[1].address,0x68,4)[1].value
gg.clearResults()
return yhdz~wy
end

  

  function RDW(value,Table,py,lx)
  gg.setVisible(false)
  gg.clearResults()
  gg.setRanges(8)
  gg.searchNumber(value,gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) 
  ssjg=gg.getResults(gg.getResultCount())
 for x=1,gg.getResultCount()  do
  sjor=""
 for tab=1,#Table do
 if Table[tab][1]==pianyi(ssjg[x].address,Table[tab][2],4)[1].value then
sjor="true"..sjor
 else
  sjor="false"..sjor
    end
end
if  string.find(sjor,"false")==nil then 
jieguo(ssjg[x].address,py,lx) 
break else 
end  end  
end                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
function GaiZhi(address1, address2, type)
    local str1 = SouAddress(address1, type)
    SouAddress(address2, type)
    gg.getResults(1)
    gg.editAll(str1, type)
end
function SouAddress(laddress, type)
    local stringAddress = t16(laddress)
    gg.clearResults()
    gg.setRanges(4)
    gg.searchAddress(stringAddress, -1, type)
    return gg.getResults(1)[1].value;
end
function searchNumber(str1, type)
    gg.clearResults()
    gg.setRanges(4)
    gg.searchNumber(str1, type, false, gg.SIGN_EQUAL, 0, -1)
end
function refineNumber(str1, type)
    gg.refineNumber(str1, type, false, gg.SIGN_EQUAL, 0, -1)
end
function t16(num)
    if num >= 0 then
        return string.format("%#x", num)
    else
        return string.sub(string.format("%#x", num), 9, 16)
    end
end


--配置#
function readWrite(Search,Get,Type,Range,Name) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) if Search[1][1]~=false then gg.searchAddress(Search[1][1],0xFFFFFFFF,Search[1][4] or Type,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) end gg.searchNumber(Search[1][2],Search[1][4] or Type,false,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][3] if (count > 0) then for i,v in ipairs(result) do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2] - base local num=Search[k][1] for i,v in ipairs(result) do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=Search[k][3] or Type end tmp=gg.getValues(tmp) for i,v in ipairs(tmp) do if v.flags==16 or v.flags==64 then values=tostring(v.value):sub(1,6) num=tostring(num):sub(1,6) else values=v.value end if tostring(values)~=tostring(num) then result[i].isUseful=false end end end for i,v in ipairs(result) do if (v.isUseful) then data[#data+1]=v.address end end if (#data > 0) then local t,t_={},{} local base=Search[1][3] for i=1,#data do for k,w in ipairs(Get) do offset=w[2] - base if w[1]==false then t_[#t_+1]={} t_[#t_].address=data[i]+offset t_[#t_].flags=Type th_=(th_) and th_+1 or 1 else t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=w[3] or Type t[#t].value=w[1] tg_=(tg_) and tg_+1 or 1 if (w[4]==true) then local item={} item[#item+1]=t[#t] item[#item].freeze=w[4] gg.addListItems(item) end end end end tg=(tg_) and "\n已修改"..tg_.."条数据" or "" th=(th_) and "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast("\n"..Name.."搜索成功！\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end 

gg.sumAddress = function(tablex,index,offest,flags)
    local k = {}
    k[1]={}
    k[1].address = tablex[index].address + tonumber(offest)
    k[1].flags = flags
    return gg.getValues(k)
end

 
gg.gotoPointer = function(tablex,index,offest,flags)
  local goto_Pointer={}
  tablex[index].flags = 4
  goto_Pointer[1] = {}
  if gg.getValues(tablex)[index].value < 0 then
    goto_Pointer[1].address = tonumber(gg.getValues(tablex)[index].value) + 4294967296
   else
    goto_Pointer[1].address = tonumber(gg.getValues(tablex)[index].value)
  end
  goto_Pointer[1].flags = flags
  local a_pointer=gg.getValues(goto_Pointer)
    local k = gg.sumAddress(a_pointer,1,offest,flags)
    return gg.getValues(k)
end
function split(szFullString, szSeparator)
local nFindStartIndex = 1 
local nSplitIndex = 1 
local nSplitArray = {} while true do 
local 
nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) 
if not nFindLastIndex then 
nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) 
break end 
nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) 
nFindStartIndex = nFindLastIndex + string.len(szSeparator) 
nSplitIndex = nSplitIndex + 1 end return 
nSplitArray end function 
xgxc(szpy, qmxg) for x = 1, #(qmxg) do 
xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] 
xgsz = qmxg[x]["value"] 
gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) 
xgsl = xgsl + 1 end end function 
xqmnb(qmnb) 
gg.clearResults() 
gg.setRanges(qmnb[1]["memory"]) 
gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) 
if gg.getResultCount() == 0 then 
gg.toast(qmnb[2]["name"] .. "开启失败")
else 
gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) 
gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) 
gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) 
if gg.getResultCount() == 0 then 
gg.toast(qmnb[2]["name"] .. "开启失败") 
else 
sl = gg.getResults(999999) 
sz = gg.getResultCount() 
xgsl = 0 if sz > 999999 then 
sz = 999999 end for i = 1, sz do 
pdsz = true for v = 4, #(qmnb) do if 
pdsz == true then 
pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] 
pysz[1].flags = qmnb[v]["type"] 
szpy = gg.getValues(pysz) 
pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") 
tzszpd = szpd[1] 
pyszpd = szpd[2] 
if tzszpd == pyszpd then 
pdjg = true pdsz = true else 
pdjg = false pdsz = false end end end 
if pdjg == true then 
szpy = sl[i].address xgxc(szpy, qmxg) 
xgjg = true end end 
if xgjg == true then 
gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据") 
else 
gg.toast(qmnb[2]["name"] .. "未搜索到数据,开启失败") 
end 
end 
end 
end

function 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 

-- 返回值是float类型的dowrd表示值（前提是搜索列表有值）
function floatToDword1(num)
    local beginNum = gg.getResults(1)[1].value
    local beginAddress = gg.getResults(1)[1].address
    SouAddress(beginAddress, gg.TYPE_FLOAT)
    gg.getResults(1)
    gg.editAll(num, gg.TYPE_FLOAT)
    SouAddress(beginAddress, gg.TYPE_DWORD)
    local dwordNum = gg.getResults(1)[1].value
    gg.getResults(1)
    gg.editAll(beginNum, gg.TYPE_DWORD)
    gg.toast(dwordNum)
    return dwordNum
end


gg.sumAddress = function(tablex,index,offest,flags)
    local k = {}
    k[1]={}
    k[1].address = tablex[index].address + tonumber(offest)
    k[1].flags = flags
    return gg.getValues(k)
end
function floatToDwordn(num)
    local beginNum = gg.getResults(1)[1].value
    local beginAddress = gg.getResults(1)[1].address
    SouAddress(beginAddress, gg.TYPE_FLOAT)
    gg.getResults(1)
    gg.editAll(num, gg.TYPE_FLOAT)
    SouAddress(beginAddress, gg.TYPE_DWORD)
    local dwordNum = gg.getResults(1)[1].value
    gg.getResults(1)
    gg.editAll(beginNum, gg.TYPE_DWORD)
    gg.toast(dwordNum)
    return dwordNum
end

function exit() os.exit() end

while true do
if gg.isVisible(true) then
    chen = nil
    gg.setVisible(false)
  end
  if chen == nil then
    Main()
  end
end








---[=[上面可以复制上你的脚本]=]------------------------------------------------------------------------------------------------------------------- end-- ab80fff28ac9259a245266d5b0cc5575c7
end


function md5(code)    local code = tostring(code)    local HexTable = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"}    local A = 0x67452301    local B = 0xefcdab89    local C = 0x98badcfe    local D = 0x10325476    local S11 = 7    local S12 = 12    local S13 = 17    local S14 = 22                 local S21 = 5       local S22 = 9       local S23 = 14       local S24 = 20       local S31 = 4       local S32 = 11       local S33 = 16       local S34 = 23       local S41 = 6       local S42 = 10       local S43 = 15       local S44 = 21       local function F(x,y,z)         return (x & y) | ((~x) & z)       end       local function G(x,y,z)         return (x & z) | (y & (~z))       end       local function H(x,y,z)         return x ~ y ~ z       end       local function I(x,y,z)         return y ~ (x | (~z))       end       local function FF(a,b,c,d,x,s,ac)         a = a + F(b,c,d) + x + ac         a = (((a & 0xffffffff) << s) | ((a & 0xffffffff) >> 32 - s)) + b         return a & 0xffffffff       end       local function GG(a,b,c,d,x,s,ac)         a = a + G(b,c,d) + x + ac         a = (((a & 0xffffffff) << s) | ((a & 0xffffffff) >> 32 - s)) + b         return a & 0xffffffff       end       local function HH(a,b,c,d,x,s,ac)         a = a + H(b,c,d) + x + ac         a = (((a & 0xffffffff) << s) | ((a & 0xffffffff) >> 32 - s)) + b         return a & 0xffffffff       end       local function II(a,b,c,d,x,s,ac)         a = a + I(b,c,d) + x + ac         a = (((a & 0xffffffff) << s) | ((a & 0xffffffff) >> 32 - s)) + b         return a & 0xffffffff       end       local function MD5StringFill(s)         local len = s:len()         local mod512 = len * 8 % 512         local fillSize = (448 - mod512) // 8         if mod512 > 448 then           fillSize = (960 - mod512) // 8         end         local rTab = {}         local byteIndex = 1         for i = 1,len do           local index = (i - 1) // 4 + 1           rTab[index] = rTab[index] or 0           rTab[index] = rTab[index] | (s:byte(i) << (byteIndex - 1) * 8)           byteIndex = byteIndex + 1           if byteIndex == 5 then             byteIndex = 1           end         end         local b0x80 = false         local tLen = #rTab         if byteIndex ~= 1 then           rTab[tLen] = rTab[tLen] | 0x80 << (byteIndex - 1) * 8           b0x80 = true         end         for i = 1,fillSize // 4 do           if not b0x80 and i == 1 then             rTab[tLen + i] = 0x80            else             rTab[tLen + i] = 0x0           end         end         local bitLen = math.floor(len * 8)         tLen = #rTab         rTab[tLen + 1] = bitLen & 0xffffffff         rTab[tLen + 2] = bitLen >> 32         return rTab       end              function getmd5(s)         local fillTab = MD5StringFill(s)         local result = {A,B,C,D}         for i = 1,#fillTab // 16 do           local a = result[1]           local b = result[2]           local c = result[3]           local d = result[4]           local offset = (i - 1) * 16 + 1           a = FF(a, b, c, d, fillTab[offset + 0], S11, 0xd76aa478)           d = FF(d, a, b, c, fillTab[offset + 1], S12, 0xe8c7b756)           c = FF(c, d, a, b, fillTab[offset + 2], S13, 0x242070db)           b = FF(b, c, d, a, fillTab[offset + 3], S14, 0xc1bdceee)           a = FF(a, b, c, d, fillTab[offset + 4], S11, 0xf57c0faf)           d = FF(d, a, b, c, fillTab[offset + 5], S12, 0x4787c62a)           c = FF(c, d, a, b, fillTab[offset + 6], S13, 0xa8304613)           b = FF(b, c, d, a, fillTab[offset + 7], S14, 0xfd469501)           a = FF(a, b, c, d, fillTab[offset + 8], S11, 0x698098d8)           d = FF(d, a, b, c, fillTab[offset + 9], S12, 0x8b44f7af)           c = FF(c, d, a, b, fillTab[offset + 10], S13, 0xffff5bb1)           b = FF(b, c, d, a, fillTab[offset + 11], S14, 0x895cd7be)           a = FF(a, b, c, d, fillTab[offset + 12], S11, 0x6b901122)           d = FF(d, a, b, c, fillTab[offset + 13], S12, 0xfd987193)           c = FF(c, d, a, b, fillTab[offset + 14], S13, 0xa679438e)           b = FF(b, c, d, a, fillTab[offset + 15], S14, 0x49b40821)           a = GG(a, b, c, d, fillTab[offset + 1], S21, 0xf61e2562)           d = GG(d, a, b, c, fillTab[offset + 6], S22, 0xc040b340)           c = GG(c, d, a, b, fillTab[offset + 11], S23, 0x265e5a51)           b = GG(b, c, d, a, fillTab[offset + 0], S24, 0xe9b6c7aa)           a = GG(a, b, c, d, fillTab[offset + 5], S21, 0xd62f105d)           d = GG(d, a, b, c, fillTab[offset + 10], S22, 0x2441453)           c = GG(c, d, a, b, fillTab[offset + 15], S23, 0xd8a1e681)           b = GG(b, c, d, a, fillTab[offset + 4], S24, 0xe7d3fbc8)           a = GG(a, b, c, d, fillTab[offset + 9], S21, 0x21e1cde6)           d = GG(d, a, b, c, fillTab[offset + 14], S22, 0xc33707d6)           c = GG(c, d, a, b, fillTab[offset + 3], S23, 0xf4d50d87)           b = GG(b, c, d, a, fillTab[offset + 8], S24, 0x455a14ed)           a = GG(a, b, c, d, fillTab[offset + 13], S21, 0xa9e3e905)           d = GG(d, a, b, c, fillTab[offset + 2], S22, 0xfcefa3f8)           c = GG(c, d, a, b, fillTab[offset + 7], S23, 0x676f02d9)           b = GG(b, c, d, a, fillTab[offset + 12], S24, 0x8d2a4c8a)           a = HH(a, b, c, d, fillTab[offset + 5], S31, 0xfffa3942)           d = HH(d, a, b, c, fillTab[offset + 8], S32, 0x8771f681)           c = HH(c, d, a, b, fillTab[offset + 11], S33, 0x6d9d6122)           b = HH(b, c, d, a, fillTab[offset + 14], S34, 0xfde5380c)           a = HH(a, b, c, d, fillTab[offset + 1], S31, 0xa4beea44)           d = HH(d, a, b, c, fillTab[offset + 4], S32, 0x4bdecfa9)           c = HH(c, d, a, b, fillTab[offset + 7], S33, 0xf6bb4b60)           b = HH(b, c, d, a, fillTab[offset + 10], S34, 0xbebfbc70)           a = HH(a, b, c, d, fillTab[offset + 13], S31, 0x289b7ec6)           d = HH(d, a, b, c, fillTab[offset + 0], S32, 0xeaa127fa)           c = HH(c, d, a, b, fillTab[offset + 3], S33, 0xd4ef3085)           b = HH(b, c, d, a, fillTab[offset + 6], S34, 0x4881d05)           a = HH(a, b, c, d, fillTab[offset + 9], S31, 0xd9d4d039)           d = HH(d, a, b, c, fillTab[offset + 12], S32, 0xe6db99e5)           c = HH(c, d, a, b, fillTab[offset + 15], S33, 0x1fa27cf8)           b = HH(b, c, d, a, fillTab[offset + 2], S34, 0xc4ac5665)           a = II(a, b, c, d, fillTab[offset + 0], S41, 0xf4292244)           d = II(d, a, b, c, fillTab[offset + 7], S42, 0x432aff97)           c = II(c, d, a, b, fillTab[offset + 14], S43, 0xab9423a7)           b = II(b, c, d, a, fillTab[offset + 5], S44, 0xfc93a039)           a = II(a, b, c, d, fillTab[offset + 12], S41, 0x655b59c3)           d = II(d, a, b, c, fillTab[offset + 3], S42, 0x8f0ccc92)           c = II(c, d, a, b, fillTab[offset + 10], S43, 0xffeff47d)           b = II(b, c, d, a, fillTab[offset + 1], S44, 0x85845dd1)           a = II(a, b, c, d, fillTab[offset + 8], S41, 0x6fa87e4f)           d = II(d, a, b, c, fillTab[offset + 15], S42, 0xfe2ce6e0)           c = II(c, d, a, b, fillTab[offset + 6], S43, 0xa3014314)           b = II(b, c, d, a, fillTab[offset + 13], S44, 0x4e0811a1)           a = II(a, b, c, d, fillTab[offset + 4], S41, 0xf7537e82)           d = II(d, a, b, c, fillTab[offset + 11], S42, 0xbd3af235)           c = II(c, d, a, b, fillTab[offset + 2], S43, 0x2ad7d2bb)           b = II(b, c, d, a, fillTab[offset + 9], S44, 0xeb86d391)           result[1] = result[1] + a           result[2] = result[2] + b           result[3] = result[3] + c           result[4] = result[4] + d           result[1] = result[1] & 0xffffffff           result[2] = result[2] & 0xffffffff           result[3] = result[3] & 0xffffffff           result[4] = result[4] & 0xffffffff         end         local retStr = ''         for i = 1,4 do           for _ = 1,4 do             local temp = result[i] & 0x0F             local str = HexTable[temp + 1]             result[i] = result[i] >> 4             temp = result[i] & 0x0F             retStr = retStr .. HexTable[temp + 1] .. str             result[i] = result[i] >> 4           end         end         return string.lower(retStr)       end       return getmd5(code)     end
--md5加密 md5("加密内容")

ZZRc4 = {} 
ZZMathBit = {} 
function ZZMathBit.__xorBit(left, right)       return (left + right) == 1 and 1 or 0 end function ZZMathBit.__base(left, right, op)       if left < right then           left, right = right, left       end       local res = 0       local shift = 1       while left ~= 0 do           local ra = left % 2           local rb = right % 2           res = shift * op(ra,rb) + res           shift = shift * 2           left = math.modf( left / 2)           right = math.modf( right / 2)       end       return res end function ZZMathBit.xorOp(left, right)       return ZZMathBit.__base(left, right, ZZMathBit.__xorBit) end function RC4(text,key,kasi)
if kasi==false then      str = text      str=str:gsub("[%s%p]",""):upper()       local index=1       local ret=""       for index=1,str:len(),2 do         ret=ret..string.char(tonumber(str:sub(index,index+1),16))       end       text=ret     end          local function KSA(key)           local keyLen = string.len(key)           local schedule = {}           local keyByte = {}           for i = 0, 255 do               schedule[i] = i           end              for i = 1, keyLen do               keyByte[i - 1] = string.byte(key, i, i)           end              local j = 0           for i = 0, 255 do               j = (j + schedule[i] + keyByte[ i % keyLen]) % 256               schedule[i], schedule[j] = schedule[j], schedule[i]           end           return schedule       end          local function PRGA(schedule, textLen)           local i = 0           local j = 0           local k = {}           for n = 1, textLen do               i = (i + 1) % 256               j = (j + schedule[i]) % 256               schedule[i], schedule[j] = schedule[j], schedule[i]               k[n] = schedule[(schedule[i] + schedule[j]) % 256]           end           return k       end          local function output(schedule, text)           local len = string.len(text)           local c = nil           local res = {}           for i = 1, len do               c = string.byte(text, i,i)               res[i] = string.char(ZZMathBit.xorOp(schedule[i], c))           end           return table.concat(res)       end          local textLen = string.len(text)       local schedule = KSA(key)       local k = PRGA(schedule, textLen)          str=output(k, text) if kasi==true then       str = tostring(str)       local index=1       local ret=""       for index=1,str:len() do         ret=ret..string.format("%02X",str:sub(index):byte())       end       return string.lower(ret) else     return str end end 
--极简云RC42加密和解密配置     RC4("加密内容","密码",false=解密_true=加密)

function ultra(get,post)    local c=gg.makeRequest(get,nil,post).content     return c  end 
--请求

---[=[上面不要乱动]=]-------------------------------------------------------------------------------------------------------------------


function cu()
x={
"https://cute521.cn",
}

uio=gg.makeRequest(x[1]).content
if uio==nil then
gg.alert("网络错误")--提示
else

if uio=="欢迎使用！" then
oqvqo(x[1])
else
gg.alert("网络错误,可能是被攻击了！")--提示
end

end

end

---[=[  ↑检测网络  ]=]-------------------------------------------------------------------------------------------------------------------

xxxxxxx=""
function oqvqo(xxxxxxx)
local xxxxxxx_Kami=xxxxxxx.."/api.php?api=kmlogon"
--接口名称[卡密登录]

local xxxxxxx_jieba=xxxxxxx.."/api.php?api=kmunmachine"
--接口名称[卡密解绑]

local xxxxxxx_to_configure=xxxxxxx.."/api.php?api=ini"
--接口名称[应用配置]

local xxxxxxx_Notice=xxxxxxx.."/api.php?api=notice"
--接口名称[应用公告]

local xxxxxxx_RC4=true
--是否 RC4 加密[false=关 true=开] 
--选择 RC4加密-2 否则会乱码 
--打开 签名放DATA里:打开


local xxxxxxx_APPID="10825"
--APPID

local xxxxxxx_APPKEY="8wp8qqSv0mSr4V98"
--APPKEY

local xxxxxxx_RC4_key="r08n72207rR10825"
--是否 RC4 加密[key 密钥]


local xxxbanb="1.0"
--1.0

local xxxQQ=""
--作者QQ


if xxxxxxx_APPID=="" or xxxxxxx_RC4_key=="" or xxxxxxx_APPKEY=="" then
gg.alert("关键东西没填，运行啥啊？")--对话框
os.exit() 
end


FILES_DIR="/sdcard/Android/"
--卡密 设备码 路径


---[=[   ↑配置  ]=]-------------------------------------------------------------------------------------------------------------------

Notice=ultra(xxxxxxx_Notice.."&app=".. xxxxxxx_APPID,"")

No=Notice:match('"code":(.-),')
if  No ~= nil then 
No=Notice:match('"msg":"(.-)",')
if No==nil then
xxxxxxx_RC4=false--判定是否关闭
else
gg.alert("公告接口："..No)--对话框
os.exit() 
end
end

if  xxxxxxx_RC4 == true then 
Notice=RC4(Notice,xxxxxxx_RC4_key,false) 
end


Notice=Notice:match('"app_gg":"(.-)"},')--获取公告
if Notice==nil then
gg.alert("你没购公告接口","确定")--对话框
os.exit() 
else
if Notice~="" then
gg.alert(Notice,"确定")--对话框
end
end

---[=[上面是公告]=]-------------------------------------------------------------------------------------------------------------------


gongxing=ultra(xxxxxxx_to_configure.."&app=".. xxxxxxx_APPID,"")


No=Notice:match('"code":(.-),')
if  No ~= nil then 
No=Notice:match('"msg":"(.-)",')
if No==nil then
xxxxxxx_RC4=false--判定是否关闭
else
gg.alert("应用配置接口："..No)--对话框
os.exit() 
end
end

if  xxxxxxx_RC4 == true then 
gongxing=RC4(gongxing,xxxxxxx_RC4_key,false) 
end

xxxxbanben=gongxing:match('"version":"(.-)",')--获取版本号
xxxxgxnr=gongxing:match('app_update_show":"(.-)",')--更新内容
xxxxlianjie=gongxing:match('app_update_url":"(.-)","app_update_must')--更新链接
xxcisu=gongxing:match('"api_total":"(.-)"}')--启动次数

if xxxxbanben==nil then
gg.alert("应用配置接口："..gongxing:match('"msg":"(.-)",'))
else

if xxxxbanben==xxxbanb then
gg.toast("最新版本")--提示 
else
if xxxxlianjie=="未提交URL" then
print("\n没有要更新的链接\n请联系作者:"..xxxQQ)
os.exit() 
end
bhh=gg.alert("发现新版本，请更新内容 ","开始下载","浏览器更新")--对话框

if xxxxbanben == xxxbanb then

xxxxlianjie=gg.makeRequest(xxxxlianjie).content
io.open("/storage/emulated/0/最新版本.lua","w+"):write(xxxxlianjie)--写
gg.setVisible(true)
print("---[=[ 下载成功]=]---------------\n\n[新版本]:\n"..xxxxbanben.."\n\n[更新内容]:\n"..xxxxgxnr.."\n\n[新脚本路径]:\n/storage/emulated/0/最新版本.lua\n")--打印
 elseif bhh == 2 then
gg.setVisible(true)
print("\n[新版本]:\n"..xxxxbanben.."\n\n[更新内容]:\n"..xxxxgxnr.."\n\n[更新链接]:\n"..xxxxlianjie)--打印 end
os.exit() 
end
end

end
---[=[获取更新↑]=]-------------------------------------------------------------------------------------------------------------------


function yanzzzzz(km,sbm)

key=md5("kami="..km.."&markcode="..sbm.."&t="..os.time().."&".. xxxxxxx_APPKEY)
--计算签名

Random=md5(RC4(os.time().."极简云",xxxxxxx_RC4_key,true)..xxxxxxx_APPKEY..sbm)
--随机[用来计算是否相等]

bops="kami="..km.."&markcode="..sbm.."&t="..os.time().."&sign="..key
--需要请求的数据

if  xxxxxxx_RC4 == true then
bops="data="..RC4(bops,xxxxxxx_RC4_key,true)
end-- 把请求数据用RC4加密

HUT=ultra(xxxxxxx_Kami.."&app=".. xxxxxxx_APPID,bops.."&value="..Random)
--请求数据


if HUT~=nil then
if  xxxxxxx_RC4 == true then
HUT=RC4(HUT,xxxxxxx_RC4_key,false) 
end-- 把返回的数据用RC4解密

qued=HUT:match('code":(.-),')--获取编号 200是成功
vip=HUT:match('vip":"(.-)"},')--获取 卡密时间
yanzen=HUT:match('check":"(.-)"')--获取随机值
tinme=HUT:match('time":(.-),')--获取时间搓
fanhui=HUT:match('msg":"(.-)",')--获取错误

if qued~="200" then
gg.alert(fanhui)--返回错误
io.open(FILES_DIR.."/km","w"):write("")--写
else

if (tinme-os.time())>10 or (tinme-os.time())<-10 then
gg.setVisible(false)
gg.toast("\n(▔_▔) 数据超时！")
else--时间10小于就跳转

if yanzen~=md5(tinme..xxxxxxx_APPKEY..Random) then
gg.setVisible(false)
gg.toast("\n️(▔_▔) 请不要修改数据！")
else--网络数据是否修改

gg.setVisible(false)
vip1=os.date("%Y".."年".."%m".."月".."%d".."日".."\r".."%H".."时".."%M".."分".."%S".."秒\n",vip)
io.open(FILES_DIR.."/km","w"):write(km)--写
kll=gg.alert("\n登入成功:\n\n[到期时间]\n"..vip1,"确定","返回")--提示--获取到期时间
if kll==2 then
io.open(FILES_DIR.."/lko","w"):write("false")--写
oqvqo(xxxxxxx)
end


ab4c2739da2435495da65b9055c1f89855(vip)--
--登入成功后的动作------------------------------------------------------------------------------------------------------------------


end
end
end
else
gg.setVisible(false)
gg.toast("\n️(▔_▔) 请检查网络！")
end

end


---[=[  卡密登入↑ ]=]-------------------------------------------------------------------------------------------------------------------

function jiebang(km,sbm)
gg.setVisible(false)
key=md5("kami="..km.."&markcode="..sbm.."&t="..os.time().."&".. xxxxxxx_APPKEY)

bops="kami="..km.."&markcode="..sbm.."&t="..os.time().."&sign="..key

if  xxxxxxx_RC4 == true then
bops= "data="..RC4(bops,xxxxxxx_RC4_key,true) 
end


HUT=ultra(xxxxxxx_jieba.."&app=".. xxxxxxx_APPID,bops)

if  xxxxxxx_RC4 == true then
HUT=RC4(HUT,xxxxxxx_RC4_key,false) 
end-- xxxxxxx_Base64

qued=HUT:match('code":(.-),')
fanhui=HUT:match('msg":"(.-)",')
yanzen=HUT:match('check":"(.-)"')
tinme=HUT:match('time":(.-),')
gg.toast(fanhui)

end

---[=[  解绑卡密↑ ]=]-------------------------------------------------------------------------------------------------------------------



rq=os.date("%Y".."年".."%m".."月".."%d".."日".." ".."%H".."时".."%M".."分".."%S".."秒")
local a={}
fien={io.open(FILES_DIR.."/km","r"),io.open(FILES_DIR.."/miux","r"),io.open(FILES_DIR.."/lko","r")}

if fien[1]==nil then
io.open(FILES_DIR.."/km","w"):write("")--写
a[1]=io.open(FILES_DIR.."/km","r"):read("*a")--读
else
a[1]=io.open(FILES_DIR.."/km","r"):read("*a")--读
end--fien[1]--卡密

if fien[2]==nil then
io.open(FILES_DIR.."/miux","w"):write(md5(rq))--写
a[2]=io.open(FILES_DIR.."/miux","r"):read("*a")--读
else
a[2]=io.open(FILES_DIR.."/miux","r"):read("*a")--读
end--fien[2]--机器码

fien2=io.open(FILES_DIR.."/miux","r"):read("*a")--读
if fien2=="" then
io.open(FILES_DIR.."/miux","w"):write(md5(rq))--写
fien2=io.open(FILES_DIR.."/miux","r"):read("*a")--读
a[2]=fien2
end

if fien[3]==nil then
io.open(FILES_DIR.."/lko","w"):write("false")--写
a[3]=io.open(FILES_DIR.."/lko","r"):read("*a")--读
else
a[3]=io.open(FILES_DIR.."/lko","r"):read("*a")--读
end--fien[2]--机器码

fien3=io.open(FILES_DIR.."/lko","r"):read("*a")--读
if fien3=="" then
io.open(FILES_DIR.."/lko","w"):write("false")--写
fien3=io.open(FILES_DIR.."/lko","r"):read("*a")--读
a[3]=fien3
end

sbm=a[2]--设备码
km=a[1]--卡密

--判定自动登入
if a[3]=="true" then
a[3]=true
elseif a[3]=="false" then
a[3]=false
end



if a[3]==true then
yanzzzzz(a[1],sbm)
end


hak=gg.prompt({
'[输入: 1 开始解绑卡密]\n[输入: 2 邮箱反馈]\n现在时间:'..rq.."\n[本脚本使用：".." 次]\n请输入卡密：",
"[自动登入]"
},{
km,
a[3]
},{
'text',--文字
'checkbox',--多选
})--文本功能



if hak==nil then
gg.setVisible(false)
gg.toast("取消……")--提示
elseif hak[1]=="1" then---[=[ ↓解绑  ]=]-------------------------------------------------------------------------------------------------------------------

gg.toast("开始解绑卡密……")--提示
hak2=gg.prompt({
'现在时间:'..rq.."\n请输入解绑卡密："
},{
},{
'text',--文字
})--文本功能

if hak2==nil then
gg.setVisible(false)
gg.toast("取消……")--提示
else
jiebang(hak2[1],sbm)
---[=[  ↑ 输入卡密跳转解绑卡密  ]=]-------------------------------------------------------------------------------------------------------------------
end

elseif hak[1]=="2" then ---[=[  ↓ 邮箱反馈 ]=]-------------------------------------------------------------------------------------------------------------------
if xxxQQ=="" then
gg.alert("作者没有填写QQ")
else

b=gg.prompt({
"联系方式(QQ或网名,手机号等)",
"反馈内容",
"取消就是[返回主页面]",
},{
"",
"",
true
},{
'text',
'text',
'checkbox',
})

if b ==nil then
gg.setVisible(false)
gg.toast("取消……")--提示
else


if b[1] ~= "" then
if b[2] ~= "" then
bh="&name="..b[1].."&certno="..b[2]
b=gg.makeRequest(xxxxxxx.."/api/mail/api.php?address="..xxxQQ.."@qq.com"..bh)
if b.code=="200" then
gg.alert("反馈成功[谢谢你的支持]")
else
gg.alert("反馈失败")
end
else
gg.alert("空内容")
end
else
gg.alert("空联系方式")
end
end
end
---[=[ ↘你们可以自己加购卡 加群什么的  ]=]-------------------------------------------------------------------------------------------------------------------
--elseif hak[1]=="3" then 输入3 干啥干啥





else---[=[  ↓卡密登入  ]=]-------------------------------------------------------------------------------------------------------------------

if hak[2]==true then
io.open(FILES_DIR.."/lko","w"):write("true")--写
elseif hak[2]==false then
io.open(FILES_DIR.."/lko","w"):write("false")--写
end

yanzzzzz(hak[1],sbm)
---[=[  ↑ 输入卡密跳转登入卡密  ]=]-------------------------------------------------------------------------------------------------------------------
end

end


while true do
  if gg.isVisible(true) then
  cu()
  end
end
