misc合集(1)

news2024/11/15 17:35:59
[Week3] 这是一个压缩包

有密码,提示QmFzZUNURj8/Pz8/P0ZUQ2VzYUI=

base64解密是BaseCTF??????FTCesaB

猜测这应该是⼀个轴对称的密码

python ⽣成了密码字典,再通过 ARCHPR 进⾏字典爆破

lowercase = 'abcdefghijklmnopqrstuvwxyz'
uppercase = lowercase.upper()
digits = '0123456789'
symbols = '!@#$%^&*()-_=+'
ls = lowercase+uppercase+digits+symbols
with open('passwd.txt','w') as f:
    for t1 in ls:
        for t2 in ls:
            for t3 in ls:
                password = 'BaseCTF'+t1+t2+t3+t3+t2+t1+'FTCesaB'
                f.write(password+'\n')

[Week3] Base revenge
把 hint 丢⼊随波逐流,跑了⼀下,发现是 Atbash加密
Base64 隐写
 Atbash解密
Base64解码,得flag
[Week3] broken.mp4

有关untrunc_x64工具的用法

是一种用于恢复损坏或截断的视频文件的工具。你可以在以下几种情况下使用这类工具:

  1. 文件损坏:如果你的视频文件在下载、传输或保存过程中出现了损坏,导致视频无法正常播放,untrunc_x64 可以帮助你尝试修复这些损坏的文件。

  2. 截断文件:有时视频文件在录制或保存时可能会被意外截断,导致文件不完整。untrunc_x64 可以帮助恢复这些截断的文件,使其恢复为完整的视频文件。

  3. 格式兼容性问题:如果你的视频文件的格式或头部信息被破坏,untrunc_x64 可以尝试修复这些格式问题,使文件能够被正确识别和播放。

  4. 数据恢复:在某些数据恢复场景中,如硬盘故障或文件系统错误,untrunc_x64 可以用来修复受损的视频文件。

使用时,通常需要提供一个与损坏文件相同格式且没有损坏的视频文件作为参考,这样工具才能进行修复。如果你遇到这类问题,可以尝试使用 untrunc_x64 进行修复。不过,修复的效果可能会因损坏程度和文件格式等因素而有所不同。

[Week3] 纯鹿人
得到⼀个密码,可能和 word ⽂档中的图⽚有关,把 word ⽂档后缀改为 zip,解压后在 ⾥⾯找到图⽚,然后 binwalk 分离,得到⼀个压缩包。
压缩包密码就是刚才解出来的,解压后得到 flag。

[Week3] 白丝上的flag

运行python脚本

from PIL import Image
from random import randint
import sys

def ez_add(a,b,c,d):
    global iv
    h = (a+b+c+d+iv) % 256
    e = b
    f = c
    g = d
    iv = (b+c+d+iv) % 256
    return e,f,g,h

def confuse(data):
    r,g,b,a = data
    for _ in range(8):
        r,g,b,a = ez_add(r,g,b,a)
    return r,g,b,a

def confuse_image(flag):
    global iv
    iv = flag.getpixel((1,1))[0]
    img = Image.new('RGBA', (flag.width, flag.height))
    for w in range(img.width):
        for h in range(img.height):
            img.putpixel((w, h), confuse(flag.getpixel((w,h))))
    return img

if __name__ == '__main__':
    iv = 0
    flag = Image.open("image.png")
    img = confuse_image(flag)
    img.save("en_image1.png")



双图异或

脚本如下

from PIL import Image
import numpy as np

def xor_images(img1_path, img2_path, output_path):
    # 打开图像
    img1 = Image.open(img1_path).convert('RGB')
    img2 = Image.open(img2_path).convert('RGB')

    # 转换图像为 numpy 数组
    img1_array = np.array(img1)
    img2_array = np.array(img2)

    # 确保图像尺寸相同
    if img1_array.shape != img2_array.shape:
        raise ValueError("The images must have the same dimensions")

    # 进行异或操作
    xor_array = np.bitwise_xor(img1_array, img2_array)

    # 将结果转换回图像
    xor_image = Image.fromarray(xor_array)

    # 保存结果图像
    xor_image.save(output_path)

# 使用示例
img1_path = r"E:\练习\白丝上的flag\en_image.png"# 第一个图像的路径
img2_path = r"E:\练习\白丝上的flag\en_image1.png"  # 第二个图像的路径
output_path = 'E:\练习\白丝上的flag\output.png'  # 输出结果图像的路径

xor_images(img1_path, img2_path, output_path)

