[MRCTF2020]千层套路

2024-01-26 11:20
文章标签 套路 mrctf2020 千层

本文主要是介绍[MRCTF2020]千层套路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

[MRCTF2020]千层套路

题目地址 : https://buuoj.cn/challenges#[MRCTF2020]%E5%8D%83%E5%B1%82%E5%A5%97%E8%B7%AF
在这里插入图片描述

解压压缩包,发现是密码竟然是压缩包名称,再根据题目,tnnd又是套娃题

在这里插入图片描述

import zipfilefile_path = input('path : ')#压缩包路径
path = "/Users/mzq/Desktop/ctf/buuctf/misc/[MRCTF2020]千层套路/"
# path = file_path[0:len(file_path)-len(file_path.split('//')[-1])]
print(path)
n = 0
s2 = ""def extract():i = file_path.split('\\')[-1]#递归解压压缩包名称print(i)str1 = ''for x in range(1000):ss = i[:i.find(".")]print(ss)zpf = zipfile.ZipFile( path+ss + ".zip")list = zpf.namelist()#print(list)print(x + 1)for f in list:#print(f)passwd = ss#passwd = f.split('.')[0]#压缩包密码#print(passwd)zpf.extract(f, path, bytes(passwd.encode('utf-8')))if 'zip' in f:print(path, passwd)i = str(f)extract()

在这里插入图片描述
最后解出来了一个qr.zip
在这里插入图片描述

qr.zip解压后得到qr.txt ,里面都是一些像素值,或者是坐标值

在这里插入图片描述
使用脚本拼图

from PIL import Imagefile=open('qr.txt')
MAX=200picture=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()

在这里插入图片描述

MRCTF{ta01uyout1nreet1n0usandtimes}

这篇关于[MRCTF2020]千层套路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/646642

相关文章

算法练习小技巧之有序集合--套路详细解析带例题(leetcode)

前言:         本文详细讲解Python中的有序集合SortedList和C++中的有序集合multiset的用法,配合leetcode的例题来展示实际的用处。(本人水平不够,还无法讲解有序集合的实现方法,只会用)         觉得有帮助或者写的不错可以点个赞,后面也有几道我找出来的题目可以用这个方法快速解决的         (感觉有点水) 目录 有序集合用法讲解:

qt中的线程套路

qt的线程还是非常优雅的,当然我们可以使用系统自带的函数接口创建线程,但是跨平台移植似乎就是问题。 qt的线程是可以支持跨平台的移植的。 qt的线程非常简单,就是继承QThread然后重写run方法,run函数就是我们的线程主体,对于重写其实本质就是一个回调接口了。 好了注意重点:在主函数实例化然后调用start方法就开始运行线程了,千万不要调用函数调用的急眼了,把run函数也调用了。

Java基础-Lambda表达式的使用套路

1.列表循环 1.1.普通的forEach循环 goodsSkuBatch.stream().forEach(goodsSkuPromote -> {// 循环处理对象 TODO}); 2.列表过滤 // 去重复信息: 过滤收集后补数据库中的ID, 收集listList<EmailMessage> crudList = emailDataList.stream().collect

从CPU缓存看缓存的套路

点击上方“朱小厮的博客”,选择“设为星标” 当当满200减40优惠码「J2KNAE」 来源:知乎 一、前言 不同存储技术的访问时间差异很大,从 计算机层次结构 可知,通常情况下,从高层往底层走,存储设备变得更慢、更便宜同时体积也会更大,CPU 和内存之间的速度存在着巨大的差异,此时就会想到计算机科学界中一句著名的话:计算机科学的任何一个问题,都可以通过增加一个中间层来解决。 二、引入缓存层 为

算法题技巧之“枚举右维护左“--套路详细讲解带例题和易懂代码(Python,C++)

本文参考: 灵茶山艾府 - 力扣(LeetCode)         分享丨【题单】常用数据结构(前缀和/差分/栈/队列/堆/字典树/并查集/树状数组/线段树) - 力扣(LeetCode)         本文主要讲解关于”枚举右维护左“这个刷算法题的技巧,包括简单的原理讲解和两个简单的例题(之后我也会总结一些这样的题目发题解在csdn上),觉得有帮助或者写的不错可以点个赞 (最近刷到这

Android单元测试---常见问题和套路

#前言 最近开始给公司的项目写单元测试,先从已经抽离成库的类开始写,因为不会涉及到界面,所以目前写起来较为容易。 单元测试框架采用的是 powerMock 框架,不过在写的过程中,发现了一些问题,今天我们就说一下一些常见的问题,和对某些类型代码常见的套路(针对这种类型应该如何编写单元测试用例)。 #常见问题 ##1、android 类方法调用为空,Method isEmpty in a

ggplot2高效实用指南 (可视化脚本、工具、套路、配色)

作者:严涛 浙江大学作物遗传育种在读研究生(生物信息学方向)伪码农,R语言爱好者,爱开源 ggplot2学习笔记之图形排列 R包ggseqlogo |绘制序列分析图 编者按:数据可视化是解析、理解和展示数据不可缺少的一部分。炫或不炫看个人喜好和功底,能否达意是最基本的要求---最合适的图示和配色表达最直观的含义。长文多图预警,这是关于ggplot2使用的极详细教程(190+图),是入门和晋级

Jeddict:从服务器的验证过程,思考学习新事物的套路

结合一路研究Jeddict使用的过程经验来看,在这里说一下关于服务器配置的东西。在我们团队,最开始用这个插件的时候,因为公司用的应用服务器是Jboss EAP 7,所以,我们自然而然的,想当然的直接使用了公司常用服务器去部署,结果出现了一系列的问题。后来虽然解决了,结合到和Jeddict作者的交流,需要总结一下学习新事物的套路! 一、问题 1,无法部署 2,无法调用 3,无法创建权限默认表

buuctf [MRCTF2020]Xor

前言:学习笔记。 32位IDA 打开。 先查找字符串 ok,反汇编不了,好吧,只能看汇编代码。 那咱用OD去做。顺便复习汇编语言 接着往下。 没看懂?那把JNZ SHORT xor.00CE10FF 给NOP掉再看看。 再走一遍。 猜测AL是否代表的是下标? CL是对应值?不确定,再走一遍。 OK,结案,程序是对应值与对应下

[MRCTF2020]Hello_ misc

解压得一个png图片和一个flag.rar 图片拖入010editor 手工把尾部的zip复制分离,只复制一个报下面错 用010editor把尾部的两个zip都手工分离,分卷压缩也要密码,线索中断, *当然try to restore it.png,隐藏了zip压缩包,可以用binwalk foremost分离。 再去看图片是否隐写 Release StegSolv