吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 63464|回复: 119
上一主题 下一主题
收起左侧

[原创] lua脚本解密5:RC4加密穷举秘钥

  [复制链接]
跳转到指定楼层
楼主
Ganlv 发表于 2018-5-9 23:24 回帖奖励
[ 本帖最后由 Ganlv 于 2018-5-9 23:58 编辑 ]\n\n[ 本帖最后由 Ganlv 于 2018-5-9 23:53 编辑 ]\n\n[ 本帖最后由 Ganlv 于 2018-5-9 23:53 编辑 ]\n\n[ 本帖最后由 Ganlv 于 2018-5-9 23:41 编辑 ]\n\n

系列教程

样本

慕冬内部特殊加密版.7z

样本可以在文章末尾下载

过程

unluac

看到 luaR 知道这是 Lua 5.2 的 precompiled chunk(预编译块)

java -jar unluac.jar --rawstring 慕冬内部特殊加密版.luax > 2.lua

luaQluaRluaS 分别代表 Lua 5.15.25.3precompiled chunk。为什么呢?因为 Q = 0x51R = 0x52S = 0x53

具体请参考 lua脚本解密2:unluac

字符串解密

zzerxluaxx = zzerxlua1 .. zzerxlua2 .. zzerxlua3 .. zzerxlua4 .. zzerxlua5 .. zzerxlua6 .. zzerxlua7
file = io.open("/storage/emulated/0/zzer.zzer", "w")
file:write(zzerxluaxx)
file:close()
zzc = loadfile("/storage/emulated/0/zzer.zzer")
pcall(zzc)
os.remove("/storage/emulated/0/zzer.zzer")

最后这几行代码,把上面所有的字符串连接到一起,输出到 /storage/emulated/0/zzer.zzer,然后执行,运行结束之后删除。

我们稍微改一下,输出到 3.lua,不执行、不删除。

zzerxluaxx = zzerxlua1 .. zzerxlua2 .. zzerxlua3 .. zzerxlua4 .. zzerxlua5 .. zzerxlua6 .. zzerxlua7
file = io.open("3.lua", "w")
file:write(zzerxluaxx)
file:close()
-- 后面几行删掉就行了

作者很心机,用了 pcall 这个函数在执行函数时,如果出错不会造成程序停止,也就是最终都会删除那个临时代码。

执行之后还有一层,在使用相同的方式输出到 4.lua

相关参考 lua脚本解密1:loadstring

格式化代码

此步非必须

代码格式化工具下载贴 lua脚本解密4:rawstring

解密算法分析

function onlyssDecode(key, code)
    code = bsf.decode(code)
    code = fcr.encrypt(code, key)
    return code
end
v_value = gg.prompt({"请输入解密密码 或加群获取"}, {[1] = 0}, {[1] = "number"})
local code = onlyssDecode(
    v_value[1],
    "加密之后的代码"
)
if string.find(code, "gg") == nil then
    gg.alert("密码错误")
else
    load(code)()
end

浏览一下这个代码,这才是真正的加密,没有密码根本别想破解。想要密码?请加群。(不过加群之后就可以轻松解密了)

bsf.__code = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "/" }

看到这段代码,肯定想到了 base64 编码,这个不难解码。

function fcr.encrypt(text, key)
    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(bitpc.xorOp(schedule[i], c))
        end
        return table.concat(res)
    end
    local textLen = string.len(text)
    local schedule = KSA(key)
    local k = PRGA(schedule, textLen)
    return output(k, text)
end

我们搜索一下 KSAPRGA 发现了 RC4 这种东西。

Key-scheduling algorithm (KSA), Pseudo-random generation algorithm (PRGA) 是 RC4 加解密基本的两步。当有足够的数据时,这个加密似乎是可解的,不过也很麻烦。

插句题外话:荒野行动的数据包好像就是 RC4 加密。这种加密原理简单(本质上还是异或加密),强度适中,速度快,很适合这种简易加密的场合。

总结一下,这个代码先是一个 base64 解码,然后再来一个 RC4 解密。

我们不去研究 RC4 破解,我们用一些社工的方法,“这个脚本是给人用的,你不可能让使用者去输入一个几十位的秘钥,通常这个密码应该会比较简单,易于输入”。说白了,就是穷举一下数字和字母的组合,或者跑字典。

先来穷举数字

for i = 1, 1000000 do
    key = tostring(i)
    print(key)
    local code = onlyssDecode(key, "加密之后的代码")
    if ((string.find(code, "gg") == nil)
        or (string.find(code, "if") == nil)
        or (string.find(code, "then") == nil)
        or (string.find(code, "end") == nil)) then
        -- do nothing
    else
        print(key .. " RC4 Decrypt OK")
        print(decryptCode)
        break
    end
end

然后,密码是 123

很不错,这个密码的确是个密码。

使用秘钥解密

破解

源代码都出来了,剩下想干什么你们自己看着办吧。

相关链接

附件

免费评分

参与人数 19威望 +1 吾爱币 +30 热心值 +17 收起 理由
MAchilus、 + 1 然而当遇到变态作者使用特殊符号大小写字母加数字64位密码长度,请问需要跑.
xuzhouwangchen + 1 + 1 热心回复!
litsion + 1 + 1 我很赞同!
mq5123 + 3 + 1 鼓励转贴优秀软件安全工具和文档!
sunnylds7 + 1 + 1 热心回复!
zy1234 + 1 + 1 谢谢@Thanks!
Chlrun + 1 + 1 "换别人就给精华了"[/笑哭]
Hmily + 1 + 10 + 1 换别人就给精华了,这个对你难度太低。。。
malno + 1 + 1 不明觉厉 , 支持大佬
xkz959 + 1 + 1 热心回复!
erh + 1 + 1 谢谢@Thanks!
lvdebao001 + 1 我很赞同!
lookerJ + 1 + 1 用心讨论,共获提升!
孤狼微博 + 1 谢谢@Thanks!分析的头头是道这个是大神的风范
dibh10 + 1 + 1 给大佬打call
小家碧玉 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Ann4 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
_小白 + 1 + 1 我很赞同!
CrazyNut + 2 + 1 不明觉厉 - - 支持大佬

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

来自 #
洛丹伦的夏天 发表于 2018-5-11 10:07
穷举的缺点就是当密钥长度比较长时,解密非常慢,而别人并不需要输入那么长的密钥,只要复制粘贴就行了。不过好像除了穷举也没别的省时省力的方法了
推荐
冷孤幽 发表于 2019-4-11 17:52
Exception in thread "main" java.lang.NullPointerException
        at unluac.decompile.VariableFinder.process(VariableFinder.java:71)
        at unluac.decompile.Decompiler.<init>(Decompiler.java:90)
        at unluac.decompile.Decompiler.<init>(Decompiler.java:80)
        at unluac.Main.main(Main.java:46)
使用Editplus打开lua脚本开头是LuaR是5.2,使用大神你说的unluac.jar解密遇到这种情况怎么办?
我试着更换系统环境和降低javajdk版本都是这种情况,在网上找了好久都没有这样的问题,我下载大神你这篇文章的样本没有任何问题

wa.zip (9.26 KB, 下载次数: 18)

