前言
没怎么打,随便玩了一下。发现有一道十二宫杀手密码比较有趣。总结一下
题目说明
标题:十二宫的挑衅
题目文件:Twelve_palaces_of_serial_killers.png(翻译:十二宫连环杀手)
题目:
解题步骤
首先搜索标题和题目文件名。了解到这是最近刚被破解的十二宫杀手密码,参考:
黄道十二宫杀手密码51年后被破解,来自两位程序员与数学家通力合作
解密方法:
首先,通过切成类似「对角三角形」来重新排列出字符
然后在AZdecrypt运行,直到看到有意义字符串
开始解题
将题目图片内容抄写下来:
^#@$@#()/>@?==%1(
!)>(*+3<#86@-7$^.
4&)8%#&6!=%1#$-$
+5&?#!.03!%=@=101
0?(*~#??.+)%&.7^8
=1%*^=$5$7@@8>&*9
9@0185(+7)<%3#@^4
&@@<.)#3*#%%<<*++
@.?=~**+!==65^@&
然后按上面的文章里介绍的解密方法进行排列组合。可手排,也可写脚本排。参考大师傅的脚本:
s1=r'^#@$@#()/>@?==%1('*9
s2=r'!)>(*+3<#86@-7$^.'*9
s3=r'4&)8%#5&6!=%1#$-$'*9
s4=r'+5&?#!.03!%=@=101'*9
s5=r'0?(*~#??.+)%&.7^8'*9
s6=r'=1%*^=$5$7@@8>&*9'*9
s7=r'9@0185(+7)<%3#@^4'*9
s8=r'&@@<.)#3*#%%<<*++'*9
s9=r'.@.?=~**+!==65^@&'*9
tmp=''
for i in range(17):
tmp += s1[i]+s2[i+2]+s3[i+4]+s4[i+6]+s5[i+8]+s6[i+10]+s7[i+12]+s8[i+14]+s9[i+16]
def cut(obj, sec):
str_list = [obj[i:i+sec] for i in range(0,len(obj),sec)]
print(str_list)
return str_list
l1=cut(tmp,17)
for i in l1:
print (i)
参考:2021年“春秋杯”新年欢乐赛WP
运行得到
^>%..@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工具,进行解密:
AZdecrypt工具下载地址
看到有flag的字样。重新拼接,得到flag
flag{WUUHUUTAKEOFF}