当前位置: 首页 > news >正文

BUUCTF [ACTF新生赛2020]music 1

BUUCTF:https://buuoj.cn/challenges


文章目录

    • 题目描述:
    • 密文:
    • 解题思路:
    • flag:


相关阅读
CTF Wiki
m4a文件格式分析
异或运算 XOR 教程
BUUCTF:[ACTF新生赛2020]music

在这里插入图片描述

题目描述:

得到的 flag 请包上 flag{} 提交。

密文:

下载附件,解压得到tmp文件夹,内有vip.zip,解压得到vip.m4a文件。

在这里插入图片描述


解题思路:

1、打开vip.m4a文件,发现该文件已损坏。

在这里插入图片描述

在010 Editor中,也可以观察到文件数据的混乱。

在这里插入图片描述

2、通过观察,参考m4a文件格式分析、异或运算 XOR 教程两篇文章,我终于明白,vip.m4a文件数据经过对“A1”的异或运算,才呈现上面的样子。

首先,通过对比m4a文件的ftyp(文件标识)和stsc(记录每个trunk的采样数),发现原来是“00”的数据变成了“A1”,ftyp:“66 74 79 70”变为“C7 D5 D8 D1”,stsc:“73 74 73 63”变为“D2 D5 D5 D2”。

(感谢CSDN半岛铁盒博主的分享,另外周的《半岛铁盒》也很好听)

ftyp:

在这里插入图片描述

stsc:

在这里插入图片描述

同时,我了解到异或运算的一条运算规律:一个值与 0 的运算,总是等于其本身。

x ^ 0 = x

所以,当“A1”与0进行异或运算时,结果为“A1”。这就是为什么原来是“00”的数据变成了“A1”。

从而得出,vip.m4a文件原数据经过了对“A1”的异或运算

3、在010 Editor中,对整个文件进行对“A1”的异或运算,保存得到完好的vip.m4a文件。

在这里插入图片描述

在这里插入图片描述

播放vip.m4a文件,将听到的字母记下来,得到:actfabcdfghijk,flag为:abcdfghijk

flag:

flag{abcdfghijk}
http://www.lqws.cn/news/562033.html

相关文章:

  • SpringMVC系列(五)(响应实验以及Restful架构风格(上))
  • 【学习】《算法图解》第七章学习笔记:树
  • [论文阅读] 软件工程 | 微前端在电商领域的实践:一项案例研究的深度解析
  • Linux软件的安装目录
  • 【面板数据】省级电商指数与地级市电子商务交易额数据集(1990-2022年)
  • OpenLayers 下载地图切片
  • Docker安装MinIO
  • 概述-4-通用语法及分类
  • 【go】初学者入门环境配置,GOPATH,GOROOT,GOCACHE,以及GoLand使用配置注意
  • 案例开发 - 日程管理系统 - 第一期
  • Redis 实现分布式锁
  • 【C++进阶】--- 继承
  • 鸿蒙 Grid 与 GridItem 深度解析:二维网格布局解决方案
  • 复杂驱动开发-TLE9471的休眠流程与定时唤醒
  • Python训练营-Day44-预训练模型
  • Java中的异常及异常处理
  • JDK17的GC调优
  • SpringCloud Stream 使用
  • Youtube双塔模型
  • 第27篇:SELinux安全增强机制深度解析与OpenEuler实践指南
  • eTools 开源发布
  • 如何在 Ubuntu 上通过终端或在 VirtualBox 中安装 GCC
  • 佳能Canon PIXMA G1020打印机信息
  • scGPT-spatial 复现
  • KS值:风控模型的“风险照妖镜”
  • Transformer结构--输入编码(BPE,PE)
  • Java面向对象(一)
  • JVM 之双亲委派机制与打破双亲委派
  • 【软考高项论文】论信息系统项目的进度管理
  • 【C++】简单学——类和对象(实现双向循环链表)