[GHCTF 2024 新生赛]UP+——入土为安的第一天

注意:这道题需要脱壳,而且需要改特征值,详细请看

[LitCTF 2024]hello_upx——入土为安的第一天-CSDN博客

脱完壳发现有256这个特殊的数,是rc4类型的题,最后有一个异或

a = "9F041CEFA92386B6F56F27B96155FD42"
aa = "5E4C614B08306D1502BC6854D68716D4"

# Splitting strings into pairs of hexadecimal characters
b = [a[i:i+2] for i in range(0,len(a),2)]
c = b[::-1]
d1 = ''.join(c)

b = [aa[i:i+2] for i in range(0,len(aa),2)]
c = b[::-1]
d2 = ''.join(c)

print(d1)
print(d2)

# Concatenating d1 and d2
encode = d1 + d2
print(encode)

# Converting concatenated string to list of integers
ddd = [int(encode[i:i+2],16) for i in range(0,len(encode),2)]

# Initialize flag list
flag = []

# Initializing variables
v22 = [0]*256
v20 = [0]*256

key = [ord(i) for i in "justfortest"]
print(key)

# Initialization of S-box v22 and v20
for i in range(256):
    v22[i] = i
    v20[i] = key[i % len(key)]

v5 = 0
for i in range(256):
    v8 = v22[i]
    v5 = (v8 + v20[i] + v5) % 256
    v22[i], v22[v5] = v22[v5], v22[i]

v9 = 0
v10 = 0

# Encryption process
for i in range(len(ddd)):
    v10 = (v10 + 1) % 256
    v11 = v22[v10]
    v9 = (v11 + v9) % 256
    v22[v10], v22[v9] = v22[v9], v22[v10]  # Swap
    flag.append(ddd[i] ^ v22[(v22[v10] + v22[v9]) % 256])

# Printing encrypted flag in hexadecimal
hex_flag = [hex(f) for f in flag]
print(hex_flag)

# Attempting to decode encrypted flag to string (handle UnicodeDecodeError)
try:
    decrypted_text = ''.join(chr(f) for f in flag)
    print("Decrypted text:", decrypted_text)
except UnicodeDecodeError:
    print("Decryption result contains non-printable characters.")

# Printing encrypted flag as ASCII characters (for demonstration, may cause errors)
for i in range(len(flag)):
    try:
        print(chr(flag[i]), end='')
    except ValueError:
        print("[Non-printable]", end='')

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙应用开发之Column容器

这个容器已经使用了很多次,但是还是需要来简单地学习一下,它的主要作用是沿垂直方向布局的容器。 对于布局这种容器,需要看到显示的效果才会比较明白。 先来看下面这个界面: 先在最外面建立一个Column容器,space和方框显示等显示内容都是作为一行进行排列。现在这里设置为…

智能升级,监控无界——全新安全生产生态算法一体机上线

安全生产生态算法一体机 安全生产生态算法一体机是万物纵横推出的一款AI算法软硬一体生态产品,重点面向安全生产领域,采用BM1684强劲AI芯片,内置安全生产场景所需的多种专用AI算法,面向各场景的人员监控、规范作业、异常检测等应…

maven项目启动的时候,自动启动netty

