SimpleCTF

WpsecCTF Crypto部分

2018-03-26  本文已影响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是真的难看懂,写的话可以写,但是之后叫人看,那就比看正则还要命。。。

上一篇下一篇

猜你喜欢

热点阅读