从零开始做题:满屏的QR

news2024/11/13 23:20:07

题目

给出一张png图片

解题

import os
import re
import cv2
import argparse
import itertools
import numpy as np


parser = argparse.ArgumentParser()
parser.add_argument('-f', type=str, default=None, required=True,
                    help='输入文件名称')
parser.add_argument('-p', type=str, default=None, required=True,
                    help='输入左上顶点和右下顶点坐标 (如:-p 220x344+3520x2150)')
parser.add_argument('-n', type=str, default=None, required=True,
                    help='输入宽度间隔和高度间隔 (如:-n 44x86)')
parser.add_argument('-size', type=str, default='1x1', required=False,
                    help='输入截取图像的大小 (如:-size 7x7)')
args  = parser.parse_args()

if __name__ == '__main__':
    if re.search(r"^\d{1,}x\d{1,}\+\d{1,}x\d{1,}$", args.p) and re.search(r"^\d{1,}x\d{1,}$", args.n) and re.search(r"^\d{1,}x\d{1,}$", args.size):
        x1, y1 = map(lambda x: int(x), args.p.split("+")[0].split("x"))
        x2, y2 = map(lambda x: int(x), args.p.split("+")[1].split("x"))
        width, height = map(lambda x: int(x), args.n.split("x"))
        width_size, height_size = map(lambda x: int(x), args.size.split("x"))

        img_path = os.path.abspath(args.f)
        file_name = img_path.split("\\")[-1]

        img = cv2.imread(img_path, cv2.IMREAD_COLOR)
        row, col = img.shape[:2]

        r, c = len(range(y1, y2 + 1, height)), len(range(x1, x2 + 1, width))
        new_img = np.zeros(shape=(r * height_size, c * width_size, 3))
        for y, x in itertools.product(range(r), range(c)):
            for y_size in range(height_size):
                for x_size in range(width_size):
                    new_img[y * height_size + y_size, x * width_size + x_size] = img[y1 + y * height + y_size, x1 + x * width + x_size]

        cv2.imwrite(f"_{file_name}", new_img)
        print("已保存到运行目录中...")
    else:
        print("参数-p或参数-n, 输入错误!")

┌──(root㉿kali2023)-[/home/…/Misc/timu/zulu/demo]
└─# python main.py -f /home/holyeyes/Misc/timu/zulu/demo/img.png -p 0x0+2499x2499 -n 25x25 -size 7x7
当前工作目录: /home/holyeyes/Misc/timu/zulu/demo/img.png
当前工作目录: /home/holyeyes/Misc/timu/zulu/demo/img.png
当前工作目录: /home/holyeyes/Misc/timu/zulu/demo
已保存到运行目录中...
                                                                             
┌──(root㉿kali2023)-[/home/…/Misc/timu/zulu/demo]
└─# python main.py -f /home/holyeyes/Misc/timu/zulu/demo/img.png -p 18x0+2499x2499 -n 25x25 -size 7x7
当前工作目录: /home/holyeyes/Misc/timu/zulu/demo/img.png
当前工作目录: /home/holyeyes/Misc/timu/zulu/demo/img.png
当前工作目录: /home/holyeyes/Misc/timu/zulu/demo
已保存到运行目录中...
                                                                             
┌──(root㉿kali2023)-[/home/…/Misc/timu/zulu/demo]
└─# python main.py -f /home/holyeyes/Misc/timu/zulu/demo/img.png -p 0x18+2499x2499 -n 25x25 -size 7x7
当前工作目录: /home/holyeyes/Misc/timu/zulu/demo/img.png
当前工作目录: /home/holyeyes/Misc/timu/zulu/demo/img.png
当前工作目录: /home/holyeyes/Misc/timu/zulu/demo
已保存到运行目录中...
                                                                             
┌──(root㉿kali2023)-[/home/…/Misc/timu/zulu/demo]
└─# python main.py -f /home/holyeyes/Misc/timu/zulu/demo/img.png -p 24x24+2499x2499 -n 25x25
当前工作目录: /home/holyeyes/Misc/timu/zulu/demo/img.png
当前工作目录: /home/holyeyes/Misc/timu/zulu/demo/img.png
当前工作目录: /home/holyeyes/Misc/timu/zulu/demo
已保存到运行目录中...

