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=751
(*@*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 黄道十二官的主要内容,如果未能解决你的问题,请参考以下文章

占星术的历史与流变

专访乐凯撒CTO黄道泳:看一盒披萨背后的技术之路

处女座的英文单词是???

太阳在空间中的运行

月亮围绕地球的运动

输出万年历