BUUCTF:[MRCTF2020]千层套路

题目来源:https://buuoj.cn/challenges#[MRCTF2020]%E5%8D%83%E5%B1%82%E5%A5%97%E8%B7%AF

题给了压缩包,加密,密码就是压缩包名字

解开还是压缩包,套娃

大大脚本如下

import zipfile import os path=r"/home/p/桌面/0573" #这个自己把控想在哪里开始使用脚本 file="0573.zip" def un_zip(Path,File_name): #传入一个路径和当前路径的压缩包名字,返回解压缩后的文件名字 current_file=Path+os.sep+File_name #路径+'/'+文件名 #new_path='' os.chdir(Path) #改变当前工作路径,方便添加文件夹 zip_file=zipfile.ZipFile(current_file) #print(zip_file.namelist()[0]) new_file=zip_file.namelist()[0] #新解压的压缩文件为新的路径名字 #new_path=current_path + os.sep + new_file #os.mkdir(new_path) #新建一个以解压出来的压缩包为名字的文件夹 #os.chdir(new_path) zip_file.extractall( path=Path, members=zip_file.namelist(), pwd=File_name[0:-4].encode() )#因为密码就是文件名 zip_file.close() return new_file new=file new1='' while (1): #new1=un_zip(path,new) #第一次解压出来了new1 if(new ==''): #判断是否解压完毕,是则直接退出 print("end:"+new1) break else: #否则就开始新的解压 new1=un_zip(path,new) print("continue:"+new1) new=new1

得到一个qr.zip

解压出一个txt

绘图

from PIL import Image string='' file=open('qr.txt') MAX=200 picture=Image.new("RGB",(MAX,MAX)) for y in range(MAX): for x in range(MAX): string =file.readline() picture.putpixel([x,y],eval(string)) #直接使用eval()可以转为元组 picture.show()

flag{ta01uyout1nreet1n0usandtimes}


__EOF__

本文作者B0mbax
本文链接https://www.cnblogs.com/vuclw/p/16423514.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   B0mbax  阅读(594)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示