虚假的压缩包是伪加密,修改第二个PK后五位为偶数即可
![在这里插入图片描述 BUUCTF:[GUET-CTF2019]虚假的压缩包_python](https://file.cfanz.cn/uploads/png/2023/06/19/16/62ed4Ba6JL.png)
![在这里插入图片描述 BUUCTF:[GUET-CTF2019]虚假的压缩包_ci_02](https://file.cfanz.cn/uploads/png/2023/06/19/16/511136eJ62.png)
RSA,解密脚本如下
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,用于解压另一个压缩包
解压后这张图,使用winhex修改高度
![在这里插入图片描述 BUUCTF:[GUET-CTF2019]虚假的压缩包_python_03](https://file.cfanz.cn/uploads/png/2023/06/19/16/5766bb9R0T.png)
第二行前四位是宽后四位是高
![在这里插入图片描述 BUUCTF:[GUET-CTF2019]虚假的压缩包_python_04](https://file.cfanz.cn/uploads/png/2023/06/19/16/f1Rf0CA712.png)
有个异或5的标志,与前面的异或加密是一个思路,不过这是单个字符异或(python2)
f1 = open('./cipher','r')
xor_data = f1.read()
f1.close()
dec_data = ""
for i in xor_data:
tmp = int(i,16) ^ 5
dec_data += hex(tmp)[2:]
f2 = open('./data.doc','wb')
f2.write(dec_data.decode('hex'))
f2.close()![在这里插入图片描述 BUUCTF:[GUET-CTF2019]虚假的压缩包_ci_05](https://file.cfanz.cn/uploads/png/2023/06/19/16/cdUU61C86J.png)
打开后,没看到flag但是搜索flag字符,却发现有,改变文本颜色之后发现flag
![在这里插入图片描述 BUUCTF:[GUET-CTF2019]虚假的压缩包_压缩包_06](https://file.cfanz.cn/uploads/png/2023/06/19/16/2LMe857I1N.png)
flag{_th2_7ru8_2iP_}










