BUGKU_CTF 奇怪的密码
bugku 奇怪的密码
给的密文,同时题目作用不大
gndk€rlqhmtkwwp}z
看到密文想到ASCII解密,但flag{}提交少不了双括号,那么如果是ASCII是按常规都增加或减少某个数必然最后一个字母和第5个相同,显然不是,所以有点像当作是公差变化数列。这是第一个坑
ascii码对照表
gndk的10进制的ASCII码分别是:103 110 100 107
flag的10进制的ASCII码分别是 :102 108 97 103
发现ASCII以此减少 1 2 3 4,所以以此类推
想到这种题只有自己脚本解出来,当然也可以集合一个多种ASCII码变化公差的脚本呢,有的话请联系我啊
如下:
# -*- coding: cp936 -*-
a = "gndk{rlqhmtkwwp}z"
i = 0
flag = ''
while i < len(a):
num = ord(a[i])-(i+1)
flag+=chr(num)
i+=1
print(flag)
输出结果出来之后就要说下第二个坑了,我是看了别人writeup才知道的,解码钱的欧元符号"€"
在输出结果中很奇特,反正他也没用,所以在脚本运行前就将它去掉。
这样提交flag --> error
回到第一个坑,长话短说还要自己给输出结果加上 {}
再分享下 之前的一题 凯撒部长的奖励 也是加密的
这是题目,看到凯撒,当然是凯撒解码
结果中没有发现 key{} flag{} 等等字样,不过看到题目和密文这么长,不简单,仔细看{后的几个英文字母,找那个能组成正确的英文单词,如下。
SYC{here_Is_yOur_rEwArd_enjOy_It_Caesar_or_call_him_vIctOr_is_a_Excellent_man_if_you_want_to_get_his_informations_you_can_join_us}
这也还算好,之前做过一个在一堆的字母里头找flag…
hdkashbxcajsduowueoqflagdsadjwqio 大概就是这样了 缩短了n倍