[GUET-CTF2019]虚假的压缩包

107 篇文章 4 订阅
39 篇文章 1 订阅

[GUET-CTF2019]虚假的压缩包

题目地址 : https://buuoj.cn/challenges#[GUET-CTF2019]%E8%99%9A%E5%81%87%E7%9A%84%E5%8E%8B%E7%BC%A9%E5%8C%85
在这里插入图片描述

解压那个虚假的压缩包得到一个txt文件打开时一道rsa计算题

在这里插入图片描述

import gmpy2
p = 11
q = 3
n = 33
e = 3
c = 26
phi_n = (p-1)*(q-1)
d = gmpy2.invert(e,phi_n)
m = pow(c,d,n)

print(m)

解得答案等于5,压缩包密码是 答案是5

然后用crc脚本修复那张png图片的宽高,得到提示 ^5

在这里插入图片描述

把亦真亦假文件数据进行^5 ,得到docx文件

import struct
data = open('./亦真亦假',"r").read()
with open('flag.zip',"wb") as f:
    hex_data = ""
    for i in data:
        hex_data += (hex(int(i,16)^5)[2:])
    print(hex_data)

    f.write(struct.pack("B",int(hex_data,16)))

修改字体颜色得到flag

在这里插入图片描述

FLAG{_th2_7ru8_2iP_}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值