虚假的压缩包是伪加密,修改第二个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_}