推荐
royisgod 发表于 2021-3-8 20:46
local ll1IIiIlIlIiI1l1Ill = assert local I1I1i11ilIil111liil = select local iill11I1Ili111IiiI1 = tonumber local liI11I111il1l1il1ii = unpack local lI1iiIll1ll1iIlili1 = pcall local llI1IIiiIIIl11I1lii = setfenv local I11lliIl1li1IIiliii = setmetatable local iiiIIllllliIiliIIIl = type local l1i1lIIIIi1l1i1lili = getfenv local iiI111Iliii1iIl1I1i = tostring local lIllI1il111iIiIiIl1 = error local lI11Ii1l1IIil1i1ilI = string.sub local lIliiI1IiiIIliilIII = string.byte local llIill1il1lIi1i111I = string.char local I1llIiI1ll1i1iIiili = string.rep local Il1lIiili1iIiII1Ili = string.gsub local I1ii1llil1lII1lii1l = string.match local iI1ll1li1I1iil1ii11 = lIliiI1IiiIIliilIII("J", 1) local lIlIi1lIiiIIilI11Il1I, lIll1IiiIllIiiilIliil = #{2221}, #{ 3993, 529, 203, 3767, 6793, 1833, 2391, 3406, 6181, 3494, 3309, 2625, 3411, 6324, 5570, 1810, 5354, 3306, 2904, 5067, 2308, 2600, 2632 } + iI1ll1li1I1iil1ii11 + 130974 local l1iIiI1II1ii1IliIII = {} local lIl1l1iiI11l1li1111Ii = 1 local function ii11IllI11i1lI1ii1i(IIil1I111I1lIiI111i, lIlll1lll1i1111illiii) local i11l111IliliIilIIi1 IIil1I111I1lIiI111i = Il1lIiili1iIiII1Ili(lI11Ii1l1IIil1i1ilI(IIil1I111I1lIiI111i, 5), "..", function(lIl11I11i1i1iiiiiII1l) if lIliiI1IiiIIliilIII(lIl11I11i1i1iiiiiII1l, 2) == 72 then i11l111IliliIilIIi1 = iill11I1Ili111IiiI1(lI11Ii1l1IIil1i1ilI(lIl11I11i1i1iiiiiII1l, 1, 1)) return "" else local lI1iIiI1lII1IIlIi1i = llIill1il1lIi1i111I(iill11I1Ili111IiiI1(lIl11I11i1i1iiiiiII1l, 16)) if i11l111IliliIilIIi1 then local ll1iI1i11IlI1l11I1i = I1llIiI1ll1i1iIiili(lI1iIiI1lII1IIlIi1i, i11l111IliliIilIIi1) i11l111IliliIilIIi1 = nil return ll1iI1i11IlI1l11I1i else return lI1iIiI1lII1IIlIi1i end end end) local function li11iIl1I1i1lI1lIil() local liiiilIIil1liii1liI = lIliiI1IiiIIliilIII(IIil1I111I1lIiI111i, lIl1l1iiI11l1li1111Ii, lIl1l1iiI11l1li1111Ii) lIl1l1iiI11l1li1111Ii = lIl1l1iiI11l1li1111Ii + 1 return liiiilIIil1liii1liI end local function IIlil1Illi1ii1IIi1I() local liiiilIIil1liii1liI, lI1iIiI1lII1IIlIi1i, ll1iI1i11IlI1l11I1i, ilIlllI1liIIll11lll = lIliiI1IiiIIliilIII(IIil1I111I1lIiI111i, lIl1l1iiI11l1li1111Ii, lIl1l1iiI11l1li1111Ii + 3) lIl1l1iiI11l1li1111Ii = lIl1l1iiI11l1li1111Ii + 4 return ilIlllI1liIIll11lll * 16777216 + ll1iI1i11IlI1l11I1i * 65536 + lI1iIiI1lII1IIlIi1i * 256 + liiiilIIil1liii1liI end local function i1IiIlIlllIl11I11ii(iIi1li1iili1II1liIl, i1Iilii111lilli11II, lillIll1lilIIlIIIii) if lillIll1lilIIlIIIii then local iI11liii1iiII1liI11, iIIIi1iIlIlI1l1i1II = 0, 0 for Il1Il11i1lIll111I11 = i1Iilii111lilli11II, lillIll1lilIIlIIIii do iI11liii1iiII1liI11 = iI11liii1iiII1liI11 + 2 ^ iIIIi1iIlIlI1l1i1II * i1IiIlIlllIl11I11ii(iIi1li1iili1II1liIl, Il1Il11i1lIll111I11) iIIIi1iIlIlI1l1i1II = iIIIi1iIlIlI1l1i1II + 1 end return iI11liii1iiII1liI11 else local iIll1iI1l1IiliiI1Il = 2 ^ (i1Iilii111lilli11II - 1) return iIll1iI1l1IiliiI1Il <= iIi1li1iili1II1liIl % (iIll1iI1l1IiliiI1Il + iIll1iI1l1IiliiI1Il) and 1 or 0 end end local function l1ll1liilil1iiIIIIl() local liiiilIIil1liii1liI, lI1iIiI1lII1IIlIi1i = IIlil1Illi1ii1IIi1I(), IIlil1Illi1ii1IIi1I() if liiiilIIil1liii1liI == 0 and lI1iIiI1lII1IIlIi1i == 0 then return 0 end return (-2 * i1IiIlIlllIl11I11ii(lI1iIiI1lII1IIlIi1i, 32) + 1) * 2 ^ (i1IiIlIlllIl11I11ii(lI1iIiI1lII1IIlIi1i, 21, 31) - 1023) * ((i1IiIlIlllIl11I11ii(lI1iIiI1lII1IIlIi1i, 1, 20) * 4294967296 + liiiilIIil1liii1liI) / 4503599627370496 + 1) end local function IiIiII1Iiii1li11iii(IiIiIl1il1i111lIII1) local i1i1III11111l1il11i = { lIliiI1IiiIIliilIII(IIil1I111I1lIiI111i, lIl1l1iiI11l1li1111Ii, lIl1l1iiI11l1li1111Ii + 3) } lIl1l1iiI11l1li1111Ii = lIl1l1iiI11l1li1111Ii + 4 local liII11I111IilIll1iI = { nil, nil, nil, nil, nil, nil, nil, nil } for Il1Il11i1lIll111I11 = 1, 8 do liII11I111IilIll1iI[Il1Il11i1lIll111I11] = i1IiIlIlllIl11I11ii(IiIiIl1il1i111lIII1, Il1Il11i1lIll111I11) end local Iil1lI1I1I1liiii1iI = "" for Il1Il11i1lIll111I11 = 1, 4 do local iI11liii1iiII1liI11, iIIIi1iIlIlI1l1i1II = 0, 0 for lIl111ilI1I1i111i1IIl = 1, 8 do local I1il1ilIii1llli1iil = i1IiIlIlllIl11I11ii(i1i1III11111l1il11i[Il1Il11i1lIll111I11], lIl111ilI1I1i111i1IIl) if liII11I111IilIll1iI[lIl111ilI1I1i111i1IIl] == 1 then I1il1ilIii1llli1iil = I1il1ilIii1llli1iil == 1 and 0 or 1 end iI11liii1iiII1liI11 = iI11liii1iiII1liI11 + 2 ^ iIIIi1iIlIlI1l1i1II * I1il1ilIii1llli1iil iIIIi1iIlIlI1l1i1II = iIIIi1iIlIlI1l1i1II + 1 end Iil1lI1I1I1liiii1iI = Iil1lI1I1I1liiii1iI .. llIill1il1lIi1i111I(iI11liii1iiII1liI11) end local liiiilIIil1liii1liI, lI1iIiI1lII1IIlIi1i, ll1iI1i11IlI1l11I1i, ilIlllI1liIIll11lll = lIliiI1IiiIIliilIII(Iil1lI1I1I1liiii1iI, 1, 4) return ilIlllI1liIIll11lll * 16777216 + ll1iI1i11IlI1l11I1i * 65536 + lI1iIiI1lII1IIlIi1i * 256 + liiiilIIil1liii1liI end local function IlllilIl1ll11ilIiIi(IiIiIl1il1i111lIII1) local IilII1l1l11IlIllili = IIlil1Illi1ii1IIi1I() lIl1l1iiI11l1li1111Ii = lIl1l1iiI11l1li1111Ii + IilII1l1l11IlIllili local liII11I111IilIll1iI = { nil, nil, nil, nil, nil, nil, nil, nil } for Il1Il11i1lIll111I11 = 1, 8 do liII11I111IilIll1iI[Il1Il11i1lIll111I11] = i1IiIlIlllIl11I11ii(IiIiIl1il1i111lIII1, Il1Il11i1lIll111I11) end local Iil1lI1I1I1liiii1iI = "" for Il1Il11i1lIll111I11 = 1, IilII1l1l11IlIllili do local iI11liii1iiII1liI11, iIIIi1iIlIlI1l1i1II = 0, 0 for lIl111ilI1I1i111i1IIl = 1, 8 do local I1il1ilIii1llli1iil = i1IiIlIlllIl11I11ii(lIliiI1IiiIIliilIII(IIil1I111I1lIiI111i, lIl1l1iiI11l1li1111Ii - IilII1l1l11IlIllili + Il1Il11i1lIll111I11 - 1), lIl111ilI1I1i111i1IIl) if liII11I111IilIll1iI[lIl111ilI1I1i111i1IIl] == 1 then I1il1ilIii1llli1iil = I1il1ilIii1llli1iil == 1 and 0 or 1 end iI11liii1iiII1liI11 = iI11liii1iiII1liI11 + 2 ^ iIIIi1iIlIlI1l1i1II * I1il1ilIii1llli1iil iIIIi1iIlIlI1l1i1II = iIIIi1iIlIlI1l1i1II + 1 end Iil1lI1I1I1liiii1iI = Iil1lI1I1I1liiii1iI .. llIill1il1lIi1i111I(iI11liii1iiII1liI11) end return Iil1lI1I1I1liiii1iI end local IIlII1Illl1I1IIiiIi = li11iIl1I1i1lI1lIil() local iIi1lI11iII11Ii1iI1 = li11iIl1I1i1lI1lIil() local function I1liiii1l11IIlIlliI() local liillll1I1i1iI11iii = { [116255] = {}, [119658] = {}, [101240] = {}, [33915] = {} } li11iIl1I1i1lI1lIil() liillll1I1i1iI11iii[11233] = li11iIl1I1i1lI1lIil() local lIlii111i11111li1li1i = IIlil1Illi1ii1IIi1I() - (#{ 6615, 5779, 2364, 3152, 4439, 2703, 626, 1493, 2856, 1352, 5157, 6184, 3376, 4484, 1123, 6605, 2380, 3988, 6058, 1242, 3778 } + iI1ll1li1I1iil1ii11 + 133610) for Il1Il11i1lIll111I11 = lIlIi1lIiiIIilI11Il1I, lIlii111i11111li1li1i do local il1liIiiii1Iil1I11i = {} local iIiIiIi11iilllI11lI = IiIiII1Iiii1li11iii(iIi1lI11iII11Ii1iI1) il1liIiiii1Iil1I11i[63475] = i1IiIlIlllIl11I11ii(iIiIiIi11iilllI11lI, #{5536}, #{ 3947, 6439, 1047, 4277, 2677, 6593, 5153, 2390, 3040 }) il1liIiiii1Iil1I11i[1819] = i1IiIlIlllIl11I11ii(iIiIiIi11iilllI11lI, #{6345}, #{ 5967, 4300, 1431, 240, 1452, 681, 2330, 3426, 3551, 1034, 6053, 4982, 6523, 6601, 6538, 2550, 2033, 4505 }) il1liIiiii1Iil1I11i[74599] = i1IiIlIlllIl11I11ii(iIiIiIi11iilllI11lI, #{ 2867, 177, 2103, 2755, 2437, 4686, 1973, 639, 5515, 3691, 1671, 4830, 5310, 4735, 6941, 147, 1135, 1574, 2155, 2673, 1910 } + iI1ll1li1I1iil1ii11 + -68, #{ 4943, 4828, 4945, 1184, 1358, 6546, 3930, 4725, 5391, 4384, 2992, 3879, 2834, 6260, 4850, 1556, 5629, 1128, 4551, 6290, 3637, 6567, 1753, 5591 } + iI1ll1li1I1iil1ii11 + -66) il1liIiiii1Iil1I11i[84361] = i1IiIlIlllIl11I11ii(iIiIiIi11iilllI11lI, #{4099}, #{ 3847, 1329, 4419, 5212, 1569, 4601, 1217, 3496, 4326 }) il1liIiiii1Iil1I11i[131831] = i1IiIlIlllIl11I11ii(iIiIiIi11iilllI11lI, #{ 4558, 283, 2398, 6197, 3886, 2191, 2305, 1404, 915, 6599 }, #{ 5123, 4555, 4379, 864, 6266, 3032, 4440, 655, 551, 3300, 1483, 5206, 1622, 2792, 424, 6065, 14, 4254 }) il1liIiiii1Iil1I11i[83948] = i1IiIlIlllIl11I11ii(iIiIiIi11iilllI11lI, #{ 5648, 995, 1181, 4550, 43, 2906, 5057, 6051, 4594, 3309, 647, 3217, 5181, 998, 5542, 6647, 2434, 5588, 5390 }, #{ 5942, 4277, 6503, 141, 2075, 759, 6438, 1624, 5689, 5003, 1640, 3162, 1361, 4842, 6506, 1942, 2996, 5, 2350, 2979, 5021, 3816 } + iI1ll1li1I1iil1ii11 + -70) liillll1I1i1iI11iii[119658][Il1Il11i1lIll111I11] = il1liIiiii1Iil1I11i end IIlil1Illi1ii1IIi1I() liillll1I1i1iI11iii[18424] = li11iIl1I1i1lI1lIil() local lIlii111i11111li1li1i = IIlil1Illi1ii1IIi1I() for Il1Il11i1lIll111I11 = lIlIi1lIiiIIilI11Il1I, lIlii111i11111li1li1i do liillll1I1i1iI11iii[101240][Il1Il11i1lIll111I11] = IIlil1Illi1ii1IIi1I() end liillll1I1i1iI11iii[111774] = li11iIl1I1i1lI1lIil() local lIlii111i11111li1li1i = IIlil1Illi1ii1IIi1I() - (#{ 1120, 6643, 4329, 6242, 3136, 6656, 6254, 6308, 6720, 5483, 2842, 534, 1679, 2064, 3421, 6620, 2684, 306, 3168, 2969 } + iI1ll1li1I1iil1ii11 + 133683) for Il1Il11i1lIll111I11 = lIlIi1lIiiIIilI11Il1I, lIlii111i11111li1li1i do local lIll1llliil11IIiii1lI = {} local iiiIIllllliIiliIIIl = li11iIl1I1i1lI1lIil() if iiiIIllllliIiliIIIl == #{ 1617, 4049, 4603, 2096, 5513, 5107, 4791, 5328, 2097, 4684, 1392, 376, 1649, 3701, 4373, 5858, 953, 2519, 4629, 6954, 2564 } + iI1ll1li1I1iil1ii11 + 13 then lIll1llliil11IIiii1lI[25762] = IlllilIl1ll11ilIiIi(IIlII1Illl1I1IIiiIi) end if iiiIIllllliIiliIIIl == #{ 2855, 1381, 5100, 263, 834, 5946, 6734, 6929, 3572, 3945, 6826, 3531, 4766, 3342, 4932, 5094, 2108, 2721, 3147, 722, 533 } + iI1ll1li1I1iil1ii11 + 127 then lIll1llliil11IIiii1lI[25762] = l1ll1liilil1iiIIIIl() end if iiiIIllllliIiliIIIl == #{ 6564, 5144, 4766, 5010, 5943, 6891, 6568, 1884, 3254, 1664, 1400, 3516, 5072, 2828, 621, 5707, 5473, 995, 831, 3059, 2924, 5017 } + iI1ll1li1I1iil1ii11 + 13 then lIll1llliil11IIiii1lI[25762] = li11iIl1I1i1lI1lIil() + IIlil1Illi1ii1IIi1I() + l1ll1liilil1iiIIIIl() end if iiiIIllllliIiliIIIl == #{ 4437, 64, 3067, 3137, 3289, 4075, 3120, 3254, 6436, 3371, 5363, 2227, 5172, 1490, 2883, 1217, 1138, 3156, 4241, 6903, 2474, 4677, 3477, 2261 } + iI1ll1li1I1iil1ii11 + 107 then lIll1llliil11IIiii1lI[25762] = IlllilIl1ll11ilIiIi(#{ 6169, 2346, 1409, 5480, 4731, 5599, 5515, 5670, 1602, 4333, 3962, 4283, 3574, 4840, 6565, 4676, 2608, 6420, 334, 4286, 237, 6497, 5262 } + iI1ll1li1I1iil1ii11 + 23) end if iiiIIllllliIiliIIIl == #{ 4994, 5156, 2688, 1477, 223, 1747, 6011, 5177, 1429, 3275, 1164, 1355, 5530, 3447, 3501, 2604, 5502, 6883, 178, 3700, 866, 3235, 5678 } + iI1ll1li1I1iil1ii11 + 111 then lIll1llliil11IIiii1lI[25762] = IIlil1Illi1ii1IIi1I() end if iiiIIllllliIiliIIIl == #{ 5908, 5972, 6688, 1931, 5068, 4566, 4621, 812, 6227, 1827, 736, 274, 3195, 3174, 1262, 5488, 1278, 4396, 4028, 5104, 3491 } + iI1ll1li1I1iil1ii11 + -69 then lIll1llliil11IIiii1lI[25762] = #{ 598, 2873, 2021, 2016, 1392, 3491, 4532, 2721, 167, 3500, 2124, 3547, 2656, 526, 4589, 5976, 2952, 2076, 2391, 705, 5583, 2991, 2263 } + iI1ll1li1I1iil1ii11 + 42191 == #{ 598, 2873, 2021, 2016, 1392, 3491, 4532, 2721, 167, 3500, 2124, 3547, 2656, 526, 4589, 5976, 2952, 2076, 2391, 705, 5583, 2991, 2263 } + iI1ll1li1I1iil1ii11 + 42191 end if iiiIIllllliIiliIIIl == #{ 444, 824, 3865, 4344, 4485, 388, 4671, 5745, 897, 777, 6129, 4072, 1230, 6858, 1289, 6319, 962, 6363, 6502, 2625, 5297, 5212, 3495, 4548 } + iI1ll1li1I1iil1ii11 + 23 then lIll1llliil11IIiii1lI[25762] = l1ll1liilil1iiIIIIl() + l1ll1liilil1iiIIIIl() end if iiiIIllllliIiliIIIl == #{ 5418, 305, 6119, 1669, 6129, 4434, 2133, 1342, 3893, 2402, 3428, 6543, 3504, 1804, 4565, 1122, 2233, 224, 5275, 1390, 6179, 1954, 6586 } + iI1ll1li1I1iil1ii11 + -17 then lIll1llliil11IIiii1lI[25762] = IIlil1Illi1ii1IIi1I() end if iiiIIllllliIiliIIIl == #{ 4319, 6516, 5873, 5183, 698, 2244, 1433, 1231, 1991, 1745, 6942, 5985, 2257, 3323, 5152, 229, 607, 1154, 4837, 1987 } + iI1ll1li1I1iil1ii11 + 159 then lIll1llliil11IIiii1lI[25762] = #{ 368, 4315, 644, 2772, 2400, 1043, 3154, 6494, 4967, 3049, 2387, 3937, 5526, 6757, 4219, 1411, 2587, 4471, 6135, 2409, 5954, 258 } + iI1ll1li1I1iil1ii11 + 7932 == #{ 5715, 2219, 625, 4402, 3836, 4117, 1665, 6870, 6313, 810, 3764, 347, 6457, 6158, 1897, 4991, 5802, 2610, 4581, 931, 5954, 1831 } + iI1ll1li1I1iil1ii11 + 57029 end liillll1I1i1iI11iii[33915][Il1Il11i1lIll111I11 - lIlIi1lIiiIIilI11Il1I] = lIll1llliil11IIiii1lI end IIlil1Illi1ii1IIi1I() li11iIl1I1i1lI1lIil() IIlil1Illi1ii1IIi1I() li11iIl1I1i1lI1lIil() IIlil1Illi1ii1IIi1I() local lIlii111i11111li1li1i = IIlil1Illi1ii1IIi1I() for Il1Il11i1lIll111I11 = lIlIi1lIiiIIilI11Il1I, lIlii111i11111li1li1i do liillll1I1i1iI11iii[116255][Il1Il11i1lIll111I11 - lIlIi1lIiiIIilI11Il1I] = I1liiii1l11IIlIlliI() end IIlil1Illi1ii1IIi1I() li11iIl1I1i1lI1lIil() li11iIl1I1i1lI1lIil() return liillll1I1i1iI11iii end local function l11l11iliiilililil1(liillll1I1i1iI11iii, lIlll1lll1i1111illiii, ii1i1iIli1iiiIliII1) local lil1Il1ilIIl1I1lI1i, iII111lil1IIIlllii1 = -1, 14 local IIlliiIIi1lIiil11lI = liillll1I1i1iI11iii[119658] local iII11ill1ili11IlIIi = I11lliIl1li1IIiliii({}, { __index = function(l1iilliIil1I1IIlllI, lIliil1lIllil1llliill) local Iil1lI1I1I1liiii1iI = liillll1I1i1iI11iii[33915][lIliil1lIllil1llliill] if lI11Ii1l1IIil1i1ilI(iiiIIllllliIiliIIIl(Iil1lI1I1I1liiii1iI[25762]), 1, 1) == "s" then return { [25762] = lI11Ii1l1IIil1i1ilI(Iil1lI1I1I1liiii1iI[25762], 5) } end return Iil1lI1I1I1liiii1iI end }) local iI1iI1l11l1i1ll1111 = 111774 local IIi111l1IlllIIll1Ii = liillll1I1i1iI11iii[116255] local i1IIi1liiIi1l1ii1II = 25762 local IlI1illliiiiIl1IIi1 = liillll1I1i1iI11iii[11233] local l1i1lI1lli11iI1IliI = 74599 local i11Ii11lI1lIlil1i1I = liillll1I1i1iI11iii[101240] local lIlIiI1lllilli1lliIII = 84361 local function il11ili1li1I11III1i(...) local lIlI1lll1Ii11lil1IlI1 = 0 local lIllii1llIiil1iII1i1I = { liI11I111il1l1il1ii({}, 1, liillll1I1i1iI11iii[18424]) } local Ill11Ill1I1llIilli1 = 1 local lIl1ll1ii1iiI1lIlIi1l = {} local i11iiiililI11ilIl1I = {} local lIl11lII11Ii1I1I1iIl1 = 1 local lIlll1lll1i1111illiii = l1i1lIIIIi1l1i1lili() local il1l11llil1IlIiIl1I = { ... } local iiii1IIl111II11ii1I = #il1l11llil1IlIiIl1I - 1 for Il1Il11i1lIll111I11 = 0, iiii1IIl111II11ii1I do if Il1Il11i1lIll111I11 < IlI1illliiiiIl1IIi1 then lIllii1llIiil1iII1i1I[Il1Il11i1lIll111I11] = il1l11llil1IlIiIl1I[Il1Il11i1lIll111I11 + 1] end end local function lIl1Illiil1llIl1I1i1l(...) local ll1iI1i11IlI1l11I1i = I1I1i11ilIil111liil("#", ...) local l1iilliIil1I1IIlllI = { ... } return ll1iI1i11IlI1l11I1i, l1iilliIil1I1IIlllI end local function l1Il1l1ll1llIlliiil() while true do local l1Ii1iII1I111I11llI = IIlliiIIi1lIiil11lI[Ill11Ill1I1llIilli1] local I11i1IilIIiIi1l11Ii = l1Ii1iII1I111I11llI[74599] Ill11Ill1I1llIilli1 = Ill11Ill1I1llIilli1 + 1 local i111iiIiilIIi1lIIli = l1Ii1iII1I111I11llI[1819] - lIll1IiiIllIiiilIliil local Ii11llI1i1i1Illi1iI = l1Ii1iII1I111I11llI[83948] local i1ll1lIIIll11IlllII = l1Ii1iII1I111I11llI[84361] local ili1ii1iI1111i1iiil = l1Ii1iII1I111I11llI[1819] local IlIi1IIIiiIii1I1iii = l1Ii1iII1I111I11llI[131831] if I11i1IilIIiIi1l11Ii >= 10 then if I11i1IilIIiIi1l11Ii < 15 then if I11i1IilIIiIi1l11Ii < 12 then if I11i1IilIIiIi1l11Ii == 11 then local lIlliIl11IiIIiIillII1 = IIi111l1IlllIIll1Ii[ili1ii1iI1111i1iiil] local lIiI1lI11ill1iiiiI1 = {} if lIlliIl11IiIIiIillII1[iI1iI1l11l1i1ll1111] > 0 then do local lIl1Iliii1l1i1I1IIi11 = {} lIiI1lI11ill1iiiiI1 = I11lliIl1li1IIiliii({}, { __index = function(l1iilliIil1I1IIlllI, lIliil1lIllil1llliill) local Ii1iilIlii1I1l1IliI = lIl1Iliii1l1i1I1IIi11[lIliil1lIllil1llliill] return Ii1iilIlii1I1l1IliI[1][Ii1iilIlii1I1l1IliI[2]] end, __newindex = function(l1iilliIil1I1IIlllI, lIliil1lIllil1llliill, iI1IIlIil1Illi1IllI) local Ii1iilIlii1I1l1IliI = lIl1Iliii1l1i1I1IIi11[lIliil1lIllil1llliill] Ii1iilIlii1I1l1IliI[1][Ii1iilIlii1I1l1IliI[2]] = iI1IIlIil1Illi1IllI end }) for Il1Il11i1lIll111I11 = 1, lIlliIl11IiIIiIillII1[iI1iI1l11l1i1ll1111] do local I1li1IiiIi1Iiii111I = IIlliiIIi1lIiil11lI[Ill11Ill1I1llIilli1] if I1li1IiiIi1Iiii111I[l1i1lI1lli11iI1IliI] == lil1Il1ilIIl1I1lI1i then lIl1Iliii1l1i1I1IIi11[Il1Il11i1lIll111I11 - 1] = { lIllii1llIiil1iII1i1I, I1li1IiiIi1Iiii111I[lIlIiI1lllilli1lliIII] } elseif I1li1IiiIi1Iiii111I[l1i1lI1lli11iI1IliI] == iII111lil1IIIlllii1 then lIl1Iliii1l1i1I1IIi11[Il1Il11i1lIll111I11 - 1] = { ii1i1iIli1iiiIliII1, I1li1IiiIi1Iiii111I[lIlIiI1lllilli1lliIII] } end Ill11Ill1I1llIilli1 = Ill11Ill1I1llIilli1 + 1 end lIl1ll1ii1iiI1lIlIi1l[#lIl1ll1ii1iiI1lIlIi1l + 1] = lIl1Iliii1l1i1I1IIi11 end end local iIlI1IiiiIlIIiIIiII = l11l11iliiilililil1(lIlliIl11IiIIiIillII1, lIlll1lll1i1111illiii, lIiI1lI11ill1iiiiI1) lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI] = iIlI1IiiiIlIIiIIiII else if i1ll1lIIIll11IlllII > 255 then i1ll1lIIIll11IlllII = iII11ill1ili11IlIIi[i1ll1lIIIll11IlllII - 256][i1IIi1liiIi1l1ii1II] else i1ll1lIIIll11IlllII = lIllii1llIiil1iII1i1I[i1ll1lIIIll11IlllII] end if IlIi1IIIiiIii1I1iii > 255 then IlIi1IIIiiIii1I1iii = iII11ill1ili11IlIIi[IlIi1IIIiiIii1I1iii - 256][i1IIi1liiIi1l1ii1II] else IlIi1IIIiiIii1I1iii = lIllii1llIiil1iII1i1I[IlIi1IIIiiIii1I1iii] end if i1ll1lIIIll11IlllII == IlIi1IIIiiIii1I1iii ~= (Ii11llI1i1i1Illi1iI ~= 0) then Ill11Ill1I1llIilli1 = Ill11Ill1I1llIilli1 + 1 end end elseif I11i1IilIIiIi1l11Ii >= 13 then if I11i1IilIIiIi1l11Ii ~= 14 then lIlll1lll1i1111illiii[iII11ill1ili11IlIIi[ili1ii1iI1111i1iiil][i1IIi1liiIi1l1ii1II]] = lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI] else lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI] = ii1i1iIli1iiiIliII1[i1ll1lIIIll11IlllII] end else Ill11Ill1I1llIilli1 = Ill11Ill1I1llIilli1 + i111iiIiilIIi1lIIli end elseif I11i1IilIIiIi1l11Ii < 18 then if I11i1IilIIiIi1l11Ii >= 16 then if I11i1IilIIiIi1l11Ii ~= 17 then for Il1Il11i1lIll111I11 = Ii11llI1i1i1Illi1iI, #lIllii1llIiil1iII1i1I do local l111i1lII1lilIiIl1i = lIl11lII11Ii1I1I1iIl1 for lIl111ilI1I1i111i1IIl = 1, #lIl1ll1ii1iiI1lIlIi1l do local lilli11li1II1i1lI1i = lIl1ll1ii1iiI1lIlIi1l[lIl111ilI1I1i111i1IIl] for IiIiIl1il1i111lIII1, Ii1iilIlii1I1l1IliI in next, lilli11li1II1i1lI1i, nil do if lIllii1llIiil1iII1i1I == Ii1iilIlii1I1l1IliI[1] and Ii1iilIlii1I1l1IliI[2] == Il1Il11i1lIll111I11 then if not i11iiiililI11ilIl1I[l111i1lII1lilIiIl1i] then i11iiiililI11ilIl1I[l111i1lII1lilIiIl1i] = lIllii1llIiil1iII1i1I[Il1Il11i1lIll111I11] lIl11lII11Ii1I1I1iIl1 = lIl11lII11Ii1I1I1iIl1 + 1 end lilli11li1II1i1lI1i[IiIiIl1il1i111lIII1] = {i11iiiililI11ilIl1I, l111i1lII1lilIiIl1i} end end end end else lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI] = lIlll1lll1i1111illiii[iII11ill1ili11IlIIi[ili1ii1iI1111i1iiil][i1IIi1liiIi1l1ii1II]] end else i1ll1lIIIll11IlllII = lIllii1llIiil1iII1i1I[i1ll1lIIIll11IlllII] if IlIi1IIIiiIii1I1iii > 255 then IlIi1IIIiiIii1I1iii = iII11ill1ili11IlIIi[IlIi1IIIiiIii1I1iii - 256][i1IIi1liiIi1l1ii1II] else IlIi1IIIiiIii1I1iii = lIllii1llIiil1iII1i1I[IlIi1IIIiiIii1I1iii] end lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI + 1] = i1ll1lIIIll11IlllII lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI] = i1ll1lIIIll11IlllII[IlIi1IIIiiIii1I1iii] end elseif I11i1IilIIiIi1l11Ii >= 19 then if I11i1IilIIiIi1l11Ii ~= 20 then local l1I1I11l1iIIliiIlii = lIllii1llIiil1iII1i1I[i1ll1lIIIll11IlllII] for Il1Il11i1lIll111I11 = i1ll1lIIIll11IlllII + 1, IlIi1IIIiiIii1I1iii do l1I1I11l1iIIliiIlii = l1I1I11l1iIIliiIlii .. lIllii1llIiil1iII1i1I[Il1Il11i1lIll111I11] end lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI] = l1I1I11l1iIIliiIlii else local IiI1iIlI1IilIl111II, iIilll1IIIll1lll1li, l1Il1l1ll1llIlliiil if i1ll1lIIIll11IlllII ~= 1 then if i1ll1lIIIll11IlllII ~= 0 then iIilll1IIIll1lll1li = Ii11llI1i1i1Illi1iI + i1ll1lIIIll11IlllII - 1 else iIilll1IIIll1lll1li = lIlI1lll1Ii11lil1IlI1 end iIilll1IIIll1lll1li, IiI1iIlI1IilIl111II = lIl1Illiil1llIl1I1i1l(lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI](liI11I111il1l1il1ii(lIllii1llIiil1iII1i1I, Ii11llI1i1i1Illi1iI + 1, iIilll1IIIll1lll1li))) else iIilll1IIIll1lll1li, IiI1iIlI1IilIl111II = lIl1Illiil1llIl1I1i1l(lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI]()) end if IlIi1IIIiiIii1I1iii ~= 1 then if IlIi1IIIiiIii1I1iii ~= 0 then iIilll1IIIll1lll1li = Ii11llI1i1i1Illi1iI + IlIi1IIIiiIii1I1iii - 2 else iIilll1IIIll1lll1li = iIilll1IIIll1lll1li + Ii11llI1i1i1Illi1iI end l1Il1l1ll1llIlliiil = 0 for Il1Il11i1lIll111I11 = Ii11llI1i1i1Illi1iI, iIilll1IIIll1lll1li do l1Il1l1ll1llIlliiil = l1Il1l1ll1llIlliiil + 1 lIllii1llIiil1iII1i1I[Il1Il11i1lIll111I11] = IiI1iIlI1IilIl111II[l1Il1l1ll1llIlliiil] end end lIlI1lll1Ii11lil1IlI1 = iIilll1IIIll1lll1li - 1 end else if i1ll1lIIIll11IlllII == 1 then return true end local iIilll1IIIll1lll1li = Ii11llI1i1i1Illi1iI + i1ll1lIIIll11IlllII - 2 if i1ll1lIIIll11IlllII == 0 then iIilll1IIIll1lll1li = lIlI1lll1Ii11lil1IlI1 end return true, Ii11llI1i1i1Illi1iI, iIilll1IIIll1lll1li end elseif I11i1IilIIiIi1l11Ii >= 5 then if I11i1IilIIiIi1l11Ii < 7 then if I11i1IilIIiIi1l11Ii == 6 then if IlIi1IIIiiIii1I1iii > 255 then IlIi1IIIiiIii1I1iii = iII11ill1ili11IlIIi[IlIi1IIIiiIii1I1iii - 256][i1IIi1liiIi1l1ii1II] else IlIi1IIIiiIii1I1iii = lIllii1llIiil1iII1i1I[IlIi1IIIiiIii1I1iii] end lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI] = lIllii1llIiil1iII1i1I[i1ll1lIIIll11IlllII][IlIi1IIIiiIii1I1iii] else lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI] = iII11ill1ili11IlIIi[ili1ii1iI1111i1iiil][i1IIi1liiIi1l1ii1II] end elseif I11i1IilIIiIi1l11Ii >= 8 then if I11i1IilIIiIi1l11Ii ~= 9 then if not not lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI] == (IlIi1IIIiiIii1I1iii == 0) then Ill11Ill1I1llIilli1 = Ill11Ill1I1llIilli1 + 1 end else local ilIllIi1l111lI11II1 = lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI + 2] local lIl1l1iiI11l1li1111Ii = lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI] + ilIllIi1l111lI11II1 lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI] = lIl1l1iiI11l1li1111Ii if ilIllIi1l111lI11II1 > 0 then if lIl1l1iiI11l1li1111Ii <= lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI + 1] then Ill11Ill1I1llIilli1 = Ill11Ill1I1llIilli1 + i111iiIiilIIi1lIIli lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI + 3] = lIl1l1iiI11l1li1111Ii end elseif lIl1l1iiI11l1li1111Ii >= lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI + 1] then Ill11Ill1I1llIilli1 = Ill11Ill1I1llIilli1 + i111iiIiilIIi1lIIli lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI + 3] = lIl1l1iiI11l1li1111Ii end end else if i1ll1lIIIll11IlllII > 255 then i1ll1lIIIll11IlllII = iII11ill1ili11IlIIi[i1ll1lIIIll11IlllII - 256][i1IIi1liiIi1l1ii1II] else i1ll1lIIIll11IlllII = lIllii1llIiil1iII1i1I[i1ll1lIIIll11IlllII] end if IlIi1IIIiiIii1I1iii > 255 then IlIi1IIIiiIii1I1iii = iII11ill1ili11IlIIi[IlIi1IIIiiIii1I1iii - 256][i1IIi1liiIi1l1ii1II] else IlIi1IIIiiIii1I1iii = lIllii1llIiil1iII1i1I[IlIi1IIIiiIii1I1iii] end lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI] = i1ll1lIIIll11IlllII ^ IlIi1IIIiiIii1I1iii end elseif I11i1IilIIiIi1l11Ii < 2 then if I11i1IilIIiIi1l11Ii ~= 1 then local ilili1iII111i11l1iI = Ii11llI1i1i1Illi1iI + 2 local l1I1I11l1iIIliiIlii = { lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI](lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI + 1], lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI + 2]) } for Il1Il11i1lIll111I11 = 1, IlIi1IIIiiIii1I1iii do lIllii1llIiil1iII1i1I[ilili1iII111i11l1iI + Il1Il11i1lIll111I11] = l1I1I11l1iIIliiIlii[Il1Il11i1lIll111I11] end if lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI + 3] ~= nil then lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI + 2] = lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI + 3] else Ill11Ill1I1llIilli1 = Ill11Ill1I1llIilli1 + 1 end else for Il1Il11i1lIll111I11 = Ii11llI1i1i1Illi1iI, i1ll1lIIIll11IlllII do lIllii1llIiil1iII1i1I[Il1Il11i1lIll111I11] = nil end end elseif I11i1IilIIiIi1l11Ii < 3 then if i1ll1lIIIll11IlllII > 255 then i1ll1lIIIll11IlllII = iII11ill1ili11IlIIi[i1ll1lIIIll11IlllII - 256][i1IIi1liiIi1l1ii1II] else i1ll1lIIIll11IlllII = lIllii1llIiil1iII1i1I[i1ll1lIIIll11IlllII] end if IlIi1IIIiiIii1I1iii > 255 then IlIi1IIIiiIii1I1iii = iII11ill1ili11IlIIi[IlIi1IIIiiIii1I1iii - 256][i1IIi1liiIi1l1ii1II] else IlIi1IIIiiIii1I1iii = lIllii1llIiil1iII1i1I[IlIi1IIIiiIii1I1iii] end lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI][i1ll1lIIIll11IlllII] = IlIi1IIIiiIii1I1iii elseif I11i1IilIIiIi1l11Ii ~= 4 then if i1ll1lIIIll11IlllII > 255 then i1ll1lIIIll11IlllII = iII11ill1ili11IlIIi[i1ll1lIIIll11IlllII - 256][i1IIi1liiIi1l1ii1II] else i1ll1lIIIll11IlllII = lIllii1llIiil1iII1i1I[i1ll1lIIIll11IlllII] end if IlIi1IIIiiIii1I1iii > 255 then IlIi1IIIiiIii1I1iii = iII11ill1ili11IlIIi[IlIi1IIIiiIii1I1iii - 256][i1IIi1liiIi1l1ii1II] else IlIi1IIIiiIii1I1iii = lIllii1llIiil1iII1i1I[IlIi1IIIiiIii1I1iii] end lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI] = i1ll1lIIIll11IlllII - IlIi1IIIiiIii1I1iii else local IiI1iIlI1IilIl111II, iIilll1IIIll1lll1li if i1ll1lIIIll11IlllII ~= 1 then if i1ll1lIIIll11IlllII ~= 0 then iIilll1IIIll1lll1li = Ii11llI1i1i1Illi1iI + i1ll1lIIIll11IlllII - 1 else iIilll1IIIll1lll1li = lIlI1lll1Ii11lil1IlI1 end iIilll1IIIll1lll1li, IiI1iIlI1IilIl111II = lIl1Illiil1llIl1I1i1l(lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI](liI11I111il1l1il1ii(lIllii1llIiil1iII1i1I, Ii11llI1i1i1Illi1iI + 1, iIilll1IIIll1lll1li))) else iIilll1IIIll1lll1li, IiI1iIlI1IilIl111II = lIl1Illiil1llIl1I1i1l(lIllii1llIiil1iII1i1I[Ii11llI1i1i1Illi1iI]()) end lIllii1llIiil1iII1i1I = IiI1iIlI1IilIl111II return true, 1, iIilll1IIIll1lll1li end end end local lIli1liillIllIi1ili1i, Iil1lI1I1I1liiii1iI, llIil111IilI1ll1Ili, IIiIlil1il1lliliili = lI1iiIll1ll1iIlili1(l1Il1l1ll1llIlliiil) if lIli1liillIllIi1ili1i then if llIil111IilI1ll1Ili then return liI11I111il1l1il1ii(lIllii1llIiil1iII1i1I, llIil111IilI1ll1Ili, IIiIlil1il1lliliili) end else local lIliI1il1II1iii1l1iIi = Il1lIiili1iIiII1Ili("Luraph Script:" .. (i11Ii11lI1lIlil1i1I[Ill11Ill1I1llIilli1 - 1] or "") .. ": " .. iiI111Iliii1iIl1I1i(Iil1lI1I1I1liiii1iI), "[^:]+:%d*: ", function(lIl11I11i1i1iiiiiII1l) if not I1ii1llil1lII1lii1l(lIl11I11i1i1iiiiiII1l, "Luraph Script:%d") then return "" end end) lIllI1il111iIiIiIl1(lIliI1il1II1iii1l1iIi, 0) end end llI1IIiiIIIl11I1lii(il11ili1li1I11III1i, lIlll1lll1i1111illiii) return il11ili1li1I11III1i end local lllII11illl1IlIii11 = I1liiii1l11IIlIlliI() return l11l11iliiilililil1(lllII11illl1IlIii11, lIlll1lll1i1111illiii)() end ii11IllI11i1lI1ii1i("LPH!0D7D2000500A02002H7D7F4D7C2H7D513H7D513H7D493H7D397C2H7D2D3H7D3570FA9C4B6H00920A0200DE5H00E4944028895A40E1C933C52H10864B245A013H007F00590A02002H827C4D7C7D7F4D7C2H7D513H7D393H7D517F2H7D497C2H7D3538F24E769FB07C6D73575372BE1A32434A65027E1D4DC07EE6A53C5BA4E7CB6CBFFE0744BC6CD43702079H009H001H001E3H00013H001E4H00940A0200DE5H00E494406C043H004H0D6C0F3H004H0D7B41657E4379616265755FD70B845DA30F9E504DFE189B4126013H000900690B0200D07D7F4D752H7D392H7D7F4D7E2H7D397D637F652H7D7F4D7E2H7D392H7D79392E7D7F4D7E7D79392C7D7F4D7F2H7D35672H7D392H7D7F4D7E2H7D397D7F7D5D697D7F4D697D7F4D6F7D7F4D7E2H7D397D7F7D5D2H7D7F4D2H7D7F4DD97D7F4D762H7D392H7D7F4D7E2H7D393H7D5D2H7D7F4DE37D7F4DFA7D7F4DE17D7F4D7E2H7D397D2D7B552H7D7F4D3C7D7F4D967D7F4D427D7F4D4F7D7F4D742H7D39107D7F4D167D7F4D2H7D7F4D7E2H7D397D777B552H7D7F4D2H7D7F4D9D7D7F4D592H7D69A07D7F4D7E2H7D393H7D5D2H7D7F4D2H7D7F4D387D7F4D5B2H7D392H7D7F4D7E2H7D397D2F7F65477D7F4D457D7F4D7E2H7D397D2H7F652H7D7F4D7E2H7D397D437B552H7D7F4D2H7D7F4DEF7D7F4D692H7D697F2H7D35F27D7F4D0E7D7F4D602H7D392H7D7F4D7E2H7D397D7F7D5D2H7D7F4D2H7D7F4D117D7F4D632H7D39BC827C4DC2827C4D427D7F4D7D717B552H7D7F4D477D7F4D467D7F4D457D7F4DCB7D7F4D5B2H7D39B9827C4DBF827C4D2H7D795D2H7D7F4D2H7D7F4D297D7F4D7D717B552H7D7F4D327D7F4D2D7D7F4D307D7F4D5B2H7D392H7D7F4D7E2H7D397D337F65C3827C4DEC7D7F4D5B2H7D392H7D7F4D7E2H7D397D617F652H7D7F4D7E2H7D397D2H7B55FB7D7F4DFB7D7F4DF97D7F4D7E2H7D397D4F7B552H7D7F4D2H7D7F4D7C7D7F4D662H7D697F2H7D356A2H7D391E7D7F4D1C7D7F4D2H7D7F4D7E2H7D397D2D7B55367D7F4D367D7F4D347D7F4D7F2H7D357C2H7D357E2H7D397D517F652H7D7F4D7E2H7D393H7D5D2H7D7F4D2H7D7F4D06827C4D682H7D6905827C4D6C7D79697F7D79355F2H7D6992827C4D7E2H7D397D7F7D5D2H7D7F4D2H7D7F4DC3827C4D5C2H7D392H7D7F4D7E2H7D397D7F7D5D2H7D7F4D2H7D7F4DCA827C4D6D2H7D39627D7F4D7C7D7F4D702H7D697F2H7D35612H7D392H7D7F4D7E2H7D397D2D7B552H7D7F4D3F7D7F4D357D7F4D3D7D7F4D7C7D7F4D3H7D517E2H7D397A2H7D39487D7F4D777D79697F7D7935587D79392H7D7F4D7E7D79392H7D795DEA827C4DEA827C4DE8827C4D7F2H7D392H7D7F4D7E2H7D397D2D7F559C827C4D9C827C4DA2827C4D2H7D7F4D7E2H7D393H7D5DED827C4DED827C4DF3827C4D7D2D7B552H7D7F4D2H7D7F4D527D7F4D792H7D39D2827C4D517D7F4D5B2H7D392H7D7F4D7E2H7D397D2D7B55E9827C4DE9827C4DEF827C4D572H7D392H7D7F4D7E2H7D393H7D5D2H7D7F4D2H7D7F4DE0827C4D6F2H7D392C827C4D32827C4D7E2H7D393H7D5D2H7D7F4D2H7D7F4D59827C4D6A2H7D39E2827C4DE0827C4D2H7D7F4D7E2H7D397D7F7D5D24827C4D24827C4D2A827C4D652H7D392H7D7F4D7E2H7D397D2D7F552H7D7F4D2H7D7F4DA4827C4D6E2H7D39AD827C4D7E2H7D39B3827C4D7C7D7F4D712H7D697F2H7D355E2H7D397C7D7F4D7E2H7D392H827C4D3H7D5D2H7D7F4D2H7D7F4DAC827C4D5B2H7D392H7D7F4D7E2H7D397D2D7B552H7D7F4D2H7D7F4DB7827C4D5B2H7D3953827C4D51827C4D7F2H7D35752H7D392H7D7F4D7E2H7D397D2D7B552H7D7F4D94837C4D06827C4D9A837C4D9FABF039AD48173FFBC9CD6116FA917D79AA9A6A5EAF2C3202F16879818D1C570219016H00159H002H00159H002H00169H006H000F3H00119H002H00119H009H001H00029H002H00023H00029H002H00029H002H00029H002H00119H002H00117H00113H00119H009H001H00119H002H00113H00129H002H000B9H002H000B3H000B9H002H000B9H006H00089H002H00089H002H00083H00093H00097H00023H00029H002H00029H002H00023H00029H002H00193H00199H002H00197H00113H00119H002H00169H002H00163H00169H002H00167H00119H002H00117H00053H00059H002H00059H002H00059H009H001H000B9H002H000B3H000C3H000C3H000E9H009H001H00059H006H001D3H001E7H000E9H002H000E9H002H000E3H000F7H001A3H001A3H001D9H002H00119H002H00113H00119H002H00119H002H00113H00117H00023H00033H00033H00059H002H00059H002H00059H009H001H00027H00173H00173H00199H002H00199H006H00029H002H00029H009H005H00119H006H00059H002H00053H00057H00053H00059H002H00059H006H000B9H002H000B9H002H000B3H000B9H006H000E9H002H000E3H000E9H009H001H00029H006H00059H002H00059H002H00053H00059H006H00053H00063H00063H00089H006H00089H002H00083H00089H002H00089H002H00083H00089H002H00123H00149H002H00149H002H00148H00BC0A02006C163H004H0D5241626C69687F4E62636B646A4B7F6C60686C113H004H0D4E61646E665D627E64796462636C273H004H0D753E4A3F4A344A6E586F416E55665E40467E695F3943486C7B6A355D605E6B434C7F5FDE7H00406C143H004H0D5260627B6860686379456C636961687FDE6H006940DE6H0032406C173H004H0D4C595D524C2H4942435241584C52585944415E6C123H004H0D4E656C7F6C6E79687F4B7F6C60686C133H004H0D4A6259624C6369446379687F6C6E796C0B3H004H0D682H7F627F3E3C6C123H004H0D44435E594C434E4852594440485F6C833H004H0D5462782D6C7F682D787E64636A2D6C2D6E7F6C6E6668692D627F2D6261692D7B687F7E6462632D626B2D427F6E6C232D587D696C79682D627F2D7D787F6E656C7E682D6C792D652H797D7E372H226B627F78607E236A68796A7869232H6E222D627F2D596861686A7F6C602D7923606822427F6E6C4F62795D7F6267686E796C2C3H004H0DE9B0ADEBA0AEE891A5E9B0B2EA99A5EA969AEA84854C595DE8BD82E8B28EE5AFA6EA969AE882BA236C0F3H004H0D5B647E786C615E6E6C61686C0E3H004H0D4C617D656C4E6261627F6C0A3H004H0D59664E627F686C0B3H004H0D682H7F627F3E3F6C0E3H004H0D7964796168616C6F68616C0D3H004H0D526C6E79786C61407D6C0A3H004H0D682H7F627F396C0A3H004H0D682H7F627F3F6C0C3H004H0D60627B685D6C2H7E6C063H004H0D2H7D6C0D3H004H0D524B7F646863696174DE6H002E406C143H004H0D465A4A62616F6C615E682H7964636A7E6C0A3H004H0D682H7F627F386C153H004H0D526E7F686C7968406C6463596C7F6A68796C123H004H0D4C595D525D7F626E682H7E5F78636C103H004H0D4C595D525F485E5D42435E48DE6H0014406C043H004H0D6C0C3H004H0D59687E794E627F686C063H004H0D62666C0C3H004H0D4C484E62636B646A6C2E3H004H0DEB8FA5EBA0AEE891A5E9B0B2EA99A5EAADB9E5AAAEEA9789594621E5A2BAE9B0B2EA99A5EBA0AEEA84856C123H004H0D5E465E4E62636B646A4B7F6C60686C113H004H0D5A627F6169406C7D4B7F6C60686C103H004H0D5968757947787E79646B74452D6C0C3H004H0D4064635E6E6C61686C123H004H0D7964796168616C6F682H61686B792D6FEE31781EEB597EF00BD85F704H00B18E687F7A72F7393F79B01107678604A6D5", l1i1lIIIIi1l1i1lili())
沙发
qqqwww0078 发表于 2018-5-9 23:31
支持原创 感谢大神分享 吾爱有你更精彩
3#
一昼永夜1 发表于 2018-5-9 23:52
可以试一下
4#
szbkda 发表于 2018-5-10 00:01
大佬有没有那种注册京东之类平台接码api对接,然后自动接码的lua源码吗。
5#
 楼主| Ganlv 发表于 2018-5-10 00:09 |楼主
szbkda 发表于 2018-5-10 00:01
大佬有没有那种注册京东之类平台接码api对接,然后自动接码的lua源码吗。

你要有兴趣的话可以做一个啊,这个东西你如果收集到足够的样本,就可以匹配分析了。
6#
Ann4 发表于 2018-5-10 00:10
感谢发布原创作品,谢谢分享
7#
吾爱打炮 发表于 2018-5-10 02:09
我试试这个东西~
头像被屏蔽
8#
哈哈1584699191 发表于 2018-5-10 05:16
提示: 作者被禁止或删除 内容自动屏蔽
9#
小家碧玉 发表于 2018-5-10 05:33
@Ganlv 大神我想知道这lua是什么加密方式 能否告知

111.txt

15.27 KB, 下载次数: 60, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 1吾爱币 -1 收起 理由
Ganlv -1 论坛禁止求脱求破,求助软件分析思路,务必在主题帖中描述清楚你的分析思路.

查看全部评分

10#
Nightmoon 发表于 2018-5-10 08:40
谢谢分享,吾爱有你更精彩
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-31 01:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表