江苏工匠杯0解 攻防世界0解 misc steg没有py

首先拿到题目是一个图片
请添加图片描述
Do_you_like_misc.png
根据题目steg可知是stegpy解密
但是大多数人可能卡在了密码
原比赛提示是16位的密钥 所以
Do_you_like_misc刚好16位

请添加图片描述解开后发现一个txt
根据代码提示可知是放射密码
贴上代码

def get(a, b):
    if b == 0:
        return 1, 0
    else:
        k = a // b
        remainder = a % b
        x1, y1 = get(b, remainder)
        x, y = y1, x1 - k * y1
    return x, y


s = input("请输入解密字符:").upper()
a = int(input("请输入a:"))
b = int(input("请输入b:"))

# 求a关于26的乘法逆元
x, y = get(a, 26)
a1 = x % 26

l = len(s)
for i in range(l):
    cipher = a1 * (ord(s[i]) - 65 - b) % 26
    res = chr(cipher + 65)
    print(res, end='')

然后根据s1gma师傅帮助 a = 25 , b = 9
成功解出flag
在这里插入图片描述
特此感谢s1gma师傅提供的思路

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值