BaseCTF2024 WP (主要为Rev)

news2025/2/22 6:37:42

Rev

Rev视频解析:[Rev0:从零开始的逆向生活]BaseCTF2024 Week1 Rev 讲解_哔哩哔哩_bilibili

[Week1] You are good at IDA

[Week1] UPX mini

脱UPX标准壳,解base64

[Week1] Ez Xor

简单的反向异或,数据动调取一下

#base_xor
enc = [0x01, 0x09, 0x05, 0x25, 0x26, 0x2D, 0x0B, 0x1D, 0x24, 0x7A, 0x31, 0x20, 0x1E, 0x49, 0x3D, 0x67, 0x4D, 0x50, 0x08, 0x25, 0x2E, 0x6E, 0x05, 0x34, 0x22, 0x40, 0x3B, 0x25]

key = [0x58, 0x6E, 0x70, 0x5B, 0x6B, 0x77, 0x5E, 0x68, 0x7A, 0x51, 0x65, 0x79, 0x54, 0x62, 0x7C, 0x57, 0x7F, 0x63, 0x4A, 0x7C, 0x66, 0x4D, 0x79, 0x65, 0x40, 0x76, 0x68, 0x43]

for i in range(28):
    enc[i] ^= key[28 - i - 1]

flag = ''
for i in enc:
    flag += chr(i)
print(flag)

[Week1] ez_maze

经典迷宫,出题人不知道怎么想的让程序故意打不开,也没看见动调

找一下地图

排列一下

搓一个DFS(AI写的),上下左右wasd

#base_maze
from collections import deque

# 定义迷宫
maze = [
    "x11111111111111",
    "000000111111111",
    "010110110000011",
    "010111001111011",
    "011100011111011",
    "011101001011111",
    "011101011000111",
    "000001000010111",
    "111111000000111",
    "111111011111111",
    "111000011000111",
    "111000000011111",
    "111111111011011",
    "111111111010111",
    "11111100000000y"
]

# 将迷宫转换为二维数组
maze = [[c for c in row] for row in maze]

# 定义起点和终点
start = None
end = None
for i in range(len(maze)):
    for j in range(len(maze[i])):
        if maze[i][j] == 'x':
            start = (i, j)
        elif maze[i][j] == 'y':
            end = (i, j)

# 定义移动方向
directions = [(-1, 0, 'w'), (1, 0, 's'), (0, -1, 'a'), (0, 1, 'd')]

# BFS 算法
def bfs(start, end):
    queue = deque([(start, [])])
    visited = set()
    visited.add(start)
    
    while queue:
        (x, y), path = queue.popleft()
        
        if (x, y) == end:
            return path
        
        for dx, dy, direction in directions:
            nx, ny = x + dx, y + dy
            if 0 <= nx < len(maze) and 0 <= ny < len(maze[0]) and maze[nx][ny] != '1' and (nx, ny) not in visited:
                queue.append(((nx, ny), path + [direction]))
                visited.add((nx, ny))
    
    return None

# 寻找最短路径
path = bfs(start, end)

if path:
    print("最短路径:", ''.join(path))
else:
    print("没有找到路径")

然后算个md5

[Week1] BasePlus

换表base64+异或

Crypto

[Week1] helloCrypto

AI秒了,实际上就是个AES

#base_crypt
from Crypto.Util.number import long_to_bytes
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad

# 给定的 key 和密文
key1 = 208797759953288399620324890930572736628
c = b'U\xcd\xf3\xb1 r\xa1\x8e\x88\x92Sf\x8a`Sk],\xa3(i\xcd\x11\xd0D\x1edd\x16[&\x92@^\xfc\xa9(\xee\xfd\xfb\x07\x7f:\x9b\x88\xfe{\xae'

# 将 key1 转换为字节形式
key = long_to_bytes(key1)

# 创建 AES 解密对象
my_aes = AES.new(key=key, mode=AES.MODE_ECB)

# 解密密文
padded_flag = my_aes.decrypt(c)

# 去除填充以获得原始的明文
flag = unpad(padded_flag, AES.block_size)

print(flag)

# b'BaseCTF{b80bf679-1869-4fde-b3f9-d51b872d31fb}'

[Week1] 你会算md5吗

GPT秒了,爆一下hash

import hashlib

