CTF--base64编码过程中隐藏信息解密脚本

该博客详细介绍了如何使用Python的Base64库和Crypto库进行解密操作。通过读取编码文件,提取并处理含有'='字符的不同情况,将编码转换为二进制字节串。解密过程即使在ai不等于0的情况下也能正确执行,揭示了在信息传递中的潜在应用。
摘要由CSDN通过智能技术生成

密文:

在这里插入图片描述

描述

在这里插入图片描述即使ai≠0,解码过程也能正确进行
从而可以使用ai传递一些信息
因此,将编码中的ai提取出来

解密脚本

from base64 import b64decode
from string import uppercase,lowercase,digits
from Crypto.Util.number import long_to_bytes

def solve():
    with open('encode','r') as f:
        codes=f.read()
    Lc=codes.split('\n')[:-1]
    base=uppercase+lowercase+digits+'+/'
    re2=[]
    for code in Lc:
        if '==' in code:
            re2.append(bin(base.find(code[-3]))[2:].rjust(6,'0')[2:])
        elif '=' in code:
            re2.append(bin(base.find(code[-2]))[2:].rjust(6,'0')[4:])
    ret=''.join(re2)
    return long_to_bytes(long(ret[:ret.rfind('1')+1],2))

if __name__=='__main__':
    print solve()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半岛铁盒@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值