ctfshow_crypto_妈呀完了writeup

news2024/11/18 11:25:51

目录

  • 一、题目原题
  • 二、解题步骤
    • 1.去掉01串中的空格
    • 2.把01二进制串转换成十进制数
    • 3.将十进制整数转换成bytes
  • 三、后记

一、题目原题

题目给了一串01和一个png图片,打开看了提示说“图文无关”:
题目原题
图片附件如下:
题目png文件

二、解题步骤

1.去掉01串中的空格

想到先把01串转换成字符串看看,于是复制01二进制串,粘贴时发现有很多空格,浅写一句Python的replace函数把空格去掉:

c='01000100 01010011 01111001 00110011 01001010 01111001 01001011 01110110 01010000 01000011 01010000 01101101 01001000 00110100 01010111 01000011 01111010 00101011 01010100 01101000 01010111 01101001 00110010 01000110 01100111 01001011 01101111 00111001 01100101 01010011 01010000 01010101 00110100 01100101 00110101 01100111 00101011 01101010 01011010 01010101 00110011 01000110 01110010 01010111 01001110 01110110 01001100 01001101 00110101 00110101 01101011 01000101 01100110 00110001 01101000 01000101 01101101 01001110 01110010 01110101 00101011 01001110 01000101 00110011'
c=c.replace(' ','')

效果如下:
去掉空格

2.把01二进制串转换成十进制数

用Python的int(c,2)函数,将上面内容是01二进制的字符串c转换成十进制整数:

 num=int(c,2)

3.将十进制整数转换成bytes

调用n2s函数,将十进制整数转换成bytes,其实就是每8个bit转换成一个字符

from libnum import *
n2s(num)

解题过程

得到了一串字符如下:

DSy3JyKvPCPmH4WCz+ThWi2FgKo9eSPU4e5g+jZU3FrWNvLM55kEf1hEmNru+NE3

看起来像base64但无法解码得到像flag的结果。

到这里就不会了,看图片不知道代表了啥,而hint又说和图片无关……用百度识图得知图片上的是玛雅数字,但是还是不会做,去搜了别的师傅写的wp,得知原来这串字符是AES加密的结果,密钥是20121221,借助在线工具做了AES解密,得到flag。
AES解密
flag: flag{第13个伯克盾将会结束}

三、后记