┌──(holyeyes㉿kali2023)-[~/Misc/tool-misc]
└─$ java -jar Stegsolve.jar
在这里插入图片描述
在这里插入图片描述
_Th1rD_PArT_qRc0De}

DASCTF{F1rst_parT_1s_herE_&&__Th1rD_PArT_qRc0De}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1925160.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Vulnhub] Stapler wp-videos+ftp+smb+bash_history权限提升+SUID权限提升+Kernel权限提升

信息收集 IP AddressOpening Ports192.168.8.106TCP:21,22,53,80,123,137,138,139,666,3306, Using Nmap for scanning: $ nmap -p- 192.168.8.106 --min-rate 1000 -sC -sV The results are as follows: PORT STATE SERVICE VERSION 20/tcp closed ftp-data…

昇思25天学习打卡营第20天 | 基于MindNLP+MusicGen生成自己的个性化音乐

基于MindNLPMusicGen生成个性化音乐 实验简介 MusicGen是Meta AI提出的音乐生成模型,能够根据文本描述或音频提示生成高质量音乐。该模型基于Transformer结构,分为三个阶段:文本编码、音频token预测和音频解码。此实验将演示如何使用MindSpo…

Java常用排序算法

冒泡排序(Bubble Sort) arr[0] 与 arr[1]比较,如果前面元素大就交换,如果后边元素大就不交换。然后依次arr[1]与arr[2]比较,第一轮将最大值排到最后一位。 第二轮arr.length-1个元素进行比较,将第二大元素…

高速数据采集与图像传输对带宽需求的对比分析

对于120MHz高速采集的数据,直接传输原始数据和将数据计算生成1024x1024的图像后再传输图像,这两种方法对带宽的影响会有显著不同。为了进行详细分析,我们需要考虑以下因素:数据采样率、数据量、图像生成算法、图像压缩和传输带宽需…

Spark调度底层执行原理详解(第35天)

系列文章目录 一、Spark应用程序启动与资源申请 二、DAG(有向无环图)的构建与划分 三、Task的生成与调度 四、Task的执行与结果返回 五、监控与容错 六、优化策略 文章目录 系列文章目录前言一、Spark应用程序启动与资源申请1. SparkContext的创建2. 资…

python:绘制一元四次函数的曲线

编写 test_x4_x2_4x.py 如下 # -*- coding: utf-8 -*- """ 绘制函数 y x^4x^24x-3 在 -2<x<2 的曲线 """ import numpy as np from matplotlib import pyplot as plt# 用于正常显示中文标题&#xff0c;负号 plt.rcParams[font.sans-s…

值得关注的数据资产入表

不错的讲解视频&#xff0c;来自&#xff1a;第122期-杜海博士-《数据资源入表及数据资产化》-大数据百家讲坛-厦门大学数据库实验室主办第122期-杜海博士-《数据资源入表及数据资产化》-大数据百家讲坛-厦门大学数据库实验室主办-20240708_哔哩哔哩_bilibili

《昇思25天学习打卡营第20天|onereal》

应用实践/LLM原理和实践/基于MindSpore的GPT2文本摘要 基于MindSpore的GPT2文本摘要 数据集加载与处理 数据集加载 本次实验使用的是nlpcc2017摘要数据&#xff0c;内容为新闻正文及其摘要&#xff0c;总计50000个样本。 数据预处理 原始数据格式&#xff1a; article: [CLS…

java框架-springmvc

文章目录 2. Springmvc概述3. springmvc与struts2不同5. springmvc入门6. springmvc 配置7. Handler配置8. 异常处理器9. ssm整合思路10. 上传图片11. RESTful支持12. 拦截器总结 2. Springmvc概述 Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分 3. sp…

QML 鼠标和键盘事件

学习目标&#xff1a;Qml 鼠标和键盘事件 学习内容 1、QML 鼠标事件处理QML 直接提供 MouseArea 来捕获鼠标事件&#xff0c;该操作必须配合Rectangle 获取指定区域内的鼠标事件, 2、QML 键盘事件处理&#xff0c;并且获取对OML直接通过键盘事件 Keys 监控键盘任意按键应的消…

