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




function editData(qmnb,qmxg)gg.setVisible(false)gg.clearResults()qmnbv=qmnb[3]["value"]or qmnb[3][1]qmnbt=qmnb[3]["type"]or qmnb[3][2]qmnbn=qmnb[2]["name"]or qmnb[2][1]gg.setRanges(qmnb[1]["memory"]or qmnb[1][1])gg.searchNumber(qmnbv,qmnbt)gg.refineNumber(qmnbv,qmnbt)sz=gg.getResultCount()if sz==0 then gg.toast(qmnbn.."开启失败")else sl=gg.getResults(999999)for i=1,sz do pdsz=true for v=4,#qmnb do if pdsz==true then pysz={{}}pysz[1].address=sl[i].address+(qmnb[v]["offset"]or qmnb[v][2])pysz[1].flags=qmnb[v]["type"]or qmnb[v][3]szpy=gg.getValues(pysz)tzszpd=tostring(qmnb[v]["lv"]or qmnb[v][1]):gsub(",","")pyszpd=tostring(szpy[1].value):gsub(",","")if tzszpd==pyszpd then pdjg=true pdsz=true else pdjg=false pdsz=false end end end if pdjg==true then szpy=sl[i].address for x=1,#qmxg do xgsz=qmxg[x]["value"]or qmxg[x][1]xgpy=szpy+(qmxg[x]["offset"]or qmxg[x][2])xglx=qmxg[x]["type"]or qmxg[x][3]xgdj=qmxg[x]["freeze"]or qmxg[x][4]xg={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xg[1].freeze=xgdj gg.addListItems(xg)else gg.setValues(xg)end end xgjg=true end end if xgjg==true then gg.toast(qmnbn.."开启成功")else gg.toast(qmnbn.."开启失败")end end end
-- 【【 核心代码，不懂勿动 】】
--   JF Script编辑器
D=gg.TYPE_DWORD  E=gg.TYPE_DOUBLE  F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD



