十二宫的挑衅

点击此处获得更好的阅读体验


WriteUp来源

官方WP

题目考点

  • Azdecrypt

解题过程

解法是将这密文首先通过进行 矩形对角线的方式 重新排列得到Azdecrpt字符串。即针对12宫密码的加密算法反过来进行解密。

这里我们用脚本实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ciper="^#@$@#()/>@?==%1(!)>(*+3<#86@-7$^.4&)8%#5&6!=%1#$-$+5&?#!.03!%=@=1010?(*~#??.+)%&.7^8=1%*^=$5$7@@8>&*99@0185(+7)<%3#@^4&@@<.)$3*#%%<<*++.@.?=~**+!==65^@&"
print(ciper)
#ciper:
for i in range(153):
if((i+1)%17!=0):
print(ciper[i],end='')
else:
print(ciper[i],end='\n')

Azdecrpt=''
for i in range(153):
Azdecrpt+=ciper[int((i%9)*17+(i*2)%17)]

print("\n")
#Azdecrpt
for i in range(153):
if((i+1)%17!=0):
print(Azdecrpt[i],end='')
else:
print(Azdecrpt[i],end='\n')

然后下一步就是寻找密钥了。这里根据去年12月的热点,破解12宫密码用到的著名解密程序Azdecrypt。我们将密文通过进行矩形对角线的方式,重新排列得到Azdecrpt字符串,即

1
2
3
4
5
6
7
8
9
^>%..@3*&#(#0+@#+
.@*53)8@+@$+&!%>^
&.@36%&&4@?#<!=.*
9@=(#=@79@<~)8%=^
=0.*/611811)*>@#0
0%8$+@-$1?*53!?7-
+(^(*==$$5*=+#==^
4&~$7%6%.&?#5)%51
!)#?$<<^()8!?7%<@

放入Azdecrypt,选中Substitution,然后点击Solve 就可以在Output 窗口看到

1
2
3
4
5
I KILLED A LOT OF PEOPLE AND THE PEOPLE I 
KILLED WILL BECOME SLAVES TO SERVE ME THIS
IS FLAG WUUHUU TAKE OFF I HOPE YOU CAN DECRYPT
IT AS SOON AS POSSIBLE OR I WILL CONTINUE
TO COMMIT THE CRIME

于是,可以从中得(看)到 flag{WUUHUUTAKEOFF} (去掉空格,再加flag{})

Flag

1
flag{WUUHUUTAKEOFF}