防御第二次作业完成接口配置实验

一、实验括扑图 二、实验要求 1.防火墙向下使用子接口分别对应生产区和办公区 2.所有分区设备可以ping通网关 三、实验思路 1、配置各设备的IP地址 2、划分VLAN及VLAN的相关配置 3、配置路由及安全策略 四、实验步骤 1、配置PC跟Client还有server配置&#xff0…

Hive表【汇总】

提前必备 1、内部表和外部表的区别 概念讲解&#xff1a; 外部表&#xff1a;1、存放他人给予自己的数据2、当我们删除表操作时&#xff0c;会将表的元数据删除&#xff0c;保留数据文件 内部表&#xff1a;1、存放已有的数据2、当我们删除表操作时&#xff0c;会将表的元数据…

LeetCode Day8|● 344.反转字符串(原地) ● 541. 反转字符串II(i可以大步跨越) ● 卡码网:54.替换数字(ACM模式多熟悉熟悉)

字符串part01 day8-1 ● 344.反转字符串整体思路代码实现总结 day8-2 ● 541. 反转字符串II整体思路代码实现总结 day8-3 ● 卡码网&#xff1a;54.替换数字题目解题思路代码实现总结 day8-1 ● 344.反转字符串 整体思路 字符串和数组的思路差不多 原地操作 代码实现 class…

递归解决换零钱问题--代码实现

在上一篇中, 经过深入分析, 已经得出一个能够递归的形式化的结果, 现在则准备给出一个具体实现. 结果回顾 前述结果如下: caseOfChange(amount, cashList) { // base caseif (amount.isNegative()) { // 负数 return 0; } if (amount.isZero()) { // 0元 return 1; }if (cas…

vscode终端(控制台打印乱码)

乱码出现的两种可能&#xff08;重点是下面标题2&#xff09; 1、文件中的汉字本来就是乱码&#xff0c;输出到控制台(终端)那就当然是乱码 在vscode中设置文件的编码格式为UTF-8&#xff0c; 2、输出到控制台(终端)之前的汉字不是乱码&#xff0c;针对此种情况如下设置 原因…

MySQL卸载 - Windows版

MySQL卸载 - Windows版 1. 停止MySQL服务 winR 打开运行&#xff0c;输入 services.msc 点击 “确定” 调出系统服务。 2. 卸载MySQL相关组件 打开控制面板 —> 卸载程序 —> 卸载MySQL相关所有组件 3. 删除MySQL安装目录 4. 删除MySQL数据目录 数据存放目录是在 …

C++从入门到起飞之——缺省参数/函数重载/引用全方位剖析!

目录 1.缺省参数 2. 函数重载 3.引⽤ 3.1 引⽤的概念和定义 3.2 引⽤的特性 3.3 引⽤的使⽤ 3.4 const引⽤ 3.5 指针和引⽤的关系 4.完结散花 个人主页&#xff1a;秋风起&#xff0c;再归来~ C从入门到起飞 个人格言&#xff1a;悟已往之不谏…

端到端自动驾驶系列(一):自动驾驶综述解析

端到端自动驾驶系列(一)&#xff1a;自动驾驶综述解析 End-to-end-Autonomous-Driving Abstract Abstract—The autonomous driving community has witnessed a rapid growth in approaches that embrace an end-to-end algorithm framework, utilizing raw sensor input to …

免费的ssh工具

1.Quickstart - kitty 2 Download Termius for Windows 3. MobaXterm Xserver with SSH, telnet, RDP, VNC and X11 - Download

基于Android平台开发,备忘录记事本

相关视频教程在某站上面(&#x1f50d;浩宇软件开发) 1. 项目功能思维导图 2. 项目涉及到的技术点 使用CountDownTimer实现开屏页倒计时使用SQLite数据库存储数据使用BottomNavigationView实现底部导航栏使用ActivityFragment实现底部导航栏页面切换使用RecyclerViewadapter实…