BUUCTF:[GUET-CTF2019]虚假的压缩包

虚假的压缩包是伪加密,修改第二个PK后五位为偶数即可
在这里插入图片描述
在这里插入图片描述
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修改高度
在这里插入图片描述
第二行前四位是宽后四位是高
在这里插入图片描述
有个异或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()

在这里插入图片描述
打开后,没看到flag但是搜索flag字符,却发现有,改变文本颜色之后发现flag
在这里插入图片描述
flag{_th2_7ru8_2iP_}

发布了96 篇原创文章 · 获赞 25 · 访问量 7063

猜你喜欢

转载自blog.csdn.net/mochu7777777/article/details/105367979