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

虚假的压缩包是伪加密,修改第二个PK后五位为偶数即可
BUUCTF:[GUET-CTF2019]虚假的压缩包_第1张图片
BUUCTF:[GUET-CTF2019]虚假的压缩包_第2张图片
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]虚假的压缩包_第3张图片
第二行前四位是宽后四位是高
BUUCTF:[GUET-CTF2019]虚假的压缩包_第4张图片
有个异或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]虚假的压缩包_第5张图片
打开后,没看到flag但是搜索flag字符,却发现有,改变文本颜色之后发现flag
BUUCTF:[GUET-CTF2019]虚假的压缩包_第6张图片
flag{_th2_7ru8_2iP_}

你可能感兴趣的:(BUUCTF:[GUET-CTF2019]虚假的压缩包)