1.写一个监听器,重开一个线程初始化,netty,一定要重开一个线程去启动,要不会阻塞的 public class StartupListener implements ServletContextListener {Overridepublic void contextInitialized(ServletContextEvent sce) {// 在Web应用启动时启动WebSocket服务器new Thread(…

2024 MWC上海:Infobip引领CPaaS新纪元

作为全球通信行业一年一度的顶级盛会,MWC上海2024于近日在上海盛大召开。Infobip以其前瞻性的CPaaS(Communication Platform as a Service,通信平台即服务)解决方案和广泛的合作伙伴网络,成为了众多参展嘉宾瞩目的焦点…

Leetcode.342 4的幂

给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。 整数 n 是 4 的幂次方需满足:存在整数 x 使得 n 4x 示例 1: 输入:n 16 输出:true示…

QT的编译过程(底层逻辑)

qmake -project 用于从源代码生成项目文件,qmake 用于从项目文件生成 Makefile,而 make 用于根据 Makefile 构建项目。 详细解释: qmake -project 这个命令用于从源代码目录生成一个初始的 Qt 项目文件(.pro 文件)。它…

通过营销本地化解锁全球市场

在一个日益互联的世界里,企业必须接触到全球各地的不同受众。营销本地化是打开这些全球市场的关键。它包括调整营销材料,使其与不同地区的文化和语言细微差别产生共鸣。以下是有效的营销本地化如何推动您的全球扩张,并用实际例子来说明每一点…

在PyTorch中使用TensorBoard

文章目录 在PyTorch中使用TensorBoard1.安装2.TensorBoard使用2.1创建SummaryWriter实例2.2利用add_scalar()记录metrics2.3关闭Writer2.4启动TensorBoard 3.本地连接服务器使用TensorBoard3.1方法一:使用SSH命令进行本地端口转发3.2方法二:启动TensorBo…

昇思25天学习打卡营第12天|ResNet50迁移学习

昇思25天学习打卡营第12天|ResNet50迁移学习 前言ResNet50迁移学习数据准备下载数据集 加载数据集数据集可视化 训练模型构建Resnet50网络固定特征进行训练训练和评估可视化模型预测 个人任务打卡(读者请忽略)个人理解与总结 前言 非常感谢华为昇思大模型…

File类常用构造方法及方法详解

File类是对文件或者目录的一系列操作。如文件和目录的创建、检查、删除、路径获取等。现介绍下常用构造方法和方法。 一、构造方法。 File类提供了多个构造方法来创建File对象,以表示文件或目录。 1. File(String pathname) 通过指定文件路径名创建File对象。 参…

Vatee万腾平台:打造未来智能生态圈

在科技日新月异的今天,我们正步入一个由智能技术驱动的全新时代。在这个时代里,万物互联、数据驱动、智能决策已成为常态,而Vatee万腾平台正以其卓越的技术实力和前瞻性的战略眼光,致力于打造未来的智能生态圈,引领我们…

三、数据库系统(考点篇)

1、三级模式一两级映像 内模式:管理如何存储物理的 数据 ,对数据的存储方式、优化、存放等。 模式:又称为概念模式, 就是我们通常使用的表这个级别 ,根据应用、需求将物理数据划分成一 张张表。 外模式:…

RFID电子锁在物流货运智能锁控管理的创新方案

物流货运锁控的现实挑战 易损性:传统锁具易受物理破坏,无法抵御恶意撬锁。 低效率:依赖人工操作,开锁速度慢,影响作业效率。 高成本:钥匙的制作、管理和丢失替换成本高昂。 监控缺陷:缺乏实…

【对顶堆 优先队列】295. 数据流的中位数

本文涉及知识点 对顶堆 优先队列 LeetCode295. 数据流的中位数 中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。 例如 arr [2,3,4] 的中位数是 3 。 例如 arr [2,3] 的中位数是 (2 3) / 2 2.5 …

【项目实践】贪吃蛇

一、游戏效果展示二、博客目标三、使用到的知识四、Win32 API 介绍 4.1 WIn32 API4.2 控制台程序4.3 控制屏幕上的坐标COORD4.4 GetStdHandle4.5 GetConsoleCursorInfo 4.5.1 CONSOLE_CURSOR_INFO 4.6 SetConsoleCursorInfo4.7 SetConsoleCursorPosition4.8 GetAsyncKeyState 五…

跟《经济学人》学英文:2024年07月06日这期 Amazon turns 30

As Amazon turns 30, three factors will define its next decade It will have to deal with trustbusters, catch up on AI and revive its core business 它将不得不应对反垄断者,追赶人工智能并重振其核心业务 trustbuster: 美 [ˈtrəs(t)ˌbəs…

MUNIK解读ISO26262--什么是系统安全分析

功能安全之系统阶段-系统安全分析 安全分析在ISO26262标准中横跨了多个阶段例如:概念阶段、系统架构阶段、硬件详设阶段和软件详设阶段,其中part5中的安全分析工具FMEDA是标准中唯一一个和ASIL等级挂钩的,在Part5中也用了很大篇幅在介绍该安…

微信小程序 调色板

注意:是在uniapp中直接使用的一个color-picker插件,改一下格式即可在微信小程序的原生代码中使用 https://github.com/KirisakiAria/we-color-picker 这是插件的地址,使用的话先把这个插件下载下来,找到src,在项目创…

基于java+springboot+vue实现的电影院购票系统(文末源码+Lw)274

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装电影院购票系统软件来发挥其高效地信息处理的作用&#xf…

Nginx 常用配置与应用

Nginx 常用配置与应用 官网地址:https://nginx.org/en/docs/ 目录 Nginx 常用配置与应用 Nginx总架构 正向代理 反向代理 Nginx 基本配置反向代理案例 负载均衡 Nginx总架构 进程模型 正向代理 反向代理 Nginx 基本配置反向代理案例 负载均衡 Nginx 基本配置…