banana-princess
题目给了一个pdf文档,却不能打开,换后缀名txt打开
如果是pdf文件,开头应该是pdf,但是这个开头是CQS,所以推测发生了移位
从C到P,从Q到D,从S到F,都是移动了13位,也就是ROT13
写个代码解密
import string
def rot(c, n):
if c.isupper():
start = ord('A')
elif c.islower():
start = ord('a')
else:
return c
m = ord(c) - start
i = (m + n) % 26 + start
return chr(i)
f = open('b.txt','r',errors='ignore').read()
m = ''
for i in f:
m += rot(i,13)
open('b2.pdf','w').write(m)
但是打开文件用的编码好几个都不对,默认是gbk不对,改成utf-8不对,改成gb18030还是不行,最后强制忽略错误才运行成功,但是打开了确是一片空白
搜了大佬们的解题方法发现他们直接用了工具
cat b.pdf | tr 'A-Za-z' 'N-ZA-Mn-za-m' > new.pdf
然后就得到了
flag在的地方被遮住了
在无数次尝试之后,发现PS才是正确打开方式,管他什么pdf呢
有两层,不看上面那层就出来了
看到了flag:BITSCTF{save_the_kid}
Decrypt-the-Message
The life that I have
Is all that I have
And the life that I have
Is yours.
The love that I have
Of the life that I have
Is yours and yours and yours.
A sleep I shall have
A rest I shall have
Yet death will be but a pause.
For the peace of my years
In the long green grass
Will be yours and yours and yours.
decrypted message: emzcf sebt yuwi ytrr ortl rbon aluo konf ihye cyog rowh prhj feom ihos perp twnb tpak heoc yaui usoa irtd tnlu ntke onds goym hmpq
翻译得到:
我的生活
这就是我的全部
还有我的生活
这是你的。
我拥有的爱
我所拥有的生活
是你的,你的,你的。
我要睡一觉
我要休息一下
然而,死亡只是一个停顿。
为了我晚年的安宁
在长长的绿草中
将是你的,你的,你的。
解密消息: emzcf sebt yuwi ytrr ortl rbon aluo konf ihye cyog rowh prhj feom ihos perp twnb tpak heoc yaui usoa irtd tnlu ntke onds goym hmpq
可以明显看出密文是: emzcf sebt yuwi ytrr ortl rbon aluo konf ihye cyog rowh prhj feom ihos perp twnb tpak heoc yaui usoa irtd tnlu ntke onds goym hmpq
而这题的加密方式叫:Poem Code
大概了解一下解密方式,
有大佬的解密代码:https://github.com/abpolym/crypto-tools/blob/master/poemcode/poemcode.py
然后输入python poemcode.py poem msg
poemcode.py是代码名称,poem是那个诗歌,msg是要解密的信息
但是代码需要改一些,因为原代码是python2
运行得到
有一行:ifyouthinkcryptographyistheanswertoyourproblemthenyoudonotknowwhatyourproblemisabcdefghijklmnopqrstu
就是flag了