[Week3] 我要吃火腿!
是兽⾳加密,加密脚本,解密,foremost 可以分出来东⻄,⼀个 wav ⾳频,⽤⼯具 RXSSTV 跑⼀下
def xor_with_ham(input_file, output_file):
    ham_bytes = [0x48, 0x61, 0x6D]
    
    with open(input_file, 'rb') as f:
        data = bytearray(f.read())

    for i in range(len(data)):
        data[i] ^= ham_bytes[i % 3]

    with open(output_file, 'wb') as f:
        f.write(data)

xor_with_ham('Hamorl.jpg', 'Ham.jpg')
def recover_from_xor(encrypted_file, recovered_file):
    ham_bytes = [0x48, 0x61, 0x6D]  # 加密时使用的字节序列

    # 读取加密后的文件数据
    with open(encrypted_file, 'rb') as f:
        encrypted_data = bytearray(f.read())

    # 创建一个与加密数据相同大小的bytearray用于存储解密数据
    recovered_data = bytearray(len(encrypted_data))

    # 对加密数据应用XOR操作以恢复原始数据
    for i in range(len(encrypted_data)):
        # 使用ham_bytes中的字节进行XOR操作
        recovered_data[i] = encrypted_data[i] ^ ham_bytes[i % 3]

    # 将恢复的数据写入到新的文件中
    with open(recovered_file, 'wb') as f:
        f.write(recovered_data)


# 调用解密函数,恢复文件
recover_from_xor('Ham.jpg', 'Recovered_Hamorl.jpg')

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

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

相关文章

Vue生命周期;Vue路由配置;vue网络请求;vue跨域处理

一&#xff0c;Vue生命周期 <template><div > <h1 click"changeText">{{ info }}</h1></div> </template><script> export default {name: HelloWorld,data(){return{info:"介绍组件生命周期"}},methods:{chang…

Android源码导入Android Studio

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ 前言 需要先把 Android 源码编译一遍 然后执行下面指令就可以导入android源码了 关于 Android 源码编译可以参考这篇文章【LineageOS源码下载和编译&#xf…

GitLab CI_CD 从入门到实战笔记

第1章 认识GitLab CI/CD 1.3 GitLab CI/CD的几个基本概念 GitLab CI/CD由以下两部分构成。 &#xff08;1&#xff09;运行流水线的环境。它是由GitLab Runner提供的&#xff0c;这是一个由GitLab开发的开源软件包&#xff0c;要搭建GitLab CI/CD就必须安装它&#xff0c;因…

搜索二叉树BSTree的原理及实现

目录 一、简介 二、功能的实现 节点的实现 这里为什么模板参数采用的是K而不是T呢&#xff1f; 树体的实现 非递归版本 Insert函数 Find函数 Erase函数 递归版本 中序遍历 FindR InsertR EraseR 构造函数 析构函数 拷贝构造 赋值重载 一、简介 BSTree&#x…

Python 数学建模——Prophet 时间序列预测

文章目录 前言原理使用方法&#xff08;初级&#xff09;代码实例Prophet 高级应用add_seasonality 添加自定义周期性add_regressor 添加外生变量交叉检验 前言 Prophet 是 Facebook 团队开发的一个时间序列分析工具&#xff0c;相比传统的 ARMA 时间序列分析&#xff0c;能够综…

nodejs 007:错误npm error Error: EPERM: operation not permitted, symlink

