BUUCTF: https://buuoj.cn/challenges
相关阅读 CTF Wiki m4a文件格式分析 异或运算 XOR 教程 BUUCTF:[ACTF新生赛2020]music
题目描述:
得到的 flag 请包上 flag{} 提交。
密文:
下载附件,解压得到tmp文件夹,内有vip.zip,解压得到vip.m4a文件。
解题思路:
1、打开vip.m4a文件,发现该文件已损坏。
在010Editor中,也可以观察到文件数据的混乱。
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 的运算,总是等于其本身。
| |
所以,当“ A1 ”与 0 进行异或运算时,结果为“ A1 ”。这就是为什么原来是“ 00 ”的数据变成了“ A1 ”。
从而得出, vip.m4a文件原数据经过了对“ A1 ”的异或运算 。
3、在010 Editor中,对整个文件进行对“ A1 ”的异或运算,保存得到完好的vip.m4a文件。
播放vip.m4a文件,将听到的字母记下来,得到: actfabcdfghijk ,flag为: abcdfghijk
flag:
| |