function SearchWrite(Search, Write, Type, Name)
    gg.clearResults()
    gg.setVisible(false)
    gg.searchNumber(Search[1][1], Type)
    local count = gg.getResultCount()
    local result = gg.getResults(count)
    gg.clearResults()
    local data = {} 
    local base = Search[1][2] 
    
   if (count > 0) then
        for i, v in ipairs(result) do
            v.isUseful = true 
        end
        
        for k=2, #Search do
            local tmp = {}
            local offset = Search[k][2] - base 
            local num = Search[k][1] 
            
            for i, v in ipairs(result) do
                tmp[#tmp+1] = {} 
                tmp[#tmp].address = v.address + offset  
                tmp[#tmp].flags = v.flags  
            end
            
            tmp = gg.getValues(tmp) 
            
            for i, v in ipairs(tmp) do
                if ( tostring(v.value) ~= tostring(num) ) then 
                    result[i].isUseful = false 
                end
            end
        end
  
        for i, v in ipairs(result) do
            if (v.isUseful) then 
                data[#data+1] = v.address
            end
        end
        
        if (#data > 0) then
           gg.toast("搜索到"..#data.."条数据")
           local t = {}
           local base = Search[1][2]
           for i=1, #data do
               for k, w in ipairs(Write) do
                   offset = w[2] - base
                   t[#t+1] = {}
                   t[#t].address = data[i] + offset
                   t[#t].flags = Type
                   t[#t].value = w[1]
                  
                   
               end
           end
           gg.setValues(t)
          gg.toast(Name.."开启成功！已修改"..#t.."条数据")
         
        else
            gg.toast(Name.."开启失败", false)
            return false
        end
    else
        gg.toast(Name.."开启失败")
        return false
    end
end

  function Main()
SN = gg.choice({   
"💢· 荣耀全明星 ",
"💢. 阿拉德之怒",
"💢. 失落绿洲",
"❌· 退出功能 ",
}, nil,"当前版本:会员版 "..os.date("\n%Y年-%m月-%d日 %H时:%M分:%S秒，讨论群;345965213"))
  if SN == 1 then
    THWJ()
  end
  if SN == 2 then
    THWJ1()
  end
  if SN == 3 then
    THWJ4()
  end
  if SN == 4 then  
 Exit()
  end
  XGCK = -1
end

function THWJ()
  SN = gg.multiChoice({
 "一键开启秒杀",
  }, nil, "以下功能进副本开启，一局一开,  提示: 请勿使用鬼侍职业(跳劈)技能，会卡屏")
 if SN == nil then
 else 
  if SN[1] == true then a() end
  if SN[2] == true then end end end
  
  function THWJ11()
    SN = gg.multiChoice({
  "一键开启",
  "持续秒杀",
  "海战秒杀",
  "卡屏恢复",
 }, nil, "所有功能一局一开，打工会副本只开持续秒杀功能，神陵武装只支持58-59版本")
 if SN == nil then
  else
  if SN[1] == true then b() end
  if SN[2] == true then b1() end
  if SN[3] == true then b2() end
  if SN[4] == true then b3() end
  if SN[5] == true then end end end
 
 function THWJ3()
    SN = gg.multiChoice({
  "一键开启秒杀",
  }, nil, "如果提示开启失败，打一下怪再开即可")
  if SN == nil then
  else
  if SN[1] == true then x() end
  if SN[2] == true then end end end
  
    function THWJ7()
    SN = gg.multiChoice({
  "普攻秒杀(副本开启)",
  "全职秒杀(第一个房间打完开启)",
  }, nil, "全职秒杀打完第一个房间的敌人再开，不然会互秒。")
 if SN == nil then
 else
  if SN[1] == true then e() end
  if SN[2] == true then e1() end
  if SN[3] == true then end end end

  
  function THWJ1()
    SN = gg.multiChoice({
  "一键开启转职功能(转职后开启生效城镇开启)",
  "技能秒杀，力量之阵改无限冰镇，召唤改无限人偶，超级念气罩(人物1级就可使用)",
  "副本加速(进副本开启)",
  }, nil, "💢技能全屏使用说明:以下技能才有全屏效果，战士【长空落地击】【前跃斩】冥王【心灵震荡】神域者【浮空阵】格斗家【震地拳】🎯团本打法，开启属性秒杀，进副本让队友退出，即可，队友退出也有奖励")
 if SN == nil then
 else
  if SN[1] == true then c() end
  if SN[2] == true then c1() end
  if SN[3] == true then c4() end
  if SN[4] == true then end end end

  
  function THWJ6()
    SN = gg.multiChoice({
  "称号秒杀",
  "副本秒杀",
  }, nil, "称号秒杀功能必须佩戴首充赠送的称号，在城镇开启。")
 if SN == nil then
 else
  if SN[1] == true then f() end
  if SN[2] == true then f1() end
  if SN[3] == true then end end end 
  
  
  function THWJ5()
    SN = gg.multiChoice({
  "普攻秒杀【副本开启】",
  "全图定怪【副本开启】",
  "全职互秒【副本开启,配合定怪使用】",
  "互秒关闭【打完副本关闭】",
  }, nil, "雷神最牛逼，没啥注意的，一直奔放就完事")
 if SN == nil then
 else
  if SN[1] == true then d1() end
  if SN[2] == true then d() end
  if SN[3] == true then d2() end
  if SN[4] == true then d3() end
  if SN[5] == true then end end end 
  
    
  function THWJ4()
    SN = gg.multiChoice({
  "一键智能开启【城镇开启】",
  "全屏伤害【副本一局一开】",
  }, nil, "一键智能开启只需开一次，全屏伤害每进一次副本开一次。")
 if SN == nil then
 else
  if SN[1] == true then xa() end
  if SN[2] == true then xxa() end
  if SN[3] == true then end end end 
  

   function a()
    gg.setRanges(32)
    local Name="全图定怪"
    local tb1 = {{16843009,0},{1000000,64}}
    local tb2 = {{100,64},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)

    gg.setRanges(32)
    local Name="全职秒杀"
    local tb1 = {{20000,0},{1000,8}}
    local tb2 = {{99999999, 0},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)

    gg.setRanges(32)
    local Name="超级攻速"
    local tb1 = {{1000,0},{1000,8}}
    local tb2 = {{400, 8},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
   
    gg.setRanges(32)
    local Name="技能CD"
    local tb1 = {{1000,0},{2,-64},{1000,-72}}
    local tb2 = {{1,-60},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    end
    
    function b() 
    gg.setRanges(32)
    local Name="全职无敌"
    local tb1 = {{16777216,0},{9,68},{1,72},{1065353216,88}}
    local tb2 = {{-1035468800, 88},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    
    gg.setRanges(32)
    local Name="持续秒杀"
    local tb1 = {{256,0},{0,4},{1,28},{0,32}}
    local tb2 = {{1000, 28},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)

     gg.setRanges(32)
    local Name="全屏攻击"
    local tb1 = {{1065353215,0},{1065353216,-8},{864026624,8}}
    local tb2 = {{1092616192,24},{1092616192,28},{1092616192,32},{109261619,36}}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)

    gg.setRanges(32)
    local Name="人物加速"
    local tb1 = {{1148846080,0},{1123024896,-4},{1065353216,-16}}
    local tb2 = {{1075227584, -16},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
     end
     
     function bb() 
    gg.setRanges(32)
    local Name="全职无敌"
    local tb1 = {{16777216,0},{9,68},{1,72},{1065353216,88}}
    local tb2 = {{-1035468800, 88},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
   
    gg.setRanges(32)
    local Name="持续秒杀"
    local tb1 = {{256,0},{0,4},{1,28}}
    local tb2 = {{500, 28},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
 
    gg.setRanges(32)
    local Name="叠加伤害"
    local tb1 = {{65536,0},{1,60},{1,64}}
    local tb2 = {{4, 64},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    
    gg.setRanges(32)
gg.searchNumber("864026624D;0.5~3::", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.searchNumber("0.5~3", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.getResults(30000)
gg.editAll("15", gg.TYPE_FLOAT)
gg.toast("全屏开启成功")
end
     
      
  function b2()   
gg.setRanges(32)
gg.searchNumber("1D;1D;0;1~3F::45", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.searchNumber("1~3", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.getResults(30000)
gg.editAll("36.1", gg.TYPE_FLOAT)
gg.toast("海战秒杀开启成功")
end

function b3()   
gg.setRanges(32)
gg.searchNumber("1D;1D;0;36.1::", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.searchNumber("36.1", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.getResults(50000)
gg.editAll("1.1", gg.TYPE_FLOAT)
gg.toast("恢复成功")
end

function bb2()   
gg.setRanges(32)
gg.searchNumber("1D;1D;0;1~3F::45", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.searchNumber("1~3", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.getResults(30000)
gg.editAll("36.1", gg.TYPE_FLOAT)
gg.toast("海战秒杀开启成功")
end

function bb3()   
gg.setRanges(32)
gg.searchNumber("1D;1D;0;36.1::", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.searchNumber("36.1", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.getResults(50000)
gg.editAll("1.1", gg.TYPE_FLOAT)
gg.toast("恢复成功")
end

function b1()
gg.setRanges(32)
    local Name="全职无敌"
    local tb1 = {{16777216,0},{9,68},{1,72},{1065353216,88}}
    local tb2 = {{-1035468800, 88},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)

gg.setRanges(32)
    local Name="持续秒杀"
    local tb1 = {{256,0},{0,4},{1,28},{0,32}}
    local tb2 = {{1000, 28},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
end

function b11()
 gg.setRanges(32)
    local Name=""
    local tb1 = {{100,0},{100,-432},{1,24},{100,1584}}
    local tb2 = {{2,24},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name) 
      
   gg.setRanges(32)
    local Name=""
    local tb1 = {{100,0},{100,72},{100,144}}
    local tb2 = {{100, 72},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
   
     gg.setRanges(32)
    local Name="定怪开启成功"
    local tb1 = {{100,0},{100,-432},{2,24}}
    local tb2 = {{1,24},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name) 
     end
  
function c()
gg.setRanges(32)
    local Name="全屏模式"
    local tb1 = {{917504,0},{786448,4},{262152,12},{1000,24}}
    local tb2 = {{262151,12},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
      
   gg.setRanges(32)
    local Name="全屏模式"
    local tb1 = {{917504,0},{786448,4},{262152,12},{20,20}}
    local tb2 = {{262151,12},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)

gg.clearResults(32)
gg.searchNumber("20000;1000::", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1)
gg.searchNumber("20000", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1)
gg.getResults(2000)
gg.editAll("0)",gg.TYPE_DWORD)
gg.toast("炮台无CD开启成功")    

gg.clearResults(32)
gg.searchNumber("500;220;45;136068113;800~2000::", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1)
gg.searchNumber("800~2000", gg.TYPE_DWORD,false,gg.SIGN_EQUAL,0, -1)
gg.getResults(2000)
gg.editAll("19999999)",gg.TYPE_DWORD)
gg.toast("属性秒杀开启成功")

gg.setRanges(32)
    local Name="技能冷却"
    local tb1 = {{8,0},{1,-8},{3,4}}
    local tb2 = {{99,-8},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
end  

function c1()
gg.setRanges(32)
    local Name="普攻秒杀"
    local tb1 = {{90000,0},{50000,12}}
    local tb2 = {{999999999,0},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)

gg.setRanges(32)
    local Name="技能秒杀"
    local tb1 = {{262152,0},{50000,24}}
    local tb2 = {{262151,0},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)

gg.setRanges(32)
    local Name="技能冷却"
    local tb1 = {{8,0},{1,-8},{3,4}}
    local tb2 = {{99,-8},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
end  

function c2()
    gg.setRanges(32)
    local Name="射手全屏"
    local tb1 = {{10000,0},{-40000,84}}
    local tb2 = {{99999999, 0},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
end

  function c4()
gg.setRanges(32)
    local Name="人物加速"
    local tb1 = {{10000,0},{40960000,4}}
    local tb2 = {{5500,0},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    end

function c5()
gg.setRanges(32)
    local Name="全屏模式"
    local tb1 = {{917504,0},{786448,4},{262152,12},{1000,24}}
    local tb2 = {{262151,12},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
      
   gg.setRanges(32)
    local Name="全屏模式"
    local tb1 = {{917504,0},{786448,4},{262152,12},{20,20}}
    local tb2 = {{262151,12},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
   end

function f()
gg.setRanges(32)
    local Name="称号秒杀"
    local tb1 = {{1000,0},{1138688000,-36},{1096810496,-40},{1105199104,-44}}
    local tb2 = {{1259902591,-36},{1259902591,-40},{1259902591,-44}}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    end
    
function f1()     
gg.setRanges(32)
    local Name="单主将秒杀"
    local tb1 = {{1073217536,0},{1072693248,176},{1072693248,216}}
    local tb2 = {{1093567614,216}}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    end
      
function e()
gg.setRanges(32)
    local Name="普攻秒杀"
    local tb1 = {{15221,0},{1522,8},{-1,12},{1522,16}}
    local tb2 = {{1315859240, 20},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
   end
   
 function e1() 
gg.setRanges(32)
    local Name="技能秒杀"
    local tb1 = {{15041,0},{-1,4},{15041,8},{1504,16}}
    local tb2 = {{1315859240, 60},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    end   
      
  function d()
 gg.setRanges(4)
    local Name="全图定怪"
    local tb1 = {{256,0},{1036831949,-8},{1073741824,-16}}
    local tb2 = {{-1073741824,-8},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    end

function d1()
gg.setRanges(32)
    local Name="普攻秒杀"
    local tb1 = {{1000,0},{100,4},{10010012,8}}
    local tb2 = {{1222348144,92},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    end
      
 function d2()
 gg.setRanges(8)
    local Name="全职互秒"
    local tb1 = {{1050253722,0},{1036831949,4},{1051931443,8},{1176256512,204}}
    local tb2 = {{1120403456,204},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    end
    
    
   function d3()
  gg.setRanges(8)
    local Name="互秒已关闭"
    local tb1 = {{1050253722,0},{1036831949,4},{1051931443,8},{1120403456,204}}
    local tb2 = {{1176256512,204},}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    end   


function x()  
gg.setRanges(32)
local Name="百分百暴击"
    local tb1 = {{1202590843,0},{1065646817,4},{200,16}}
    local tb2 = {{1083127808,4}}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
      
gg.setRanges(32)
    local Name="全职秒杀"
    local tb1 = {{1202590843,0},{1066695393,4}}
    local tb2 = {{1083127808,4}}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    end 
     
function xa()
gg.setRanges(32)
    local Name="全局定怪"
    local tb1 = {{99,0},{1,-48},{6,12},{1,64}}
    local tb2 = {{99,-48},{99,64}}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    
    gg.setRanges(32)
    local Name="全局定怪"
    local tb1 = {{1077936128,0},{6,4},{99,56}}
    local tb2 = {{1,56}}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    
      gg.setRanges(32)
    local Name="移动加速"
    local tb1 = {{1176256512,0},{1077936128,56}}
    local tb2 = {{1167867904,0}}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
   end
   
    function xxa()
    gg.setRanges(32)
    local Name="全屏攻击"
    local tb1 = {{65537,0},{1065353216,-4},{0,8}}
    local tb2 = {{1100161920,-4}}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    
    gg.setRanges(32)
    local Name="全屏攻击"
    local tb1 = {{65537,0},{1100161920,-4},{1119092736,-28},{0,4}}
    local tb2 = {{1065353217,-4}}
    local dataType = gg.TYPE_DWORD
    SearchWrite(tb1, tb2, dataType,Name)
    end
      
      
      
while true do
  if gg.isVisible(true) then
    XGCK = 1
    gg.setVisible(false)
  end
  gg.clearResults()
  if XGCK == 1 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 
--请求

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


---[=[下方为后台配置]=]-------------------------------------------------------------------------------------------------------------------

xxxxxxx="https://cute521.cn"
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="11723"
--APPID

local xxxxxxx_APPKEY="wqSrygmZWn7WyYYN"
--APPKEY

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


local xxxbanb="1.0"
--1.0

local xxxQQ="16967663"
--作者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
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

else
if Notice~="" then
gg.alert(Notice,"确定")--对话框
end
end

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

xxcisu="无法获取"
gongxing=ultra(xxxxxxx_to_configure.."&app=".. xxxxxxx_APPID,"")


No=gongxing:match('"code":(.-),')
if  No ~= nil then 
No=gongxing: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 gongxing==nil then

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

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


ab22a390752305680f3da8a1de1bfbf87e(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[本脚本使用："..xxcisu.." 次]\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
