[GUET-CTF2019]虚假的压缩包
附件里面有两个压缩包
虚假的压缩包是伪加密,修改加密位后即可打开
里面是一个txt文件,给了一道题目
根据给出的提示,判断是普通的RSA,通过脚本解出为5
import gmpy2
p=gmpy2.mpz(3)
q=gmpy2.mpz(11)
e=gmpy2.mpz(3)
l=(p-1)*(q-1)
d=gmpy2.invert(e,l)
c=gmpy2.mpz(26)
n=p*q
ans=pow(c,d,n)
print ans
注意真实压缩包的密码为“答案是5”,而不是单单一个5。。
接着修改图片的高度,得到异或5的信息
通过脚本跑出了一个无后缀的文件
#coding=utf-8
original = open("亦真亦假",'r').read()
flag = open("flag",'w')
for i in original:
tmp = int(i,16)^5
flag.write(hex(tmp)[2:])
开头是504b0304,所以保存为zip并打开,发现是一个word文件
因此修改后缀为doc后打开,颜色替换为深色在结尾可以看到flag。
flag{_th2_7ru8_2iP_}
标签:gmpy2,CTF2019,flag,mpz,压缩包,GUET From: https://www.cnblogs.com/fishjumpriver/p/18008652