欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JarvisOJ Crypto

程序员文章站 2022-05-16 22:30:34
...

Medium RSA

  1. 使用openssl读取公钥文件
    JarvisOJ Crypto
  2. n不大,直接使用yafu进行因数分解
    JarvisOJ Crypto
  3. 生成私钥
    JarvisOJ Crypto
  4. 解密文件得到flag
    JarvisOJ Crypto

附:
openssl使用手册
题目文件


BrokenPic

打开后发现缺少文件头,使用winhex补上。
提示中给了图片大小,用文件大小除图片大小即可得到每个像素占用的位数,3148800/(1366*768)≈24。
JarvisOJ Crypto
JarvisOJ Crypto
图片可以看了:
JarvisOJ Crypto
然后可以看到有key,后发现bmp 内的数据变化很规律,可能是块密码,试试 AES,用key 解密一下:

from Crypto.Cipher import AES
key = 'PHRACK-BROKENPIC'
aes = AES.new(key)
 
with open('brokenpic.bmp', 'r') as f:
    data = f.read()
    pic = aes.decrypt(data)
 
with open('t.bmp', 'w') as f:
    f.write(pic)

再加上文件头,可以看到:
JarvisOJ Crypto
扫码即可得到flag

参考
BMP文件格式分析
题目文件
brokenpic.bmp


相关标签: JarvisOJ Crypto