美文网首页SimpleCTF
WpsecCTF Crypto部分

WpsecCTF Crypto部分

作者: 一纸笔墨 | 来源:发表于2018-03-26 18:18 被阅读115次

    1 水流滴滴答

    以下是加密过程
    WPSEC_CTF_MISC
    
    1. Space:'/'|Short:'.'|Long:'-'
    .--/.--./..././-.-./..--.-/-.-./-/..-./..--.-/--/../.../-.-.
    
    2.Space:'_'|Short:'-'|Long:'.'
    -.-.-._.----._.----._.--.-_-.-.-._.----._.----._-.-.-._.--.-_-.-.-._-.-.-._-.-.-._.--.-_-.-.-._.--.-_.----._-.-.-._.----._-.-.-._.--.-_-.-.-._-.-.-._.----._.----._-.-.-._.----._.--.-_.----._-.-.-._.----._-.-.-._.--.-_.----._.--.-_-.-.-._-.-.-._.----._-.-.-._.--.-_-.-.-._-.-.-._.----._.----._-.-.-._.----._.--.-_.----._.----._.--.-_-.-.-._-.-.-._.--.-_-.-.-._-.-.-._-.-.-._.--.-_.----._-.-.-._.----._-.-.-.
    
    3.Space:' '|Short:'.'|Long:'-'
    -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- .-.-.- -....- -....- .-.-.- -....- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- .-.-.- -....- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- .-.-.- -....- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- .-.-.- -....- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- .-.-.- -....- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- .-.-.- -....- -....- .-.-.- -....- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- .-.-.- -....- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- .-.-.- -....- -....- .-.-.- -....- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- .-.-.- -....- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- .-.-.- -....- -....- .-.-.- -....- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- .-.-.- -....- -....- .-.-.- -....- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- .-.-.- -....- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- .-.-.- -....- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.- ..--.- .-.-.- -....- -....- -....- -....- .-.-.- ..--.- -....- .-.-.- -....- .-.-.- -....- .-.-.-
    


    2.丧心病狂的APL

    这题原题是来自于plaidctf2018的一道最简单的逆向题,但是要理解起来或许会比较麻烦。我只是修改了flag,对于源码并没有做出改动(其实是想睡觉,懒得改了)。


    plaidctf上的那道题的wp地址:https://monosource.github.io/writeup/2018/05/08/plaidctf-aplunatics/

    用apl解的话代码也很简单,就是比较难理解:

    bin ← {(8⍴2)⊤⍵}
    xsh ← {2⊥a≠8↑(0,a←(8⍴2)⊤⍵)}
    {⌽⎕UCS(xsh ⍣ 7)¨ 2⊥¨,/33 8⍴(8×⍴⍵)⍴⍉3⌽⍉¯7⌽11 24⍴∊bin¨ ¯13+⎕UCS ⍵} 'I=Â>@°IKJ¼!.!:9!4E82Å;E$;Å28¸26E9'
    

    下面是python版本,注释不是很清晰:

    #a='I=Â>@°IKJ¼!.!:9!4E82Å;E$;Å28¸26E9'
    a=[73,61,194,62,64,176,73,75,74,188,33,46,33,58,57,33,52,69,56,50,197,59,69,36,59,197,50,56,184,50,54,69,57]
    b=""
    c=['0'*24 for n in range(11)]
    d=['' for n in range(24)]
    f=""
    flag=""
    
    #13+
    for i in range(len(a)):
        a[i]-=13
        b+=(bin(a[i])[2:]).zfill(8)
    
    #7⌽⍉11 24⍴∊{a≠8↑(0,a←(8⍴2)⊤⍵)}
    for i in range(11):
        c[i]=b[i*24:(i+1)*24]
        c[i]=c[i][-7:]+c[i][:-7]
    
    #(-⌊(⍴'f0xtr0t')÷2)⌽⍉11 24⍴∊{a≠8↑(0,a←(8⍴2)⊤⍵)}
    for i in range(24):
        for j in range(11):
            d[i]+=c[j][i]
        d[i]=d[i][3:]+d[i][:3]
    
    #{+/⍵/⌽2*⍳⍴⍵}
    for i in range(11):
        for j in range(24):
            f+=d[j][i]
    
    #
    for i in range(int(len(f)/8)):
        tmp=int(f[i*8:(i+1)*8],2)
        for i in range(7):
            tmp^=(tmp>>1)
        flag+=chr(tmp)
    print(flag[::-1])
    

    PS:APL是真的难看懂,写的话可以写,但是之后叫人看,那就比看正则还要命。。。

    相关文章

      网友评论

        本文标题:WpsecCTF Crypto部分

        本文链接:https://www.haomeiwen.com/subject/siztcftx.html