完整错误信息 npm error Error: EPERM: operation not permitted, symlink npm warn cleanup Failed to remove some directories [ npm warn cleanup [ npm warn cleanup C:\\Users\\kingchuxing\\Documents\\IPFS\\orbit-db-set-master\\node_modules\\ipfs-cli, npm…

岭回归:带示例的分步介绍

由 AI 生成&#xff1a;DNA、基因组、摘要、岭回归 一、说明 岭回归是一种在独立变量高度相关的情况下估计多元回归模型系数的方法。 [ 1 ]它已用于计量经济学、化学和工程学等许多领域。[ 2 ]也称为Tikhonov 正则化&#xff0c;以Andrey Tikhonov命名&#xff0c;是一种解决不…

Lombok:Java开发者的代码简化神器【后端 17】

Lombok&#xff1a;Java开发者的代码简化神器 在Java开发中&#xff0c;我们经常需要编写大量的样板代码&#xff0c;如getter、setter、equals、hashCode、toString等方法。这些代码虽然基础且必要&#xff0c;但往往占据了大量开发时间&#xff0c;且容易在属性变更时引发错误…

【Linux取经之路】编译器gcc/g++的使用 调试器gdb的使用

目录 背景知识 编译器gcc/g的安装 编译器gcc/g的使用 调试器gdb的使用 cgdb 条件断点 背景知识 子曰&#xff1a;“温故而知新”。在谈gcc/g的使用之前&#xff0c;我们先来复习编译的4个阶段&#xff0c;也算是为下面的内容做一些铺垫&#xff0c;请看思维导图。 编译…

动态规划算法:05.路径问题_不同路径_C++

题目链接&#xff1a;LCR 098. 不同路径 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/2AoeFn/description/ 一、题目解析 题目&#xff1a; 解析&#xff1a; 由题我们可知&#xff0c;在一个网格中&#xff0c;机器人需要从左上角出发&#xff0c;…

热点数据更新优化

热点数据更新优化 热点数据更新带来的问题问题的方向判断用户线程被打挂据库cpu被打挂&#xff08;优先考虑&#xff0c;80%可能性&#xff09;redis被打挂 临时解决方案解决方案流量控制热点隔离数据分批次提交数据合并后更新重写MySQL的执行层 热点数据更新带来的问题 问题的…

ERP进销存管理系统的业务全流程 Axure高保真原型源文件分享

这是一套ERP进销存管理系统的业务全流程Axure高保真原型设计文档。 原型预览地址&#xff1a;https://ppndif.axshare.com 产品意义&#xff1a; 提高工作效率&#xff1a; 电子记账替代手工记账&#xff0c;减少工作负担和人为错误。 实时查看库存情况&#xff0c;减少盘点时…

嵌入式AI---如何用C++实现YOLO的NMS(非极大值抑制)算法

文章目录 前言一、为什么需要NMS算法&#xff1f;二、什么是NMS算法&#xff1f;三、如何使用C编写一个NMS算法1、预测框定义2、滤除无效框 总结 前言 YOLO系列的目标检测算法在边缘部署方面展现出了强大的性能和广泛的应用潜力。大部分业务场景是利用PyTorch在服务器端完成检…

细说STM32单片机通用定时器使用输出比较功能生成PWM波的方法

目录 一、本实例测试的目的 二、硬件和CubeMX项目配置 1、硬件开发板 2、项目配置 &#xff08;1&#xff09;定时器TIM2_CH1 &#xff08;2&#xff09;时钟和Debug 三、使用比较功能生成PWM 1、启动定时器 2、TIM2_CH1通道GPIO初始化 3、下载与测试 一、本实例测试…

一,掌心里的智慧:我的 TinyML 学习之旅

从云端到掌心&#xff1a;TinyML 的故事 想象一下&#xff0c;有一天你起床&#xff0c;伸手去关闭窗边的小闹钟&#xff0c;却发现这个小家伙已经提前预判到你的醒来时间——因为它能够“听到”你昨晚的呼吸变化&#xff0c;分析出你什么时候会醒。这个场景可能听起来像科幻小…

OrionX vGPU 研发测试场景下最佳实践之Jupyter模式

在上周的文章中&#xff0c;我们讲述了OrionX vGPU研发测试场景下最佳实践之SSH模式&#xff0c;今天&#xff0c;让我们走进 Jupyter模式下的最佳实践。 • Jupyter模式&#xff1a;Jupyter是最近几年算法人员使用比较多的一种工具&#xff0c;很多企业已经将其改造集成开发工…

[C++] 剖析多态的原理及实现

文章目录 多态的概念及定义编译时多态&#xff08;静态多态&#xff09;运行时多态&#xff08;动态多态&#xff09;动态多态的原理示例&#xff1a;运行时多态 两种多态的区别 多态的实现基本条件虚函数虚函数的重写与覆盖虚函数重写的其他问题协变析构函数的重写 C11 中的 o…

【数据结构】8——图3,十字链表,邻接多重表

数据结构8——图3&#xff0c;十字链表&#xff0c;邻接多重表 文章目录 数据结构8——图3&#xff0c;十字链表&#xff0c;邻接多重表前言一、十字链表结构例子 复杂例子 二、邻接多重表&#xff08;Adjacency Multilist&#xff09;例子 前言 除了之前的邻接矩阵和邻接表 …

Kubernetes部署及示例

目录 一、实验环境 二、部署 1、添加解析 2、安装docker&#xff0c;确保登录成功 3、所有禁用swap和本地解析 4、 安装K8S部署工具 5、集群初始化 6、安装flannel网络插件 7、节点扩容 三、kubernetes 中的资源 1、资源管理介绍 2、资源管理方式 &#xff08;…

【Kubernetes】服务账号 Service Account

《K8s 的安全认证》系列&#xff0c;共包含以下文章&#xff1a; K8s 的安全框架和用户认证K8s 的鉴权管理&#xff08;一&#xff09;&#xff1a;基于角色的访问控制&#xff08;RBAC 鉴权&#xff09;K8s 的鉴权管理&#xff08;二&#xff09;&#xff1a;基于属性 / 节点…