攻防世界之crypto新手区余下题目的wp

本文详细介绍了攻防世界crypto新手区的解密挑战,包括转轮机加密的反推方法,揭示了.easychallenge中.pyc文件的原理及如何获取源码解密,以及一道涉及摩斯密码和培根码的复合加密问题的解决过程,最终成功获取到各个flag。

1.转轮机加密

在这里插入图片描述
本题的原理就是:因为明文是可以通过密钥和密文推导回去的,因此我们可以利用密文和相对应的密钥根据题目给出的转轮反推,例密文的第一位是N,第一个密钥是2,因此就找到标号为2的“转轮”,找到N,像转轮子一样将N转到第一位,N前面的就一次放到最后面。
最后就得到这样的结果
在这里插入图片描述
一列列的看,发现了可以连成一句话的flag
fireinthe hole

2.easychallenge

题目给了一个附件,后缀名为.pyc
怎么打不开,有点懵。
通过百度知道了,
原来Python的程序中,是把原始程序代码放在.py文件里,而Python会在执行.py文件的时候。将.py形式的程序编译成中间式文件(byte-compiled)的.pyc文件,这么做的目的就是为了加快下次执行文件的速度。

所以,在我们运行python文件的时候,就会自动首先查看是否具有.pyc文件,如果有的话,而且.py文件的修改时间和.pyc的修改时间一样,就会读取.pyc文件,否则,Python就会读原来的.py文件。

其实并不是所有的.py文件在与运行的时候都会产生.pyc文件,只有在import相应的.py文件的时候,才会生成相应的.pyc文件
所以我们需要.py文件得到源码

在这里插入图片描述
在这里插入图片描述
找到密文
在这里插入图片描述
根据源码写脚本逆推
先用base32解密,再进行如下操作

b = ''
for i in b:
    b += chr((ord(i) ^ 36) - 36)
a = ''
for i in b:
    a += chr((ord(i) - 25) ^ 36)
print ('flag is ',a)

就可得到flag
cyberpeace{interestinghhhhh}

3.不仅仅是morse

有是和摩斯密码有关的一题,老样子先按morse的原理解码
在这里插入图片描述

得到这样的结果,是培根码的密文结构,于是再次解密得到flag
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值