[HNCTF 2022 Week1]你知道什么是Py嘛?

news/2024/11/25 11:18:29/

下载附件是一个py文件,python反编译工具打开。

这段代码是一个简单的Python脚本,用于验证用户输入的字符串(称为“flag”)是否符合特定的格式和加密规则。分析代码是一个简单的xor异或即:程序将遍历字符串的每个字符(从第二个字符开始,即索引1到第34个字符)。对于每一对相邻的字符,程序计算它们的ASCII值进行异或(XOR)操作,并将结果与预先定义的数组arr中相应位置的值进行比较。如果任何一对字符的异或结果与arr中的值不匹配,程序将打印“error!”并退出。

据此编写一个脚本。

python">flag='N'
arr=[29, 0, 16, 23, 18, 61, 43, 41, 13, 28, 88, 94, 49, 110, 66, 44, 43, 28, 91, 108, 61, 7, 22, 7, 43, 51, 44, 46, 9, 18, 20, 6, 2, 24]
for i in range(34):for j in range(128):if (ord(flag[i])^j==arr[i]):flag+=chr(j)
print(flag)

flag就是 

NSSCTF{Pyth0n_1s_th3_best_l@nguage}


http://www.ppmy.cn/news/1548957.html

相关文章

5、深入剖析PyTorch DataLoader源码

文章目录 1. 重要类2. DataSet3. DataLoader4. Python实例 参考大神B站,记录学习笔记 5、深入剖析PyTorch DataLoader源码 其他大神笔记: pytorch数据操作—dataset,dataloader,transform 1. 重要类 Data LoaderDatasetSampleRa…

.NET 9 中 LINQ 新增功能实操

LINQ 介绍 语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称。 数据查询历来都表示为简单的字符串,没有编译时类型检查或 IntelliSense 支持。 此外,需要针对每种类型的数据源了解不同的查询语言:SQL 数据库、XML 文档、…

【开源风云】从若依系列脚手架汲取编程之道(八)

📕开源风云系列 🍊本系列将从开源名将若依出发,探究优质开源项目脚手架汲取编程之道。 🍉从不分离版本开写到前后端分离版,再到微服务版本,乃至其中好玩的一系列增强Plus操作。 🍈希望你具备如下…

二进制之和

问题描述 小U和小R喜欢探索二进制数字的奥秘。他们想找到一个方法,将两个二进制字符串相加并以十进制的形式呈现。这个过程需要注意的是,他们的二进制串可能非常长,所以常规的方法可能无法处理大数。小U和小R希望你帮助他们设计一个算法&…

Windows Server 2022 Web1

载入靶机,看到相关描述: 进入虚拟机发现桌面有phpstudy和解题两个软件: 打开解题.exe,发现里面是一些问题,接下来就需要获取相关信息: 1、shell密码 2、IP地址 3、隐藏账户名称 4、挖矿程序的矿池域名 打…

学了Arcgis的水文分析——捕捉倾泻点,河流提取与河网分级,3D图层转要素失败的解决方法,测量学综合实习网站存着

ArcGIS水文分析实战教程(7)细说流域提取_汇流域栅格-CSDN博客 ArcGIS水文分析实战教程(6)河流提取与河网分级_arcgis的dem河流分级-CSDN博客 ArcGIS水文分析实战教程(5)细说流向与流量-CSDN博客 ArcGIS …

2024年11月17日Github流行趋势

项目名称:codecrafters-io / build-your-own-x 项目维护者:danistefanovic, rohitpaulk, sarupbanskota, fake-rookie, bauripalash等项目介绍:通过从头开始重新创建你最喜欢的技术来掌握编程。项目star数:310,978项目fork数&…

mysql中between and怎么用

在 MySQL 中,BETWEEN ... AND ... 是一个非常有用的运算符,用于选择介于两个值之间的数据范围。这个运算符可以用于数字、日期和字符串等数据类型。下面是一些具体的用法示例。 ### 基本语法 sql SELECT column_name FROM table_name WHERE column_nam…