# 给定的 MD5 哈希值列表
output = ['9d5ed678fe57bcca610140957afab571', '0cc175b9c0f1b6a831c399e269772661', '03c7c0ace395d80182db07ae2c30f034', 'e1671797c52e15f763380b45e841ec32', '0d61f8370cad1d412f80b84d143e1257', 'b9ece18c950afbfa6b0fdbfa4ff731d3', '800618943025315f869e4e1f09471012', 'f95b70fdc3088560732a5ac135644506', '0cc175b9c0f1b6a831c399e269772661', 'a87ff679a2f3e71d9181a67b7542122c', '92eb5ffee6ae2fec3ad71c777531578f', '8fa14cdd754f91cc6554c9e71929cce7', 'a87ff679a2f3e71d9181a67b7542122c', 'eccbc87e4b5ce2fe28308fd9f2a7baf3', '0cc175b9c0f1b6a831c399e269772661', 'e4da3b7fbbce2345d7772b0674a318d5', '336d5ebc5436534e61d16e63ddfca327', 'eccbc87e4b5ce2fe28308fd9f2a7baf3', '8fa14cdd754f91cc6554c9e71929cce7', '8fa14cdd754f91cc6554c9e71929cce7', '45c48cce2e2d7fbdea1afc51c7c6ad26', '336d5ebc5436534e61d16e63ddfca327', 'a87ff679a2f3e71d9181a67b7542122c', '8f14e45fceea167a5a36dedd4bea2543', '1679091c5a880faf6fb5e6087eb1b2dc', 'a87ff679a2f3e71d9181a67b7542122c', '336d5ebc5436534e61d16e63ddfca327', '92eb5ffee6ae2fec3ad71c777531578f', '8277e0910d750195b448797616e091ad', '0cc175b9c0f1b6a831c399e269772661', 'c81e728d9d4c2f636f067f89cc14862c', '336d5ebc5436534e61d16e63ddfca327', '0cc175b9c0f1b6a831c399e269772661', '8fa14cdd754f91cc6554c9e71929cce7', 'c9f0f895fb98ab9159f51fd0297e236d', 'e1671797c52e15f763380b45e841ec32', 'e1671797c52e15f763380b45e841ec32', 'a87ff679a2f3e71d9181a67b7542122c', '8277e0910d750195b448797616e091ad', '92eb5ffee6ae2fec3ad71c777531578f', '45c48cce2e2d7fbdea1afc51c7c6ad26', '0cc175b9c0f1b6a831c399e269772661', 'c9f0f895fb98ab9159f51fd0297e236d', '0cc175b9c0f1b6a831c399e269772661', 'cbb184dd8e05c9709e5dcaedaa0495cf']

# 常见字符及其 MD5 哈希值的字典
common_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_{}-"
md5_dict = {hashlib.md5(char.encode()).hexdigest(): char for char in common_chars}

# 还原原始字符串
flag = ''.join(md5_dict.get(md5_hash, '?') for md5_hash in output)

print("Flag:", flag)

Pwn

[Week1] 签个到吧

nc一下即可,注意nc之后要ls

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

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

相关文章

自开发多功能Vue组件:可定义滚动速度[回到顶部/底部]图标组件的安装与使用!

samdy-chan/vue3-goto-top-or-bottom Preview&#xff08;本组件使用效果预览图&#xff09; 本组件使用过程中的 GIF 动态效果图&#xff08;图片经过压缩&#xff0c;视觉可能会有所模糊&#xff09;&#xff1a; Functional Description&#xff08;功能描述&#xff09; …

关于LLC知识10

在LLC谐振腔中能够变化的量 1、输入电压 2、Rac&#xff08;负载&#xff09; 所以增益曲线为红色&#xff08;Rac无穷大&#xff09;已经是工作的最大极限了&#xff0c;LLC不可能工作在红色曲线之外 负载越重时&#xff0c;增益曲线越往里面 假设&#xff1a; 输入电压…

谷歌反垄断案:美国科技史上最大的垄断诉讼与未来展望

引言 近年来&#xff0c;随着全球科技巨头的迅猛崛起&#xff0c;反垄断诉讼逐渐成为各国监管机构打击科技公司滥用市场地位的重要手段。美国作为全球科技产业的发源地&#xff0c;其对反垄断的关注也从未减弱。2023年&#xff0c;美国联邦法院针对谷歌发起的反垄断诉讼&#…

《Spring Cloud 微服务架构核心组件与 Nacos 配置管理详解》

微服务 1.SpringCloud中的核心组件 Spring Cloud Netflix组件 组件名称作用Eureka服务注册中心RibbonRibbonFeign声明式服务调⽤Hystrix客户端容错保护ZuulAPI服务⽹关 Spring Cloud Alibaba组件 组件名称作用Nacos服务注册中心Sentinel客户端容错保护 Spring Cloud原⽣及…

【python】JS逆向中,手把手教会你如何层层突破瑞数加密

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

Python中matplotlib使用4

在matplotlib中&#xff0c;可以通过绘制“饼图”来展示各类别在总体中所占的比例。 1 绘制基本“饼图” 通过matplotlib中的pie()函数绘制饼图&#xff0c;代码如图1所示。 图1 绘制基本“饼图”的代码 从图1中可以看出&#xff0c;pie()函数的参数y即为要绘制的数据&#…

微服务的基本理解和使用

目录​​​​​​​ 一、微服务基础知识 1、系统架构的演变 &#xff08;1&#xff09;单体应用架构 &#xff08;2&#xff09;垂直应用架构 &#xff08;3&#xff09;分布式SOA架构 &#xff08;4&#xff09;微服务架构 &#xff08;5&#xff09;SOA与微服务的关系…

