bugku 黄道十二官
Posted 山川绿水
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bugku 黄道十二官相关的知识,希望对你有一定的参考价值。
bugku 黄道十二官
1.使用白描网站识别下载下来的图片
2.可以得到如下所示的代码
%
@*>@?==%88%5
V$ Z÷05⑩⑩
#% ®
® 17.(>()1@##-$40 ~.*6?#%#8#=75+乍@*1%#>
:0@5)%? %*^=)&>=1%. +7&# 8681(+8*
@@( #
3*#%,#%%,3
oOO
*
+7.7+@===+)61
3.识别为乱码,人差点嘛了,真的想痛哭😭😭😭😭😭😭😭😭😭😭😭😭😭,还是使用手打,比较靠谱😁😁😁😁😁
%..@*>@?==%88%5
.@%#@@90-75^=*@
17.(>()1@##-$40
~.*6?#%#8#=75+1
(*@*1%#>;0@5)%?
%*^=)&>=1%.+7&#
8681(+8*@@(.@@@
#*=#$3*#%,#%%.3
.*+7.7+@===+)61
4.当然,你可以直接复制我的代码,因为这个不是重点。密码学的精髓在于——掌握密码算法,获取密钥,有密文信息。
5.这道题的重点来了——掌握密码算法,如下图所示
6.掌握了算法之后,可以使用手写,也可以使用脚本
_sec = ""
with open(r"E:/攻防/bugku/密码学/黄道十二官/12.txt",encoding="utf-8") as f:
_sec = f.read()
assert len(_sec) > 0
_sec_lines = _sec.split("\\n")
_line_num = len(_sec_lines)
_line_ch_cnt = len(_sec_lines[0])
_tmp = ""
for _i in range(_line_ch_cnt):
for _j in range(0, _line_num):
_tmp += _sec_lines[_j][(2 * _j + _i) % _line_ch_cnt]
_reformat_ = []
for _i in range(_line_num):
_reformat_.append(_tmp[_i * _line_ch_cnt:(_i + 1) * _line_ch_cnt])
for _key in _reformat_:
print("".join(_key))
7.得到结果为
%%>%;.@3*.#(#0+
@#+.@)8@7@*7@@1
#5&8=.*9@=)#6#7
>0#7%%8$+@-#5?*
13@?7-+(^(*==$$
1*=+#==^4~@)8%=
%=0.*&*.+8*1*1>
@#)8@76%=@%6%..
?#1(%15@(#>%...
8.接下来,上工具即可,将上面的转换结果变成*.txt
格式
9.得到的结果如下所示
II KILLED A LOT OF PEOPLE THERE ARE ENOUGH
SLAVES TO WORK FOR I I HOPE YOU CAN DECRYPT
IT AS SOON AS POSSIBLE THIS IS FLAG ALPHAN
ANKE OTHERWISE I WILL CONTINUE TO KILLL
10.翻译解密出来的结果
11.好家伙flagALPHAN
这个竟然不对,那试试小写字母flagalphan
,依旧不对,再看一下解密结果,少了anke
12.那就加上anke
试试flagalphananke
13.真的是,山重水复疑无路,柳暗花明又一村,终于找到flag
了
flagalphananke
以上是关于bugku 黄道十二官的主要内容,如果未能解决你的问题,请参考以下文章