i春秋 第二届春秋欢乐赛 CryMisc Writeup

本文介绍了参加i春秋第二届春秋欢乐赛CryMisc环节的解题过程,包括解压文件、查看和解密Python代码、使用RSA算法解密key、解密AES.crypt文件、合并flag.jpg、以及从bg.png中提取隐藏的二维码来获取flag。
摘要由CSDN通过智能技术生成

解压

把压缩文件解压,得到crypto.zipjiami.py,而前者中包含有jiami.py,构造一个zip出来查看CRC,发现是同一文件,所以进行明文攻击。

然后将其中的gogogo.zip解压,得到三个文件

查看代码

打开AESencrypt.py,查看代码:

# -*- coding:utf8 -*-
from Crypto.Cipher import AES

s=open('next.zip','rb').read()
BS=16
pad_len=BS-len(s)%BS
padding=chr(pad_len)*pad_len
s+=padding

key='我后来忘了'
n=0x48D6B5DAB6617F21B39AB2F7B14969A7337247CABB417B900AE1D986DB47D971
e=0x10001
m=long(key.encode('hex'),16)
c=pow(m,e,n)
c='0{:x}'.format(c).decode('hex')
with open('RSA.encrypt','wb') as f:
    f.write(c)

obj=AES.new(key,AES.MODE_ECB)
with open('AES.encryt','wb') as f:
    f.write(obj.encrypt(s))

c='0{:x}'.format(c).decode('hex')发现是python2的代码(

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值