local _o=_ENV function rc4_UTF_8(text,key,kasi)  local function __xorBit(left, right)  return (left + right) == 1  and 1 or 0  end  local function __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  local function xorOp(left, right)  return __base(left, right, __xorBit)  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(xorOp(schedule[i], c))  end  return table.concat(res)  end  m=0  if kasi==false then  str = text  str=str:gsub("[%s%p]",""):upper()  local index=1  local ret=""  for index=1,str:len(),2 do  if tonumber(str:sub(index,index+1))== nil then   m=m+1  end  ret=ret..string.char(tonumber(str:sub(index,index+1),16))  end  text=ret  end  local textLen = string.len(text)  local schedule = KSA(key)  local k = PRGA(schedule, textLen)   local 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 local function json2true(str,from,to)  return true, from+3 end local function json2false(str,from,to)  return false, from+4 end local function json2null(str, from, to)  return nil, from+3 end local function json2nan(str, from, to)  return nul, from+2 end local numberchars = {  ['-'] = true,  ['+'] = true,  ['.'] = true,  ['0'] = true,  ['1'] = true,  ['2'] = true,  ['3'] = true,  ['4'] = true,  ['5'] = true,  ['6'] = true,  ['7'] = true,  ['8'] = true,  ['9'] = true} local function json2number(str,from,to)  local i = from+1  while(i<=to) do  local char = string.sub(str, i, i)  if not numberchars[char] then break  end i = i + 1  end  local num = tonumber(string.sub(str, from, i-1))  if not num then  gg.alert(string.gsub('json格式错误，不正确的数字, 错误位置:{from}', 'from',from))  end return num, i-1 end local function json2string(str,from,to)  local ignor = false for i = from+1, to do  local char = string.sub(str, i, i)  if not ignor then  if char == fuhao then  return string.sub(str, from+1, i-1), i   elseif char == '\\' then  ignor = true  end   else ignor = false  end  end  gg.alert(string.gsub('json格式错误，字符串没有找到结尾, 错误位置:{from}', 'from',from)) end local function json2array(str,from,to)  local result = {} from = from or 1  local pos = from+1  local to = to or string.len(str)  while(pos<=to) do  local char = string.sub(str, pos, pos)  if char == fuhao then  result[#result+1], pos = json2string(str,pos,to)   elseif char == '[' then  result[#result+1], pos = json2array(str,pos,to)   elseif char == '{' then  result[#result+1], pos = json2table(str,pos,to)   elseif char == ']' then  return result, pos   elseif (char=='f' or char=='F') then  result[#result+1], pos = json2false(str,pos,to)   elseif (char=='t' or char=='T') then  result[#result+1], pos = json2true(str,pos,to)   elseif (char=='n') then  result[#result+1], pos = json2null(str,pos,to)   elseif (char=='N') then  result[#result+1], pos = json2nan(str,pos,to)   elseif numberchars[char] then  result[#result+1], pos = json2number(str,pos,to)  end  pos = pos + 1  end  gg.alert( string.gsub('json格式错误，表没有找到结尾, 错误位置:{from}', 'from',from)) end function _G.json2table(str,from,to)  local result = {}  from = from or 1  local pos = from+1  local to = to or  string.len(str)  local key  while(pos<=to) do  local char = string.sub(str, pos, pos)  if char == fuhao then  if not key then  key, pos = json2string(str,pos,to)   else  result[key], pos = json2string(str,pos,to)  key = nil  end   elseif char == '[' then  if not key then  key, pos = json2array(str,pos,to)   else  result[key], pos = json2array(str,pos,to)  key = nil  end   elseif char == '{' then  if not key then  key, pos = json2table(str,pos,to)   else  result[key], pos = json2table(str,pos,to)  key = nil  end   elseif char == '}' then  return result, pos   elseif (char=='f' or char=='F') then  result[key], pos = json2false(str,pos,to)  key = nil   elseif (char=='t' or char=='T') then  result[key], pos = json2true(str,pos,to)  key = nil   elseif (char=='n') then  result[key], pos = json2null(str,pos,to)  key = nil   elseif (char=='N') then  result[key], pos = json2nan(str,pos,to)  key = nil   elseif numberchars[char] then  if not key then  key, pos = json2number(str,pos,to)   else  result[key], pos = json2number(str,pos,to)  key = nil  end  end  pos = pos + 1  end  gg.alert(string.gsub('格式错误，表没有找到结尾, 错误位置:{from}','from',from)) end fuhao= '"' local jsonfuncs={  [fuhao]=json2string,  ['[']=json2array,  ['{']=json2table,  ['f']=json2false,  ['F']=json2false,  ['t']=json2true,  ['T']=json2true} function jsoooooooon(str)  local char = string.sub(str, 1, 1)  local func=jsonfuncs[char]  if func == nil then  gg.alert("json格式头错误 [ "..char.." ]")  os.exit()  end  if func then  return func(str,1, string.len(str))  end  if numberchars[char] then  return json2number(str, 1, string.len(str))  end 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)  local tLen = #rTab  rTab[tLen + 1] = bitLen & 0xffffffff  rTab[tLen + 2] = bitLen >> 32  return rTab  end  function getmb5(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 getmb5(code) end  jm={["md5"]=md5,["jsoooooooon"]=jsoooooooon,["rc4"]=rc4_UTF_8} jy_oj0d5e5378d3d1de2983=jm.md5 jy_oj23e26d5e5378d=jm.jsoooooooon jy_oj13e26d5e5378d3d1d=jm.rc4


local id_y0d5e5378d3d1d='15143'
--APPID
local key_y1d5e5378d3d1de298='jGS3e1KgkQuQBv1s'
--APPKEY
local keys_y2e5378d3d1de298='t0U74G57yq0ubgfg'
--是否 RC4 加密[key 密钥]
local xxxbanb=''
--版本号
api_total=0
--查看人数


---------------------------------------------
local website_e26d5e5378d3d1d='http://cute521.cn/'
--官网
local km_3e26d5e5378=website_e26d5e5378d3d1d..'/api.php?api=kmlogon&app='..id_y0d5e5378d3d1d
--接口名称[卡密登录]
local jieba_5e5378d3d1de2983=website_e26d5e5378d3d1d..'/api.php?api=kmunmachine&app='..id_y0d5e5378d3d1d
--接口名称[卡密解绑]
local to_configure_3e26d5e5378=website_e26d5e5378d3d1d..'/api.php?api=ini&app='..id_y0d5e5378d3d1d
--接口名称[应用配置]
local Notice_e5378d3d1de29=website_e26d5e5378d3d1d..'/api.php?api=notice&app='..id_y0d5e5378d3d1d
--接口名称[应用公告]


local AMI_km='/sdcard/km'
--卡密 路径
I_km=''

local AMI_miei='/sdcard/miei'
--设备码 路径
I_miei=''

local AMI_e='/sdcard/e'
--自动登入 路径
I_e=''


local d_a_n_kmld5e5378d3d1de2='开'

if id_y0d5e5378d3d1d=='' or key_y1d5e5378d3d1de298=='' then  gg.alert('对接数据,空...')  os.exit() end









function m_a_in_A26d5e5378d3d1de29() if io.open(AMI_km,'r')== nil then io.open(AMI_km,'w+'):write('') l_km='' io.close() else l_km=io.open(AMI_km,'r'):read('*a') io.close() end if io.open(AMI_miei,'r')== nil then io.open(AMI_miei,'w+'):write(string.sub(jy_oj0d5e5378d3d1de2983(os.date()..keys_y2e5378d3d1de298),16)) l_miei=string.sub(jy_oj0d5e5378d3d1de2983(os.date()..keys_y2e5378d3d1de298),16) io.close() else if io.open(AMI_miei,'r'):read('*a')== '' then io.open(AMI_miei,'w+'):write(string.sub(jy_oj0d5e5378d3d1de2983(os.date()..keys_y2e5378d3d1de298),16)) l_miei=string.sub(jy_oj0d5e5378d3d1de2983(os.date()..keys_y2e5378d3d1de298),16) io.close() else l_miei=io.open(AMI_miei,'r'):read('*a') io.close() end end if io.open(AMI_e,'r')== nil then io.open(AMI_e,'w+'):write("0") l_e="0" io.close() else l_e=io.open(AMI_e,'r'):read('*a') io.close() end if l_e == "0" then l_e=false else l_e=true end
local function d_a_n_jbe26d5e5378d3d(km,miei) key=jy_oj0d5e5378d3d1de2983("kami="..km.."&markcode="..miei.."&t="..os.time().."&".. key_y1d5e5378d3d1de298) bops="kami="..km.."&markcode="..miei.."&t="..os.time().."&sign="..key if  d_a_n_kmld5e5378d3d1de2 == "开" then bops= "data="..jy_oj13e26d5e5378d3d1d(bops,keys_y2e5378d3d1de298,true) end jy_oj3e26d5e5378d=gg.makeRequest(jieba_5e5378d3d1de2983,nil,bops)["content"] if d_a_n_kmld5e5378d3d1de2 == '开' then  jy_oj3e26d5e5378d=jy_oj13e26d5e5378d3d1d(jy_oj3e26d5e5378d,keys_y2e5378d3d1de298,false) end if jy_oj23e26d5e5378d(jy_oj3e26d5e5378d)== nil then gg.alert('JSON: 数据错误') os.exit() end if jy_oj23e26d5e5378d(jy_oj3e26d5e5378d).code== 200 then gg.alert(jy_oj23e26d5e5378d(jy_oj3e26d5e5378d).msg) else gg.alert(jy_oj23e26d5e5378d(jy_oj3e26d5e5378d).msg) end end



function d_a_n_km3e26d5e5378(km,miei)---[=[   ]=]-------------------------------------------------------------------------------------------------------------------
local Random=jy_oj0d5e5378d3d1de2983(miei..os.time()*1000+611*os.time()-999999)..math.random(521) key=jy_oj0d5e5378d3d1de2983("kami="..km.."&markcode="..miei.."&t="..os.time().."&".. key_y1d5e5378d3d1de298) bops="kami="..km.."&markcode="..miei.."&t="..os.time().."&sign="..key if  d_a_n_kmld5e5378d3d1de2 == "开" then bops= "data="..jy_oj13e26d5e5378d3d1d(bops,keys_y2e5378d3d1de298,true) end jy_oj3e26d5e5378d=gg.makeRequest(km_3e26d5e5378,nil,bops.."&value="..Random)["content"] if d_a_n_kmld5e5378d3d1de2 == '开' then  jy_oj3e26d5e5378d=jy_oj13e26d5e5378d3d1d(jy_oj3e26d5e5378d,keys_y2e5378d3d1de298,false) end if jy_oj23e26d5e5378d(jy_oj3e26d5e5378d)== nil then gg.alert('JSON: 数据错误') os.exit() end if jy_oj23e26d5e5378d(jy_oj3e26d5e5378d).msg.kami == nil then gg.alert(jy_oj23e26d5e5378d(jy_oj3e26d5e5378d).msg) io.open(AMI_e,'w+'):write("0") else if jy_oj23e26d5e5378d(jy_oj3e26d5e5378d).msg.vip == nil then gg.alert(jy_oj23e26d5e5378d(jy_oj3e26d5e5378d).msg) io.open(AMI_e,'w+'):write("0") else while jy_oj23e26d5e5378d(jy_oj3e26d5e5378d).check ~= jy_oj0d5e5378d3d1de2983(jy_oj23e26d5e5378d(jy_oj3e26d5e5378d).time..key_y1d5e5378d3d1de298..Random) do gg.alert("脚本：检测到你有非法操作") io.open(AMI_e,'w+'):write("0") os.exit() end



if jy_oj23e26d5e5378d(jy_oj3e26d5e5378d).code== 200 then io.open(AMI_km,'w+'):write(km) io.open(AMI_e,'w+'):write("1") TT=gg.alert("到期时间:-----------\n" ..os.date("%Y".."年".."%m".."月".."%d".."日  %H".."时".."%M".."分".."%S".."秒",jy_oj23e26d5e5378d(jy_oj3e26d5e5378d).msg.vip).."\n使用卡密: "..jy_oj23e26d5e5378d(jy_oj3e26d5e5378d).msg.kami,"确定","返回") if TT== 2 then io.open(AMI_e,'w+'):write("0") m_a_in_A26d5e5378d3d1de29() else _ENV=_o
----脚本放下面-----------------------------------------









function edit(orig,ret)_om=orig[1].memory or orig[1][1]_ov=orig[3].value or orig[3][1]_on=orig[2].name or orig[2][1]gg.clearResults()gg.setRanges(_om)gg.searchNumber(_ov,orig[3].type or orig[3][2])sz=gg.getResultCount()if sz<1 then gg.toast(_on.."开启失败")else sl=gg.getResults(720)for i=1,sz do ist=true for v=4,#orig do if ist==true and sl[i].value==_ov then cd={{}}cd[1].address=sl[i].address+(orig[v].offset or orig[v][2])cd[1].flags=orig[v].type or orig[v][3]szpy=gg.getValues(cd)cdlv=orig[v].lv or orig[v][1]cdv=szpy[1].value if cdlv==cdv then pdjg=true ist=true else pdjg=false ist=false end end end if pdjg==true then szpy=sl[i].address for x=1,#(ret)do xgpy=szpy+(ret[x].offset or ret[x][2])xglx=ret[x].type or ret[x][3]xgsz=ret[x].value or ret[x][1]xgdj=ret[x].freeze or ret[x][4]xgsj={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xgsj[1].freeze=xgdj gg.addListItems(xgsj)else gg.setValues(xgsj)end end xgjg=true end end if xgjg==true then gg.toast(_on.."开启成功")else gg.toast(_on.."开启失败")end end end
function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("搜索到"..#data.."条数据") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast("已修改"..#t.."条数据") gg.addListItems(t) else gg.toast("not found", false) return false end else gg.toast("Not Found") return false end end
function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end end end
function S_Pointer(t_So, t_Offset, _bit)
	local function getRanges()
		local ranges = {}
		local t = gg.getRangesList('^/data/*.so*$')
		for i, v in pairs(t) do
			if v.type:sub(2, 2) == 'w' then
				table.insert(ranges, v)
			end
		end
		return ranges
	end
	local function Get_Address(N_So, Offset, ti_bit)
		local ti = gg.getTargetInfo()
		local S_list = getRanges()
		local _Q = tonumber(0x315fdca1)
		local t = {}
		local _t
		local _S = nil
		if ti_bit then
			_t = 32
		 else
			_t = 4
		end
		for i in pairs(S_list) do
			local _N = S_list[i].internalName:gsub('^.*/', '')
			if N_So[1] == _N and N_So[2] == S_list[i].state then
				_S = S_list[i]
				break
			end
		end
		if _S then
			t[#t + 1] = {}
			t[#t].address = _S.start + Offset[1]
			t[#t].flags = _t
			if #Offset ~= 1 then
				for i = 2, #Offset do
					local S = gg.getValues(t)
					t = {}
					for _ in pairs(S) do
						if not ti.x64 then
							S[_].value = S[_].value & 0xFFFFFFFF
						end
						t[#t + 1] = {}
						t[#t].address = S[_].value + Offset[i]
						t[#t].flags = _t
					end
				end
			end
			_S = t[#t].address
			print(string.char(231,190,164,58).._Q)
		end
		return _S
	end
	local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit))
	return _A
end
function S_Pointer(t_So, t_Offset, _bit)
	local function getRanges()
		local ranges = {}
		local t = gg.getRangesList('^/data/*.so*$')
		for i, v in pairs(t) do
			if v.type:sub(2, 2) == 'w' then
				table.insert(ranges, v)
			end
		end
		return ranges
	end
	local function Get_Address(N_So, Offset, ti_bit)
		local ti = gg.getTargetInfo()
		local S_list = getRanges()
		local _Q = tonumber(0x315fdca1)
		local t = {}
		local _t
		local _S = nil
		if ti_bit then
			_t = 32
		 else
			_t = 4
		end
		for i in pairs(S_list) do
			local _N = S_list[i].internalName:gsub('^.*/', '')
			if N_So[1] == _N and N_So[2] == S_list[i].state then
				_S = S_list[i]
				break
			end
		end
		if _S then
			t[#t + 1] = {}
			t[#t].address = _S.start + Offset[1]
			t[#t].flags = _t
			if #Offset ~= 1 then
				for i = 2, #Offset do
					local S = gg.getValues(t)
					t = {}
					for _ in pairs(S) do
						if not ti.x64 then
							S[_].value = S[_].value & 0xFFFFFFFF
						end
						t[#t + 1] = {}
						t[#t].address = S[_].value + Offset[i]
						t[#t].flags = _t
					end
				end
			end
			_S = t[#t].address
			print(string.char(231,190,164,58).._Q)
		end
return _S end
	local _A = string.format('0x%X',Get_Address(t_So, t_Offset, _bit))
return _A
end
----------------------------------------------------------------------------------------------------
function 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 PS() end
function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end
function yiyz_Main()
menu = gg.multiChoice({
"小黑子【腾讯全防】",
"退出",
 }, nil, os.date" 小黑子全防 高端防踢 防禁网 当前时间:%Y年❤️-%m月⭐-%d日🌨️%H时🐻%M分🌿  ")
if menu == nil then else 
if menu[1] == true then A1() end 
if menu[2] == true then kk() end 
end XGCK = -1 end



function A1()

gg.clearResults()
gg.setRanges(16384)
gg.searchNumber("189,465,275;234,292,358;147,851,139;224,461,439", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
gg.refineNumber("189,465,275;234,292,358;147,851,139;224,461,439", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil)
local t = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil)
for i, v in ipairs(t) do
if v.flags == gg.TYPE_DWORD then
v.value = "-1"
v.freeze = true
end
end
gg.addListItems(t)
t = nil

gg.clearResults()
gg.setRanges(16384)
gg.searchNumber("240,660;175,144;175,108;5,022,724", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
gg.refineNumber("240,660;175,144;175,108;5,022,724", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil)
local t = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil)
for i, v in ipairs(t) do
if v.flags == gg.TYPE_DWORD then
v.value = "-1"
v.freeze = true
end
end
gg.addListItems(t)
t = nil

 
	 end



-------fmand小黑子


------fm    fmand小黑子


function Exit()
print"FM"
os.exit()
end
while true do
  if gg.isVisible(true) then
    XGCK = 1
    gg.setVisible(false)
  end
  gg.clearResults()
  if XGCK == 1 then
    yiyz_Main()
  end
end







---------------------------------------------
end else gg.alert(jy_oj23e26d5e5378d(jy_oj3e26d5e5378d).msg) io.open(AMI_e,'w+'):write("0") end end end end




function jko()
hak=gg.prompt({
'全网使用次数：'..api_total..'\n在下方输入你的卡密',
'自动登入',
'解绑卡密',
},{
l_km,
l_e,
l_n
},{
'text',--文字
'checkbox',--多选
'checkbox',--多选
})--文本功能

if hak==nil then
XGCK=0
else

if hak[2]== true then
io.open(AMI_e,'w+'):write("1")--写
io.close() 
else
io.open(AMI_e,'w+'):write("0")--写
io.close() 
end

if hak[1] == "" then
gg.alert("卡密不能空！")--对话框
else

if hak[3] == true then
hakk=gg.prompt({
'输入要解绑的卡密！',
},{l_km},{
'text',
})--文本功

if hakk==nil then XGCK=0 else
if hakk[1] == "" then gg.alert("卡密不能空！") else
d_a_n_jbe26d5e5378d3d(hakk[1],l_miei)
end end else
d_a_n_km3e26d5e5378(hak[1],l_miei)
end end end end

if l_e == false then jko() end

if l_e == true then d_a_n_km3e26d5e5378(l_km,l_miei) end end



while(true)do  if gg.isVisible(true) then  XGCK=1  gg.setVisible(false)  end  gg.clearResults()  if XGCK==1 then  m_a_in_A26d5e5378d3d1de29()  end end