Qt 0821作业

一、思维导图

一种针对自然语言文本的提示策略

文章介绍了一种创新的提示策略&#xff0c;旨在利用大型语言模型从自然语言文本中提取业务流程相关信息&#xff0c;例如活动和参与者等&#xff0c;并建立它们之间的关系。通过这种方法&#xff0c;研究人员能够在无需大量数据的情况下实现高质量的信息提取&#xff0c;进而用…

Apache Commons-IO 库

Apache Commons-IO是Apache开源基金组织提供的一组有关IO&#xff08;Input/Output&#xff09;操作的小框架。这个库的主要目的是为了提高IO流的开发效率&#xff0c;减少在进行文件读写、目录遍历等操作时编写的样板代码量。通过使用Commons-IO库&#xff0c;开发者可以更加简…

为一个花店编写一个库存管理程序,花点库存的花用花的名称、颜色、单价和株的数量来表示。(可直接运行)

为一个花店编写一个库存管理程序&#xff0c;花点库存的花用花的名称、颜色、单价和株的数量来表示。 要求&#xff1a; &#xff08;1&#xff09;说明一个结构数组&#xff0c;存储库存的鲜花数据。 &#xff08;2&#xff09;编写一个函数input_data()&#xff0c;输入现…

【学习笔记】卫星网络(NTN)的窄带物联网(NB-IoT)研究 -- 3GPP TR 36.763(四)

目录 8. 后续研究方向的建议 8.1 来自RAN1的建议 8.1.1 针对NR NTN和IoT NTN的共同增强建议 8.1.2 Release-17时间框架内RAN1建议的总结 8.2 来自RAN2的建议 关于卫星网络&#xff08;NTN&#xff09;的窄带物联网&#xff08;NB-IoT&#xff09;/增强型机器类型通信&#…

【论文阅读33】Deep learning optoacoustic tomography with sparse data

Deep learning optoacoustic tomography with sparse data 论文题目:基于稀疏数据的深度学习光声断层扫描 论文链接:Deep learning optoacoustic tomography with sparse data | Nature Machine Intelligence 代码链接:GitHub - ndavoudi/sparse_artefact_unet 数据链接…

鸿蒙Harmony实战开发:Arkts构造函数

构造函数 类声明可以包含用于初始化对象状态的构造函数。 构造函数定义如下&#xff1a; constructor ([parameters]) {// ... } typescript 如果未定义构造函数&#xff0c;则会自动创建具有空参数列表的默认构造函数&#xff0c;例如&#xff1a; class Point {x: numbe…

CH动画制作软件Win/Mac软件安装下载(附安装包)

目录 一、软件概述 1.1 软件简介 1.2 系统要求 二、安装步骤 2.1 下载软件 2.2 安装准备 2.3 安装过程 三、使用教程 3.1 创建新项目 3.2 角色制作 3.3 动画制作 四、高级功能与技巧 4.1 实时渲染技术 4.2 编程支持 4.3 协作与集成 一、软件概述 1.1 软件简介 …

linux 进程D状态的解决思路

同时做了录屏放到B站了&#xff0c;伙伴们视频给个3连支持一下 linux 进程D状态解决思路 1. 问题描述 在Linux系统环境&#xff0c;进程在内核模式下等待I/O完成时通常会进入不间断睡眠状态&#xff0c;此时使用ps或top命令输出的进程显示为D状态。当然我们也可以使用sysrq工具…

基于Python flask的图书借阅管理系统的设计与实现

基于Python Flask的图书借阅管理系统旨在为图书馆或类似机构提供一个高效、便捷的管理平台&#xff0c;覆盖图书借阅的各个环节&#xff0c;帮助管理员和读者更好地管理和使用图书资源。该系统采用Python编程语言和Flask框架进行开发&#xff0c;结合了数据库管理、用户认证、数…

数字图像处理【13】图像特征概述。

前言概述 打算用几篇文章回顾OpenCV特征模块&#xff08;features2d&#xff09;当中的对象检测&#xff08;object detection&#xff09;概念&#xff0c;以及主要的经典算法。这些传统的算法相对于现在来讲&#xff0c;可能有些过时&#xff0c;但对于初学者来说还是有必要…

netty编程之广播消息

写在前面 本文看下使用netty如何实现广播消息&#xff0c;主要依赖于类io.netty.channel.group.ChannelGroup。 1&#xff1a;正戏 首先定义server&#xff1a; package com.dahuyou.netty.broadcastmsg;import io.netty.bootstrap.ServerBootstrap; import io.netty.chann…

Midjourney中文版教程:参数详解

1.长宽比 可以设置图片的纵横比。按照需求可以选择不同的尺寸&#xff0c;也可以自定义。 注意&#xff1a;--ar必须使用整数。使用139&#xff1a;100代替1.39&#xff1a;1。 长宽比会影响生成图像的形状和构图。 在放大时&#xff0c;某些长宽比可能会稍微改变。 较旧的…