BUUCTF:[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

得到两个zip

010editor打开分别分析一下

其中真实的压缩包是真加密的

虚假的压缩包是伪加密 修改标识符

打开得到

 rsa算法

贴个脚本

import gmpy2 """ gmpy2.mpz(n)#初始化一个大整数 gmpy2.mpfr(x)# 初始化一个高精度浮点数x d = gmpy2.invert(e,n) # 求逆元,de = 1 mod n C = gmpy2.powmod(M,e,n)# 幂取模,结果是 C = (M^e) mod n gmpy2.is_prime(n) #素性检测 gmpy2.gcd(a,b) #欧几里得算法,最大公约数 gmpy2.gcdext(a,b) #扩展欧几里得算法 gmpy2.iroot(x,n) #x开n次根 """ 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) 来源:https://blog.csdn.net/qq_24033605/article/details/117158714

得到

所以解压密码是:答案是5

解压完得到两个文件

jpg的高不对 修改后得到提示:异或5

贴个脚本

f1 = open('文件名','r') data = f1.read() f1.close() flag_data = "" for i in data: tmp = int(i,16) ^ 5 flag_data += hex(tmp)[2:] f2 = open('./flag.doc','wb') f2.write(flag_data.decode('hex')) f2.close()

文件名最好改为英文的

flag跟在文章末尾,调成深色字体即可

参考:https://blog.csdn.net/qq_24033605/article/details/117158714

__EOF__

本文作者B0mbax
本文链接https://www.cnblogs.com/vuclw/p/15848284.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   B0mbax  阅读(721)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示