偶然看到的一道题,感觉很需要脑洞
顺便感慨一下,20121221真的已经好遥远了啊……当时看《2012》还是初中,是和几个同学一起在英语的课外兴趣班上看的,那个年龄真的是天真烂漫,有好多梦想……现在呢,学也学不会,躺又躺不平,担心被裁员,认识到自己有好多做不到的事情(哭
速写这篇文章的原因……主要是想要那个3.8妇女节的电子勋章,结果一看质量分66不足70(

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

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

相关文章

3·8 妇女节特别策划 | 对话开源社里的“半边天”:多彩的她们,有别样的力量~...

三八妇女节Womens Day< 2023/03/08 >01职场女性 陈阳开源社理事长、微软云计算机与人工智能事业部首席产品经理一句话介绍自己&#xff1a;开源社区中的二进制女性向上滑动阅览采访Q1&#xff1a;能介绍一下自己目前正在做的职业或者项目嘛&#xff1f;白天在微软云计算和…

Oracle调优日记

Oracle调优日记前言前置知识联表查询Inner Joinleft joinright join环境背景描述问题展示最初代码问题解决过程优化一优化二优化三接口测试检查数据库连接总结前言 很难想想会在600条数据和4万条数据的两张表联表查询的的情况下&#xff0c;查询花了10多s。这里记录一下排查过…

PMP考试是什么?介绍+资料分享

我来介绍一下PMP&#xff1a; PMP考试是由PMI组织和出题&#xff0c;严格评估项目管理人员知识技能是否具有高品质的资格认证考试。 1999年&#xff0c;PMP考试在所有认证考试中第一个获得ISO9001国际质量认证,从而成为全球权威的认证考试之一。下载PMP备考资料可看封面或在文…

二叉树经典14题——初学二叉树必会的简单题

此篇皆为leetcode、牛客中的简单题型和二叉树基础操作&#xff0c;无需做过多讲解&#xff0c;仅付最优解。有需要的小伙伴直接私信我~ 目录 1.二叉树的节点个数 2.二叉树叶子节点个数 3.二叉树第K层节点个数 4.查找值为X的节点 5.leetcode——二叉树的最大深度 6.leetc…

Spark(5):RDD概述

目录 0. 相关文章链接 1. 什么是RDD 2. RDD核心属性 3. 执行原理 0. 相关文章链接 Spark文章汇总 1. 什么是RDD RDD&#xff08;Resilient Distributed Dataset&#xff09;叫做弹性分布式数据集&#xff0c;是 Spark 中最基本的数据处理模型。代码中是一个抽象类&#x…

淘宝widget链路方案总结

目前widget生态已经做了大量的基建工作,同时在widget生态的演进过程中我们发现如何匹配用户的偏好一直以来是一个挑战工作&#xff0c;本文介绍了widget的整体链路。业务背景▐ widget介绍2020年底iOS推出了新版widget之后引起了一些声浪&#xff0c;但仍然很多苹果用户并不了…

三、基本的select语句

一、SQL概述 1、SQL背景知识 2、SQL语言排行 3、SQL分类 SQL语言在功能上主要分为如下3大类&#xff1a; DDL&#xff08;Data Definition Languages、数据定义语言&#xff09;&#xff0c;这些语句定义数据库、表、视图、索引等数据库对象&#xff0c;还可以用来创建、删除…

MacOS + AndroidSDK + appium + 真手机(Android系统)环境搭建

需要的环境&#xff1a;Node.js version: ^14.17.0 || ^16.13.0 || >18.0.0NPM version > 8Java8python3Android SDK (通过Andriod Studio 安装)Appium client desktop (v1.19.1)install brew/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/ma…

Docker启动问题docker is starting…

环境window 10 家庭最新版直接上官网安装的 Docker DeskTop问题启动应用后setting打开一直转圈圈&#xff1b;主界面一直显示 docker is starting…解决方案3.1 先确定hyper-v是否开启搜hyper-v&#xff0c;点击启动或关闭Windows功能如下,选中Hyper-V服务3.2 进入任务管理期&a…

Hive 常用函数

Hive 常用函数一、常用内置函数1、空字段赋值2、CASE WHEN THEN ELSE END3、行转列4、列转行5、窗口函数&#xff08;开窗函数&#xff09;6、Rank二、常用日期函数三、常用取整函数四、常用字符串操作函数五、集合操作一、常用内置函数 查看系统自带的函数show functions;显示…

【AcWing】学了一坤时才明白的一道题

&#x1f386;音乐分享 &#xff08;点击链接可以听哦&#xff09; The Right Path - Thomas Greenberg 这道题小吉花了一坤时才弄明白&#xff0c;虽然花的时间有点长 但是至少是明白了 &#x1f60e;&#x1f60e;&#x1f60e;&#x1f60e;&#x1f60e;&#x1f60e; …

Java程序占用CPU过高排查

使用 top 命令查看高CPU进程&#xff0c;执行命令后可以按 1 键查看各CPU 内核负载情况。CPU使用率主要看us、sy两个指标。假设 10760 是一个高CPU的进程。使用 top -H -p 查看 10760 的线程信息top -H -p 10760TIME列就是各个Java线程耗费的CPU时间。以线程ID 10952的线程为例…

Msyql聚簇索引和非聚簇索引

前提MySQL索引一直是面试中的常客&#xff0c;一提起索引&#xff0c;很多人都能答出来我知道Hash索引和B树索引&#xff0c;Hash是比较简单的&#xff0c;那么B树索引就有点复杂了。在创建表的时候&#xff0c;我们可以看到引擎有MyISAM , InnoDB等等&#xff0c;这两种是我们…

ARM uboot 的移植3 -从 uboot 官方标准uboot开始移植

一、选择合适的官方原版 uboot 1、官方原版 uboot 的版本 (1) 版本号。刚开始是 1.3.4 样式&#xff0c;后来变成 2009.08 样式。 (2) 新版和旧版的差别。uboot 的架构很早就定下来了&#xff0c;然后里面普遍公用的东西&#xff08;common 目录下、drivers 目录下、fs 目录…

CSS快速入门

文章目录一、CSS是什么&#xff1f;语法规范引入方式二、CSS选择器标签选择器类选择器ID选择器通配符选择器后代选择器子选择器并集选择器伪类选择器三、常见元素属性字体属性文本属性背景属性圆角矩形元素的显示默认块级与行级元素盒子模式去除浏览器默认样式弹性布局一、CSS是…

JUC并发编程共享模型之管程(三)(中)

4.5Monitor概念 Java 对象头 以 32 位虚拟机为例&#xff08;在32位虚拟机中&#xff0c;1个机器码等于4字节&#xff0c;也就是32bit&#xff0c;在64位虚拟机中&#xff0c;1个机器码是8个字节&#xff0c;也就是64bit&#xff09; 普通对象 数组对象 其中Mark Word 结构为…

2019年MathorCup数学建模C题汽配件制造业中的生产排程问题解题全过程文档及程序

2019年第九届MathorCup高校数学建模挑战赛 C题 汽配件制造业中的生产排程问题 原题再现&#xff1a; 整体求解过程概述(摘要) 随着市场竞争日趋激烈&#xff0c;企业开始更加注重低费高效&#xff0c;因此生产排程问题成为众多制造企业关注的热点之一。其中&#xff0c;制造行…

源码剖析Spring MVC如何将请求映射到Controller?

文章目录一、前言二、核心链路分析1、确定请求映射的入口1&#xff09;HandlerMapping注入Spring容器2&#xff09;HandlerMethod注册到MappingRegistry1> 判断Class是否为一个Handler2> 解析Class中的所有HandlerMethod 并注册到MappingRegistry中2、请求路径匹配1&…

【JavaScript速成之路】JavaScript函数

&#x1f4c3;个人主页&#xff1a;「小杨」的csdn博客 &#x1f525;系列专栏&#xff1a;【JavaScript速成之路】 &#x1f433;希望大家多多支持&#x1f970;一起进步呀&#xff01; 文章目录前言1&#xff0c;函数基础1.1&#xff0c;函数概念1.2&#xff0c;函数使用1.3&…

sHMIctrl 曲线控件使用

目录 效果 官方介绍 ​编辑 名词解释 使用方法 显示点 点在X轴位置 点在Y轴位置 量程 单位 如何设置自动标尺数据 设置量程 设置单位 效果 官方介绍 名词解释 四条曲线&#xff1a;同时最多使用4条曲线。 每条条曲线最多512点&#xff1a;X2-X1-Xn&#xff1b; 数据自定…