当前位置: 首页 > 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}

相关文章:

  • 如何提取mdd字典中音频文件并转化为mp3
  • Rust代码规范之蛇形命名法和驼峰命名法
  • C++共享型智能指针std::shared_ptr使用介绍
  • Webpack 核心与基础使用
  • NLog、log4net、Serilog 和 Microsoft.Extensions.Logging 四大 .NET 日志库的综合对比
  • 学习使用dotnet-dump工具分析.net内存转储文件(2)
  • OpenLayers 下载地图切片
  • Python 中定义和调用函数:基础与进阶指南
  • 《从 0 到 1 掌握正则表达式:解析串口数据的万能钥匙》
  • 【EDA软件】【联合Modelsim 同步FIFO仿真】
  • GitHub 趋势日报(2025年06月27日)
  • 雷卯针对灵眸科技EASY EAI nano RV1126 开发板防雷防静电方案
  • 复杂驱动开发-TLE9471的休眠流程与定时唤醒
  • DMA之 Trigger input和 Trigger Output 概念
  • 具身智能系列教程——(一)具身智能研究与发展
  • 户外人像要怎么拍 ?
  • 【Docker基础】Docker容器管理:docker top及其参数详解
  • electron中显示echarts
  • 【NLP】自然语言项目设计03
  • 关于ubuntu 20.04系统安装分区和重复登录无法加载桌面的问题解决